"unknown",0=>"LEAF_TYPE",1=>"SCALAR_TABLE_TYPE",2=>"COLUMN_TABLE_TYPE",3=>"ENTRY_TYPE"); //access define(ACCESS_TABLE_NAME,0); define(ACCESS_ENTRY,21); define(ACCESS_READ_WRITE,19); define(ACCESS_READ_ONLY,18); define(ACCESS_INDEX_CREATE_SPE,48); //value type define(VALUE_NONE,0); define(VALUE_STRING,2); define(VALUE_INT,3); define(VALUE_IP,5); define(VALUE_TIMESTAMP,8); define(VALUE_OPAQUE,9); //style define(SHOW_HIDE,0); define(SHOW_SELECT,1); define(SHOW_TEXTBOX,2); define(SHOW_LABEL,3); //create method define(MANUAL_CREATE,0); define(AUTO_CREATE,1); //nest table element define(TABLE_ENTRY,0); define(TABLE_ENTRIES,1); define(TABLE_CREATE,2); //sysTypeNo define(SYSTYPENO_MSC,320); define(SYSTYPENO_SMSC,350); define(SYSTYPENO_SMPP,260); define(SYSTYPENO_OPPS,375); define(SYSTYPENO_PPS,360); define(SYSTYPENO_MTP3,222); define(SYSTYPENO_SCCP,223); define(SYSTYPENO_AAS,311); define(SYSTYPENO_VSS,390); define(SYSTYPENO_VLR,325); define(SYSTYPENO_HLR,330); define(SYSTYPENO_AUC,340); define(SYSTYPENO_SMEG,355); define(SYSTYPENO_EIR,380); define(SYSTYPENO_MRFC,385); define(SYSTYPENO_PALIM,378); define(SYSTYPENO_RLS,379); define(SYSTYPENO_MHC,386); define(SYSTYPENO_MNP,370); define(SYSTYPENO_MTP3,222); define(SYSTYPENO_XAPP,225); function showParamInReadOnly($keyId,$sysId) { global $objects; $sysIdArr=explode('_',$sysId); $sysTypeNo=$sysIdArr[0]; $sysNo=$sysIdArr[1]; $subSysNo=$sysIdArr[2]; $objDb='OBJ_'.$sysTypeNo; $paraConfTable=$objDb.'.paramConf'; if(checkIndependSystem($sysTypeNo))//Plat $paraTable=$objDb.".param_".$sysNo; else $paraTable=$objDb.".param_99"; $oid=$objects[$keyId]['oid']; $oidwhere=getLevelWhere($oid); $sql="select initValue from $paraTable where $oidwhere and instanceNo='0000' "; if(checkPlatWhoHaveSubSysNo($sysTypeNo,$sysNo)) $sql.="and subSysNo='$subSysNo' "; $res=@mysqli_query($pubConn,$sql); $num=@mysqli_num_rows($res); if($num != 0) { $row=@mysqli_fetch_array($res); $returnvalue=$row[initValue]; if(($objects[$keyId]["style"] == SHOW_LABEL || $objects[$keyId]["style"] == SHOW_SELECT )&& $objects[$keyId]["valueType"] == VALUE_INT) { if(trim($objects[$keyId]["setTemplate_1"]) == "") return $returnvalue; $options=explode(";",$objects[$keyId]["setTemplate_1"]); for($ii=0;$iilevelArr[$j]={$levelArr[$j]}"; if($j == 0){ $levelWhere ="level_$levelNo='${"level_$levelNo"}'"; }else{ $levelWhere .=" AND level_$levelNo='${"level_$levelNo"}'"; } } $levelNo+=2; if($levelNo<=10) $levelWhere.=" AND level_$levelNo=0 "; return($levelWhere); } function getParamValue($sysId,$oid,$instanceNo) { $sysIdArr=explode('_',$sysId); $sysTypeNo=$sysIdArr[0]; $sysNo=$sysIdArr[1]; $subSysNo=$sysIdArr[2]; $objDb='OBJ_'.$sysTypeNo; $paraConfTable=$objDb.'.paramConf'; if(checkIndependSystem($sysTypeNo))//Plat $paraTable=$objDb.".param_".$sysNo; else $paraTable=$objDb.".param_99"; $oidWhere=getLevelWhere($oid); if(strstr($instanceNo,".")) $sql="select initValue from $paraTable where $oidWhere and instanceNo='$instanceNo' "; else $sql="select initValue from $paraTable where $oidWhere and instanceNo=$instanceNo "; if(checkPlatWhoHaveSubSysNo($sysTypeNo,$sysNo)) $sql.="and subSysNo='$subSysNo' "; $res=@mysqli_query($pubConn,$sql); $num=mysqli_num_rows($res); if($num == 0) return "--"; $row=@mysqli_fetch_array($res); $originalValue=$row[initValue]; return $originalValue; } function adjustTableName($name) { $len=strlen($name); $result=""; if($name[0]>='a' && $name[0]<='z') $result.=chr(ord($name[0])-32); for($i=1;$i<$len;$i++) { if($i != 1) if($name[$i]>='A' && $name[$i]<='Z' && $name[$i-1]>='a' && $name[$i-1]<='z') $result.=" "; if($name[$i]>='A' && $name[$i]<='Z' && $name[$i+1]>='a' && $name[$i+1]<='z' && $name[$i-1]>='A' && $name[$i-1]<='Z') $result.=" "; $result.=$name[$i]; if(($name[$i]<'0' || $name[$i]>'9')&& ($name[$i+1]>='0' && $name[$i+1]<='9')) $result.=" "; if(($name[$i]>='0' && $name[$i]<='9')&& ($name[$i+1]<'0' || $name[$i+1]>'9')) $result.=" "; } $result=str_replace("Table","",$result); $result=str_replace("Entry","",$result); return $result; } function getShowNameOfTable($name,$keyId) { global $objects; if($keyId != -1 && strstr($objects[$keyId]['desc_1'],"Name:")) { $new_name=explode("Name:",$objects[$keyId]['desc_1']); return str_replace(";","",$new_name[sizeof($new_name)-1]); } $len=strlen($name); $result=""; if($name[0]>='a' && $name[0]<='z') $result.=chr(ord($name[0])-32); for($i=1;$i<$len;$i++) { if($i != 1) if($name[$i]>='A' && $name[$i]<='Z' && $name[$i-1]>='a' && $name[$i-1]<='z') $result.=" "; if($name[$i]>='A' && $name[$i]<='Z' && $name[$i+1]>='a' && $name[$i+1]<='z' && $name[$i-1]>='A' && $name[$i-1]<='Z') $result.=" "; $result.=$name[$i]; if(($name[$i]<'0' || $name[$i]>'9')&& ($name[$i+1]>='0' && $name[$i+1]<='9')) $result.=" "; if(($name[$i]>='0' && $name[$i]<='9')&& ($name[$i+1]<'0' || $name[$i+1]>'9')) $result.=" "; } $result=str_replace("Table","",$result); $result=str_replace("Entry","",$result); return $result; } function getShowNameOfField($name,$keyId) { global $objects; if($keyId != -1 && strstr($objects[$keyId]['desc_1'],"Name:")) { $new_name=explode("Name:",$objects[$keyId]['desc_1']); return str_replace(";","",$new_name[sizeof($new_name)-1]); } $len=strlen($name); $result=""; for($j=0;$j<$len;$j++) { if($name[$j]>='A' && $name[$j]<='Z') break; } for($i=$j;$i<$len;$i++) { if($name[$i]>='A' && $name[$i]<='Z' && $name[$i-1]>='a' && $name[$i-1]<='z') $result.=" "; if($name[$i]>='A' && $name[$i]<='Z' && $name[$i+1]>='a' && $name[$i+1]<='z' && $name[$i-1]>='A' && $name[$i-1]<='Z') $result.=" "; $result.=$name[$i]; if(($name[$i]<'0' || $name[$i]>'9')&& ($name[$i+1]>='0' && $name[$i+1]<='9')) $result.=" "; if(($name[$i]>='0' && $name[$i]<='9')&& ($name[$i+1]<'0' || $name[$i+1]>'9')) $result.=" "; } return $result; } function translateValueToOpt($operType,$valueType,$template,$value) { if(($operType == SHOW_LABEL || $operType == SHOW_SELECT) && $valueType == VALUE_INT) { if(trim($template) == "") return $value; $options=explode(";",$template); for($ii=0;$ii"; $res=@mysqli_query($pubConn,$sql); $num=mysqli_num_rows($res); if($num > 0) return 1; else return 0; } /* tableName: the name of the table, rountingSelection for example. case-ignored $type: TABLE_ENTRY, TABLE_ENTRIES, TABLE_CREATE */ function findRelationOid($tableName,$type,$sysTypeNo) { $tableName=strtolower($tableName); $dbtable="OBJ_".$sysTypeNo.".paramConf"; if($type == TABLE_ENTRY) $likestr=$tableName."Entry"; else if($type == TABLE_ENTRIES) $likestr=$tableName."Entries"; else if($type == TABLE_CREATE) $likestr="CreateEntry".$tableName; $sql="select * from $dbtable where name_1 like '%$likestr%' "; //echo "
$sql
"; $res=@mysqli_query($pubConn,$sql); $num=mysqli_num_rows($res); if($num == 0) return ""; $row=@mysqli_fetch_array($res); $findOid=""; for($i=1;$i<=10;$i++) { if($row["level_".$i] == '0') break; $findOid.=$row["level_".$i]."."; } $findOid=substr($findOid,0,strlen($findOid)-1); //PrintInfo("tableName=$tableName,dbtable=$dbtable,oid=$findOid"); return $findOid; } function getTableLevel($tableOid,$sysTypeNo) { $tableWhere=getLevelWhere($tableOid); $database="OBJ_".$sysTypeNo.".paramConf"; $sql="select desc_1 from $database where $tableWhere "; $res=@mysqli_query($pubConn,$sql); $row=@mysqli_fetch_array($res); $desc_1=$row[desc_1]; $tmp=explode("level:",$desc_1); $level=$tmp[1]+0; return $level; } function showNavigateTitle($table_id,$table_level,$sysId,$columnTable,$instanceNo,$type) { if(0) { echo "
";
		print_r($columnTable);
		echo "
