init web ems all

This commit is contained in:
agtuser
2024-09-27 17:13:36 +08:00
parent 81c97acbe9
commit 5cc56f8078
4263 changed files with 798779 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,134 @@
<!--
NS4=(document.layers)?1:0;
IE4=(document.all)?1:0;
ver4=(NS4||IE4)?1:0;
if(ver4)
{
with(document)
{
write("<STYLE TYPE='text/css'>");
if(NS4)
{
write(".parent {position:absolute; visibility:visible}");
write(".child {position:absolute; visibility:visible}");
write(".regular {position:absolute; visibility:visible}")
}
else
{
write(".child {display:none}")
}
write("</STYLE>");
}
}
function getIndex(el)
{
ind=null;
for(i=0;i<document.layers.length;i++)
{
whichEl=document.layers[i];
if(whichEl.id==el)
{
ind=i;
break;
}
}
return ind;
}
function arrange()
{
nextY=document.layers[firstInd].pageY+document.layers[firstInd].document.height;
for(i=firstInd+1;i<document.layers.length;i++)
{
whichEl=document.layers[i];
if(whichEl.visibility!="hide")
{
whichEl.pageY=nextY;
nextY+=whichEl.document.height;
}
}
}
function initIt()
{
if(!ver4)
return;
if(NS4)
{
for(i=0;i<document.layers.length;i++)
{
whichEl=document.layers[i];
if(whichEl.id.indexOf("Child")!=-1)
whichEl.visibility="hide";
}
arrange();
}
else
{
divColl=document.all.tags("DIV");
for(i=0;i<divColl.length;i++)
{
whichEl=divColl(i);
if(whichEl.className=="child")
whichEl.style.display="none";
}
}
}
function expandIt(el)
{
if(!ver4)
return;
if(IE4)
{
whichEl=eval(el+"Child");
if(whichEl.style.display=="none")
{
whichEl.style.display="block";
}
else
{
whichEl.style.display="none";
}
}
else
{
whichEl=eval("document."+el+"Child");
if(whichEl.visibility=="hide")
{
whichEl.visibility="show";
}
else
{
whichEl.visibility="hide";
}
arrange();
}
}
function expandsubIt(el)
{
if(!ver4)
return;
if(IE4)
{
document.all.subKB1Child.style.display="block";
}
else
{
document.KB1Child.subKB1Child.visibility="show";
arrange();
}
}
//onload=initIt;
//-->

View File

