pPas[$i]=$pPas[$i]";
$wPas = $wPas." AND level_$lNum = $pPas[$i] ";
$i++;
}
//echo "
wPas=$wPas
";
$wAnd = $wPas;
/************get default value**************/
$defSql = " SELECT initValue FROM paramConf WHERE keyId > 0 ".$wAnd;
$defRes = @mysqli_query($pubConn,$defSql);
$defRow = @mysqli_fetch_array($defRes);
$defaultValue = $defRow[initValue];
/*
$enableFlagArr=array(
array('num' => '0', 'remark' => 'N', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'Y', 'color' => '#0000FF')
);
*/
$emFlagArr = array(
array('num' => '0', 'remark' => 'Disable'),
array('num' => '1', 'remark' => 'By Cell'),
array('num' => '2', 'remark' => 'By LAC'),
array('num' => '3', 'remark' => 'By MSC')
);
$regionalZoneFlagArr = array(
array('num' => '0', 'remark' => 'Disable'),
array('num' => '1', 'remark' => 'Enable'),
);
//****************************************************************
//函数
// ChComm($sysId)
//函数说明:检查命令处理结果
//
//变量说明:
// 无
//
//
//返回值:$paramType
//$nSubSysParam = 0;
//$nGlobalSubSysParam = 1;
//$nGlobalSysParam = 2;
//作者
//
//修改注释:
//NO.1
//姓名:
//时间:
//修改说明:
//----------------------------------------------------------
function ChComm($sysId,$chkType=1){
global $omc_db;
global $remark,$nProcFail,$nWaitProc,$nInProc,$nOutProc;
$commTable = "parameterComm";
$DEBUG = 0;
$sysIdArr = explode('_',$sysId);
$sysTypeNo = $sysIdArr[0];
$sysNo = $sysIdArr[1];
$subSysNo = $sysIdArr[2];
if($chkType==0)
$selComm = " SELECT commState,remark FROM $commTable WHERE sysTypeNo = '$sysTypeNo' ";
else
$selComm = " SELECT commState,remark FROM $commTable WHERE sysTypeNo = '$sysTypeNo' AND sysNo = '$sysNo' ";
if($DEBUG)echo "
selComm=$selComm";
$selRes = @mysqli_query($pubConn,$selComm);
$selRow = @mysqli_fetch_array($selRes);
echo mysqli_error($pubConn);
do
{
$temCommState = $selRow[commState];
if($selRow[remark]){
$remark = $selRow[remark];
//echo "
remark=$remark";
}
//echo "
temCommState=$temCommState";
if($temCommState == $nWaitProc)
return($nWaitProc);
elseif($temCommState == $nInProc)
return($nInProc);
elseif($temCommState == $nOutProc)
$commState = $nOutProc;
else
$commState = 0;
}while($selRow = @mysqli_fetch_array($selRes));
return($commState);
}
//****************************************************************
//函数
// 从Buffer_2拷贝到$buffer_1
//函数说明:
//
//变量说明:
// 无
//
//返回值:$paramType
//
//作者:
//----------------------------------------------------------
function copyBuffer($buffer_1,$buffer_2,$wDef,$type='1'){
global $sysTypeNo_1,$db_1,$tb_0,$tb_1,$tb_2,$wAnd;
$DEBUG = 0;
$addWer = " AND (LENGTH($buffer_2) > 0) AND $buffer_2 != 'Null' AND $buffer_2 NOT LIKE 'Error%' ";
//Attributes of TG
if($type){
$uTgSql = " UPDATE $tb_2 set $buffer_1=$buffer_2 WHERE subSysNo = '99' ".$wAnd.$addWer;
}else{
$uTgSql = " UPDATE $tb_2 set $buffer_1=$buffer_2 WHERE subSysNo = '99' ".$wAnd.$wDef.$addWer;
}
if($DEBUG) echo "
uTgSql=$uTgSql ";
$uTgRes = @mysqli_query($pubConn,$uTgSql);
echo mysqli_error($pubConn);
if($uTgRes)
return 1;
else
return 0;
}
//****************************************************************
//函数
// get 或 set
//函数说明:
//
//变量说明:
// 无
//
//返回值:$commType
//
//作者:
//----------------------------------------------------------
function eSetGet($commType)
{
global $sysTypeNo_1,$db_1,$tb_0,$tb_1,$tb_2,$wTg,$nProcFail,$nWaitProc,$nInProc,$nOutProc;
global $maxNum,$remark,$nGetComm,$nSetComm;
$DEBUG = 0;
if($commType == $nGetComm)
$showType = "Get ";
else
$showType = "Set ";
$pNext1 = 1;
//2.2.7 Emergency call
if($pNext1)
{
$sysId = $sysTypeNo_1."_99";
$objIdStr = "2.2.7.*";
$cic = sysCommSend($sysId,$commType,$objIdStr);
//echo "
cic=$cic";
$i = 0;
while(1)
{
//echo "
i=$i";
if($i == 0)
echo "
$showType Prefix assignment ";
if($i > $maxNum){
echo "
Timeout";
break;
}
echo "
";
flush();
$sysId = $sysTypeNo_1;
$chkType = "0";
$chRes=ChComm($sysId,$chkType);
//echo "
chRes=$chRes";
if($chRes == $nOutProc || $chRes == $nProcFail){
$pNext2 = 1;
if($chRes == $nProcFail)
echo "
$remark
";
elseif($remark == 'response timeout')
echo "
$remark
";
else
echo "
$remark
";
break;
}
sleep(1);
$i++;
}
}//end of $pNext1
return 1;
}//end of function
if ($saveSys) {
/****************copy initValue to editValue******************/
$buffer_1 = "editValue";
$buffer_2 = "initValue";
$edCin=copyBuffer($buffer_1,$buffer_2,$wDef);
if($DEBUG) echo "
edCin=$edCin";
//Get the value to "readValue" buffer.
eSetGet($nGetComm);//get value
/****************copy readValue to undoValue******************/
$buffer_1 = "undoValue";
$buffer_2 = "readValue";
$edCin=copyBuffer($buffer_1,$buffer_2,$wDef);
if($DEBUG) echo "
edCin=$edCin";
//set editValue to system.
eSetGet($nSetComm);
$emSetFlag = 1;
session_register("emSetFlag");
//if get fail ( undoValue = NULL ) , unregister set flag.
$where = " level_1 = 2 AND level_2 = 2 AND level_3 = 5 ";
$selSql = "SELECT distinct undoValue FROM $tb_2 WHERE $where ORDER BY undoValue";
if($DEBUG) echo "selSql(1)=$selSql,db=$db_1
";
$selRes = @mysqli_query($pubConn,$selSql);
$selRow = mysqli_fetch_array($selRes);
if ('' == $selRow[0]) {
session_unregister("emSetFlag");
}
sleep(1);
echo "";
}//end of set sys
elseif($readSys)
{
eSetGet($nGetComm);//get value
/****************copy readValue to initValue******************/
$buffer_1 = "initValue";
$buffer_2 = "readValue";
$inCre=copyBuffer($buffer_1,$buffer_2,$wDef);
if($DEBUG) echo "
inCre=$inCr";
sleep(1);
echo "";
}//end of $readSys
elseif($undoSet){
/****************copy readValue to editValue******************/
$buffer_1 = "editValue";
$buffer_2 = "undoValue";
$edCin=copyBuffer($buffer_1,$buffer_2,$wDef);
if($DEBUG) echo "
edCin=$edCin";
if ( 1 == eSetGet($nSetComm) ) {
$buffer_1 = "initValue";
$buffer_2 = "undoValue";
$edCin=copyBuffer($buffer_1,$buffer_2,$wDef);
if($DEBUG) echo "
edCin=$edCin";
}
session_unregister("emSetFlag");
sleep(1);
echo "";
}
//end undoSet
elseif($saveDisk)
{
/****************copy initValue to editValue******************/
$buffer_1 = "editValue";
$buffer_2 = "initValue";
$inCed=copyBuffer($buffer_1,$buffer_2,$wDef);
if($DEBUG) echo "
$inCed=$$inCed";
if($inCed)
echo "
Save success.";
else
echo "
Save Failure.";
flush();
sleep(1);
echo "";
}//end of $saveDisk
elseif($readDisk)
{
/****************copy editValue to initValue******************/
$buffer_1 = "initValue";
$buffer_2 = "editValue";
$loadType = 1;
$edCin=copyBuffer($buffer_1,$buffer_2,$wDef,$loadType);
if($DEBUG) echo "
edCin=$edCin";
if($edCin)
echo "
Read success.";
else
echo "
Read failure.";
flush();
sleep(1);
echo "";
}//end of $comSys
elseif($delete)
{
$delSql = " UPDATE $tb_2 set initValue = '$defaultValue' WHERE subSysNo = '99' ".$wPas." AND instanceNo = $delValue ";
//echo "
delSql=$delSql";
$delRes = @mysqli_query($pubConn,$delSql);
echo mysqli_error($pubConn);
}
elseif($saveComm)
{
session_unregister("emSetFlag");
$temTb = ${tb_."2"};
$updSql = " UPDATE $temTb set initValue = 'B5' WHERE subSysNo = '99' AND level_1 = '3' AND level_2 = '2' ";
//echo "
updSql=$updSql";
$updRes = @mysqli_query($pubConn,$updSql);
//echo "
updRes=$updRes";
if($sTimeOut)
break;
$sysId = $sysTypeNo_1."_99";
$commType = $nSetComm;
$objIdStr = "3.2.*";
$flag = sysCommSend($sysId,$commType,$objIdStr);
//echo "
flag=$flag";
$i = 0;
while(1)
{
if($i == 0)
echo "
Save parameter to system";
if($i > $maxNum){
echo "
Timeout";
$sTimeOut = 1;
break;
}
echo "
";
flush();
$sysId = $sysTypeNo_1;
$chkType = "0";
$chRes=ChComm($sysId,$chkType);
//echo "
chRes=$chRes";
if($chRes == $nOutProc || $chRes == $nProcFail){
$pNext1 = 1;
if($chRes == $nProcFail)
echo "
$remark
";
elseif($remark == 'response timeout')
echo "
$remark
";
else
echo "
$remark
";
break;
}
sleep(1);
$i++;
}
}
elseif($resetComm)
{
$temTb = ${tb_."2"};
$updSql = " UPDATE $temTb set initValue = '5A' WHERE subSysNo = '99' AND level_1 = '3' AND level_2 = '2' ";
//echo "
updSql=$updSql";
$updRes = @mysqli_query($pubConn,$updSql);
//echo "
updRes=$updRes";
if($sTimeOut)
break;
$sysId = $sysTypeNo_1."_99";
$commType = $nSetComm;
$objIdStr = "3.2.*";
$flag = sysCommSend($sysId,$commType,$objIdStr);
//echo "
flag=$flag";
$i = 0;
while(1)
{
if($i == 0)
echo "
Reset system";
if($i > $maxNum){
echo "
Timeout";
$sTimeOut = 1;
break;
}
echo "
";
flush();
$sysId = $sysTypeNo_1;
$chkType = "0";
$chRes=ChComm($sysId,$chkType);
//echo "
chRes=$chRes";
if($chRes == $nOutProc || $chRes == $nProcFail){
$pNext1 = 1;
if($chRes == $nProcFail)
echo "
$remark
";
elseif($remark == 'response timeout')
echo "
$remark
";
else
echo "
$remark
";
break;
}
sleep(1);
$i++;
}
}
if($readSys || $saveSys || $saveComm || $undoSet||$resetComm){
echo "
";
echo "
$strBack";
exit();
}
/************select value to see************/
$andSql = " SELECT instanceNo,initValue,editValue,readValue FROM $tb_2 WHERE subSysNo = '99' ".$wAnd." ORDER BY instanceNo ";
if($DEBUG) echo "
andSql=$andSql";
$andRes = @mysqli_query($pubConn,$andSql);
$andRow = @mysqli_fetch_array($andRes);
echo mysqli_error($pubConn);
do{
$instanceNo = $andRow[instanceNo];
$initValue = $andRow[initValue];
//echo "
initValue=$initValue";
if($initValue == $defaultValue){
$andShow[$instanceNo] = 0;
}else{
$andShow[$instanceNo] = 1;
}
//echo "
andShow[$instanceNo]={$andShow[$instanceNo]}";
$enableFlag[$instanceNo] = hexdec(substr($initValue,0,2));
if($DEBUG) echo "enableFlag[$instanceNo]={$enableFlag[$instanceNo]}
";
$lac[$instanceNo] = hexdec(substr($initValue,2,4));
if($DEBUG)echo "lac[$instanceNo]={$lac[$instanceNo]}
";
$ci[$instanceNo] = hexdec(substr($initValue,6,4));
if($DEBUG)echo "ci[$instanceNo]={$ci[$instanceNo]}
";
$dialNum[$instanceNo] = hexdec(substr($initValue,10,2));
if($DEBUG)echo "dialNum[$instanceNo]={$dialNum[$instanceNo]}
";
$localEmNumArr = explode("E",substr($initValue,12,16));
$localEmNum[$instanceNo] = $localEmNumArr[0];
if($DEBUG) echo "localEmNum[$instanceNo]={$localEmNum[$instanceNo]}
";
$regionalZoneFlag[$instanceNo] = hexdec(substr($initValue,28,2));
if($DEBUG)echo "regionalZoneFlag[$instanceNo]={$regionalZoneFlag[$instanceNo]}
";
$zoneCode[$instanceNo] = hexdec(substr($initValue,30,4));
if($DEBUG)echo "zoneCode[$instanceNo]={$zoneCode[$instanceNo]}
";
}while($andRow = @mysqli_fetch_array($andRes));
$wDef = " AND (";
for($i=0;$i<1024;$i++)
{
if( $andShow[$i] > 0 ){
$realShow[$i] = 1;
//echo "
realShow[$i]=$realShow[$i]";
$wDef = $wDef." instanceNo = $i OR ";
}
}
$wDef = substr($wDef,0,-3);
$wDef = $wDef.")";
if(strlen($wDef) < 10){
$wDef = ' AND instanceNo < 0 ';
}
//echo "
wDef=$wDef";
//$realShow[0] = "1";
$scroll_x = isset($scroll_x)?$scroll_x:'0';
$scroll_y = isset($scroll_y)?$scroll_y:'0';
echo "