"; } if($type == "show") { if($table_level == 1) { echo "{$columnTable[0][Name]}"; } if($table_level == 2) { echo ""; echo "{$columnTable[0][Name]}"; echo ""; echo " "; echo ""; echo ($instanceNo+0); echo ""; echo " > "; echo "{$columnTable[1][Name]}"; } else if($table_level == 3) { echo ""; echo "{$columnTable[0][Name]}"; echo ""; echo " "; $tmp=explode(".",$instanceNo); echo ""; echo ($tmp[0]+0); echo ""; echo " > "; echo ""; echo "{$columnTable[1][Name]}"; echo ""; echo " "; echo ""; echo ($tmp[1]+0); echo ""; echo " > "; echo ""; echo "{$columnTable[2][Name]}"; echo ""; } } else if($type == "edit") { if($table_level == 1) { echo ""; echo "{$columnTable[0][Name]}"; echo ""; echo " "; echo ""; echo ($instanceNo+0); echo ""; } if($table_level == 2) { echo ""; echo "{$columnTable[0][Name]}"; echo ""; echo " "; $tmp=explode(".",$instanceNo); echo ""; echo ($tmp[0]+0); echo ""; echo " > "; echo ""; echo "{$columnTable[1][Name]}"; echo ""; echo " "; echo ""; echo ($tmp[1]+0); echo ""; } else if($table_level == 3) { echo ""; echo "{$columnTable[0][Name]}"; echo ""; echo " "; $tmp=explode(".",$instanceNo); echo ""; echo ($tmp[0]+0); echo ""; echo " > "; echo ""; echo "{$columnTable[1][Name]}"; echo ""; echo " "; echo ""; echo ($tmp[1]+0); echo ""; echo " > "; echo ""; echo "{$columnTable[2][Name]}"; echo ""; echo " "; echo ""; echo ($tmp[2]+0); echo ""; } } else { if($table_level == 1) { echo ""; echo "{$columnTable[0][Name]}"; echo ""; } if($table_level == 2) { echo ""; echo "{$columnTable[0][Name]}"; echo ""; echo " "; $tmp=explode(".",$instanceNo); echo ""; echo ($tmp[0]+0); echo ""; echo " > "; echo ""; echo "{$columnTable[1][Name]}"; echo ""; } else if($table_level == 3) { echo ""; echo "{$columnTable[0][Name]}"; echo ""; echo " "; $tmp=explode(".",$instanceNo); echo ""; echo ($tmp[0]+0); echo ""; echo " > "; echo ""; echo "{$columnTable[1][Name]}"; echo ""; echo " "; echo ""; echo ($tmp[1]+0); echo ""; echo " > "; echo ""; echo "{$columnTable[2][Name]}"; echo ""; } } } function GetOIDByName($sysTypeNo,$name) { $database="OBJ_".$sysTypeNo.".paramConf"; $sql="select * from $database where name_2 like '%$name%' "; $res=@mysqli_query($pubConn,$sql); $row=@mysqli_fetch_array($res); $oids=""; for($i=1;$i<=10;$i++) { $tmpN="level_".$i; $tmpV=$row[$tmpN]+0; if($tmpV == 0) break; $oids.=$tmpV."."; } if($i>1) $oids=substr($oids,0,strlen($oids)-1); return $oids; } /* This function is for the special issue of getting msc timeslot Get the timeslot parameter from plat which the Group ID specify in trunk */ function GetTrunkGroupID($tgno,$trunkno) { $trunk_table_oid=GetOIDByName(SYSTYPENO_MSC,"trunkEntry"); $tgno_w=omc_keep_length($tgno,"0",4); $trunkno_w=omc_keep_length($trunkno,"0",4); $instance=$tgno_w.".".$trunkno_w; oidSysCommSend("320_99_99", 0, $trunk_table_oid, -1, $instance); $trunkGroupID_oid=GetOIDByName(SYSTYPENO_MSC,"trunkGroupID"); $oidWhere=getLevelWhere($trunkGroupID_oid); $sql="select * from OBJ_320.param_99 where $oidWhere and instanceNo= '$instance' "; $res=@mysqli_query($pubConn,$sql); $row=@mysqli_fetch_array($res); $value=$row[readValue]+0; return $value; } function GetSystemStatus($sysTypeNo,$sysNo,$subSysNo=0) { $due_date = date("Y-m-d H:i:s",mktime(date("H"),date("i"),date("s")-60,date("m"),date("d"),date("Y"))); $ove_date = date("Y-m-d H:i:s",mktime(date("H"),date("i"),date("s")+60,date("m"),date("d"),date("Y"))); $sql="select * from OMC_PUB.sysInfo where sysTypeNo=$sysTypeNo and sysNo=$sysNo and subSysNo=$subSysNo "; $res=@mysqli_query($pubConn,$sql); $num=mysqli_num_rows($res); if($num == 0) return 0; $row=@mysqli_fetch_array($res); $baseStat=$row[baseStat]+0; if($baseStat == 0) return 0; $updateTime=$row[updateTime]; if($updateTime < $due_date || $updateTime > $ove_date) return 0; return 1; } function DeleteSubTableData($sysTypeNo,$instanceNo,$tableOid,$paraTable) { //echo "DeleteSubTableData($sysTypeNo,$instanceNo,$tableOid)
"; $where=getLevelWhere($tableOid); $sql="delete from $paraTable where $where and instanceNo like '{$instanceNo}%'"; @mysqli_query($pubConn,$sql); $where=getLevelWhere($tableOid); $table="OBJ_{$sysTypeNo}.paramConf"; $sql="select * from $table where name_2 like '%Entries' and $where "; $res=@mysqli_query($pubConn,$sql); $num=mysqli_num_rows($res); for($i=0;$i<$num;$i++) { $row=@mysqli_fetch_array($res); $entriesName=$row[name_2]; $len=strlen($entriesName); for($j=0;$j<$len;$j++) { if($entriesName[$j]<'a'||$entriesName[$j]>'z') break; } $entriesName=substr($entriesName,$j); $entriesName=str_replace("Entries","",$entriesName); $entryoid=findRelationOid($entriesName,TABLE_ENTRY,$sysTypeNo); DeleteSubTableData($sysTypeNo,$instanceNo,$entryoid,$paraTable); } } function PrintInfo($info) { $command="echo '$info' >> /tmp/omcdebug.txt "; system($command); } ?> "; for($i=0;$i<$num;$i++) { $row=@mysqli_fetch_array($res); $tabConf[$i][Name]=adjustTableName($row[name_2]); $tabConf[$i][OID]=getOIDByRow($row); $checkoid=$tabConf[$i][OID].".1.1.0"; $checkwhere=getLevelWhere($checkoid); $checksql="select desc_2 from OBJ_{$sysTypeNo}.paramConf where $checkwhere"; $checkres=@mysqli_query($pubConn,$checksql); $checknum=@mysqli_num_rows($checkres); if($checknum == 1) { $checkrow=@mysqli_fetch_array($checkres); $desc=$checkrow[desc_2]; if(strstr($desc,"Name:")) { $new_name=explode("Name:",$desc); $tabConf[$i][Name]=str_replace(";","",$new_name[sizeof($new_name)-1]); } } } if($num == 0) return 0; return $tabConf; } function InitTab($sysTypeNo) { echo "\n\n"; } $previous_left=20; function AddTab($id,$value,$lable,$image_1,$image_2,$imageWidth,$imageHeight) { global $previous_left; echo ""; echo "{$lable}"; echo ""; echo "{$lable}"; echo "\n\n"; } define(GET_OID,0); define(SCALAR_ITEM_OID,1); function GetAllOIDArr($sysTypeNo,$get_type=0) { $tabConf=GetTabConf($sysTypeNo); if(0) { echo "
";
		print_r($tabConf);
		echo "
"; } $tab_id_count=sizeof($tabConf); for($table_id=0;$table_id<$tab_id_count;$table_id++) { $tableOid=$tabConf[$table_id][OID]; //Get the sub oid of the table $oidwhere=getLevelWhere($tableOid); $size=sizeof(explode(".",$tableOid)); $oidwhere.=" AND level_".($size+1).">0 "; $lastlevel="level_".($size+2); $sql="select * from OBJ_{$sysTypeNo}.paramConf where $oidwhere order by level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10 "; $res=@mysqli_query($pubConn,$sql); $num=@mysqli_num_rows($res); $scalarTableIndex=0; $columnTableIndex=0; $scalarItemIndex=0; for($i=0;$i<$num;$i++) { $row=@mysqli_fetch_array($res); if($row[$lastlevel] == 0) { //scalar table if($row[maxAccess] == ACCESS_TABLE_NAME && $row[operType] == 2) { $scalarTableIndex++; } //column table else if($row[maxAccess] == ACCESS_ENTRY && strstr($row[name_2],"Table")) { //only get the top two level table if($columnTableIndex < 2) $oidArr[]=getOIDByRow($row).".1"; $columnTableIndex++; } //scalar item else { $scalarItemIndex++; if(stristr($row[name_2],"Command")) continue; if($row[maxAccess] == ACCESS_ENTRY) continue; if(strstr($row['desc_2'],"Hidden Parameter")) continue; $tmpss=getOIDByRow($row); $oidArr[]=$tmpss; $scalar_oids[]=$tmpss; } } } } if($get_type == SCALAR_ITEM_OID) return $scalar_oids; else return $oidArr; } ?>