@@ -0,0 +1,838 @@
<?php
require("../../inc/lib.inc");
$Debug = 0;
$language = $lan;
$tmp1 = str_replace('.','_',$oidStr);
$id = 'ID_' . $sysId . '_' . $tmp1 . '_' . $order . '_ist' . $instanceNo;
$newId = "New".$id;
$inputID = 'Input'.$id;
$saveId = 'Save'.$id;
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 omcStrFill($string,$defLen,$fillWay='high',$fillChar='0'){
if(strlen($string) <= $defLen){
$fillLen=$defLen - strlen($string);
for($i=0;$i<$fillLen;$i++){
if($fillWay == 'low'){
$string = $string.$fillChar;
}else{
$string = $fillChar.$string;
}
}
return($string);
}else{
$errorInfo = "Error in omcStrFill:the defLen < lengh of string!!\\ndefLen=$defLen and string=$string!!";
echo "<script language='javascript'>";
echo "window.alert(\"$errorInfo\");";
echo "history.go(-1)";
echo "</script>";
exit();
echo "<br>Error in omcStrFill : the defLen < lengh of string!!";
echo "<br>defLen=$defLen and string=$string!!";
exit();
}
}
function getInnerValue($sysId,$oidStr,$order,$instanceNo=0,$otherWhereStr='',$showStr,$inputValueType)
{
global $language,$Debug,$inputID;
$sysIdArr = explode('_',$sysId);
$sysTypeNo = $sysIdArr[0];
$sysNo = $sysIdArr[1];
$subSysNo = $sysIdArr[2];
$objDb = 'OBJ_'.$sysTypeNo;
$paramTable = 'param_'.$sysNo;
$sysConfTable = 'OMC_PUB.sysConf';
$pubDb ='OMC_PUB';
$paramConfTable = $objDb.".paramConf";
$maxLevelNum = 10;
$nInteger = 2;
$nOctStr = 4;
if(strlen($showStr)>0){
echo "<input id=\"$inputID\" type=\"text\" class=\"text\" value=\"\" onchange=\"$chechFnc\">";
return "";
}
if($Debug) echo "<br>$paramConfTable<br>";
//----------------------
//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD>԰汾
if($language == 'eng'){
$objNameField=name_2;
$objSetField=setTemplate_2 ; //<2F><><EFBFBD><EFBFBD>2
}else{
$objNameField=name_1;
$objSetField=setTemplate_1 ; //<2F><><EFBFBD><EFBFBD>1(Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
}
if($Debug) echo "<br>getValue = $getValue";
$objWhereStr = getLevelWhere($oidStr);
$objSql = "SELECT $objNameField,$objSetField,valueType,length,minValue,maxValue FROM $paramConfTable WHERE $objWhereStr";
$objResult = mysqli_query($pubConn ,$objSql);
$objRows = @mysqli_fetch_array($objResult);
$totalLen = $objRows[length]*2;
$objName = $objRows[$objNameField];
$setTemplate = $objRows[$objSetField];
$valueType = $objRows[valueType];
$minValue = $objRows[minValue];
$maxValue = $objRows[maxValue];
$paramSql = " SELECT initValue FROM $paramTable WHERE $objWhereStr $otherWhereStr AND instanceNo = '$instanceNo' ";
$v_Result = mysqli_query($pubConn,$paramSql);
$v_Row = mysqli_fetch_array($v_Result);
$getValue = $v_Row[0];
//explode by '[remark]'
$remarkArr = explode('[remark]',$setTemplate);
$remark = $remarkArr[1];
//explode by '[unit]'
$unitArr = explode('[unit]',$remarkArr[0]);
//explode by '[u]'
$tlvArr = explode('[u]',$unitArr[$order]);
//Unit Name
if($Debug) echo "$tlvArr[0] : $tlvArr[1]";
//explode by '-'
$offsetArr = explode('-',$tlvArr[1]);
$bgnOffsetArr = explode('.',$offsetArr[0]);
$bgnByte = $bgnOffsetArr[0];
$bgnBit = $bgnOffsetArr[1];
$endOffsetArr = explode('.',$offsetArr[1]);
$endByte = $endOffsetArr[0];
$endBit = $endOffsetArr[1];
$byteLen = $endByte - $bgnByte + 1;
$byteValue = substr($getValue,$bgnByte*2,$byteLen*2);
//--><-//$byteValue = strrev($byteValue);
if($Debug) echo "<br>byteValue = $byteValue";
$bitValue = '';
if($bgnBit > 0 ||$endBit < 7)
{
if($Debug) echo "<br>$bgnBit > 0 ||$endBit < 7";
$bitValue = HexDec($byteValue);
$bitValue = DecBin($bitValue);
if($Debug) echo "<br>bitValue = $bitValue";
$bitLen = $byteLen*8;//1 byte = 8 bit
$bitValue = omcStrFill($bitValue,$bitLen,'high','0');
if($Debug) echo "<br>omcStrFill($bitValue,$bitLen,'high','0')";
$bitValue = strrev($bitValue);
$catBitLen = $endByte*8+$endBit - ($bgnByte*8+$bgnBit) + 1; //1 byte = 8 bit
if($Debug) echo "<br>bitValue = substr($bitValue,$bgnBit,$catBitLen)";
$bitValue = substr($bitValue,$bgnBit,$catBitLen);
$bitValue = strrev($bitValue);
if($Debug) echo "<br>bitValue = $bitValue";
}
//explode by '[v]'
$valueArr = explode('[v]',$tlvArr[2]);
//$operType = chop($valueArr[0]);
$typeAddTitleArr = explode('[t]',$valueArr[0]);
$operType = chop($typeAddTitleArr[0]);
$titleStr = chop($typeAddTitleArr[1]);
$valueArr[1] = chop($valueArr[1]);
if($Debug) echo "<br>operType = $operType";
switch($operType){
case 'input':
{
//explode by '-'
$defArr = explode('-',$valueArr[1]);
switch($defArr[0]){
case 'toDec':
if(strlen($bitValue) > 0){
$inputValue = BinDec($bitValue);
}else{
$inputValue = HexDec($byteValue);
}
break;
case 'keepDec':
$inputValue = $byteValue;
break;
case 'toHex':
echo "<br>Error:toHex";
break;
case 'keepHex':
$inputValue = $byteValue;
break;
case 'toAscii':
$charValue = "";
if($bgnBit > 0 ||$endBit < 7){
echo "<br>Error:toAscii";
exit(1);
}else{
$tmpLen=strlen($byteValue);
for($charCount=0;$charCount<$tmpLen;$charCount++){
$unitByte = substr($byteValue,$charCount,2);
$unitChar = chr(HexDec($unitByte)); // hex -> ascii
if($Debug) echo "<br>unitChar=$unitChar";
$charValue .= $unitChar;
$charCount++;
}
$charValue = trim($charValue);
$inputValue = $charValue;
}
break;
default:
echo "<br>Error:valueType=$defArr[0]";
break;
}
if($Debug) echo "<br>inputValue = $inputValue";
switch($defArr[1]){
case 'high':
switch($defArr[2]){
case '0':
if($defArr[0] == 'toHex' || $defArr[0] == 'keepHex'){
//$inputValue = str_replace('0','',$inputValue);
}else{
$inputValue = $inputValue - 0;
}
break;
case 'E':
echo "Error:high fill E";
break;
default: break;
}
break;
case 'low':
if ("toAscii" != $defArr[0]) {
switch($defArr[2]){
case '0':
$inputValue = str_replace('00','',$inputValue);
break;
case 'E':
$inputValue = str_replace('E','',$inputValue);
break;
case 'F': //modify zane 20051004
$inputValue = str_replace('F','',$inputValue);
break;
default: break;
}
}
break;
default: break;
}
if($Debug) echo "<br>$valueType == $nOctStr";
if($def_flag){
$inputValue = $defaultVaule;
}
//echo "valueType:$valueType<br>";
//if($valueType == $nOctStr)
//echo "getInner----inputValueType:$inputValueType<br>";
//$inputValueType=$inputValueType+0;
if($valueType==2)
{
$chechFnc = "checkInput(this,16)";
if($defArr[0] == 'toAscii')
{
$inputLen = $byteLen;
$chechFnc = "";
}
elseif($defArr[0] == 'toHex' || $defArr[0] == 'keepHex')
{
$inputLen = $byteLen *2;
}
else
{
$inputLen = $byteLen *3;
}
$inputSize = $inputLen + 2;
}
else
{
$chechFnc = "checkInput(this,10)";
}
//=============input type=====================
$inputValueType=$inputValueType+0;
//echo "getInner----inputValueType:$inputValueType<br>";
//===only can input the dec num====
if($inputValueType==1)
{
$chechFnc = "checkInput(this,10)";
}
//===only can input the hex num====
else if($inputValueType==2)
{
$chechFnc = "checkInput(this,16)";
}
//====can input all character
else if($inputValueType==3)
{
$chechFnc = "";
}
//=====can put only dec num but include blank
else if($inputValueType==4)
{
$chechFnc = "checkInput_patch(this)";
}
echo "<input id=\"$inputID\" type=\"text\" class=\"text\" value=\"$inputValue\" size=\"$inputSize\" maxLength =\"$inputLen\" onchange=\"$chechFnc\">";
return $inputValue;
break;
}
case 'select':
{
if($valueType == $nOctStr){
if($bitValue != ''){
$selectValue = BinDec($bitValue);
}else{
$selectValue = HexDec($byteValue);
}
}else{
$selectValue=$byteValue;
}
if($def_flag){
$selectValue = $defaultVaule;
}
if($Debug) echo "<br>bitValue = $bitValue";
if($Debug) echo "<br>selectValue = $selectValue";
if($Debug) echo "<br>$valueType =?= $nOctStr(nOctStr)";
echo "<select id=\"$inputID\" size=\"1\">";
$isSelected = 0;
for($j=1;$j<sizeof($valueArr);$j++){
//explode by '[opt]'
$defArr = explode('[opt]',$valueArr[$j]);
if(sizeof($defArr) < 2){
echo "<option value=\"$selectValue\" selected>Reserved Value</option>";
$selectshwo = "Reserved Value";
break;
}elseif($defArr[0] == $selectValue){
echo "<option value=\"$defArr[0]\" selected>$defArr[1]</option>";
$selectshwo ="$selectValue";
$isSelected = 1;
}else{
echo "<option value=\"$defArr[0]\">$defArr[1]</option>";
}
}
if($isSelected ==0 && $j == sizeof($valueArr)){
echo "<option value=\"$selectValue\" selected>Undefined Value</option>";
$selectshwo = "Undefined Value";
}
echo "</select>";
if($readonly){
echo "$selectshwo";
}
return $selectshwo;
break;
}
default: echo "<br>Error:operType =|$operType|";
break;
}//end of switch(..)
}//end getInnerValue
function getParamValue(&$titleStr,&$IniEquRead,$sysId,$oidStr,$order,$instanceNo=0,$otherWhereStr='',$inputValueType)
{
global $language;
//$Debug=1;
$sysIdArr = explode('_',$sysId);
$sysTypeNo = $sysIdArr[0];
$sysNo = $sysIdArr[1];
$subSysNo = $sysIdArr[2];
$objDb = 'OBJ_'.$sysTypeNo;
$paramTable = 'param_'.$sysNo;
$sysConfTable = 'OMC_PUB.sysConf';
$pubDb ='OMC_PUB';
$paramConfTable = $objDb.".paramConf";
$maxLevelNum = 10;
$nInteger = 2;
$nOctStr = 4;
if($language == 'eng'){
$objNameField=name_2;
$objSetField=setTemplate_2 ; //<2F><><EFBFBD><EFBFBD>2
}else{
$objNameField=name_1;
$objSetField=setTemplate_1 ; //<2F><><EFBFBD><EFBFBD>1(Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
}
$objWhereStr = getLevelWhere($oidStr);
$objSql = "SELECT $objNameField,$objSetField,valueType,length,minValue,maxValue FROM $paramConfTable WHERE $objWhereStr";
$objResult = mysqli_query($pubConn ,$objSql);
$objRows = @mysqli_fetch_array($objResult);
$totalLen = $objRows[length]*2;
$objName = $objRows[$objNameField];
$setTemplate = $objRows[$objSetField];
$valueType = $objRows[valueType];
$minValue = $objRows[minValue];
$maxValue = $objRows[maxValue];
//explode by '[remark]'
$remarkArr = explode('[remark]',$setTemplate);
$remark = $remarkArr[1];
//explode by '[unit]'
$unitArr = explode('[unit]',$remarkArr[0]);
//explode by '[u]'
$tlvArr = explode('[u]',$unitArr[$order]);
//Unit Name
if($Debug) echo "$tlvArr[0] : $tlvArr[1]";
//explode by '-'
$offsetArr = explode('-',$tlvArr[1]);
$bgnOffsetArr = explode('.',$offsetArr[0]);
$bgnByte = $bgnOffsetArr[0];
$bgnBit = $bgnOffsetArr[1];
$endOffsetArr = explode('.',$offsetArr[1]);
$endByte = $endOffsetArr[0];
$endBit = $endOffsetArr[1];
$byteLen = $endByte - $bgnByte + 1;
$paramSql = " SELECT initValue,readValue FROM $paramTable WHERE $objWhereStr $otherWhereStr AND instanceNo = '$instanceNo' ";
$v_Result = mysqli_query($pubConn,$paramSql);
$v_Row = mysqli_fetch_array($v_Result);
$initGetValue = $v_Row[0];
$readGetValue = $v_Row[1];
$initByteValue = substr($initGetValue,$bgnByte*2,$byteLen*2);
$readByteValue = substr($readGetValue,$bgnByte*2,$byteLen*2);
if($Debug) echo "<br>init:$initByteValue<br>read:$readByteValue";
$readBitValue = '';
if($bgnBit > 0 ||$endBit < 7)
{
$bitLen = $byteLen*8;//1 byte = 8 bit
$readBitValue = DecBin(HexDec($readByteValue));
$readBitValue = omcStrFill($readBitValue,$bitLen,'high','0');
$readBitValue = strrev($readBitValue);
$catBitLen = $endByte*8+$endBit - ($bgnByte*8+$bgnBit) + 1; //1 byte = 8 bit
if($Debug) echo "<br>readBitValue = substr($readBitValue,$bgnBit,$catBitLen)";
$readBitValue = substr($readBitValue,$bgnBit,$catBitLen);
$readBitValue = strrev($readBitValue);
if($Debug) echo "<br>readBitValue = $readBitValue";
}
$initBitValue = '';
if($bgnBit > 0 ||$endBit < 7)
{
$bitLen = $byteLen*8;//1 byte = 8 bit
$initBitValue = DecBin(HexDec($initByteValue));
$initBitValue = omcStrFill($initBitValue,$bitLen,'high','0');
$initBitValue = strrev($initBitValue);
$catBitLen = $endByte*8+$endBit - ($bgnByte*8+$bgnBit) + 1; //1 byte = 8 bit
if($Debug) echo "<br>initBitValue = substr($initBitValue,$bgnBit,$catBitLen)";
$initBitValue = substr($initBitValue,$bgnBit,$catBitLen);
$initBitValue = strrev($initBitValue);
if($Debug) echo "<br>initBitValue = $initBitValue";
}
$IniEquRead = false;
if(strlen($initBitValue)>0)
{
if($initBitValue==$readBitValue)
$IniEquRead = true;
}
else
{
if($initByteValue == $readByteValue)
$IniEquRead = true;
}
//explode by '[v]'
$valueArr = explode('[v]',$tlvArr[2]);
$typeAddTitleArr = explode('[t]',$valueArr[0]);
$operType = chop($typeAddTitleArr[0]);
$titleStr = chop($typeAddTitleArr[1]);
$valueArr[1] = chop($valueArr[1]);
if($Debug) echo "<br>operType = $operType";
switch($operType)
{
case 'input':
{
//explode by '-'
$defArr = explode('-',$valueArr[1]);
if($Debug) echo "<br>defArr = $defArr[0],$defArr[1],$defArr[2]";
switch($defArr[0])
{
case 'toDec':
if(strlen($initBitValue) > 0){
$initParsedValue = BinDec($initBitValue);
}else{
$initParsedValue = HexDec($initByteValue);
}
break;
case 'keepDec':
$initParsedValue = $initByteValue;
break;
case 'toHex':
echo "<br>Error:toHex";
break;
case 'keepHex':
$initParsedValue = $initByteValue;
break;
case 'toAscii':
$charValue = "";
if($bgnBit > 0 ||$endBit < 7)
{
echo "<br>Error:toAscii";
exit(1);
}
else
{
$tmpLen=strlen($initByteValue);
for($charCount=0;$charCount<$tmpLen;$charCount++)
{
$unitByte = substr($initByteValue,$charCount,2);
$unitChar = chr(HexDec($unitByte)); // hex -> ascii
if($Debug) echo "<br>unitChar=$unitChar";
$charValue .= $unitChar;
$charCount++;
}
$charValue = trim($charValue);
$initParsedValue = $charValue;
}
break;
default:
echo "<br>Error:valueType=$defArr[0]";
break;
}
if($Debug) echo "<br>initParsedValue = $initParsedValue";
switch($defArr[1])
{
case 'high':
switch($defArr[2])
{
case '0':
if($defArr[0] == 'toHex' || $defArr[0] == 'keepHex'){
//$initParsedValue = str_replace('0','',$initParsedValue);
}else{
$initParsedValue = $initParsedValue - 0;
}
break;
case 'E':
echo "Error:high fill E";
break;
default: break;
}
break;
case 'low':
if ("toAscii" != $defArr[0])
{
switch($defArr[2]){
case '0':
$initParsedValue = str_replace('00','',$initParsedValue);
break;
case 'E':
$initParsedValue = str_replace('E','',$initParsedValue);
break;
case 'F': //modify zane 20051004
$initParsedValue = str_replace('F','',$initParsedValue);
break;
default: break;
}
}
break;
default: break;
}
$returnValue = $initParsedValue;
break;
}
case 'select':
{
if($valueType == $nOctStr){
if($initBitValue != ''){
$selectValue = BinDec($initBitValue);
}else{
$selectValue = HexDec($initByteValue);
}
}else{
$selectValue=$initByteValue;
}
$isSelected = 0;
for($j=1;$j<sizeof($valueArr);$j++){
//explode by '[opt]'
$defArr = explode('[opt]',$valueArr[$j]);
if(sizeof($defArr) < 2){
$selectShow = "Reserved Value";
break;
}elseif($defArr[0] == $selectValue){
$selectShow =$defArr[1];
$isSelected = 1;
}else{
//echo "<option value=\"$defArr[0]\">$defArr[1]</option>";
}
}
if($isSelected ==0 && $j == sizeof($valueArr)){
$selectShow = "Undefined Value";
}
$returnValue = $selectShow;
break;
}
default: echo "<br>Error:operType =|$operType|";
break;
}//end of switch(..)
if(strlen($returnValue)==0) $returnValue='--';
return $returnValue;
}//end getParamValue
function setParamValue($unitValue,$sysId,$oidStr,$order,$instanceNo=0,$otherWhereStr='',$inputValueType)
{
global $language;
$Debug=0;
$sysIdArr = explode('_',$sysId);
$sysTypeNo = $sysIdArr[0];
$sysNo = $sysIdArr[1];
$subSysNo = $sysIdArr[2];
$objDb = 'OBJ_'.$sysTypeNo;
$paramTable = 'param_'.$sysNo;
$sysConfTable = 'OMC_PUB.sysConf';
$pubDb ='OMC_PUB';
$paramConfTable = $objDb.".paramConf";
$maxLevelNum = 10;
$nInteger = 2;
$nOctStr = 4;
if($Debug) echo "===================<br>unitValue:$unitValue<br>";
//----------------------
//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD>԰汾
if($language == 'eng'){
$objNameField=name_2;
$objSetField=setTemplate_2 ; //<2F><><EFBFBD><EFBFBD>2
}else{
$objNameField=name_1;
$objSetField=setTemplate_1 ; //<2F><><EFBFBD><EFBFBD>1(Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
}
$objWhereStr = getLevelWhere($oidStr);
$objSql = "SELECT $objNameField,$objSetField,valueType,length,minValue,maxValue FROM $paramConfTable WHERE $objWhereStr";
$objResult = mysqli_query($pubConn ,$objSql);
$objRows = @mysqli_fetch_array($objResult);
$totalLen = $objRows[length]*2;
$objName = $objRows[$objNameField];
$setTemplate = $objRows[$objSetField];
$valueType = $objRows[valueType];
$minValue = $objRows[minValue];
$maxValue = $objRows[maxValue];
$paramSql = " SELECT initValue FROM $paramTable WHERE $objWhereStr $otherWhereStr AND instanceNo = '$instanceNo' ";
$v_Result = mysqli_query($pubConn,$paramSql);
$v_Row = mysqli_fetch_array($v_Result);
$getValue = $v_Row[0];
if($Debug) echo "<br>getValue = $getValue";
//explode by '[remark]'
$remarkArr = explode('[remark]',$setTemplate);
$remark = $remarkArr[1];
//explode by '[unit]'
$unitArr = explode('[unit]',$remarkArr[0]);
//explode by '[u]'
$tlvArr = explode('[u]',$unitArr[$order]);
//Unit Name
if($Debug) echo "<br>$tlvArr[0] : $tlvArr[1]";
//explode by '-'
$offsetArr = explode('-',$tlvArr[1]);
$bgnOffsetArr = explode('.',$offsetArr[0]);
$bgnByte = $bgnOffsetArr[0];
$bgnBit = $bgnOffsetArr[1];
$endOffsetArr = explode('.',$offsetArr[1]);
$endByte = $endOffsetArr[0];
$endBit = $endOffsetArr[1];
$byteLen = $endByte - $bgnByte + 1;
//explode by '[v]'
$valueArr = explode('[v]',$tlvArr[2]);
//$operType = chop($valueArr[0]);
$typeAddTitleArr = explode('[t]',$valueArr[0]);
$operType = chop($typeAddTitleArr[0]);
$titleStr = chop($typeAddTitleArr[1]);
$valueArr[1] = chop($valueArr[1]);
if($Debug) echo "<br>operType = $operType";
if($operType == 'select')
{ //select
if($valueType == $nOctStr)
$changeTypeStr = 'toDec-high-0';
else
$changeTypeStr = 'keepDec-high-0';
}
else
{
$changeTypeStr = $valueArr[1];
}
$changeTypeArr = explode('-',$changeTypeStr);
$changeType = $changeTypeArr[0];
$fillWay = $changeTypeArr[1];
$fillChar = $changeTypeArr[2];
$setUnitValue = '';
if($Debug)echo "<br>changeType:$changeType";
switch($changeType)
{
case 'toDec':
if($bgnBit > 0 ||$endBit < 7)
{
$bitLen = $endBit - $bgnBit +1;
$bitValue = DecBin($unitValue);
if($Debug) echo "<br>bitValue = $bitValue ";
$bitValue = omcStrFill($bitValue,$bitLen,$fillWay,$fillChar);
if($Debug) echo "<br>omcStrFill($bitValue,$bitLen,$fillWay,$fillChar)";
$setUnitValue = $bitValue;
}
else
{
$setUnitValue = DecHex($unitValue);
$strLen = $byteLen*2;
$setUnitValue = omcStrFill($setUnitValue,$strLen,$fillWay,$fillChar);
if($Debug) echo "<br>omcStrFill($setUnitValue,$strLen,$fillWay,$fillChar)";
}
if($Debug) echo "<br>setUnitValue = $setUnitValue";
break;
case 'keepHex':
if($bgnBit > 0 ||$endBit < 7)
{
$bitLen = $endBit - $bgnBit +1;
$bitValue = ($unitValue);
if($Debug) echo "<br>bitValue = $bitValue ";
$bitValue = omcStrFill($bitValue,$bitLen,$fillWay,$fillChar);
if($Debug) echo "<br>omcStrFill($bitValue,$bitLen,$fillWay,$fillChar)";
$setUnitValue = $bitValue;
}
else
{
$setUnitValue = ($unitValue);
$strLen = $byteLen*2;
$setUnitValue = omcStrFill($setUnitValue,$strLen,$fillWay,$fillChar);
if($Debug) echo "<br>omcStrFill($setUnitValue,$strLen,$fillWay,$fillChar)";
}
if($Debug) echo "<br>setUnitValue = $setUnitValue";
break;
case 'keepDec':
//echo "<br>Error:keepDec";
$setUnitValue = $unitValue - 0;
break;
case 'toHex':
echo "<br>Error:toHex";
break;
case 'toAscii':
if($bgnBit > 0 ||$endBit < 7){
echo "<br>Error:toAscii";
exit(1);
}else{
$tmpLen=strlen($unitValue);
for($i=0;$i<$tmpLen;$i++){
$unitChar = substr($unitValue,$i,1);
$decValue = ord($unitChar); //ascii -> dec
$setUnitValue .= DecHex($decValue);
if(strlen($setUnitValue) < 2){
$setUnitValue = '0'.$setUnitValue;
}
}
$strLen = $byteLen*2;
$setUnitValue = omcStrFill($setUnitValue,$strLen,$fillWay,$fillChar);
}
break;
default:
echo "Error:Unknown valueType";
break;
}
if($Debug) echo "<br>setUnitValue = $setUnitValue ";
//--><-//$lastValue = $setUnitValue.$lastValue;
$setValue = setBitValue($getValue,$tlvArr[1],$setUnitValue);
$setValue = strtoupper($setValue);
$updSql = "UPDATE $paramTable SET initValue = '$setValue'
WHERE $objWhereStr $otherWhereStr AND instanceNo = '$instanceNo'";
mysqli_query($pubConn,$updSql);
echo mysqli_error($pubConn);
}//end setParamValue
//0: flag
echo $flag;
echo "###";
if($flag=='getVar')//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD>
{
//1: idName
echo $newId;
echo "###";
//2: innerStr
$oldValue=getInnerValue($sysId,$oidStr,$order,$instanceNo,$otherWhereStr,$showStr,$inputValueType);
if(strlen($doingOtherUlr)>0)
{
$doingOtherUlr .= "&oldValue=$oldValue";
$doingOtherUlr=urlencode($doingOtherUlr);
}
echo "&nbsp;&nbsp;<span id=\"$saveId\" style=\"cursor:pointer\" onclick=\"javascript:getPar('saveVar','$language','$sysId','$oidStr','$order','$instanceNo','$inputID','$doingOtherUlr','$otherWhereStr','$showStr','$inputValueType');\"><font color=\"blue\"><b>&nbsp;SAVE&nbsp;<b></font></span>";
}
if($flag=='saveVar')//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұߵġ<DFB5>Save<76><65>
{
//1: idName
echo $id;
echo "###";
//2: innerStr
setParamValue($setValue,$sysId,$oidStr,$order,$instanceNo,$otherWhereStr,$inputValueType);
$newValue = getParamValue($titleStr,$IniEquRead,$sysId,$oidStr,$order,$instanceNo,$otherWhereStr,$inputValueType);
if(strlen($showStr))
echo $showStr;
else
echo $newValue;
echo "###";
//3: isEqual
if($IniEquRead||strlen($showStr)) //initValue == readValue
echo "1";
else
echo "0";
echo "###";
//4: doingOtherUlr
if(strlen($doingOtherUlr)>0)
{
$doingOtherUlr .= "&newValue=$newValue";
}
echo $doingOtherUlr;
}
?>

