Files
web.ems/wxc2_omc/configuration/msc/emergencyConf.php
agtuser 16a3fd1e1b init
2024-11-11 17:56:00 +08:00

654 lines
18 KiB
PHP
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/*********************************************************
程序说明:
功能说明Emergency call参数配置
调用关系:调用: header.inc
被调用:
变量说明:
返回值:无
作者Lilong
Date: 2004年8月30日
修改注释:
NO.1
姓名:
时间:
修改说明:
*********************************************************/
require("../../inc/header.inc");
$helpId = "2.1.2.6";
$DEBUG = 0;
$sysInfoTable = 'OMC_PUB.sysInfo';
?>
<script LANGUAGE="JavaScript">
function openSet(oType,tNum){
var x,y;
x = document.body.scrollLeft;
y = document.body.scrollTop;
URL="./emergencyEdit.php?oType="+oType+"&tNum="+tNum+"&scroll_x="+x+"&scroll_y="+y;
var msgWindow = open(URL, 'newWin', 'toolbar=no,directories=no,menubar=no,scrollbars=yes,resizable=yes,status=yes,width=480,height=500');
msgWindow.focus();
}
function delFirm(i){
var delValue,x,y;
x = document.body.scrollLeft;
y = document.body.scrollTop;
if(confirm('Do you want to delete the selected?')!=true){
window.location.href='<?php echo $PHP_SELF;?>'+"?scroll_x="+x+"&scroll_y="+y;
}else{
window.location.href='<?php echo $PHP_SELF;?>?delete=1&delValue='+i+"&scroll_x="+x+"&scroll_y="+y;
}
}
</script>
<?php
if($thisOmcType==10){
$sysTypeNo_1 = "251";
}else{
$sysTypeNo_1 = "322";
}
$db_1 = "OBJ_".$sysTypeNo_1;
$tb_0 = "param_0";
$tb_1 = "param_1";
$tb_2 = "param_99";
$maxNum = 20;
$nPubFlag = 99;
$nSubSysParam = 0;
$nGlobalSubSysParam = 1;
$nGlobalSysParam = 2;
$nGetComm = 0;
$nSetComm = 3;
$nInteger = 2;
$nOctStr = 4;
$nProcFail = 0;
$nWaitProc = 1;
$nInProc = 2;
$nOutProc = 3;
//Emergency call
$oidPas = "2.2.7";
$pPas = explode(".",$oidPas);
$i = 0;
$wPas = '';
while(isset($pPas[$i]))
{
$lNum = $i+1;
if($DEBUG) echo "<br>pPas[$i]=$pPas[$i]";
$wPas = $wPas." AND level_$lNum = $pPas[$i] ";
$i++;
}
//echo "<br>wPas=$wPas<br>";
$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 "<br>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 "<br>remark=$remark";
}
//echo "<br>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 " <br>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 "<br>cic=$cic";
$i = 0;
while(1)
{
//echo "<br>i=$i";
if($i == 0)
echo "<br>$showType Prefix assignment&nbsp;&nbsp;";
if($i > $maxNum){
echo "<br><font size=\"2\" color=\"#FF0000\">Timeout</font>";
break;
}
echo "<img border=\"0\" src=\"../../images/arrow.gif\" width=\"10\" height=\"10\">";
flush();
$sysId = $sysTypeNo_1;
$chkType = "0";
$chRes=ChComm($sysId,$chkType);
//echo "<br>chRes=$chRes";
if($chRes == $nOutProc || $chRes == $nProcFail){
$pNext2 = 1;
if($chRes == $nProcFail)
echo "<br><font size=\"2\" color=\"#FF0000\">$remark</font><br>";
elseif($remark == 'response timeout')
echo "<br><font size=\"2\" color=\"#FF0000\">$remark</font><br>";
else
echo "<br><font size=\"2\" color=\"#0000FF\">$remark</font><br>";
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 "<br>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 "<br>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<br>";
$selRes = @mysqli_query($pubConn,$selSql);
$selRow = mysqli_fetch_array($selRes);
if ('' == $selRow[0]) {
session_unregister("emSetFlag");
}
sleep(1);
echo "<script language=\"javascript\">";
//echo "window.location.href='$PHP_SELF';";
echo "</script>";
}//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 "<br>inCre=$inCr";
sleep(1);
echo "<script language=\"javascript\">";
//echo "window.location.href='$PHP_SELF';";
echo "</script>";
}//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 "<br>edCin=$edCin";
if ( 1 == eSetGet($nSetComm) ) {
$buffer_1 = "initValue";
$buffer_2 = "undoValue";
$edCin=copyBuffer($buffer_1,$buffer_2,$wDef);
if($DEBUG) echo "<br>edCin=$edCin";
}
session_unregister("emSetFlag");
sleep(1);
echo "<script language=\"javascript\">";
//echo "window.location.href='$PHP_SELF';";
echo "</script>";
}
//end undoSet
elseif($saveDisk)
{
/****************copy initValue to editValue******************/
$buffer_1 = "editValue";
$buffer_2 = "initValue";
$inCed=copyBuffer($buffer_1,$buffer_2,$wDef);
if($DEBUG) echo "<br>$inCed=$$inCed";
if($inCed)
echo "<br><font color=\"#0000FF\">Save success.</font>";
else
echo "<br><font color=\"#FF0000\">Save Failure.</font>";
flush();
sleep(1);
echo "<script language=\"javascript\">";
echo "window.location.href='$PHP_SELF';";
echo "</script>";
}//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 "<br>edCin=$edCin";
if($edCin)
echo "<br><font color=\"#0000FF\">Read success.</font>";
else
echo "<br><font color=\"#FF0000\">Read failure.</font>";
flush();
sleep(1);
echo "<script language=\"javascript\">";
echo "window.location.href='$PHP_SELF';";
echo "</script>";
}//end of $comSys
elseif($delete)
{
$delSql = " UPDATE $tb_2 set initValue = '$defaultValue' WHERE subSysNo = '99' ".$wPas." AND instanceNo = $delValue ";
//echo "<br>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 "<br>updSql=$updSql";
$updRes = @mysqli_query($pubConn,$updSql);
//echo "<br>updRes=$updRes";
if($sTimeOut)
break;
$sysId = $sysTypeNo_1."_99";
$commType = $nSetComm;
$objIdStr = "3.2.*";
$flag = sysCommSend($sysId,$commType,$objIdStr);
//echo "<br>flag=$flag";
$i = 0;
while(1)
{
if($i == 0)
echo "<br>Save parameter to system";
if($i > $maxNum){
echo "<br><font size=\"2\" color=\"#FF0000\">Timeout</font>";
$sTimeOut = 1;
break;
}
echo "<img border=\"0\" src=\"../../images/arrow.gif\" width=\"10\" height=\"10\">";
flush();
$sysId = $sysTypeNo_1;
$chkType = "0";
$chRes=ChComm($sysId,$chkType);
//echo "<br>chRes=$chRes";
if($chRes == $nOutProc || $chRes == $nProcFail){
$pNext1 = 1;
if($chRes == $nProcFail)
echo "<br><font size=\"2\" color=\"#FF0000\">$remark</font><br>";
elseif($remark == 'response timeout')
echo "<br><font size=\"2\" color=\"#FF0000\">$remark</font><br>";
else
echo "<br><font size=\"2\" color=\"#0000FF\">$remark</font><br>";
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 "<br>updSql=$updSql";
$updRes = @mysqli_query($pubConn,$updSql);
//echo "<br>updRes=$updRes";
if($sTimeOut)
break;
$sysId = $sysTypeNo_1."_99";
$commType = $nSetComm;
$objIdStr = "3.2.*";
$flag = sysCommSend($sysId,$commType,$objIdStr);
//echo "<br>flag=$flag";
$i = 0;
while(1)
{
if($i == 0)
echo "<br>Reset system";
if($i > $maxNum){
echo "<br><font size=\"2\" color=\"#FF0000\">Timeout</font>";
$sTimeOut = 1;
break;
}
echo "<img border=\"0\" src=\"../../images/arrow.gif\" width=\"10\" height=\"10\">";
flush();
$sysId = $sysTypeNo_1;
$chkType = "0";
$chRes=ChComm($sysId,$chkType);
//echo "<br>chRes=$chRes";
if($chRes == $nOutProc || $chRes == $nProcFail){
$pNext1 = 1;
if($chRes == $nProcFail)
echo "<br><font size=\"2\" color=\"#FF0000\">$remark</font><br>";
elseif($remark == 'response timeout')
echo "<br><font size=\"2\" color=\"#FF0000\">$remark</font><br>";
else
echo "<br><font size=\"2\" color=\"#0000FF\">$remark</font><br>";
break;
}
sleep(1);
$i++;
}
}
if($readSys || $saveSys || $saveComm || $undoSet||$resetComm){
echo "<br>";
echo "<p align=\"left\"><a href=\"$PHP_SELF\" target=\"contents\"><img align=absBottom border=0 src=\"../../images/left.gif\" width=\"14\" height=\"14\">$strBack</a>";
exit();
}
/************select value to see************/
$andSql = " SELECT instanceNo,initValue,editValue,readValue FROM $tb_2 WHERE subSysNo = '99' ".$wAnd." ORDER BY instanceNo ";
if($DEBUG) echo "<br>andSql=$andSql";
$andRes = @mysqli_query($pubConn,$andSql);
$andRow = @mysqli_fetch_array($andRes);
echo mysqli_error($pubConn);
do{
$instanceNo = $andRow[instanceNo];
$initValue = $andRow[initValue];
//echo "<br>initValue=$initValue";
if($initValue == $defaultValue){
$andShow[$instanceNo] = 0;
}else{
$andShow[$instanceNo] = 1;
}
//echo "<br>andShow[$instanceNo]={$andShow[$instanceNo]}";
$enableFlag[$instanceNo] = hexdec(substr($initValue,0,2));
if($DEBUG) echo "enableFlag[$instanceNo]={$enableFlag[$instanceNo]}<br>";
$lac[$instanceNo] = hexdec(substr($initValue,2,4));
if($DEBUG)echo "lac[$instanceNo]={$lac[$instanceNo]}<br>";
$ci[$instanceNo] = hexdec(substr($initValue,6,4));
if($DEBUG)echo "ci[$instanceNo]={$ci[$instanceNo]}<br>";
$dialNum[$instanceNo] = hexdec(substr($initValue,10,2));
if($DEBUG)echo "dialNum[$instanceNo]={$dialNum[$instanceNo]}<br>";
$localEmNumArr = explode("E",substr($initValue,12,16));
$localEmNum[$instanceNo] = $localEmNumArr[0];
if($DEBUG) echo "localEmNum[$instanceNo]={$localEmNum[$instanceNo]}<br><br>";
$regionalZoneFlag[$instanceNo] = hexdec(substr($initValue,28,2));
if($DEBUG)echo "regionalZoneFlag[$instanceNo]={$regionalZoneFlag[$instanceNo]}<br>";
$zoneCode[$instanceNo] = hexdec(substr($initValue,30,4));
if($DEBUG)echo "zoneCode[$instanceNo]={$zoneCode[$instanceNo]}<br>";
}while($andRow = @mysqli_fetch_array($andRes));
$wDef = " AND (";
for($i=0;$i<1024;$i++)
{
if( $andShow[$i] > 0 ){
$realShow[$i] = 1;
//echo "<br>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 "<br>wDef=$wDef";
//$realShow[0] = "1";
$scroll_x = isset($scroll_x)?$scroll_x:'0';
$scroll_y = isset($scroll_y)?$scroll_y:'0';
echo "<body onLoad='self.scrollBy($scroll_x,$scroll_y)'>";
echo "<form method=\"POST\" name=\"confForm\" action=\"$PHP_SELF\">";
echo "<table border=\"0\" width=\"100%\">";
echo "<tr>";
echo "<td width=\"50%\">";
echo "$strConfiguration > $strNetwork > $DEFAULT_SYS > CELL";
echo "</td>";
echo "<td width=\"50%\" align=\"right\" title=\"Help\">";
showHelp($helpId);
echo "</td>";
echo "</tr>";
echo "</table>";
?>
<br>&nbsp;
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<?php
echo "<td width=200 valign=\"middle\"><nobr><b>System:</b>";
echo "<input type=\"submit\" value=$strGet class=\"button\" name=\"readSys\" style=\"left: 1; top: 2; width: 60; height: 25; position: relative\">";
echo "<input type=\"submit\" value=$strSet class=\"button\" name=\"saveSys\" style=\"left: 1; top: 2; width: 60; height: 25; position: relative\">";
if ( TRUE == session_is_registered("emSetFlag") ) {
echo "<input type=\"submit\" value=\"Undo\" class=\"button\" name=\"undoSet\" style=\"left: 1; top: 2; width: 60; height: 25; position: relative\">";
}else{
echo "<input type=\"submit\" value=\"Undo\" DISABLED class=\"button\" name=\"undoSet\" style=\"left: 1; top: 2; width: 60; height: 25; position: relative\">";
}
echo "</nobr>";
echo "</td>";
echo "<td width=200 valign=\"middle\"><nobr><b>Command:</b>";
echo "<input type=\"submit\" value=$strSave class=\"button\" name=\"saveComm\" style=\"left: 1; top: 2; width: 60; height: 25; position: relative\">";
echo "<input type=\"submit\" value=$strReset class=\"button\" name=\"resetComm\" style=\"left: 1; top: 2; width: 60; height: 25; position: relative\">";
?>
</nobr>
</td>
<td width=200 valign="middle"><nobr><b>New:</b><input type="button" value="<?php echo $strAdd; ?>" onclick="javascript:openSet(1,0);" name="add" style="left: 3; top: 2; width: 60; height: 25; position: relative">
</nobr>
</td>
</tr>
</table>
<p></p>
<TABLE border="1" width="100%" cellpadding="2" cellspacing="0" bordercolor="#666666" bordercolordark="#FFFFFF" bgcolor="#FFFFFF">
<tr bgcolor="#E6E6E6">
<td width="6%" title="">No.</td>
<td width="10%" title="Enable Flag"><nobr>Flag</nobr></td>
<td width="15%" title="LAC"><nobr>LAC</nobr></td>
<td width="15%" title="CI"><nobr>CI</nobr</td>
<td width="12%" title="Dail number"><nobr>Dial number</nobr</td>
<td width="25%" title="Local Emergency number"><nobr>Local Emergency number</nobr</td>
<td width="5%" title="Regional Zone Flag"><nobr>Regional Zone Flag</nobr</td>
<td width="6%" title="Zone Code"><nobr>Zone Code</nobr</td>
<td width="6%" title=""><nobr>Delete</nobr</td>
</tr>
<?php
for($i=0;$i<1024;$i++){
$sNum = floor($i/8);
$pNum = floor($i%8);
if($realShow[$i]){
if($pNum == 0 && $i > 0)
echo "<tr bgcolor=\"#E6E6E6\">";
else
echo "<tr>";
echo "<td><a href=javascript:openSet(0,$i)>$i</a></td>";
echo "<td><nobr>{$emFlagArr[$enableFlag[$i]][remark]}&nbsp;</nobr></td>";
echo "<td><nobr>$lac[$i]&nbsp;</nobr></td>";
echo "<td><nobr>$ci[$i]&nbsp;</nobr></td>";
echo "<td><nobr>$dialNum[$i]&nbsp;</nobr></td>";
echo "<td><nobr>$localEmNum[$i]&nbsp;</nobr></td>";
echo "<td><nobr>{$regionalZoneFlagArr[$regionalZoneFlag[$i]][remark]}&nbsp;</nobr></td>";
echo "<td><nobr>$zoneCode[$i]&nbsp;</nobr></td>";
echo "<td><input type=\"checkbox\" name=\"C$i\" value=\"ON\" onClick=\"javascript:delFirm($i)\" ></td>";
echo "</tr>";
}
}
echo "</table>";
echo "<input type=\"hidden\" name=\"wDef\" value=\"$wDef\">";
echo "</form>";
?>
</body>
</html>