pPas[$i]=$pPas[$i]";
$wAnd = $wAnd." AND level_$lNum = $pPas[$i] ";
$i++;
}
if($DEBUG) echo "
wAnd=$wAnd";
/************get default value**************/
$defSql = " SELECT initValue,level_3 FROM paramConf WHERE keyId > 0 ".$wAnd." ORDER BY level_3 ";
if($DEBUG) echo "
defSql=$defSql
";
$defRes = @mysqli_query($pubConn,$defSql);
$defRow = @mysqli_fetch_array($defRes);
do
{
$leve_3 = $defRow[level_3];
$defaultValue[$leve_3] = $defRow[initValue];
if($DEBUG) echo "
defaultValue[$leve_3]=$defaultValue[$leve_3]";
}while($defRow = @mysqli_fetch_array($defRes));
$inTonArr=array(
array('num' => '0', 'remark' => 'Spare', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'MSISDN', 'color' => '#0000FF'),
array('num' => '2', 'remark' => 'Unknown', 'color' => '#0000FF'),
array('num' => '3', 'remark' => 'NDD', 'color' => '#0000FF'),
array('num' => '4', 'remark' => 'IDD', 'color' => '#0000FF'),
array('num' => '5', 'remark' => 'Spare', 'color' => '#0000FF')
);
$outTonArr=array(
array('num' => '0', 'remark' => 'Spare', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'MSISDN', 'color' => '#0000FF'),
array('num' => '2', 'remark' => 'Unknown', 'color' => '#0000FF'),
array('num' => '3', 'remark' => 'NDD', 'color' => '#0000FF'),
array('num' => '4', 'remark' => 'IDD', 'color' => '#0000FF'),
array('num' => '5', 'remark' => 'Spare', 'color' => '#0000FF')
);
$trkDelCArr=array(
array('num' => '0', 'remark' => 'Delete none', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'Delete first one','color' => '#FF0000'),
array('num' => '2', 'remark' => 'Delete first two','color' => '#FF0000'),
array('num' => '3', 'remark' => 'Delete first three','color' => '#FF0000'),
array('num' => '4', 'remark' => 'Delete first four','color' => '#FF0000'),
array('num' => '5', 'remark' => 'Delete first five','color' => '#FF0000'),
array('num' => '6', 'remark' => 'Delete first six','color' => '#FF0000'),
array('num' => '7', 'remark' => 'Delete first seven','color' => '#FF0000'),
array('num' => '8', 'remark' => 'Delete first eight','color' => '#FF0000')
);
$trkInsCArr=array(
array('num' => '0', 'remark' => 'Insert none', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'Insert first one','color' => '#FF0000'),
array('num' => '2', 'remark' => 'Insert first two','color' => '#FF0000'),
array('num' => '3', 'remark' => 'Insert first three','color' => '#FF0000'),
array('num' => '4', 'remark' => 'Insert first four','color' => '#FF0000'),
array('num' => '5', 'remark' => 'Insert first five','color' => '#FF0000'),
array('num' => '6', 'remark' => 'Insert first six','color' => '#FF0000'),
array('num' => '7', 'remark' => 'Insert first seven','color' => '#FF0000'),
array('num' => '8', 'remark' => 'Insert first eight','color' => '#FF0000')
);
if($DEFAULT_SYS == 'MSC'){
$proTypeArr=array(
array('num' => '0', 'remark' => 'Trunk', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'SUB', 'color' => '#0000FF'),
array('num' => '2', 'remark' => 'MSRN', 'color' => '#0000FF'),
array('num' => '3', 'remark' => 'MSC', 'color' => '#0000FF')
);
}else{
$proTypeArr=array(
array('num' => '0', 'remark' => 'Trunk', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'PBX', 'color' => '#0000FF'),
array('num' => '2', 'remark' => 'SUB', 'color' => '#0000FF'),
array('num' => '3', 'remark' => '--', 'color' => '#0000FF')
);
}
$callTypeArr=array(
array('num' => '0', 'remark' => 'Normal', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'EM', 'color' => '#0000FF'),
array('num' => '2', 'remark' => 'IP', 'color' => '#FF0000'),
array('num' => '3', 'remark' => 'VMS', 'color' => '#0000FF')
);
$tgTypeArr=array(
array('num' => '0', 'remark' => 'PSTN', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'HPLMN', 'color' => '#0000FF'),
array('num' => '2', 'remark' => 'VPLMN', 'color' => '#0000FF'),
array('num' => '3', 'remark' => 'subscriber', 'color' => '#0000FF'),
array('num' => '4', 'remark' => '--', 'color' => '#0000FF')
);
$camelFlagArr=array(
array('num' => '0', 'remark' => 'N', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'Y', 'color' => '#0000FF')
);
$eDelCArr=array(
array('num' => '0', 'remark' => 'Delete none', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'Delete first one','color' => '#FF0000'),
array('num' => '2', 'remark' => 'Delete first two','color' => '#FF0000'),
array('num' => '3', 'remark' => 'Delete first three','color' => '#FF0000'),
array('num' => '4', 'remark' => 'Delete first four','color' => '#FF0000'),
array('num' => '5', 'remark' => 'Delete first five','color' => '#FF0000'),
array('num' => '6', 'remark' => 'Delete first six','color' => '#FF0000'),
array('num' => '7', 'remark' => 'Delete first seven','color' => '#FF0000'),
array('num' => '8', 'remark' => 'Delete first eight','color' => '#FF0000')
);
$eInsCArr=array(
array('num' => '0', 'remark' => 'Insert none', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'Insert first one','color' => '#FF0000'),
array('num' => '2', 'remark' => 'Insert first two','color' => '#FF0000'),
array('num' => '3', 'remark' => 'Insert first three','color' => '#FF0000'),
array('num' => '4', 'remark' => 'Insert first four','color' => '#FF0000'),
array('num' => '5', 'remark' => 'Insert first five','color' => '#FF0000'),
array('num' => '6', 'remark' => 'Insert first six','color' => '#FF0000'),
array('num' => '7', 'remark' => 'Insert first seven','color' => '#FF0000'),
array('num' => '8', 'remark' => 'Insert first eight','color' => '#FF0000')
);
//****************************************************************
//函数
// 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_0,$sysTypeNo_1,$db_0,$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_0,$sysTypeNo_1,$db_0,$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.1.8 Calling Number manipulation
if($pNext1) {
$sysId = $sysTypeNo_1."_99";
$objIdStr = "2.1.8.*";
$cic = sysCommSend($sysId,$commType,$objIdStr);
//echo "
cic=$cic";
$i = 0;
while (1) {
//echo "
i=$i";
if($i == 0)
echo "
$showType Calling Number manipulation ";
if($i > $maxNum){
echo "
Timeout";
break;
}
echo "
";
flush();
$sysId = $sysTypeNo_1;
$chkType = "0";
$chRes=ChComm($sysId,$chkType);
if ($DEBUG) {
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);
$callingPrefixSetFlag = 1;
session_register("callingPrefixSetFlag");
//if get fail ( undoValue = NULL ) , unregister set flag.
$where = "WHERE level_1=2 AND level_2=1 AND level_3=8";
$selSql = "SELECT distinct undoValue FROM $tb_2 $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("callingPrefixSetFlag");
if ($DEBUG) {
echo "session_unregister(\"callingPrefixSetFlag\")
";
}
}
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 undoValue 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("callingPrefixSetFlag");
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[8]' WHERE subSysNo = '99' ".$wAnd." AND instanceNo = $delValue ";
if($DEBUG) echo "
delSql=$delSql";
$delRes = @mysqli_query($pubConn,$delSql);
echo mysqli_error($pubConn);
}
elseif($saveComm)
{
session_unregister("callingPrefixSetFlag");
$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 used E1 card*******************/
$getSql = " SELECT sysNo,subSysNo,baseStat
FROM $sysInfoTable
WHERE sysTypeNo='$sysTypeNo_0' AND baseStat > '0'
ORDER BY sysNo,subSysNo
";
//echo "
getSql=$getSql";
$getRes = @mysqli_query($pubConn,$getSql);
$getRow = @mysqli_fetch_array($getRes);
echo mysqli_error($pubConn);
do{
$sysNo = $getRow[sysNo];
$subSysNo = $getRow[subSysNo];
$cardArr[$sysNo][subSysNo] = $getRow[baseStat];
}while($getRow = @mysqli_fetch_array($getRes));
/************select value to see************/
//Attributes of TG
$andSql = " SELECT level_3,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{
$level_3 = $andRow[level_3];
$instanceNo = $andRow[instanceNo];
$initValue = $andRow[initValue];
if($DEBUG) echo "
initValue=$initValue";
if($initValue == $defaultValue[$level_3]){
$andShow[$level_3][$instanceNo] = 0;
}else{
$andShow[$level_3][$instanceNo] = 1;
}
if($DEBUG) echo "
andShow[$level_3][$instanceNo]={$andShow[$level_3][$instanceNo]}";
$prefixDigit = explode("E",substr($initValue,0,8));
$prefixNum =$prefixArr[$instanceNo][1] = $prefixDigit[0];
if($DEBUG) echo "
prefixArr[$instanceNo][1]={$prefixArr[$instanceNo][1]}";
$outTon = $prefixArr[$instanceNo][3] = hexdec(substr($initValue,8,1));
$inTon = $prefixArr[$instanceNo][2] = hexdec(substr($initValue,9,1));
if($DEBUG) echo "
inTon=$inTon, outTon=$outTon";
$tdc = $prefixArr[$instanceNo][4] = hexdec(substr($initValue,11,1));
$tic = $prefixArr[$instanceNo][5] = hexdec(substr($initValue,10,1));
if($DEBUG) echo "
tdc=$tdc, tic=$tic
";
$tidDigit = explode("E",substr($initValue,12,8));
$tid = $prefixArr[$instanceNo][6] = $tidDigit[0];
}while($andRow = @mysqli_fetch_array($andRes));
$wDef = " AND (";
for($i=0;$i<256;$i++)
{
//2.1.8
if ( $andShow[8][$i] > 0 ){
$realShow[$i] = 1;
if($DEBUG) 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 "