";
$sysIdArr = explode('_',$sysId);
$sysTypeNo = $sysIdArr[0];
$sysNo = $sysIdArr[1];
$subSysNo = $sysIdArr[2];
$objDb = 'OBJ_'.$sysTypeNo;
$paramTable = 'param_'.$sysNo;
function checkInput($upstr,$flag)
{
if ($flag == 16)
{
$checkOK = "0123456789ABCDEF";
$checkOK_length = 16;
$showmsg ="Parameter must be a hexadecimal value!";
}
else
{
$checkOK = "0123456789";
$checkOK_length = 10;
$showmsg ="Parameter must be a decimal value!";
}
$checkStr = $upstr;
$allValid = 1;
$chkstr_len = strlen($checkStr);
for ($i = 0; $i < $chkstr_len; $i++){
$ch = substr($checkStr,$i,1);
for ($j = 0; $j < $checkOK_length; $j++){
if ($ch == substr($checkOK,$j,1))
break;
}
if ($j == $checkOK_length){
$allValid = 0;
break;
}
}
if (!$allValid){
echo "";
exit();
}
}
function omcGetObjDb($sysTypeNo){
$dbName = 'OBJ_'.$sysTypeNo;
return($dbName);
}
function omcGetObjTbl($sysTypeNo,$tableType){
$dbName = 'OBJ_'.$sysTypeNo;
$tableName = $dbName.'.paramConf';
return($tableName);
}
//=======================Get value From submit===================
//$unit_x_y表示显示页面第x组oid,第y个参数
if($set == 'Save')
{
$oIdstrarr = explode('-',$objIdStr);
$externID = explode('-',$instanceNo);
if($instanceNo == 'new')
{
$instanceNo = $newID;
}
//保存前检查Prefix设置参数
if($setname == 'Prefix')//check prefix valid arwean:
{
$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));
// echo "
".$prefix_num . ": ".$validPrefix[$prefix_num][inst_no];
// echo "validPrefix[$prefix_num][ton_in]: {$validPrefix[$prefix_num][ton_in]}";
$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 "
asas->".$validPrefix[$prefix_no][prefix];
$prefix_no++;
}
if($prefix_no >= $prefix_num)
break;
}
}//end get prefix value
//exit;
$setPrefix = strtoupper($unit_1_1);
$setTonIn = $unit_2_1;
$setTonOut = $unit_2_2;
for($i=0; $i< $prefix_num; $i++)
{
//echo "
".$validPrefix[$i][inst_no].":".$validPrefix[$i][prefix].":".$validPrefix[$i][ton_in].":".$validPrefix[$i][ton_out];
if($instanceNo==$validPrefix[$i][inst_no])
continue;
if(($setPrefix==$validPrefix[$i][prefix])
&&($setTonIn==$validPrefix[$i][ton_in])
/*&&($setTonOut==$validPrefix[$i][ton_out])*/)
{
echo "";
exit();
}
}
}
//保存前检查dpc有没有设重
//$unit_1_1表示显示页面是 第1组oid,第1个参数
//$unit_1_2表示显示页面是 第1组oid,第2个参数
if($setname =='Linkset')
{
checkInput($unit_1_1,10);
$tmpDb = 'OBJ_222';
$tmpTable = 'param_99';
$tmpoid = '2.4.1';
$objWhereStr = getLevelWhere($tmpoid);
$setDPC = omc_keep_length(dechex($unit_1_1),0,6);
$setDPC = strtoupper($setDPC);
$setNetID = $unit_1_2;
if($webname!='CNF')//cnf与cnf的dpc和ni可以重复。
{
//dpc ni不能设重
$paramSql = " SELECT initValue,readValue,instanceNo FROM $tmpTable
WHERE $objWhereStr AND instanceNo !='$linkset' AND initValue LIKE '$setDPC%'
";
$Result = mysqli_query($pubConn,$paramSql);
while($Row = mysqli_fetch_array($Result))
{
$flag=getBitValue($Row[initValue],'3.2-3.2');
if($flag&&($setNetID == bindec(getBitValue($Row[initValue],'3.0-3.1'))))
{
echo "";
exit();
}
}
}
//不能与 spc 重复
{
$oidstr = '2.2';
$link_Db = 'OBJ_222';
$link_Table = 'param_99';
$subSysNo = 99;
$spcobjWhereStr= '';
$spcobjWhereStr =getLevelWhere($oidstr);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $link_Table
WHERE $spcobjWhereStr
";
if($DEBUG) echo "$paramSql
";
$Result = mysqli_query($pubConn,$paramSql);
$Row = mysqli_fetch_array($Result);
$NIbit = getBitValue($Row[initValue],"0.$setNetID");
$tmp = $setNetID+1+$NIbit*4;
$oidstr = '2.3.'.$tmp;
$spcobjWhereStr= '';
$spcobjWhereStr =getLevelWhere($oidstr);
$paramSql = "SELECT initValue FROM $link_Table
WHERE $spcobjWhereStr AND instanceNo = '0'
";
$Result = mysqli_query($pubConn,$paramSql);
$Row = mysqli_fetch_array($Result);
$WXC2DPC = strtoupper($Row[initValue]);
//$setDPC is hex
// if($setDPC == $WXC2PC)
if(hexdec($setDPC) == hexdec($WXC2DPC))
{
echo "";
exit();
}
}
//old dpc NI
$paramSql = " SELECT initValue,readValue,instanceNo FROM $tmpTable
WHERE $objWhereStr AND instanceNo ='$linkset'
";
$Result = mysqli_query($pubConn,$paramSql);
$Row = mysqli_fetch_array($Result);
$oldDPC = hexdec(getBitValue($Row[initValue],'0.0-2.7'));
$oldNetID = getBitValue($Row[initValue],'3.0-3.1');
$oldNetID = bindec($oldNetID);
if($DEBUG) echo "Row[initValue] = $Row[initValue]
";
if($DEBUG) echo "oldNetID = $oldNetID
";
//TG未定,选择一条未用的TG
if($trunkgp =="" && !($webname =='HLR' ||$webname =='VLR' || $webname =='MSC'||$webname=='SMSC')){
$TGsysId = '322_99_99';
$TG_sysIdArr = explode('_',$TGsysId);
$TG_sysTypeNo = $TG_sysIdArr[0];
$TG_sysNo = $TG_sysIdArr[1];
$TG_subSysNo = $TG_sysIdArr[2];
$TG_oidstr = '2.1.4';
$TG_objWhereStr = getLevelWhere($TG_oidstr);
$TG_objDb = 'OBJ_'.$TG_sysTypeNo;
$TG_paramTable = 'param_'.$TG_sysNo;
$TG_defSql = " SELECT initValue FROM paramConf WHERE $TG_objWhereStr";
$TG_defRes = @mysqli_query($pubConn,$TG_defSql);
$TG_row = @mysqli_fetch_array($TG_defRes);
$TG_paramSql = " SELECT initValue,readValue,instanceNo FROM $TG_paramTable
WHERE $TG_objWhereStr AND initValue ='$TG_row[initValue]'
";
if($DEBUG) echo "TG_paramSql = $TG_paramSql
";
$TG_Result = mysqli_query($pubConn,$TG_paramSql);
$TG_Row = mysqli_fetch_array($TG_Result);
$trunkgp = $TG_Row[instanceNo];
$strnew = "trunkgp=".$trunkgp;
$backurl = str_replace("trunkgp=",$strnew,$backurl);
if($DEBUG) echo "instanceNo = $TG_Row[instanceNo]
";
$flagoffset = "4.0-4.0";
$TG_Row[initValue] = setBitValue($TG_Row[initValue],$flagoffset,1);
$TG_Row[initValue] = strtoupper($TG_Row[initValue]);
$TG_upSql = "UPDATE $TG_paramTable SET initValue = '$TG_Row[initValue]'
WHERE $TG_objWhereStr AND instanceNo='$trunkgp'";
if($DEBUG) echo "GPGPGPPGPGPGPGP = $trunkgp
";
$delRes = @mysqli_query($pubConn,$TG_upSql);
echo mysqli_error($pubConn);
}
}
//保存前检查BTS设置参数
//$unit_1_4表示显示页面是 第1组oid,第4个参数
if($setname=='BTS')
{
if($unit_1_1==1)//Emergency Call flag==by Cell.
{//CELL ID 不能设重
$objstrset='2.2.7';
$objWhereStr =getLevelWhere($objstrset);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $paramTable
WHERE $objWhereStr AND instanceNo!='$externID[0]'
";
$Result = mysqli_query($pubConn,$paramSql);
while($Row=mysqli_fetch_array($Result))
{
$CELLID=hexdec(getBitValue($Row[initValue],'03.0-04.7'));
$cellPrefix=hexdec(getBitValue($Row[initValue],'5.0-5.7'));
if($CELLID==$unit_1_3 && $set_PrefixNo == $cellPrefix)
{
echo "";
exit();
}
}
}
$objstrset='2.2.7';
$objWhereStr =getLevelWhere($objstrset);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $paramTable
WHERE $objWhereStr AND instanceNo ='$instanceNo'
";
$Result = mysqli_query($pubConn,$paramSql);
$Row = mysqli_fetch_array($Result);
if($DEBUG) echo "$paramSql
";
if($DEBUG) echo "$Row[initValue]
";
$Em_prefix_old = hexdec(getBitValue($Row[initValue],'05.0-5.7'));
}
for($j=1;$j
num:$unitNum
";
for($i=1;$i<=$unitNum;$i++)
{
$tmpDef = ${'unitDef_'.$j.'_'.$i};
$tmpValue = ${'unit_'.$j.'_'.$i};
if($DEBUG) echo "
tmpDef = $tmpDef";
$defArr[$j][$i] = $tmpDef;
$tmpDefArr[$j] = explode('-',$tmpDef);
$sortArr[$j][$i] = $tmpDefArr[$j][0];
$valueArr[$j][$i] = $tmpValue;
// echo "$tmpValue
";
}
$lastValue = '';
$k = 0;
asort($sortArr[$j]);
for(reset($sortArr[$j]); $key = key($sortArr[$j]); next($sortArr[$j]))
{
$unitValue = $valueArr[$j][$key];
$unitDefArr = explode('-',$defArr[$j][$key]); //例:0.0-0.7-input -toDec-high-0
if(sizeof($unitDefArr) <= 1)
{
if($DEBUG) echo "
nothing,just a name";
continue;
}
$bgnOffset = $unitDefArr[0];
$endOffset = $unitDefArr[1];
$operType = $unitDefArr[2];
$valueType = $unitDefArr[3];
$fillWay = $unitDefArr[4];
$fillChar = $unitDefArr[5];
$bgnOffsetArr = explode('.',$bgnOffset);
$bgnByte = $bgnOffsetArr[0];
$bgnBit = $bgnOffsetArr[1];
$endOffsetArr = explode('.',$endOffset);
$endByte = $endOffsetArr[0];
$endBit = $endOffsetArr[1];
$byteLen = $endByte - $bgnByte + 1;
$byteValue = '';
if($DEBUG) echo "
valueType = $valueType";
switch($valueType)
{
case 'toDec':
if($bgnBit > 0 ||$endBit < 7)
{
$bitLen = $byteLen*8 - $bgnBit - (7 - $endBit) ; //1 BYTE = 8 bit
$bitValue = DecBin($unitValue);
if($DEBUG) echo "
bitValue = $bitValue ";
$bitValue = omcStrFill($bitValue,$bitLen,$fillWay,$fillChar);
if($DEBUG) echo "
omcStrFill($bitValue,$bitLen,$fillWay,$fillChar)";
$bitValueArr[$k] = $bitValue;
if($DEBUG) echo "
bitValueArr[$k] = {$bitValueArr[$k]}";
if($endBit == 7)
{//发现这个单元结束,并没有跨byte,这时需要组成一个byte值
$bitValue = '';
for($bitNo=0; $bitNo<=$k; $bitNo++)
{
if($DEBUG) echo "
bitValueArr[$bitNo] = {$bitValueArr[$bitNo]}";
$bitValue = $bitValueArr[$bitNo].$bitValue;
}
$k=0;
if($DEBUG) echo "
bitValue = $bitValue";
$byteLen = strlen($bitValue) / 8;
if($DEBUG) echo "
byteLen = $byteLen";
$byteValue = BinDec($bitValue);
$byteValue = DecHex($byteValue);
$strLen = $byteLen*2;
if($DEBUG) echo "
omcStrFill($byteValue,$strLen,$fillWay,$fillChar)";
$byteValue = omcStrFill($byteValue,$strLen,$fillWay,$fillChar);
}
else
{//否则,继续组合下一个bit组
$byteValue = '';
$k++;
}
}
else
{
$byteValue = DecHex($unitValue);
$strLen = $byteLen*2;
$byteValue = omcStrFill($byteValue,$strLen,$fillWay,$fillChar);
if($DEBUG) echo "
omcStrFill($byteValue,$strLen,$fillWay,$fillChar)";
}
if($DEBUG) echo "
byteValue = $byteValue";
break;
case 'keepDec':
//echo "
Error:keepDec";
$byteValue = $unitValue - 0;
break;
case 'toHex':
echo "
Error:toHex";
break;
case 'keepHex':
if($bgnBit > 0 || $endBit < 7)
{//这里的处理不够全面,没有对=7的进行收尾
$byteValue = $unitValue;
$strLen = $byteLen;
$byteValue = omcStrFill($byteValue,$strLen,$fillWay,$fillChar);
$bitValue = DecBin(HexDec($byteValue));
$byteValue='';
$bitLen = $byteLen*8 - $bgnBit - (7 - $endBit) ; //1 BYTE = 8 bit
$bitValue = omcStrFill($bitValue,$bitLen,'high','0');
if($DEBUG) echo "
bitValue = $bitValue";
$bitValueArr[$k] = $bitValue;
$k++;
}
else
{
$k=0;
$byteValue = $unitValue;
$strLen = $byteLen*2;
$byteValue = omcStrFill($byteValue,$strLen,$fillWay,$fillChar);
if($DEBUG) echo "
omcStrFill($byteValue,$strLen,$fillWay,$fillChar)";
}
break;
case 'toAscii':
if($bgnBit > 0 ||$endBit < 7)
{
echo "
Error:toAscii";
exit(1);
}
else
{
$tmpLen=strlen($unitValue);
for($i=0;$i<$tmpLen;$i++)
{
$unitChar = substr($unitValue,$i,1);
$decValue = ord($unitChar); //ascii -> dec
$byteValue .= DecHex($decValue);
if(strlen($byteValue) < 2)
{
$byteValue = '0'.$byteValue;
}
}
$strLen = $byteLen*2;
$byteValue = omcStrFill($byteValue,$strLen,$fillWay,$fillChar);
}
break;
default:
echo "Error:Unknown valueType";
break;
}
if($DEBUG) echo "
byteValue = $byteValue ";
//--><-//$lastValue = $byteValue.$lastValue;
$lastValue = $lastValue.$byteValue;
}
if($DEBUG) echo "
lastValue = $lastValue ";
$setValue = $lastValue;
}
{
$objWhereStr =getLevelWhere($oIdstrarr[$j]);
$setValue = strtoupper($setValue);
checkInput($setValue,16);
$updSql = "UPDATE $paramTable SET initValue = '$setValue'
WHERE $objWhereStr AND instanceNo = '$instanceNo'
";
mysqli_query($pubConn,$updSql);
echo mysqli_error($pubConn);
}
}
if($setname=='BTS')
{
{//update the lac value of cell
$sysId = '322_99_99';
$sysIdArr = explode('_',$sysId);
$sysTypeNo = $sysIdArr[0];
$sysNo = $sysIdArr[1];
$subSysNo = $sysIdArr[2];
$oidstr = '2.2.7';
$objWhereStr =getLevelWhere($oidstr);
$objDb = 'OBJ_'.$sysTypeNo;
$paramTable = 'param_'.$sysNo;
$istNo = $externID[0];
//$lacValue = $externID[1];
$lacValueHex = omc_keep_length(strtoupper(dechex($LAC)),0,4);
$selSql = "select initValue from $paramTable where $objWhereStr AND instanceNo ='$istNo'";
$Result = mysqli_query($pubConn,$selSql);
echo mysqli_error($pubConn);
$row=@mysqli_fetch_array($Result);
$setValue = $row[initValue];
$setValue = setBitValue($setValue,'1.0-2.7',$lacValueHex);
$updSql = "update $paramTable set initValue = '$setValue'
where $objWhereStr AND instanceNo ='$istNo' ";
mysqli_query($pubConn,$updSql);
}
}
{//关联参数设置
$oIdstrarr = explode('-',$objIdStr);
switch($setname)
{
case 'Trunk Group':
{
if($webname!='BSC')//bsc don't need to set alternative TG
{//add by arwean
$objstrset='2.1.4';
$objWhereStr =getLevelWhere($objstrset);
$paramSql = " SELECT initValue FROM $paramTable
WHERE $objWhereStr AND instanceNo ='$trunkgp'
";
$Result = mysqli_query($pubConn,$paramSql);
$Row = mysqli_fetch_array($Result);
$hex_setAltTg = strtoupper(DecHex($set_AlterTg));
$hex_setAltTg = omc_keep_length($hex_setAltTg,0,2);
if($alterTgFlag==1)
$Row[initValue] = setBitValue($Row[initValue],'7.0-7.7',$hex_setAltTg);
$Row[initValue] = setBitValue($Row[initValue],'4.6-4.6',$alterTgFlag);
//echo $Row[initValue];
//exit();
$updSql = "update $paramTable set initValue = '$Row[initValue]'
where $objWhereStr AND instanceNo ='$trunkgp' ";
mysqli_query($pubConn,$updSql);
}//end add
break;
}
case 'Linkset'://修改linkset的dpc,ni修改相应routing与TG,GTT的dpc,ni
{
switch($webname)
{
case 'HLR':
$SSN = 6;
break;
case 'VLR':
$SSN = 7;
break;
case 'MSC':
$SSN = 8;
break;
case 'SMSC':
$SSN = 11;
break;
}
$tmpDb = 'OBJ_222';
$tmpTable = 'param_99';
$tmpoid = '2.4.1';
$objWhereStr = getLevelWhere($tmpoid);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $tmpTable
WHERE $objWhereStr AND instanceNo ='$linkset'
";
$Result = mysqli_query($pubConn,$paramSql);
$Row = mysqli_fetch_array($Result);
$DPC = hexdec(getBitValue($Row[initValue],'0.0-2.7'));
$NetID = getBitValue($Row[initValue],'3.0-3.1');
$NetID = bindec($NetID);
$newNetID = $NetID;
if($DEBUG) echo "Row[initValue] = $Row[initValue]";
if($DEBUG) echo "NetID = $NetID";
//关联GTT的DPC 关联GTT的Network indicator
if($webname =='Switch' || $webname =='VSS' || $webname =='HLR' ||$webname =='VLR' || $webname =='MSC'|| $webname =='SMSC')
{
$tmpDb = 'OBJ_223';
$tmpTable = 'param_99';
$tmpoid = '2.2';
$objWhereStr = getLevelWhere($tmpoid);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $tmpTable
WHERE $objWhereStr
";
$Result = mysqli_query($pubConn,$paramSql);
$num = 1;
while($Row = mysqli_fetch_array($Result))
{
$GTT_DPC = hexdec(getBitValue($Row[initValue],'24.0-26.7'));
$GTT_SSN = hexdec(getBitValue($Row[initValue],'27.0-27.7'));
$GTT_NetID = hexdec(getBitValue($Row[initValue],'23.0-23.7'));
$flag = hexdec(getBitValue($Row[initValue],'00.0-00.7'));
if($GTT_DPC == $oldDPC && $flag == 1 && $GTT_NetID == $oldNetID)
{
$DPC_GTT = dechex($DPC);
$DPC_GTT = omc_keep_length($DPC_GTT,0,6);
$Row[initValue] = setBitValue($Row[initValue],'24.0-26.7',$DPC_GTT);
$NetID_GTT = dechex($NetID);
$NetID_GTT = omc_keep_length($NetID_GTT,0,2);
$Row[initValue] = setBitValue($Row[initValue],'23.0-23.7',$NetID_GTT);
$Row[initValue] = strtoupper($Row[initValue]);
$updSql = "UPDATE $tmpTable SET initValue = '$Row[initValue]'
WHERE $objWhereStr AND instanceNo = '$Row[instanceNo]'
";
mysqli_query($pubConn,$updSql);
$num++;
}
}
}
//else//关联TG的DPC 关联TG的Network indicator
{
$tmpDb = 'OBJ_322';
$tmpTable = 'param_99';
$tmpoid = '2.1.4';
$objWhereStr = getLevelWhere($tmpoid);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $tmpTable
WHERE $objWhereStr AND instanceNo ='$trunkgp'
";
$Result = mysqli_query($pubConn,$paramSql);
$Row = mysqli_fetch_array($Result);
$DPC_TG = dechex($DPC);
$DPC_TG = omc_keep_length($DPC_TG,0,8);
$Row[initValue] = setBitValue($Row[initValue],'0.0-3.7',$DPC_TG);
$NetID = dechex($NetID);
$NetID = omc_keep_length($NetID,0,2);
$Row[initValue] = setBitValue($Row[initValue],'5.0-5.7',$NetID);
$Row[initValue] = strtoupper($Row[initValue]);
$updSql = "UPDATE $tmpTable SET initValue = '$Row[initValue]'
WHERE $objWhereStr AND instanceNo = '$trunkgp'
";
mysqli_query($pubConn,$updSql);
}
//修改routing DPC
{
$routeNO = $externID[1];
$DPC = dechex($DPC);
$DPC = omc_keep_length($DPC,0,6);
$AlternativeArr=array(
array('Linkset DPC', '0.0-2.7', 'DPC'),
array('Normal linkset', '3.0-3.7', 'linkset'),
array('Alternative linkset', '4.0-4.7', 'Alternative')
);
$objDb = 'OBJ_222';
$paramTable = 'param_99';
if($oldNetID == $newNetID){
$temp = $newNetID+1;
$oidstr = '2.6.'.$temp;
$objWhereStr= '';
$objWhereStr =getLevelWhere($oidstr);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $paramTable
WHERE $objWhereStr AND instanceNo = '$routeNO'
";
$Result_2 = mysqli_query($pubConn,$paramSql);
$Row_2 = mysqli_fetch_array($Result_2);
$Row_2[initValue] = setBitValue($Row_2[initValue],$AlternativeArr[0][1],$DPC);
$Row_2[initValue] = strtoupper($Row_2[initValue]);
$updSql = "UPDATE $paramTable SET initValue = '$Row_2[initValue]'
WHERE $objWhereStr AND instanceNo = '$routeNO'
";
mysqli_query($pubConn,$updSql);
/*
if('AAS' == $externID[2]){
$NIoffset = array("0.0-0.0","0.1-0.1","0.2-0.2","0.3-0.3");
$oidstr = '2.2';
$aas_link_Db = 'OBJ_222';
$aas_link_Table = 'param_11';
//$subSysNo = $externID[3];
$subSysNo = 99;
$objWhereStr= '';
$objWhereStr =getLevelWhere($oidstr);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $aas_link_Table
WHERE $objWhereStr AND subSysNo = '$subSysNo'
";
if($DEBUG) echo "$paramSql
";
$aas_Result = mysqli_query($pubConn,$paramSql);
$aas_Row = mysqli_fetch_array($aas_Result);
$NIbit = getBitValue($aas_Row[initValue],$NIoffset[$newNetID]);
$tmp = $newNetID+1+$NIbit*4;
$oidstr = '2.3.'.$tmp;
if($DEBUG) echo "oldNetID = $oldNetID
";
if($DEBUG) echo "newNetID = $newNetID
";
if($DEBUG) echo "$NIbit
";
if($DEBUG) echo "$oidstr
";
$objWhereStr= '';
$objWhereStr =getLevelWhere($oidstr);
$DPC = strtoupper($DPC);
$updSql = "UPDATE $aas_link_Table SET initValue = '$DPC'
WHERE $objWhereStr AND instanceNo = '0' AND subSysNo = '$subSysNo'
";
if($DEBUG) echo "$updSql
";
mysqli_query($pubConn,$updSql);
}
*/
}else{
$temp = $oldNetID+1;
$oidstr = '2.6.'.$temp;
$objWhereStr_old= '';
$objWhereStr_old =getLevelWhere($oidstr);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $paramTable
WHERE $objWhereStr_old AND instanceNo = '$routeNO'
";
$Result_2 = mysqli_query($pubConn,$paramSql);
$Row_2 = mysqli_fetch_array($Result_2);
$Alternative = getBitValue($Row_2[initValue],$AlternativeArr[2][1]);
$updSql = "UPDATE $paramTable SET initValue = '0000008080'
WHERE $objWhereStr_old AND instanceNo = '$routeNO'
";
mysqli_query($pubConn,$updSql);
$temp = $oldNetID+2;
$oidstr = '2.7.'.$temp;
$objWhereStr_old= '';
$objWhereStr_old =getLevelWhere($oidstr);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $paramTable
WHERE $objWhereStr_old AND instanceNo = '$routeNO'
";
$Result_2 = mysqli_query($pubConn,$paramSql);
$Row_2 = mysqli_fetch_array($Result_2);
$ACNoldvalue = $Row_2[initValue];
$paramSql = " SELECT initValue FROM paramConf WHERE $objWhereStr_old
";
$Result_2 = mysqli_query($pubConn,$paramSql);
$Row_2 = mysqli_fetch_array($Result_2);
$ACNdefvalue= $Row_2[initValue];
$updSql = "UPDATE $paramTable SET initValue = '$ACNdefvalue'
WHERE $objWhereStr_old AND instanceNo = '$routeNO'
";
mysqli_query($pubConn,$updSql);
{//拷贝
$temp = $newNetID+1;
$oidstr = '2.6.'.$temp;
$objWhereStr_new= '';
$objWhereStr_new =getLevelWhere($oidstr);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $paramTable
WHERE initValue = '0000008080' AND $objWhereStr_new
";
$Result_1 = mysqli_query($pubConn,$paramSql);
$Row_1 = mysqli_fetch_array($Result_1);
$Row_1[initValue] = setBitValue($Row_1[initValue],$AlternativeArr[0][1],$DPC);
$hex_linkset = dechex($linkset);
$hex_linkset = omc_keep_length($hex_linkset,0,2);
$Row_1[initValue] = setBitValue($Row_1[initValue],$AlternativeArr[1][1],$hex_linkset);
if(isset($Alternative)){
$Alternative = omc_keep_length($Alternative,0,2);
$Row_1[initValue] = setBitValue($Row_1[initValue],$AlternativeArr[2][1],$Alternative);
}
$Row_1[initValue] = strtoupper($Row_1[initValue]);
$updSql = "UPDATE $paramTable SET initValue = '$Row_1[initValue]'
WHERE $objWhereStr_new AND instanceNo = '$Row_1[instanceNo]'
";
mysqli_query($pubConn,$updSql);
$temp = $newNetID+2;
$oidstr = '2.7.'.$temp;
$objWhereStr_new= '';
$objWhereStr_new =getLevelWhere($oidstr);
$updSql = "UPDATE $paramTable SET initValue = '$ACNoldvalue'
WHERE $objWhereStr_new AND instanceNo = '$Row_1[instanceNo]'
";
mysqli_query($pubConn,$updSql);
}
/*
if('AAS' == $externID[2]){
$aas_link_Db = 'OBJ_222';
$aas_link_Table = 'param_11';
$NIoffset = array("0.0-0.0","0.1-0.1","0.2-0.2","0.3-0.3");
// $subSysNo = $externID[3];
$subSysNo = 99;
$oidstr = '2.2';
$objWhereStr= '';
$objWhereStr =getLevelWhere($oidstr);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $aas_link_Table
WHERE $objWhereStr AND subSysNo = '$subSysNo'
";
if($DEBUG) echo "$paramSql
";
$aas_Result = mysqli_query($pubConn,$paramSql);
$aas_Row = mysqli_fetch_array($aas_Result);
$NIbit = getBitValue($aas_Row[initValue],$NIoffset[$oldNetID]);
$tmp = $oldNetID+1+$NIbit*4;
$oidstr = '2.3.'.$tmp;
$objWhereStr= '';
$objWhereStr =getLevelWhere($oidstr);
$updSql = "UPDATE $aas_link_Table SET initValue = '000000'
WHERE $objWhereStr AND instanceNo = '0' AND subSysNo = '$subSysNo'
";
if($DEBUG) echo "$paramSql
";
mysqli_query($pubConn,$updSql);
$NIbit_new = getBitValue($aas_Row[initValue],$NIoffset[$newNetID]);
$tmp = $newNetID+1+$NIbit_new*4;
$oidstr = '2.3.'.$tmp;
$objWhereStr= '';
$objWhereStr =getLevelWhere($oidstr);
$DPC = strtoupper($DPC);
$updSql = "UPDATE $aas_link_Table SET initValue = '$DPC'
WHERE $objWhereStr AND instanceNo = '0' AND subSysNo = '$subSysNo'
";
if($DEBUG) echo "$paramSql
";
mysqli_query($pubConn,$updSql);
}
*/
}
}
break;
}
case 'Prefix':
{
$tempRAC=11;
$objstrset='2.1.3';
$objWhereStr =getLevelWhere($objstrset);
$hex_set_tg = $HEXtrunkgp = omc_keep_length(dechex($trunkgp),0,2);
$updSql = "UPDATE $paramTable SET initValue = '$hex_set_tg'
WHERE $objWhereStr AND instanceNo = '$instanceNo'";
//echo $updSql;
if($webname != 'BSC')//Emergency prefix'TG 不一定要是相应的BTS对应tg,所以不用改变。2006-7-18 14:56 arwean
mysqli_query($pubConn,$updSql);
//exit();
//Set flag = 1
$objstrset='2.1.2';
$objWhereStr =getLevelWhere($objstrset);
$paramSql = " SELECT initValue,readValue,instanceNo FROM $paramTable
WHERE $objWhereStr AND instanceNo ='$instanceNo'
";
$Result = mysqli_query($pubConn,$paramSql);
$Row = mysqli_fetch_array($Result);
$Row[initValue] = setBitValue($Row[initValue],'10.7-10.7','1');
$Row[initValue] = strtoupper($Row[initValue]);
$updSql = "UPDATE $paramTable SET initValue = '$Row[initValue]'
WHERE $objWhereStr AND instanceNo = '$instanceNo'
";
mysqli_query($pubConn,$updSql);
break;
}
case 'BTS': //修改BTS Prefix
{
$objstrset='2.2.7';
$objWhereStr =getLevelWhere($objstrset);
$paramSql = " SELECT initValue,instanceNo FROM $paramTable
WHERE $objWhereStr AND instanceNo ='$instanceNo' ";
$Result = mysqli_query($pubConn,$paramSql);
$Row = mysqli_fetch_array($Result);
$org_PrefixNo=hexdec(getBitValue($Row[initValue],'5.0-5.7'));
if($org_Prefix==0 || $org_PrefixNo != $set_PrefixNo)//由于prefixno默认为0,所以也要更新一下
{
$hexPrefixNo = strtoupper(omc_keep_length(dechex($set_PrefixNo),'0','2'));
$setValue = setBitValue($Row[initValue],'5.0-5.7',$hexPrefixNo);
$updSql = "update $paramTable set initValue='$setValue'
where $objWhereStr and instanceNo='$instanceNo' ";
mysqli_query($pubConn,$updSql);
//update prefixno (enable, Emergency call)
{
$oidstr = '2.1.2';
$objWhereStr= '';
$objWhereStr =getLevelWhere($oidstr);
$offset_enable = "10.7-10.7";
$offset_calltype = "10.4-10.6";
$selSql = " SELECT initValue,instanceNo FROM $paramTable WHERE $objWhereStr and instanceNo='$set_PrefixNo' ";
//echo $defSql;
$selRes = @mysqli_query($pubConn,$selSql);
$Row = @mysqli_fetch_array($selRes);
$Row[initValue] = setBitValue($Row[initValue],$offset_enable,'1');
$Row[initValue] = setBitValue($Row[initValue],$offset_calltype,'001');
$updSql = "update $paramTable set initValue='$Row[initValue]' where $objWhereStr and instanceNo='$set_PrefixNo'";
@mysqli_query($pubConn,$updSql);
}
//delete the org_PrefixNo if there is no other cells use it.
if($org_PrefixNo != $set_PrefixNo)
{
$objstrset='2.2.7';
$objWhereStr =getLevelWhere($objstrset);
$paramSql = " SELECT initValue FROM $paramTable
WHERE $objWhereStr ";
$result = mysqli_query($pubConn,$paramSql);
$otherUsed=0;
while($row = mysqli_fetch_array($result))
{
$prefixNo=hexdec(getBitValue($row[initValue],'5.0-5.7'));
if($prefixNo==$org_PrefixNo)
{
$otherUsed=1;
break;
}
}
if($otherUsed==0)//delete $org_PrefixNo.
{
$tmpParamConfTable='paramConf';
$tmpObjIdStr='2.1';
$levelWhere = getLevelWhere($tmpObjIdStr);
if($DEBUG) echo "
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 "
getSql=$getSql";
$result =mysqli_query($pubConn,$getSql);
echo mysqli_error($pubConn);
$i=0;
unset($tmpDefaultValueArr);
while($rows=mysqli_fetch_array($result)){
if($DEBUG)
echo "
initValue=$rows[initValue]";
$tmpDefaultValueArr[$i][initValue]=$rows[initValue];
//echo "
level_3=$rows[level_3]";
$tmpDefaultValueArr[$i][level_3]=$rows[level_3];
$i++;
}
if($DEBUG) echo "
$aasprefixArr
";
for($i=0;$i
debug";
}else{//return page
echo "";
exit();
}
}//end of if($set == 1)
//=======================Show GUI ========================
?>