modify.php --> $url // // ?> \n"; $jump_url="{$url}?". "language={$language}&". "bssid={$bssid}&". "objectid={$objectid}&". "tablename={$tablename}&". "progress_value={$progress_value}&". "status='Nothing is requested'"; if(isset($x)) $jump_url.="&x=$x"; if(isset($y)) $jump_url.="&y=$y"; echo "jump2url('{$jump_url}');\n"; echo "\n"; //***************** zhengjianhui end ********************* /* header("Location: " . "$url?language=$language&bssid=$bssid&objectid=$objectid" . "&tablename=$tablename" . "&status='Nothing is requested'" . (isset($x)?"&x=$x":"") . (isset($y)?"&y=$y":"") ); */ return; } // // Find the available row in OMCR_COMMAND to insert nmi commands // Get 10 available and insert 2 nmi commands // 1. oid $objectid // 2. set $para1=$val1 [$para2=$val2] ... // include("meta_table_type.inc"); include("login_parm.inc"); $db = mysql_connect($hostname, $username, $password); mysql_select_db($dbname,$db); if ($nmicommand != '') { $nmicmd = $nmicommand; } if ($modified_data != '') { //echo $modified_data . "
"; $parm_name = explode(",",$modified_data); if(strncmp($nmicmd,"create",6)&& strncmp($nmicmd,"delete",6)) $nmicmd="set"; foreach ($parm_name as $attribute) { switch(${"t$attribute"}) { case NUMBERS: $tmpSql="SELECT Attribute_Id FROM OMCR_Meta_Table WHERE Attribute_Name='$attribute'"; $tmpResult = mysql_query($tmpSql,$db) or die("Invalid query: $tmpSql\n" . mysqli_error($pubConn)); $tmpRow = mysqli_fetch_row($tmpResult); $tmpStr=$tmpRow[0]; if (isset(${$attribute})) { //$nmicmd.=" $attribute=${$attribute}"; if(strncmp($nmicmd,"create",6)&& strncmp($nmicmd,"delete",6)) $nmicmd.=" $tmpStr=${$attribute}"; else $nmicmd.=" ${$attribute}"; } else // for checkbox: ${$attribute}=true or false { //$nmicmd.=" $attribute=0 $nmicmd.=" $tmpStr=0"; } break; case STRINGS: $tmpSql="SELECT Attribute_Id FROM OMCR_Meta_Table WHERE Attribute_Name='$attribute'"; $tmpResult = mysql_query($tmpSql,$db) or die("Invalid query: $tmpSql\n" . mysqli_error($pubConn)); $tmpRow = mysqli_fetch_row($tmpResult); $tmpStr=$tmpRow[0]; if(strlen($tmpStr)>0){ //$nmicmd.=" $tmpStr=\"" . rawurlencode(${$attribute}) . "\""; if(strncmp($nmicmd,"create",6)&& strncmp($nmicmd,"delete",6)) $nmicmd.=" $tmpStr=\"" . rawurlencode(${$attribute}) . "\""; else $nmicmd.=" \"" . rawurlencode(${$attribute}) . "\""; }else{ if(strncmp($nmicmd,"create",6)&& strncmp($nmicmd,"delete",6)) $nmicmd.=" $attribute=\"" . rawurlencode(${$attribute}) . "\""; else $nmicmd.=" \"" . rawurlencode(${$attribute}) . "\""; } break; case INTEGER_ARRAY: $tmpSql="SELECT Attribute_Id FROM OMCR_Meta_Table WHERE Attribute_Name='$attribute'"; $tmpResult = mysql_query($tmpSql,$db) or die("Invalid query: $tmpSql\n" . mysqli_error($pubConn)); $tmpRow = mysqli_fetch_row($tmpResult); $tmpStr=$tmpRow[0]; $stringarray = explode("_",$tmpStr); if(strncmp($nmicmd,"create",6)&& strncmp($nmicmd,"delete",6)) $nmicmd.= " $stringarray[0]=[$stringarray[1]=${$attribute}]"; else $nmicmd.= " [$stringarray[1]=${$attribute}]"; break; default: break; } //echo $nmicmd . "
"; } } $sqlstring = "LOCK TABLES OMCR_COMMAND WRITE"; $res = mysql_query($sqlstring ,$db) or die("Invalid query:$sqlstring\n" . mysqli_error($pubConn)); $sqlstring = "SELECT row_no FROM OMCR_COMMAND WHERE status=0 " . "ORDER BY seqNum ASC LIMIT 10"; //echo "$sqlstring
"; $res = mysql_query($sqlstring ,$db) or die("Invalid query:$sqlstring\n" . mysqli_error($pubConn)); while (list($row_no[]) = mysqli_fetch_row($res)); $no_of_rows = mysqli_num_rows($res); mysql_free_result($res); if ( $no_of_rows <= 0 || ($no_of_rows > 10) ) { // // No available row in OMCR_COMMAND // Send error to MySQL() // //***************** zhengjianhui start ********************* echo "\n\n"; //***************** zhengjianhui end ********************* /* header("Location: " . "$url?language=$language&bssid=$bssid&objectid=$objectid" . "&tablename=$tablename" . "&status='{${$parameter}[cmdtablefull]}'" . (isset($x)?"&x=$x":"") . (isset($y)?"&y=$y":"") ); */ return; } // // Insert 2 commands in OMCR_COMMAND out of 10 possible available rows // $i=0; do { if ($row_no[$i] != '') { if(!strncmp($nmicmd,"delete",6)&& strncmp($nmicmd,"delete BtsMgr",13)) $sqlstring = "REPLACE INTO OMCR_COMMAND VALUES(" . $row_no[$i] . ",$bssid,'oid $parent_objectid',null,255,-1,null,null,null)"; else $sqlstring = "REPLACE INTO OMCR_COMMAND VALUES(" . $row_no[$i] . ",$bssid,'oid $objectid',null,255,-1,null,null,null)"; $res = mysql_query($sqlstring ,$db) or die("Invalid query:$sqlstring\n" . mysqli_error($pubConn)); } $i++; } while ($i<10 && mysql_affected_rows() != 2); $cmd1_row_no = $row_no[$i-1]; do { if ($row_no[$i] != '') { if(!strncmp($nmicmd,"delete",6)&& strncmp($nmicmd,"delete BtsMgr",13)){ $objectid_arr=explode('.',$objectid); $nmicmd=$nmicmd.' '.$objectid_arr[sizeof($objectid_arr)-1]; } $sqlstring = "REPLACE INTO OMCR_COMMAND VALUES(" . $row_no[$i] . ",$bssid,'$nmicmd',null,255,-1,null,null,null)"; $res = mysql_query($sqlstring ,$db) or die("Invalid query:$sqlstring\n" . mysqli_error($pubConn)); } $i++; } while (mysql_affected_rows() != 2 && $i<10); $cmd2_row_no = $row_no[$i-1]; $sqlstring = "UNLOCK TABLES"; $res = mysql_query($sqlstring ,$db) or die("Invalid query:$sqlstring\n" . mysqli_error($pubConn)); // // // Wait for response: timeout value = $timeout // // //output dump data to br //for($ppp=0;$ppp<256;$ppp++) // print(" "); $timewait=0; $interval=800000; // in micro-seconds echo str_pad(" ", 256); while ($timewait < $timeout) { //for progress $progress_value++; echo ""; ob_flush(); flush(); usleep(1000000); $timewait ++; $resultcode=$responsecode=$result=$response=null; //sleep(1); $sqlstring = "SELECT t1.resultcode,t1.responsecode," . "t2.${language}StatInfo,t3.${language}StatInfo " . "FROM OMCR_COMMAND AS t1,OMCR_STATCODE AS t2,OMCR_VARSTATCODE AS t3 " . "WHERE t2.statcode=t1.resultcode AND t3.statcode=t1.responsecode " . "AND t1.status=0 " . "AND (t1.row_no=$cmd1_row_no OR t1.row_no=$cmd2_row_no) " . "ORDER BY seqNum ASC"; $res = mysql_query($sqlstring ,$db) or die("Invalid query:$sqlstring\n" . mysqli_error($pubConn)); while ( $mydata = mysqli_fetch_row($res) ) { list($resultcode[],$responsecode[],$result[],$response[]) = $mydata; //list($a[],$b[],$c[],$d[],$e[],$result[],$response[]) = $mydata; } $no_of_rows = mysqli_num_rows($res); //mysql_free_result($res); if ($no_of_rows == 2) { if ($resultcode[0] != 0) // 0='ok' { // Oid failed !!! //***************** zhengjianhui start ********************* echo "\n\n"; //***************** zhengjianhui end ********************* /* header("Location: " . "$url?language=$language&bssid=$bssid" . "&objectid=$objectid&tablename=$tablename" . "&alarm=$result[0]" . (($responsecode[0]!=0)? " --- $response[0]":"") . (isset($x)?"&x=$x":"") . (isset($y)?"&y=$y":"") ); */ } elseif ($resultcode[1] != 0) { // Nmi command failed !!! //***************** zhengjianhui start ********************* echo "\n\n"; //***************** zhengjianhui end ********************* /* header("Location: " . "$url?language=$language&bssid=$bssid" . "&objectid=$objectid&tablename=$tablename" . "&alarm=$result[1]" . (($responsecode[1]!=0)? " --- $response[1]":"") . (isset($x)?"&x=$x":"") . (isset($y)?"&y=$y":"") ); */ } else { // Success !!! if(strncmp($nmicmd,"create",6)==0){ $tablename=str_replace("New_", "", $tablename); $parent_objectid=$objectid; $objectid_arr=explode('.',$objectid); $objectid=str_replace("OMCR_", "", $tablename).'.'; for($i=1;$i"; flush(); } }//***************** zhengjianhui start ********************* echo "\n\n"; //***************** zhengjianhui end ********************* /* header("Location: " . "$url?language=$language&bssid=$bssid" . "&parent_objectid=$parent_objectid" . "&objectid=$objectid" . "&tablename=$tablename" . ( (strncmp(strtolower($nmicommand), "create",6) && strncmp(strtolower($nmicommand), "delete",6) && (strncmp(strtolower($objectid),"abismgr",7) || strncmp(strtolower($nmicommand),"set adminstate=2",16)) )? "&status={${$parameter}[saveiscompleted]}": "&status={${$parameter}[actioniscompleted]}" ) . // (($nmicommand != '') ? "&status={${$parameter}[actioniscompleted]}": // "&status={${$parameter}[saveiscompleted]}") . (($modified_data == '') ? "":"&saved=$modified_data") . (isset($x)?"&x=$x":"") . (isset($y)?"&y=$y":"") ); */ } return; } } // // Server or BSC has no response // OMCR_COMMAND.status did not change to zero before timeout // $sqlstring = "SELECT * FROM OMCR_COMMAND " . "WHERE status=254 AND (row_no=$cmd1_row_no OR row_no=$cmd2_row_no) "; //echo "$sqlstring
"; $res = mysql_query($sqlstring ,$db) or die("Invalid query:$sqlstring\n" . mysqli_error($pubConn)); if (mysqli_fetch_row($res)) { //***************** zhengjianhui start ********************* echo "\n\n"; //***************** zhengjianhui end ********************* /* header("Location: " . "$url?language=$language&bssid=$bssid&objectid=$objectid" . "&tablename=$tablename" . "&alarm={${$parameter}[nobscresponse]}" . (isset($x)?"&x=$x":"") . (isset($y)?"&y=$y":"") ); */ } else { //***************** zhengjianhui start ********************* echo "\n\n"; //***************** zhengjianhui end ********************* /* header("Location: " . "$url?language=$language&bssid=$bssid&objectid=$objectid" . "&tablename=$tablename" . "&alarm={${$parameter}[nobsscommresponse]}" . (isset($x)?"&x=$x":"") . (isset($y)?"&y=$y":"") ); */ } // // Change status to 0 // $sqlstring = "UPDATE OMCR_COMMAND SET status=0 WHERE row_no=$cmd1_row_no OR row_no=$cmd2_row_no"; //echo "$sqlstring
"; $res = mysql_query($sqlstring ,$db) or die("Invalid query:$sqlstring\n" . mysqli_error($pubConn)); ?>