822
wxc2_omc/element/sub_inc/lib.inc Executable file
View File

@@ -0,0 +1,822 @@
<?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;
}
//*******************************************************************************************
//<2F><> <20><> <20><>: oidSysCommSend($sysId,$commType,$objIdStr,$selectedSysId=-1,$instanceNo='')
//<2F><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>ά<EFBFBD><CEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>~www/wxc2_omc/inc/lib.inc sysCommSend()<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB>ϵͳ<CFB5><CDB3>ͬ<EFBFBD><CDAC>oid)
//<2F><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: <20><>
//<2F><> <20><> ֵ:
// <09>ɹ<EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
// ʧ<><CAA7>: -1
//<2F><><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2006-01-10
//
//<2F>޸<EFBFBD>ע<EFBFBD>ͣ<EFBFBD>
//NO.1
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//ʱ<>
//<2F>޸<EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>
//----------------------------------------------------------
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(<28><><EFBFBD><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>oid)
if($paramType == $nGlobalSysParam) {
if($selectedSysId == -1){
$chkSql = "SELECT commId FROM $commTable
WHERE sysTypeNo='$sysTypeNo' $oidQueryWhere
";
}else{
//ѡ<><D1A1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ϵͳ
$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{
//ѡ<><D1A1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ϵͳ
$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))//д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
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//ѡ<><D1A1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ϵͳ
{
$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//<2F><>ϵͳ/<2F><>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
{
if($paramType != $nSubSysParam)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
if($selectedSysId == -1)
{
//get baseStat 0=uninstalled, 1=nomal, 2=warning, 3=error
//<2F>Ȱ<EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٰ<EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>,<2C><>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>
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
{
//ѡ<><D1A1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ϵͳ
$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);
}
}
//****************************************************************
//<2F><> <20><> <20><>: function checkSaveFunction($saveHref)
//<2F><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: <09>ڴ<EFBFBD><DAB4><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><E0BCAD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD>󣬰<EFBFBD>"back"<22><>ť<EFBFBD><C5A5><EFBFBD>жϲ<D0B6><CFB2><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>޸ģ<DEB8><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ģ<DEB8><C4A3><EFBFBD><EFBFBD>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: $saveHref=$backHref+"OBJ:"+"$sysTypeNo&$oidStr&$instanceNo&$newValue"+
// "OBJ:"+"$sysTypeNo&$oidStr&$instanceNo&$newValue"+
// "OBJ:"+"$sysTypeNo&$oidStr&$instanceNo&$newValue"+
// ..................................................
// "OBJ:"+"$sysTypeNo&$oidStr&$instanceNo&$newValue"
//<2F><> <20><> ֵ:
//
//<2F><><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2005-12-19
//
//<2F>޸<EFBFBD>ע<EFBFBD>ͣ<EFBFBD>
//NO.1
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//ʱ<>
//<2F>޸<EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>
//----------------------------------------------------------
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
?>

View File

@@ -0,0 +1,561 @@
<?php
require("../sub_inc/commfunc.php");
?>
<?
$settedColor="blue";
$notSettedColor="#008000";
$inputBkgrdColor = "#E7FEFD";
$saveBkgrdColor="#F3F77D";
$waitingBkgrdColor = "red";
function getParamValue(&$titleStr,&$IniEquRead,$sysId,$oidStr,$order,$instanceNo=0,$otherWhereStr='')
{
global $language;
//$DEBUG=1;
$sysIdArr = explode('_',$sysId);
$sysTypeNo = $sysIdArr[0];
$sysNo = $sysIdArr[1];
$subSysNo = $sysIdArr[2];
$objDb = 'OBJ_'.$sysTypeNo;
$paramTable = 'param_'.$sysNo;
$sysConfTable = 'OMC_PUB.sysConf';
$pubDb ='OMC_PUB';
$paramConfTable = $objDb.".paramConf";
$maxLevelNum = 10;
$nInteger = 2;
$nOctStr = 4;
if($language == 'eng'){
$objNameField=name_2;
$objSetField=setTemplate_2 ; //<2F><><EFBFBD><EFBFBD>2
}else{
$objNameField=name_1;
$objSetField=setTemplate_1 ; //<2F><><EFBFBD><EFBFBD>1(Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
}
$objWhereStr = getLevelWhere($oidStr);
$objSql = "SELECT $objNameField,$objSetField,valueType,length,minValue,maxValue FROM $paramConfTable WHERE $objWhereStr";
$objResult = mysqli_query($pubConn ,$objSql);
$objRows = @mysqli_fetch_array($objResult);
$totalLen = $objRows[length]*2;
$objName = $objRows[$objNameField];
$setTemplate = $objRows[$objSetField];
$valueType = $objRows[valueType];
$minValue = $objRows[minValue];
$maxValue = $objRows[maxValue];
//explode by '[remark]'
$remarkArr = explode('[remark]',$setTemplate);
$remark = $remarkArr[1];
//explode by '[unit]'
$unitArr = explode('[unit]',$remarkArr[0]);
//explode by '[u]'
$tlvArr = explode('[u]',$unitArr[$order]);
//Unit Name
if($DEBUG) echo "$tlvArr[0] : $tlvArr[1]";
//explode by '-'
$offsetArr = explode('-',$tlvArr[1]);
$bgnOffsetArr = explode('.',$offsetArr[0]);
$bgnByte = $bgnOffsetArr[0];
$bgnBit = $bgnOffsetArr[1];
$endOffsetArr = explode('.',$offsetArr[1]);
$endByte = $endOffsetArr[0];
$endBit = $endOffsetArr[1];
$byteLen = $endByte - $bgnByte + 1;
$paramSql = " SELECT initValue,readValue FROM $paramTable WHERE $objWhereStr $otherWhereStr AND instanceNo = '$instanceNo' ";
$v_Result = mysqli_query($pubConn,$paramSql);
$v_Row = mysqli_fetch_array($v_Result);
$initGetValue = $v_Row[0];
$readGetValue = $v_Row[1];
$initByteValue = substr($initGetValue,$bgnByte*2,$byteLen*2);
$readByteValue = substr($readGetValue,$bgnByte*2,$byteLen*2);
if($DEBUG) echo "<br>init:$initByteValue<br>read:$readByteValue";
$readBitValue = '';
if($bgnBit > 0 ||$endBit < 7)
{
$bitLen = $byteLen*8;//1 byte = 8 bit
$readBitValue = DecBin(HexDec($readByteValue));
$readBitValue = omcStrFill($readBitValue,$bitLen,'high','0');
$readBitValue = strrev($readBitValue);
$catBitLen = $endByte*8+$endBit - ($bgnByte*8+$bgnBit) + 1; //1 byte = 8 bit
if($DEBUG) echo "<br>readBitValue = substr($readBitValue,$bgnBit,$catBitLen)";
$readBitValue = substr($readBitValue,$bgnBit,$catBitLen);
$readBitValue = strrev($readBitValue);
if($DEBUG) echo "<br>readBitValue = $readBitValue";
}
$initBitValue = '';
if($bgnBit > 0 ||$endBit < 7)
{
$bitLen = $byteLen*8;//1 byte = 8 bit
$initBitValue = DecBin(HexDec($initByteValue));
$initBitValue = omcStrFill($initBitValue,$bitLen,'high','0');
$initBitValue = strrev($initBitValue);
$catBitLen = $endByte*8+$endBit - ($bgnByte*8+$bgnBit) + 1; //1 byte = 8 bit
if($DEBUG) echo "<br>initBitValue = substr($initBitValue,$bgnBit,$catBitLen)";
$initBitValue = substr($initBitValue,$bgnBit,$catBitLen);
$initBitValue = strrev($initBitValue);
if($DEBUG) echo "<br>initBitValue = $initBitValue";
}
$IniEquRead = false;
if(strlen($initBitValue)>0)
{
if($initBitValue==$readBitValue)
$IniEquRead = true;
}
else
{
if($initByteValue == $readByteValue)
$IniEquRead = true;
}
//explode by '[v]'
$valueArr = explode('[v]',$tlvArr[2]);
$typeAddTitleArr = explode('[t]',$valueArr[0]);
$operType = chop($typeAddTitleArr[0]);
$titleStr = chop($typeAddTitleArr[1]);
$valueArr[1] = chop($valueArr[1]);
if($DEBUG) echo "<br>operType = $operType";
switch($operType)
{
case 'input':
{
//explode by '-'
$defArr = explode('-',$valueArr[1]);
if($DEBUG) echo "<br>defArr = $defArr[0],$defArr[1],$defArr[2]";
switch($defArr[0])
{
case 'toDec':
if(strlen($initBitValue) > 0){
$initParsedValue = BinDec($initBitValue);
}else{
$initParsedValue = HexDec($initByteValue);
}
break;
case 'keepDec':
$initParsedValue = $initByteValue;
break;
case 'toHex':
echo "<br>Error:toHex";
break;
case 'keepHex':
$initParsedValue = $initByteValue;
break;
case 'toAscii':
$charValue = "";
if($bgnBit > 0 ||$endBit < 7)
{
echo "<br>Error:toAscii";
exit(1);
}
else
{
$tmpLen=strlen($initByteValue);
for($charCount=0;$charCount<$tmpLen;$charCount++)
{
$unitByte = substr($initByteValue,$charCount,2);
$unitChar = chr(HexDec($unitByte)); // hex -> ascii
if($DEBUG) echo "<br>unitChar=$unitChar";
$charValue .= $unitChar;
$charCount++;
}
$charValue = trim($charValue);
$initParsedValue = $charValue;
}
break;
default:
echo "<br>Error:valueType=$defArr[0]";
break;
}
if($DEBUG) echo "<br>initParsedValue = $initParsedValue";
switch($defArr[1])
{
case 'high':
switch($defArr[2])
{
case '0':
if($defArr[0] == 'toHex' || $defArr[0] == 'keepHex'){
//$initParsedValue = str_replace('0','',$initParsedValue);
}else{
$initParsedValue = $initParsedValue - 0;
}
break;
case 'E':
echo "Error:high fill E";
break;
default: break;
}
break;
case 'low':
if ("toAscii" != $defArr[0])
{
switch($defArr[2]){
case '0':
$initParsedValue = str_replace('00','',$initParsedValue);
break;
case 'E':
$initParsedValue = str_replace('E','',$initParsedValue);
break;
case 'F': //modify zane 20051004
$initParsedValue = str_replace('F','',$initParsedValue);
break;
default: break;
}
}
break;
default: break;
}
$returnValue = $initParsedValue;
break;
}
case 'select':
{
if($valueType == $nOctStr){
if($initBitValue != ''){
$selectValue = BinDec($initBitValue);
}else{
$selectValue = HexDec($initByteValue);
}
}else{
$selectValue=$initByteValue;
}
$isSelected = 0;
for($j=1;$j<sizeof($valueArr);$j++){
//explode by '[opt]'
$defArr = explode('[opt]',$valueArr[$j]);
if(sizeof($defArr) < 2){
$selectShow = "Reserved Value";
break;
}elseif($defArr[0] == $selectValue){
$selectShow =$defArr[1];
$isSelected = 1;
}else{
//echo "<option value=\"$defArr[0]\">$defArr[1]</option>";
}
}
if($isSelected ==0 && $j == sizeof($valueArr)){
$selectShow = "Undefined Value";
}
$returnValue = $selectShow;
break;
}
default: echo "<br>Error:operType =|$operType|";
break;
}//end of switch(..)
if(strlen($returnValue)==0) $returnValue='--';
return $returnValue;
}//end getParamValue
function setParamValue($unitValue,$sysId,$oidStr,$order,$instanceNo=0,$otherWhereStr='')
{
global $language;
$DEBUG=0;
$sysIdArr = explode('_',$sysId);
$sysTypeNo = $sysIdArr[0];
$sysNo = $sysIdArr[1];
$subSysNo = $sysIdArr[2];
$objDb = 'OBJ_'.$sysTypeNo;
$paramTable = 'param_'.$sysNo;
$sysConfTable = 'OMC_PUB.sysConf';
$pubDb ='OMC_PUB';
$paramConfTable = $objDb.".paramConf";
$maxLevelNum = 10;
$nInteger = 2;
$nOctStr = 4;
if($DEBUG) echo "===================<br>unitValue:$unitValue<br>";
//----------------------
//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD>԰汾
if($language == 'eng'){
$objNameField=name_2;
$objSetField=setTemplate_2 ; //<2F><><EFBFBD><EFBFBD>2
}else{
$objNameField=name_1;
$objSetField=setTemplate_1 ; //<2F><><EFBFBD><EFBFBD>1(Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
}
$objWhereStr = getLevelWhere($oidStr);
$objSql = "SELECT $objNameField,$objSetField,valueType,length,minValue,maxValue FROM $paramConfTable WHERE $objWhereStr";
$objResult = mysqli_query($pubConn ,$objSql);
$objRows = @mysqli_fetch_array($objResult);
$totalLen = $objRows[length]*2;
$objName = $objRows[$objNameField];
$setTemplate = $objRows[$objSetField];
$valueType = $objRows[valueType];
$minValue = $objRows[minValue];
$maxValue = $objRows[maxValue];
$paramSql = " SELECT initValue FROM $paramTable WHERE $objWhereStr $otherWhereStr AND instanceNo = '$instanceNo' ";
$v_Result = mysqli_query($pubConn,$paramSql);
$v_Row = mysqli_fetch_array($v_Result);
$getValue = $v_Row[0];
if($DEBUG) echo "<br>getValue = $getValue";
//explode by '[remark]'
$remarkArr = explode('[remark]',$setTemplate);
$remark = $remarkArr[1];
//explode by '[unit]'
$unitArr = explode('[unit]',$remarkArr[0]);
//explode by '[u]'
$tlvArr = explode('[u]',$unitArr[$order]);
//Unit Name
if($DEBUG) echo "<br>$tlvArr[0] : $tlvArr[1]";
//explode by '-'
$offsetArr = explode('-',$tlvArr[1]);
$bgnOffsetArr = explode('.',$offsetArr[0]);
$bgnByte = $bgnOffsetArr[0];
$bgnBit = $bgnOffsetArr[1];
$endOffsetArr = explode('.',$offsetArr[1]);
$endByte = $endOffsetArr[0];
$endBit = $endOffsetArr[1];
$byteLen = $endByte - $bgnByte + 1;
//explode by '[v]'
$valueArr = explode('[v]',$tlvArr[2]);
//$operType = chop($valueArr[0]);
$typeAddTitleArr = explode('[t]',$valueArr[0]);
$operType = chop($typeAddTitleArr[0]);
$titleStr = chop($typeAddTitleArr[1]);
$valueArr[1] = chop($valueArr[1]);
if($DEBUG) echo "<br>operType = $operType";
if($operType == 'select')
{ //select
if($valueType == $nOctStr)
$changeTypeStr = 'toDec-high-0';
else
$changeTypeStr = 'keepDec-high-0';
}
else
{
$changeTypeStr = $valueArr[1];
}
$changeTypeArr = explode('-',$changeTypeStr);
$changeType = $changeTypeArr[0];
$fillWay = $changeTypeArr[1];
$fillChar = $changeTypeArr[2];
$setUnitValue = '';
if($DEBUG)echo "<br>changeType:$changeType";
switch($changeType)
{
case 'toDec':
if($bgnBit > 0 ||$endBit < 7)
{
$bitLen = $endBit - $bgnBit +1;
$bitValue = DecBin($unitValue);
if($DEBUG) echo "<br>bitValue = $bitValue ";
$bitValue = omcStrFill($bitValue,$bitLen,$fillWay,$fillChar);
if($DEBUG) echo "<br>omcStrFill($bitValue,$bitLen,$fillWay,$fillChar)";
$setUnitValue = $bitValue;
}
else
{
$setUnitValue = DecHex($unitValue);
$strLen = $byteLen*2;
$setUnitValue = omcStrFill($setUnitValue,$strLen,$fillWay,$fillChar);
if($DEBUG) echo "<br>omcStrFill($setUnitValue,$strLen,$fillWay,$fillChar)";
}
if($DEBUG) echo "<br>setUnitValue = $setUnitValue";
break;
case 'keepHex':
if($bgnBit > 0 ||$endBit < 7)
{
$bitLen = $endBit - $bgnBit +1;
$bitValue = ($unitValue);
if($DEBUG) echo "<br>bitValue = $bitValue ";
$bitValue = omcStrFill($bitValue,$bitLen,$fillWay,$fillChar);
if($DEBUG) echo "<br>omcStrFill($bitValue,$bitLen,$fillWay,$fillChar)";
$setUnitValue = $bitValue;
}
else
{
$setUnitValue = ($unitValue);
$strLen = $byteLen*2;
$setUnitValue = omcStrFill($setUnitValue,$strLen,$fillWay,$fillChar);
if($DEBUG) echo "<br>omcStrFill($setUnitValue,$strLen,$fillWay,$fillChar)";
}
if($DEBUG) echo "<br>setUnitValue = $setUnitValue";
break;
case 'keepDec':
//echo "<br>Error:keepDec";
$setUnitValue = $unitValue - 0;
break;
case 'toHex':
echo "<br>Error:toHex";
break;
case 'toAscii':
if($bgnBit > 0 ||$endBit < 7){
echo "<br>Error:toAscii";
exit(1);
}else{
$tmpLen=strlen($unitValue);
for($i=0;$i<$tmpLen;$i++){
$unitChar = substr($unitValue,$i,1);
$decValue = ord($unitChar); //ascii -> dec
$setUnitValue .= DecHex($decValue);
if(strlen($setUnitValue) < 2){
$setUnitValue = '0'.$setUnitValue;
}
}
$strLen = $byteLen*2;
$setUnitValue = omcStrFill($setUnitValue,$strLen,$fillWay,$fillChar);
}
break;
default:
echo "Error:Unknown valueType";
break;
}
if($DEBUG) echo "<br>setUnitValue = $setUnitValue ";
//--><-//$lastValue = $setUnitValue.$lastValue;
$setValue = setBitValue($getValue,$tlvArr[1],$setUnitValue);
$setValue = strtoupper($setValue);
$updSql = "UPDATE $paramTable SET initValue = '$setValue'
WHERE $objWhereStr $otherWhereStr AND instanceNo = '$instanceNo'";
mysqli_query($pubConn,$updSql);
echo mysqli_error($pubConn);
}//end setParamValue
function showParameter($sysId,$oidStr,$order,$inputValueType,$instanceNo=0,$doingOtherUlr='',$otherWhereStr='',$showStr='')
{
global $language,$notSettedColor,$settedColor;
$tmp1 = str_replace('.','_',$oidStr);
$id = 'ID_' . $sysId . '_' . $tmp1 . '_' . $order . '_ist' . $instanceNo;
$newId = "New".$id;
$showValue = getParamValue($titleStr,$IniEquRead,$sysId,$oidStr,$order,$instanceNo,$otherWhereStr);
if($IniEquRead)$color = $settedColor;
else $color = $notSettedColor;
$doingOtherUlr=urlencode($doingOtherUlr);
if(strlen($showStr))
{
$color = $settedColor;
$showValue = $showStr;
}
//$otherWhereStr=urlencode($otherWhereStr);
echo "<span id=\"$id\" title=\"$titleStr\" style=\"cursor:pointer\" onclick=\"javascript:getPar('getVar','$language','$sysId','$oidStr','$order','$instanceNo','0','$doingOtherUlr','$otherWhereStr','$showStr','$inputValueType');\"><font color=\"$color\">$showValue</font></span>";
echo "<span id=\"$newId\" style=\"display:none\" ></span>";
}
?>
<script LANGUAGE="JavaScript">
var globalID;
function getPar(flag,lan,sysId,oidStr,order,instanceNo,inputID,doingOtherUlr,otherWhereStr,showStr,inputValueType)
{
var ulr="../sub_inc/getParameter.php?flag="+flag+"&lan="+lan+"&sysId="+sysId+"&oidStr="+oidStr+"&order="+order+"&instanceNo="+instanceNo;
if(flag=='saveVar')
{
var setValue = document.getElementById(inputID).value;
ulr = ulr + "&setValue=" + setValue;
}
ulr = ulr+"&doingOtherUlr="+doingOtherUlr+"&otherWhereStr="+otherWhereStr+"&showStr="+showStr+"&inputValueType="+inputValueType;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer")
{
request_o = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
request_o = new XMLHttpRequest();
}
request_o.open("GET",ulr,"false");
request_o.onreadystatechange = updateID;
request_o.send(null);
}
function updateID()
{
if(request_o.readyState == 4)
{
var strResult = request_o.responseText;
var arrResult = strResult.split("###");
var flag = arrResult[0];
var idName = arrResult[1];
var innerStr = arrResult[2];
//alert(strResult);
if(flag=='getVar')
{
var getVarId = idName.substr(3);//ID...
var InputId = "Input"+getVarId;
var saveId = "Save" + getVarId;
document.getElementById(getVarId).style.display="none";
document.getElementById(idName).style.display="";
}
if(flag=='saveVar')
{
globalID = idName;
var saveVarId = "New"+idName;//NewID...
document.getElementById(saveVarId).style.display="none";
document.getElementById(idName).style.display="";
document.getElementById(idName).style.cursor="pointer";
var isEqual = arrResult[3];
if(isEqual == '1') color="<?php echo $settedColor;?>";
else color = "<?php echo $notSettedColor;?>";
document.getElementById(idName).style.color = color;
//alert(innerStr);
var doingOtherUlr = arrResult[4];
if(doingOtherUlr.length>0)
{
//alert(doingOtherUlr);
doingOther(doingOtherUlr);
}
}
document.getElementById(idName).innerHTML = innerStr;
if(flag == 'getVar')
{
document.getElementById(InputId).style.background="<?php echo $inputBkgrdColor;?>";
document.getElementById(saveId).style.background="<?php echo $saveBkgrdColor;?>";
//alert(document.getElementById(InputId).value);
}
}
}
function doingOther(ulr)
{
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer")
{
request_o = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
request_o = new XMLHttpRequest();
}
request_o.open("GET",ulr,"false");
request_o.onreadystatechange = otherReturn;
request_o.send(null);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫΪwaitingBkgrdColor
function otherReturn()
{
if(request_o.readyState == 3)//û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
//var strResult = request_o.responseText;
document.getElementById(globalID).style.background="<?php echo $waitingBkgrdColor;?>";
}
if(request_o.readyState == 4)//<2F><><EFBFBD><EFBFBD>
{
document.getElementById(globalID).style.background="";
}
}
</script>

View File

@@ -0,0 +1,57 @@
<?php
/**************************************************************************************
<20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>жϲ<D0B6><CFB2><EFBFBD><EFBFBD>Ƿ񱣴棬<F1B1A3B4><E6A3AC><EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD><C7A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>needSetFlag<61><67>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>;
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><D3B7>ص<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>
<20><><EFBFBD>ù<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: header.inc
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:../../element/sub_inc/lib.inc :function checkSaveFunction($saveHref)
<20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>$saveHref=$backHref+"OBJ:"+"$sysTypeNo&$oidStr&$instanceNo&$newValue"+
"OBJ:"+"$sysTypeNo&$oidStr&$instanceNo&$newValue"+
"OBJ:"+"$sysTypeNo&$oidStr&$instanceNo&$newValue"+
..................................................
"OBJ:"+"$sysTypeNo&$oidStr&$instanceNo&$newValue"+
"OBJ:"+"needSave=";
<20><><EFBFBD>ߣ<EFBFBD>Cui Ticun 2005-12-19
<EFBFBD>޸<EFBFBD>ע<EFBFBD>ͣ<EFBFBD>
NO.1
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ʱ<EFBFBD>
<EFBFBD>޸<EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
****************************************************************************************/
require("../../inc/header.inc");
//echo "saveHref=$saveHref";
//exit();
$varAttributeArr=explode("OBJ:",$saveHref);
if(strstr($varAttributeArr[sizeof($varAttributeArr)-1],"needSave=y")){
$tmpBackHref=$varAttributeArr[0].'&needSetFlag=1';
for($i=1;$i<sizeof($varAttributeArr)-1;$i++){
//echo "<br>var=$varAttributeArr[$i]";
$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]);
$tmpUpdatesql = "UPDATE $tmpParamTable SET initValue='$unitVarAttributeArr[3]'
where $tmpObjWhereStr AND instanceNo='$unitVarAttributeArr[2]'";
//echo "<br>$tmpUpdatesql<br>";
//echo "tmpObjDb=$tmpObjDb";
mysqli_query($pubConn,$tmpUpdatesql);
}
}else
$tmpBackHref=$varAttributeArr[0];
?>
<script language='javascript'>;
window.location.href='<?php echo $tmpBackHref; ?>';
</script>;
<?php
exit();
?>

View File

@@ -0,0 +1,20 @@
<?php
require("../sub_inc/lib.inc");
$sysTypeInLinkSetDef=array(
/*The follow are the local elements*/
array('name'=>'BSC','no'=>'1'),//system=BSS
array('name'=>'AAS','no'=>'2'),//system=Peripheral
array('name'=>'VSS','no'=>'3'),//system=Peripheral
array('name'=>'PCR','no'=>'4'),//system=Peripheral
array('name'=>'CNF','no'=>'5'),//system=Peripheral
/*The follow are the remote elements*/
array('name'=>'remoteElements','no'=>'16')//Switch,MSC,HLR,VLR,SMSC
);
$showNum_to_unitNum = array(0,6,11,17,22,1,7,12,18,23,2,8,13,19,24,3,9,14,20,25,4,10,15,21,26,5,16,27);
$unitNum_to_showNum = array(0,5,10,15,20,25,1,6,11,16,21,2,7,12,17,22,26,3,8,13,18,23,4,9,14,19,24,27);
?>