Files
agtuser 16a3fd1e1b init
2024-11-11 17:56:00 +08:00

823 lines
25 KiB
PHP
Executable File

<?php
function getLevelWhere($objIdStr)
{
$levelArr=explode('.',$objIdStr);
for($j=0;$j<sizeof($levelArr);$j++){
$levelNo=$j+1;
${"level_$levelNo"}=$levelArr[$j];
if($DEBUG) echo "<BR>levelArr[$j]={$levelArr[$j]}";
if($j == 0){
$levelWhere ="level_$levelNo='${"level_$levelNo"}'";
}else{
$levelWhere .=" AND level_$levelNo='${"level_$levelNo"}'";
}
}
return($levelWhere);
}
function getSubSyss($num)
{
$i=0;
do
{
$arr[$i++] = $num % 2;
}while($num = floor($num/2));
for($j=$i; $j<4; $j++)
$arr[$j] = 0;
return $arr;
}
//*******************************************************************************************
//函 数 名: oidSysCommSend($sysId,$commType,$objIdStr,$selectedSysId=-1,$instanceNo='')
//功能说明: 系统参数维护发送命令,与~www/wxc2_omc/inc/lib.inc sysCommSend()的区别是:此函数可以
// 同时操作同一个系统不同的oid)
//变量说明: 略
//返 回 值:
// 成功: 命令编号字符串
// 失败: -1
//作者:崔体存 2006-01-10
//
//修改注释:
//NO.1
//姓名:
//时间:
//修改说明:
//----------------------------------------------------------
function oidSysCommSend($sysId,$commType,$objIdStr,$selectedSysId=-1,$instanceNo='')
{
//global $pubDb,$commTable;
global $STR_CONF_COMMAND_ERR_0000;
global $STR_CONF_PROMPT_001,$STR_CONF_COMMAND_ERR_0011,$STR_CONF_COMMAND_ERR_0012;
global $STR_CONF_PROMPT_002,$STR_CONF_COMMAND_ERR_0021,$STR_CONF_COMMAND_ERR_0022;
global $STR_CONF_PROMPT_003,$STR_CONF_COMMAND_ERR_0031,$STR_CONF_COMMAND_ERR_0032,$STR_CONF_COMMAND_ERR_0033;
global $STR_CONF_PROMPT_004,$STR_CONF_COMMAND_ERR_0041,$STR_CONF_COMMAND_ERR_0042,$STR_CONF_COMMAND_ERR_0043;
global $STR_CONF_COMMAND_ERR_9999;
//=========insert the operation log into sysOperLog table====================
//===get the operate type set or get==
$logStr="";
if($commType==0)
$logStr.="Get ";
else if($commType==3)
$logStr.="Set ";
//===get the sysTypeNo=====
$sysIdArr = explode('_',$sysId);
$sysTypeNo = $sysIdArr[0];
$sysNo = $sysIdArr[1];
$subSysNo = $sysIdArr[2];
//=====get the LevelWhere
$temp=getLevelWhere($objIdStr);
$database="OBJ_".$sysTypeNo;
$ssql="select name_2 from paramConf where $temp ";
$resultt=@mysqli_query($pubConn,$ssql);
$rowss=@mysqli_fetch_array($resultt);
//==get the parameter name
$p_name=$rowss[name_2];
$logStr.=$p_name;
insertLog($logStr);
$DEBUG = 0;
$pubDb = 'OMC_PUB';
$commTable = 'parameterComm';
$nGetComm = 0;
$nSetComm = 3;
$nSubSysParam = 0;
$nGlobalSubSysParam = 1;
$nGlobalSysParam = 2;
if(0) echo "<br>oidSysCommSend($sysId,$commType,$objIdStr,$selectedSysId)";
if($sysNo == '99'){
$paramType = $nGlobalSysParam;
}else if($subSysNo == '99'){
$paramType = $nGlobalSubSysParam;
}else{
$paramType = $nSubSysParam;
}
if($selectedSysId != -1){
$selectedSysIdArr = explode('_',$selectedSysId);
$selectedSysTypeNo = $selectedSysIdArr[0];
$selectedSysNo = $selectedSysIdArr[1];
$selectedSubSysNo = $selectedSysIdArr[2];
}
if($DEBUG) echo"<br>selectedSysId=$selectedSysId";
if($DEBUG) echo"<br>selectedSysNo=$selectedSysNo";
if($DEBUG) echo"<br>selectedSubSysNo=$selectedSubSysNo";
/*
$objIdStrArr=explode(".",$objIdStr);
$oidQueryWhere=" AND (";
for($i=0;$i<sizeof($objIdStrArr);$i++){
if($i==0)
$tmpOidQueryWhere="objId = "."'";
else
$tmpOidQueryWhere=" OR objId = "."'";
for($j=0;$j<$i;$j++)
$tmpOidQueryWhere=$tmpOidQueryWhere.$objIdStrArr[$j].'.';
$tmpOidQueryWhere=$tmpOidQueryWhere.$objIdStrArr[$j]."'";
$oidQueryWhere=$oidQueryWhere.$tmpOidQueryWhere;
}
$oidQueryWhere=$oidQueryWhere.")";
if($DEBUG){
echo "<br>oidQueryWhere=$oidQueryWhere";
exit();
}
*/
//step 1: delete overtime and imcompetent command , check the exist command num
$overTime = date("Y-m-d H:i:s", mktime(date("H"),date("i")-1,date("s"),date("m"),date("d"),date("Y")));
$delSql = "DELETE FROM $commTable WHERE (commState ='0' OR commState ='3') AND sendTime < '$overTime'
";
if($DEBUG) echo"<br>delete command sql = $delSql";
mysqli_query($pubConn,$delSql);
echo mysqli_error($pubConn);
$overTime = date("Y-m-d H:i:s", mktime(date("H"),date("i")-30,date("s"),date("m"),date("d"),date("Y")));
$delSql = "DELETE FROM $commTable WHERE sendTime < '$overTime'
";
if($DEBUG) echo"<br>delete command sql = $delSql";
mysqli_query($pubConn,$delSql);
echo mysqli_error($pubConn);
//check the exist command num
$chkSql = "SELECT commId FROM $commTable";
if($DEBUG) echo"<br>check exist commands sql = $chkSql";
$chkResult = mysqli_query($pubConn,$chkSql);
echo mysqli_error($pubConn);
$existNum = @mysqli_num_rows($chkResult);
/*
//step 2: check the command(不能同时操作同一个系统的相同的oid)
if($paramType == $nGlobalSysParam) {
if($selectedSysId == -1){
$chkSql = "SELECT commId FROM $commTable
WHERE sysTypeNo='$sysTypeNo' $oidQueryWhere
";
}else{
//选择指定子系统
$chkSql = "SELECT commId FROM $commTable
WHERE sysTypeNo='$selectedSysTypeNo' $oidQueryWhere
";
}
}else if($paramType == $nGlobalSubSysParam) {
if($selectedSysId == -1){
$chkSql = "SELECT commId FROM $commTable
WHERE sysTypeNo='$sysTypeNo' AND sysNo='$sysNo' $oidQueryWhere
";
}else{
//选择指定子系统
$chkSql = "SELECT commId FROM $commTable
WHERE sysTypeNo='$selectedSysTypeNo'
AND sysNo='$selectedSysNo' $oidQueryWhere
";
}
}else{
$chkSql = "SELECT commId FROM $commTable
WHERE sysTypeNo='$sysTypeNo' AND sysNo='$sysNo' AND subSysNo='$subSysNo' $oidQueryWhere
";
}
if($DEBUG)echo"<br>check command sql = $chkSql";
//exit();
$chkResult = mysqli_query($pubConn,$chkSql);
echo mysqli_error($pubConn);
//exit();
$rowsNum = @mysqli_num_rows($chkResult);
//echo "<br>rowsNum=$rowsNum";
if($rowsNum > 0){
echo "<script language=\"javascript\"> ";
echo "alert('Command object is being operated by others,please try it later!'); ";
echo "</script>";
return(-1);
}
*/
//step 3:insert commands into command table
if(($paramType != $nSubSysParam) && ($commType == $nSetComm))//写公共参数
{
if($selectedSysId == -1)
{
if($paramType == $nGlobalSysParam)
{
$selSql="SELECT sysNo,subSysNo FROM sysInfo
WHERE sysTypeNo = '$sysTypeNo'
ORDER BY sysNo,subSysNo,baseStat DESC
";
}
else
{
$selSql="SELECT sysNo,subSysNo FROM sysInfo
WHERE sysTypeNo = '$sysTypeNo'
AND sysNo='$sysNo'
ORDER BY sysNo,subSysNo,baseStat DESC
";
}
}
else//选择指定子系统
{
$selSql="SELECT sysNo,subSysNo FROM sysInfo
WHERE sysTypeNo = '$selectedSysTypeNo'
AND sysNo ='$selectedSysNo'
AND subSysNo='$selectedSubSysNo'
ORDER BY baseStat DESC
";
}
if($DEBUG)
{
echo"<br>selSql=$selSql";
exit();
}
$selResult = mysqli_query($pubConn,$selSql);
$selRowsNum = mysqli_num_rows($selResult);
if($selRowsNum+$existNum>256)
{
echo "<br><br><b>Error:$STR_CONF_COMMAND_ERR_0032<br>";
echo "<b>Prompt1:$STR_CONF_PROMPT_003<br>";
echo "<p align=\"left\"><a href=\"JavaScript:history.go(-1)\"><img align=absBottom border=0 src=\"../../images/left.gif\" width=\"14\" height=\"14\">Back</a>";
exit();
}
//echo "paramType=$paramType";
//exit();
if($selRowsNum > 0)
{
while($selRows = mysqli_fetch_array($selResult))
{
$sysNo = $selRows[sysNo];
if(($paramType==$nGlobalSysParam)
&&($sysTypeNo == '222' || $sysTypeNo == '223')
&&('8' == $sysNo ||'11'==$sysNo))//MTP3,SCCP
continue;
//add by oven 2006-8-22 19:23
if(($paramType==$nGlobalSysParam)&&
($sysTypeNo == '225'&&'9' != $sysNo))
continue;
//end add by oven
$subSysNo = $selRows[subSysNo];
$sendSql="INSERT INTO $commTable
(commType,sysTypeNo,sysNo,subSysNo,paramType,objId,InstanceNo,commState,sendTime)
VALUES
('$commType','$sysTypeNo','$sysNo','$subSysNo','$paramType','$objIdStr','$instanceNo','1',CURRENT_TIMESTAMP)
";
if($DEBUG) echo"<br>send command sql = $sendSql";
$sendResult=mysqli_query($pubConn,$sendSql);
echo mysqli_error($pubConn);
}
}
else
{
echo "<br><br><b>Error:$STR_CONF_COMMAND_ERR_0011<br>";
echo "<b>Prompt:$STR_CONF_PROMPT_001<br>";
echo "<p align=\"left\"><a href=\"JavaScript:history.go(-1)\"><img align=absBottom border=0 src=\"../../images/left.gif\" width=\"14\" height=\"14\">Back</a>";
exit();
}
}
else//读系统/子系统参数或写子系统参数
{
if($paramType != $nSubSysParam)//读公共参数
{
if($selectedSysId == -1)
{
//get baseStat 0=uninstalled, 1=nomal, 2=warning, 3=error
//先按状态排序,再按系统编号,子系统编号排序,同种状态优先选择编号小的
if($paramType == $nGlobalSysParam)
{
if($sysTypeNo[0]=='2')//Platform
{
$selSql="SELECT sysNo,subSysNo FROM sysInfo
WHERE sysTypeNo = '$sysTypeNo' AND sysNo='9'
ORDER BY baseStat DESC,sysNo DESC,subSysNo,updateTime DESC
";
}
else
{
$selSql="SELECT sysNo,subSysNo FROM sysInfo
WHERE sysTypeNo = '$sysTypeNo'
ORDER BY baseStat DESC,updateTime DESC,sysNo,subSysNo
";
}
}
else
{
$selSql="SELECT sysNo,subSysNo FROM sysInfo
WHERE sysTypeNo = '$sysTypeNo' AND sysNo='$sysNo'
ORDER BY baseStat DESC,updateTime DESC,sysNo,subSysNo
";
}
}
else
{
//选择指定子系统
$selSql="SELECT sysNo,subSysNo FROM sysInfo
WHERE sysTypeNo = '$sysTypeNo' AND sysNo='$selectedSysNo' AND subSysNo='$selectedSubSysNo'
ORDER BY baseStat DESC,updateTime DESC
";
}
$selResult=mysqli_query($pubConn,$selSql);
if($DEBUG)
{
echo"<br>get system info sql = $selSql";
}
echo mysqli_error($pubConn);
if(@mysqli_num_rows($selResult) > 0)
{
$selRows = @mysqli_fetch_array($selResult);
$sysNo = $selRows[sysNo];
$subSysNo = $selRows[subSysNo];
}
else
{
echo "<br><br><b>Error:$STR_CONF_COMMAND_ERR_0011<br>";
echo "<b>Prompt:$STR_CONF_PROMPT_001<br>";
echo "<p align=\"left\"><a href=\"JavaScript:history.go(-1)\"><img align=absBottom border=0 src=\"../../images/left.gif\" width=\"14\" height=\"14\">Back</a>";
exit();
}
}
if(1+$existNum>256)
{
echo "<br><br><b>Error:$STR_CONF_COMMAND_ERR_0032<br>";
echo "<b>Prompt2:$STR_CONF_PROMPT_003<br>";
echo "<p align=\"left\"><a href=\"JavaScript:history.go(-1)\"><img align=absBottom border=0 src=\"../../images/left.gif\" width=\"14\" height=\"14\">Back</a>";
exit();
}
$sendSql="INSERT INTO $commTable
(commType,sysTypeNo,sysNo,subSysNo,paramType,objId,InstanceNo,commState,sendTime)
VALUES
('$commType','$sysTypeNo','$sysNo','$subSysNo','$paramType','$objIdStr','$instanceNo','1',CURRENT_TIMESTAMP)
";
if($DEBUGs) echo"<br>send command sql = $sendSql";
$sendResult=mysqli_query($pubConn,$sendSql);
echo mysqli_error($pubConn);
}
//step 4:Return commIdStr
if($DEBUG) echo"<br>if(($paramType != $nSubSysParam) && ($commType == $nSetComm))";
if(($paramType != $nSubSysParam) && ($commType == $nSetComm))
{
if($instanceNo=='')
{
if($paramType == $nGlobalSysParam)
{
$selSql = "SELECT commId FROM $commTable
WHERE paramType='$paramType' AND sysTypeNo='$sysTypeNo' AND objId='$objIdStr'
ORDER BY sysTypeNo,sysNo,subSysNo";
}
else
{
$selSql = "SELECT commId FROM $commTable
WHERE paramType='$paramType' AND sysTypeNo='$sysTypeNo' AND sysNo='$sysNo' AND objId='$objIdStr'
ORDER BY sysTypeNo,sysNo,subSysNo";
}
}
else
{
if($paramType == $nGlobalSysParam)
{
$selSql = "SELECT commId FROM $commTable
WHERE paramType='$paramType' AND sysTypeNo='$sysTypeNo' AND objId='$objIdStr' AND instanceNo='$instanceNo'
ORDER BY sysTypeNo,sysNo,subSysNo,instanceNo";
}
else
{
$selSql = "SELECT commId FROM $commTable
WHERE paramType='$paramType' AND sysTypeNo='$sysTypeNo' AND sysNo='$sysNo' AND objId='$objIdStr' AND instanceNo='$instanceNo'
ORDER BY sysTypeNo,sysNo,subSysNo,instanceNo";
}
}
}
else
{
if($instanceNo=='')
{
$selSql = "SELECT commId FROM $commTable
WHERE sysTypeNo='$sysTypeNo' AND sysNo='$sysNo' AND subSysNo='$subSysNo' AND objId='$objIdStr'"
;
}
else
{
$selSql = "SELECT commId FROM $commTable
WHERE sysTypeNo='$sysTypeNo' AND sysNo='$sysNo' AND subSysNo='$subSysNo' AND objId='$objIdStr' AND instanceNo='$instanceNo'"
;
}
}
if($DEBUG) echo"<br>get command id sql = $selSql";
$selResult=mysqli_query($pubConn,$selSql);
echo mysqli_error($pubConn);
$commIdStr='';
while($selRows = mysqli_fetch_array($selResult))
{
$commIdStr .= $selRows[commId].'-';
}
if($DEBUG) echo "<br>commIdStr = $commIdStr";
if($DEBUG) exit();
return($commIdStr);
}//end of function oidSysSendComm()
function ChComm($sysId,$chkType)
{
global $omc_db;
global $remark,$nProcFail,$nWaitProc,$nInProc,$nOutProc;
$commTable = "parameterComm";
$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);
$outProcCount=0;
do
{
$temCommState = $selRow[commState];
if(isset($selRow[remark])){
$remark = $selRow[remark];
if($DEBUG)echo "<br>remark=$remark";
}
if($DEBUG)echo "<br>temCommState=$temCommState";
if($temCommState == $nWaitProc){
return($nWaitProc);
}elseif($temCommState == $nInProc){
return($nInProc);
}elseif($temCommState == $nOutProc){
$commState = $nOutProc;
$outProcCount++;
}else{
$commState = $nProcFail;
}
}while($selRow = @mysqli_fetch_array($selRes));
if($outProcCount > 0){
return($nOutProc);
}else{
return($nProcFail);
}
}
//****************************************************************
//函 数 名: function checkSaveFunction($saveHref)
//功能说明: 在打开一个编辑参数页面后,按"back"按钮,判断参数是否修改,如果修改,提醒操作者进行保存操作
//变量说明: $saveHref=$backHref+"OBJ:"+"$sysTypeNo&$oidStr&$instanceNo&$newValue"+
// "OBJ:"+"$sysTypeNo&$oidStr&$instanceNo&$newValue"+
// "OBJ:"+"$sysTypeNo&$oidStr&$instanceNo&$newValue"+
// ..................................................
// "OBJ:"+"$sysTypeNo&$oidStr&$instanceNo&$newValue"
//返 回 值:
//
//作者:崔体存 2005-12-19
//
//修改注释:
//NO.1
//姓名:
//时间:
//修改说明:
//----------------------------------------------------------
function checkSaveFunction($saveHref)
{
$tmpSaveHref=$saveHref;
//echo "<br>saveHref=$saveHref";
$varAttributeArr=explode("OBJ:",$tmpSaveHref);
for($i=1;$i<sizeof($varAttributeArr);$i++){
//echo "<br>var=$varAttributeArr[$i]";
//continue;
$unitVarAttributeArr=explode("&",($varAttributeArr[$i]));
$tmpSysIdArr = explode("_",$unitVarAttributeArr[0]);
$tmpSysTypeNo = $tmpSysIdArr[0];
$tmpSysNo = $tmpSysIdArr[1];
$tmpSubSysNo = $tmpSysIdArr[2];
$tmpObjDb = 'OBJ_'.$tmpSysTypeNo;
//echo "<br>tmpObjDb=$tmpObjDb";
$tmpParamTable = 'param_'.$tmpSysNo;
$tmpObjWhereStr = getLevelWhere($unitVarAttributeArr[1]);
$tmpGetsql = "select initValue from $tmpParamTable
where $tmpObjWhereStr AND instanceNo='$unitVarAttributeArr[2]'";
//echo "<br>$tmpGetsql<br>";
$tmpResult = mysqli_query($pubConn,$tmpGetsql);
$tmpRow = mysqli_fetch_array($tmpResult);
$tmpInitValue=$tmpRow[initValue];
//echo "<br>tmpInitValue=$tmpInitValue";
//echo "<br>inputValue=$unitVarAttributeArr[3]";
if($tmpInitValue!=$unitVarAttributeArr[3]){
?>
<script LANGUAGE="JavaScript">
if(confirm('Do you want to save the parameters?')==true)
window.location.href='<?php echo "../../element/sub_inc/saveParameters.php?"; ?>'+'saveHref='+escape('<?php echo $saveHref; ?>')+escape("OBJ:needSave="+'y');
else
window.location.href='<?php echo "../../element/sub_inc/saveParameters.php?"; ?>'+'saveHref='+escape('<?php echo $saveHref; ?>')+escape("OBJ:needSave="+'n');
</script>
<?php
break;
}
}
?>
if($i==sizeof($varAttributeArr))
<script LANGUAGE="JavaScript">
window.location.href='<?php echo "../../element/sub_inc/saveParameters.php?"; ?>'+'saveHref='+escape('<?php echo $saveHref; ?>')+escape("OBJ:needSave="+'n');
</script>
<?php
}
function isPrefixExsit($prefix,$callType,$trunkgp,&$prefixIns)
{
$msc_objDb = 'OBJ_322';
$msc_paramTable = 'param_99';
$objstrset_1='2.1.1';
$objWhereStr_1 =getLevelWhere($objstrset_1);
$objstrset_2='2.1.2';
$objWhereStr_2 =getLevelWhere($objstrset_2);
$objstrset_3='2.1.3';
$objWhereStr_3 =getLevelWhere($objstrset_3);
$findPrefix = omc_keep_length($prefix,'E',16,0);
$paramSql_1 = " SELECT initValue,readValue,instanceNo FROM $msc_paramTable
WHERE $objWhereStr_1 AND initValue = '$findPrefix' ";
$Result_1 = mysqli_query($pubConn,$paramSql_1);
$findflag=0;
while($Row_1 = mysqli_fetch_array($Result_1))
{
$paramSql_2 = " SELECT initValue,readValue,instanceNo FROM $msc_paramTable
WHERE $objWhereStr_2 AND instanceNo = '$Row_1[instanceNo]' ";
if($DEBUG) echo "paramSql2=$paramSql2<br>";
$Result_2 = mysqli_query($pubConn,$paramSql_2);
$Row_2 = mysqli_fetch_array($Result_2);
$prefixflag=bindec(getBitValue($Row_2[initValue],'10.7-10.7'));
$call_type =bindec(getBitValue($Row_2[initValue],'10.4-10.6'));
if($prefixflag==1&&$call_type==$callType)
{
$paramSql_3 = " SELECT initValue,readValue,instanceNo FROM $msc_paramTable
WHERE $objWhereStr_3 AND instanceNo ='$Row_2[instanceNo]'";
$Result_3 = mysqli_query($pubConn,$paramSql_3);
$Row_3 = mysqli_fetch_array($Result_3);
$prefixTG = hexdec($Row_3[initValue]);
if($prefixTG==$trunkgp)
{
$prefixIns=$Row_2[instanceNo];
$findflag=1;
break;
}
}
}
return $findflag;
}
function setPrefix($prefix,$callType,$trunkgp,$setInstanceNo)
{
$msc_objDb = 'OBJ_322';
$msc_paramTable = 'param_99';
$setPrefix = omc_keep_length($prefix,'E',16,0);
$objstrset='2.1.1';
$objWhereStr =getLevelWhere($objstrset);
$updSql = "UPDATE $msc_paramTable SET initValue = '$setPrefix' WHERE $objWhereStr AND instanceNo = '$setInstanceNo'";
if($DEBUG) echo "updSql=$updSql<br>";
mysqli_query($pubConn,$updSql);
$objstrset='2.1.2';
$objWhereStr =getLevelWhere($objstrset);
$paramSql = " SELECT initValue FROM paramConf WHERE $objWhereStr";
if($DEBUG) echo "paramSql=$paramSql<br>";
$Result_def = mysqli_query($pubConn,$paramSql);
$Row_def = mysqli_fetch_array($Result_def);
$CT = omc_keep_length(decbin($callType),0,3);
if($prefix=='BB')
$tonIN=$tonOut = 2;//unkown
else
$tonIN=$tonOut = 4;//idd
$setTonIn = omc_keep_length(decbin($tonIN),0,4);
$setTonOut = omc_keep_length(decbin($tonOut),0,4);
$Row_def[initValue] = setBitValue($Row_def[initValue],'0.0-0.3',$setTonIn);//ton in = IDD:4
$Row_def[initValue] = setBitValue($Row_def[initValue],'0.4-0.7',$setTonOut);//TON OUT= IDD:4
$Row_def[initValue] = setBitValue($Row_def[initValue],'10.7-10.7','1');//flag on
$Row_def[initValue] = setBitValue($Row_def[initValue],'18.0-18.0','1');//VoicePromptFlag=on
$Row_def[initValue] = setBitValue($Row_def[initValue],'10.4-10.6',$CT);//call type
$Row_def[initValue] = setBitValue($Row_def[initValue],'10.2-10.3','00');//trunk
$Row_def[initValue] = setBitValue($Row_def[initValue],'11.0-11.7','00');//length=0
$setValue = strtoupper($Row_def[initValue]);
$updSql = "UPDATE $msc_paramTable SET initValue = '$setValue'
WHERE $objWhereStr AND instanceNo = '$setInstanceNo'";
if($DEBUG) echo "updSql=$updSql<br>";
mysqli_query($pubConn,$updSql);
$objstrset='2.1.3';
$objWhereStr =getLevelWhere($objstrset);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $msc_paramTable
WHERE $objWhereStr AND instanceNo ='$setInstanceNo'";
$Result = mysqli_query($pubConn,$paramSql);
$Row = mysqli_fetch_array($Result);
$HEXtrunkgp = omc_keep_length(dechex($trunkgp),0,2);
$Row[initValue] = strtoupper($HEXtrunkgp);
$updSql = "UPDATE $msc_paramTable SET initValue = '$Row[initValue]'
WHERE $objWhereStr AND instanceNo = '$setInstanceNo'";
mysqli_query($pubConn,$updSql);
}
function delPrefix($inst)
{
global $pubDb,$DEBUG;
$tmpParamConfTable='OBJ_322.paramConf';
$tmpObjIdStr='2.1';
$levelWhere = getLevelWhere($tmpObjIdStr);
if($DEBUG) echo "<BR>levelWhere=$levelWhere";
$getSql="SELECT initValue,level_3 FROM $tmpParamConfTable
WHERE $levelWhere AND (level_3='1' OR level_3='2' OR level_3='3') ORDER BY level_3
";
if($DEBUG) echo "<BR>getSql=$getSql";
$delPreResult =mysqli_query($pubConn,$getSql);
echo mysqli_error($pubConn);
$i=0;
while($rows=mysqli_fetch_array($delPreResult))
{
$tmpDefaultValueArr[$i][initValue]=$rows[initValue];
$tmpDefaultValueArr[$i][level_3]=$rows[level_3];
$i++;
}
for($i=0;$i<sizeof($tmpDefaultValueArr);$i++)
{
$updateSql="UPDATE OBJ_322.param_99 SET initValue='{$tmpDefaultValueArr[$i][initValue]}'
WHERE $levelWhere AND level_3='{$tmpDefaultValueArr[$i][level_3]}' AND instanceNo='$inst'";
if(0) echo "<BR>updateSql=$updateSql";
mysqli_query($pubConn,$updateSql);
echo mysqli_error($pubConn);
}
}
function updatePrefix($oldPrefix,$newPrefix,$callType,$trunkgp)
{
$msc_objDb = 'OBJ_322';
$msc_paramTable = 'param_99';
$oldPreIns = $newPreIns = -1;
$oldExist = $newExist = 0;
$oldExist = isPrefixExsit($oldPrefix,$callType,$trunkgp,$oldPreIns);
$newExist = isPrefixExsit($newPrefix,$callType,$trunkgp,$newPreIns);
if($oldExist==1)
{
if(strcmp($oldPrefix,$newPrefix)==0)
return;
if($newExist==1 || strlen($newPrefix)==0)
{
delPrefix($oldPreIns);
return;
}
$findflag = 1;
$setInstanceNo = $oldPreIns;
//delPrefix($setInstanceNo);
}
else
{
if($newExist==1 || strlen($newPrefix)==0)
return;
$objstrset_2='2.1.2';
$objWhereStr_2 =getLevelWhere($objstrset_2);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $msc_paramTable WHERE $objWhereStr_2 ";
if($DEBUG) echo "paramSql=$paramSql<br>";
$Result_2 = mysqli_query($pubConn,$paramSql);
while($Row_2 = mysqli_fetch_array($Result_2))
{
$prefixflag=bindec(getBitValue($Row_2[initValue],'10.7-10.7'));
if($prefixflag==0)
{
$setInstanceNo = $Row_2[instanceNo];
$findflag=1;
break;
}
}
}
if($findflag==1)
setPrefix($newPrefix,$callType,$trunkgp,$setInstanceNo);
return $setInstanceNo;
//exit;
}//end updatePrefix
function checkDupPrefix($instNo,$setPrefix,$setTonIn,$setTonOut)
{
$sysId = '322_99_99';
$sysIdArr = explode('_',$sysId);
$sysTypeNo = $sysIdArr[0];
$sysNo = $sysIdArr[1];
$subSysNo = $sysIdArr[2];
$objDb = 'OBJ_'.$sysTypeNo;
$paramTable = 'param_'.$sysNo;
{//get all valid prefix No
$oidstr = '2.1.2';
$objWhereStr= '';
$objWhereStr =getLevelWhere($oidstr);
$defSql = " SELECT initValue,instanceNo FROM $paramTable WHERE $objWhereStr ORDER BY instanceNo";
//echo $defSql;
$defRes = @mysqli_query($pubConn,$defSql);
echo mysqli_error($pubConn);
$offset_enable = "10.7-10.7";
$offset_Properties = "10.2-10.3";
$offset_calltype = "10.4-10.6";
$offset_ton_in = "0.0-0.3";
$offset_ton_out="0.4-0.7";
$prefix_num=0;
while($row = @mysqli_fetch_array($defRes))
{
$prefix_enable=hexdec(getBitValue($row[initValue],$offset_enable));
if($prefix_enable)//enable
{
$validPrefix[$prefix_num][inst_no]=$row[instanceNo];
$validPrefix[$prefix_num][init_value]=$row[initValue];
$validPrefix[$prefix_num][ton_in]=BinDec(getBitValue($row[initValue],$offset_ton_in));
$validPrefix[$prefix_num][ton_out]=BinDec(getBitValue($row[initValue],$offset_ton_out));
$prefix_num++;
}
}
}//end get valid prefix No
{//get prefix value
$oidstr = '2.1.1';
$objWhereStr= '';
$objWhereStr =getLevelWhere($oidstr);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $paramTable
WHERE subSysNo = '$subSysNo' AND $objWhereStr ORDER BY instanceNo";
// echo "$paramSql";
$Result_1 = mysqli_query($pubConn,$paramSql);
$prefix_no=0;
while($Row_1 = mysqli_fetch_array($Result_1))
{
if($Row_1[instanceNo]==$validPrefix[$prefix_no][inst_no])
{
$tempprefix=strtoupper($Row_1[initValue]);
$prefix = explode('E',$tempprefix);
if($prefix[0] =="")
$prefix[0]="--";
$validPrefix[$prefix_no][prefix]=$prefix[0];
//echo "<br>asas->".$validPrefix[$prefix_no][prefix];
$prefix_no++;
}
if($prefix_no >= $prefix_num)
break;
}
}//end get prefix value
//exit;
for($i=0; $i< $prefix_num; $i++)
{
//echo "<br>".$validPrefix[$i][inst_no].":".$validPrefix[$i][prefix].":".$validPrefix[$i][ton_in].":".$validPrefix[$i][ton_out];
if($instNo==$validPrefix[$i][inst_no])
continue;
if(strcmp($setPrefix,$validPrefix[$i][prefix])==0
&&($setTonIn==$validPrefix[$i][ton_in])
/*&&($setTonOut==$validPrefix[$i][ton_out])*/)
{
echo "<script language='javascript'>";
echo "window.alert(\"Prefix, TON_in are all the same to PrefixNo:{$validPrefix[$i][inst_no]},Please check!\");";
echo "history.go(-1)";
echo "</script>";
exit();
}
}
}//end checkDupPrefix
?>