init web ems all

This commit is contained in:
agtuser committed 2024-09-27 17:13:36 +08:00
1 parent 81c97acbe9
commit 5cc56f8078
4263 files changed
+798779

No files matched your search

+631
View File
@@ -0,0 +1,631 @@
<?php
require("../../inc/header.inc");
?>
<script LANGUAGE="JavaScript">
function chgSysType(){
var baseUrl,urlAdd,url;
baseUrl='<?php echo"$PHP_SELF?sysTypeNo=";?>';
urlAdd=document.confForm.sysTypeNo.options[document.confForm.sysTypeNo.selectedIndex].value;
url=baseUrl+urlAdd;
window.location=url;
}
function chgObj(){
var baseUrl,urlAdd,url;
baseUrl='<?php echo"$PHP_SELF?sysTypeNo=$sysTypeNo&keyId=";?>';
urlAdd=document.confForm.keyId.options[document.confForm.keyId.selectedIndex].value;
url = baseUrl+urlAdd;
window.location=url;
}
function chkValue(term){
term.value = term.value.toUpperCase();
if(term.value.length != (document.confForm.length.value * 2)){
term.style.color = "BLUE";
alert('3.Default Value length error,it must ='+document.confForm.length.value);
return (false);
}
var hexStr = '0123456789ABCDEF';
var checkStr = term.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++){
ch = checkStr.charAt(i);
for (j = 0; j < hexStr.length; j++){
if (ch == hexStr.charAt(j)) break;
}
if (j == hexStr.length){
allValid = false;
break;
}
}
if (!allValid){
alert('Must be a hexadecimal number');
term.focus();
term.style.color = "BLUE";
return (false);
}
term.style.color = "BLACK";
}
function chgValueType(){
var valueType;
valueType=document.confForm.valueType.options[document.confForm.valueType.selectedIndex].value;
if(valueType == '2'){
document.confForm.length.value = 5;
}
}
function hideorshow(thisCheckBox,id)
{
if(thisCheckBox.checked == true)
document.getElementById(id).style.display='';
else
document.getElementById(id).style.display='none';
}
</script>
<!--<br><script language="javascript" src="../../inc/expand.js" ></script> -->
<?php
//------------functions---------------------
function omcGetObjDb($sysTypeNo){
$dbName = 'OBJ_'.$sysTypeNo;
return($dbName);
}
function omcGetObjTbl($sysTypeNo,$tableType){
$dbName = 'OBJ_'.$sysTypeNo;
$tableName = $dbName.'.paramConf';
return($tableName);
}
?>
<body onload="javascript:adjust();" onresize="javascript:adjust();" leftmargin="15" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;">
<?php
adjust_head();
adjust_title_head();
echo "<table id=\"table_up\" border=\"0\" width=\"100%\">";
echo "<tr>";
echo "<td width=\"50%\">";
echo "Template > Template > Parameter > Structure";
echo "</td>";
echo "<td width=\"50%\" align=\"right\" title=\"Help\">";
//showHelp($helpId);
echo "</td>";
echo "</tr>";
echo "</table>";
adjust_title_tail();
adjust_content_head();
echo "<br>";
$DEBUG = 0;
$sysConfTable = 'OMC_PUB.sysConf';
$sysTypeNo = (isset($sysTypeNo)?$sysTypeNo:322);//default is CCF-MSC
$pubDb ='OMC_PUB';
$objDb = omcGetObjDb($sysTypeNo);
$paramConfTable = omcGetObjTbl($sysTypeNo,paramConf);
$maxLevelNum = 10;
if($DEBUG) echo "<br>$paramConfTable<br>";
//----------------------
//选择语言版本
if($language == 'eng'){
$objNameField=name_2; //语种2
}else{
$objNameField=name_1; //语种1(默认语种)
}
//-----------------------
/**************************************删除一个类型说明***********************************************/
if($delete){
$delSql = "DELETE FROM $paramConfTable WHERE keyId='$keyId'";
if($DEBUG) echo "delSql=$delSql<br>";
$delResult = mysqli_query($pubConn ,$delSql);
echo mysqli_error($pubConn);
//------------
if($delResult){
echo "<script LANGUAGE=\"JavaScript\">";
echo "alert('";
echo $strDeleteSuccess;
echo "')";
echo "</script>";
}else{
echo "<script LANGUAGE=\"JavaScript\">";
echo "alert('";
echo $strDeleteFailure;
echo "')";
echo "</script>";
}
} //end if($delete)
/*****************************添加,保存一个新的参数类型或创建新的参数结构表*****************************/
if($save){
if($DEBUG) echo "<br>keyId = $keyId";
if($keyId == 'new'){ //插入一个新类型
$saveSql = "REPLACE INTO $paramConfTable (name_1,name_2,desc_1,desc_2,paramType,number,length,valueType,operType,initValue,minValue,maxValue,setTemplate_1,setTemplate_2,needNote,note_1,note_2,level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10) VALUES('$name_1','$name_2','$desc_1','$desc_2','$paramType','$number','$length','$valueType','$operType','$initValue','$minValue','$maxValue','$setTemplate_1','$setTemplate_2','$needNote','$note_1','$note_2','$level_1','$level_2','$level_3','$level_4','$level_5','$level_6','$level_7','$level_8','$level_9','$level_10')";
$saveResult = mysqli_query($pubConn ,$saveSql);
if($saveResult){
$keyIdSel = "SELECT keyId FROM $paramConfTable WHERE
level_1='$level_1' AND
level_2='$level_2' AND
level_3='$level_3' AND
level_4='$level_4' AND
level_5='$level_5' AND
level_6='$level_6' AND
level_7='$level_7' AND
level_8='$level_8' AND
level_9='$level_9' AND
level_10='$level_10'
";
$keyIdResult = mysqli_query($pubConn,$keyIdSel);
$keyIdeRows = mysqli_fetch_array($keyIdResult);
$keyId = $keyIdeRows[keyId];
}
}elseif($keyId > 0){ //修改已有类型
if($needNote !=1){
$needNote = 0;
}
$saveSql = "UPDATE $paramConfTable
SET
name_1='$name_1',
name_2='$name_2',
desc_1='$desc_1',
desc_2='$desc_2',
paramType='$paramType',
number='$number',
length='$length',
valueType='$valueType',
operType='$operType',
initValue='$initValue',
minValue='$minValue',
maxValue='$maxValue',
needNote='$needNote',
note_1='$note_1',
note_2='$note_2',
level_1='$level_1',
level_2='$level_2',
level_3='$level_3',
level_4='$level_4',
level_5='$level_5',
level_6='$level_6',
level_7='$level_7',
level_8='$level_8',
level_9='$level_9',
level_10='$level_10'
WHERE keyId='$keyId'
";
$saveResult = mysqli_query($pubConn ,$saveSql);
}else{
echo "<br>Error: keyId == NULL";
}
if($DEBUG) echo "<br>$saveSql";
echo mysqli_error($pubConn);
if($saveResult){
/*
//更新备份文件
$csvFileName = '/usr/local/apache/htdocs/db_backup/other/'.$paramConfTable.'.csv';
@unlink($csvFileName);
$csvFileUpdateSql=" SELECT *
INTO OUTFILE '$csvFileName'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
FROM $paramConfTable
";
$csvFileUpdateResult = mysqli_query($pubConn ,$csvFileUpdateSql);
echo mysqli_error($pubConn);
*/
echo "<script LANGUAGE=\"JavaScript\">";
echo "alert('";
echo $strEditSuccess;
echo "')";
echo "</script>";
}else{
echo "<script LANGUAGE=\"JavaScript\">";
echo "alert('";
echo $strEditFailure;
echo "')";
echo "</script>";
}
} //end if($save)
/*****************************创建参数库和参数配置表*****************************/
$dblist = mysqli_query($pubConn, "SHOW DATABASES");
$dbNum = @mysqli_num_rows($dbList);
for($i=0; $i < $dbNum; $i++){
$dbName = mysqli_dbname($dbList, $i);
if($dbName == $objDb){
if($DEBUG) echo "<br>$objDb have be created";
break;
}
if($i == $dbNum-1){
if($DEBUG) echo "<br>$objDb have not be created";
//step 1.create objDb
$sql="CREATE DATABASE $objDb";
mysqli_query($pubConn,$sql);
if($DEBUG) echo "<br>create $objDb sql =$sql";
echo mysqli_error($pubConn);
//step 2.create paramConf table in objDb
$sql="CREATE TABLE paramConf (
keyId int(4) unsigned NOT NULL auto_increment,
name_1 varchar(30) NOT NULL,
name_2 varchar(30) NOT NULL,
desc_1 varchar(255) NOT NULL,
desc_2 varchar(255) NOT NULL,
paramType tinyint(1) DEFAULT '0' NOT NULL,
operType tinyint(1) DEFAULT '0' NOT NULL,
number int(6) DEFAULT '0' NOT NULL,
length smallint(3) DEFAULT '0' NOT NULL,
valueType tinyint(1) DEFAULT '0' NOT NULL,
initValue varchar(255) NOT NULL,
minValue varchar(255) NOT NULL,
maxValue varchar(255) NOT NULL,
setTemplate_1 text NOT NULL,
setTemplate_2 text NOT NULL,
needNote tinyint(1) DEFAULT '0' NOT NULL,
note_1 varchar(200) NOT NULL,
note_2 varchar(200) NOT NULL,
level_1 int(5) DEFAULT '0' NOT NULL,
level_2 int(5) DEFAULT '0' NOT NULL,
level_3 int(5) DEFAULT '0' NOT NULL,
level_4 int(5) DEFAULT '0' NOT NULL,
level_5 int(5) DEFAULT '0' NOT NULL,
level_6 int(5) DEFAULT '0' NOT NULL,
level_7 int(5) DEFAULT '0' NOT NULL,
level_8 int(5) DEFAULT '0' NOT NULL,
level_9 int(5) DEFAULT '0' NOT NULL,
level_10 int(5) DEFAULT '0' NOT NULL,
KEY level_1 (level_1),
KEY level_2 (level_2),
KEY level_3 (level_3),
KEY level_4 (level_4),
KEY level_5 (level_5),
KEY level_6 (level_6),
KEY level_7 (level_7),
KEY level_8 (level_8),
KEY level_9 (level_9),
KEY level_10 (level_10),
KEY id (keyId)
)";
mysqli_query($pubConn,$sql);
if($DEBUG) echo "<br>create paramConf table sql =$sql";
echo mysqli_error($pubConn);
break;
}
}
?>
<form method="POST" name=confForm action="<?php echo"$PHP_SELF";?>" >
<table border="1" width="100%" cellpadding="2" cellspacing="0" bordercolor="#666666" bordercolordark="#FFFFFF" bgcolor="#FFFFFF" >
<tr bgcolor="#E6E6E6">
<td width="100%" colspan="2" align="center">
<font size=3><b><?php echo "Object Parameter Configuration"; ?></b></font>
</td>
</tr>
<tr>
<td width="30%">
<?php echo $strSelectDeviceType; ?>
</td>
<td width="70%">
<select size="1" name="sysTypeNo" onChange="javascript:chgSysType()">
<?php
//显示选择设备下拉菜单
$sysTypeSql ="SELECT sysTypeNo,sysTypeName,snmpHead FROM $sysConfTable WHERE needParamConf ='1' ORDER BY sysTypeName";
if($DEBUG) echo "<br>$sysTypeSql";
$sysTypeResult = mysqli_query($pubConn,$sysTypeSql);
$sysTypeRows = @mysqli_fetch_array($sysTypeResult);
do{
if($sysTypeRows[sysTypeNo] == 225 ||
$sysTypeRows[sysTypeNo] == 260 ||
$sysTypeRows[sysTypeNo] == 311 ||
$sysTypeRows[sysTypeNo] == 320 ||
$sysTypeRows[sysTypeNo] == 325 ||
$sysTypeRows[sysTypeNo] == 330 ||
$sysTypeRows[sysTypeNo] == 340 ||
$sysTypeRows[sysTypeNo] == 350 ||
$sysTypeRows[sysTypeNo] == 355 ||
$sysTypeRows[sysTypeNo] == 375 ||
$sysTypeRows[sysTypeNo] == 378 ||
$sysTypeRows[sysTypeNo] == 379 ||
$sysTypeRows[sysTypeNo] == 380 ||
$sysTypeRows[sysTypeNo] == 385 ||
$sysTypeRows[sysTypeNo] == 386 ||
$sysTypeRows[sysTypeNo] == 390
)
continue;
echo "<option value=\"$sysTypeRows[sysTypeNo]\" ";
if($sysTypeRows[sysTypeNo] == $sysTypeNo && isset($sysTypeNo)){
echo"selected";
$snmpHeadStr = $sysTypeRows[snmpHead];
$sysTypeName = $sysTypeRows[sysTypeName];
}
echo ">";
echo "$sysTypeRows[sysTypeName]";
echo "</option>";
}while($sysTypeRows = mysqli_fetch_array($sysTypeResult));
?>
</select>
</td>
</tr>
<tr>
<td width="30%">
<?php echo $strSelectParaType; ?>
</td>
<td width="70%">
<?php
if($DEBUG) echo "$paramConfTable<br>";
echo "<select size=\"1\" name=\"keyId\" onChange=\"javascript:chgObj()\">";
$orderBy = '';
for($i=1;$i<=$maxLevelNum;$i++){
if($i < $maxLevelNum){
$tempStr = ' level_'.$i.',';
}else{
$tempStr = ' level_'.$i;
}
$orderBy .= $tempStr;
}
$objSql = "SELECT * FROM $paramConfTable
ORDER BY $orderBy
";
//echo "$objSql<br>";
$objResult = mysqli_query($pubConn ,$objSql);
//显示选择参数类型下拉菜单
echo"<option value=\"new\">------------------New------------------</option>";
while($objRows = mysqli_fetch_array($objResult)){
echo "<option value=\"$objRows[keyId]\" ";
if($objRows[keyId] == $keyId && $keyId > 0){
echo "selected";
}
echo ">";
$spaceStr = '';
$oidStr='';
for($i= $maxLevelNum; $i>=1; $i--){
$levelEndId = 'level_'.$i;
if($objRows[$levelEndId] > 0){
for($j=1;$j<=$i;$j++){
$spaceStr .='&nbsp&nbsp';
$levelBgnId = 'level_'.$j;
$oidStr .=$objRows[$levelBgnId].'.';
}
$spaceStr .='|--';
break;
}
}
echo "$spaceStr $oidStr $objRows[$objNameField]";
echo"</option>";
}
?>
</select>
<?php
if($DEBUG) echo "<br>selected Id = $keyId";
if($DEBUG) echo "<br>objSql = $objSql";
if($DEBUG) echo mysqli_error($pubConn);
?>
</td>
</tr>
<?php
$objSql = "SELECT * FROM $paramConfTable WHERE keyId = '$keyId'";
if($DEBUG) echo "$objSql<br>";
$objResult = mysqli_query($pubConn ,$objSql);
$objRows = @mysqli_fetch_array($objResult);
?>
<?php //------参数oid----------- ?>
<tr >
<td width="30%"><?php echo "Object Id"?>:</td>
<td width="70%">
<?php
$snmpHeadArr=explode('.',$snmpHeadStr);
for($i=0;$i<sizeof($snmpHeadArr);$i++){
echo "$snmpHeadArr[$i]";
echo "&#8226;"; //dot
}
for($i=1 ; $i <= $maxLevelNum; $i++){
$levelId = 'level_'.$i;
echo "<input type=\"text\" name=\"level_".$i."\" maxLength=3 size=2 value=\"$objRows[$levelId]\" class=\"text\">";
if($i < $maxLevelNum){
echo "&#8226;"; //dot
}
}
?>
</td>
</tr>
<?php //------参数名----------- ?>
<tr>
<td width="30%"><?php echo "Object Name 1"; ?>:</td>
<td width="70%">
<input type="text" name="name_1" size="20" value="<?php echo"$objRows[name_1]";?>" >(Chinese)</td>
</tr>
<tr>
<td width="30%"><?php echo "Object Name 2"; ?>:</td>
<td width="70%">
<input type="text" name="name_2" size="20" value="<?php echo"$objRows[name_2]";?>" >(English)</td>
</tr>
<?php //------参数描述----------- ?>
<tr>
<td width="30%"><?php echo "Object Description 1" ?>:</td>
<td width="70%">
<input type="text" name="desc_1" size="50" value="<?php echo"$objRows[desc_1]";?>" >(Chinese)
</td>
</tr>
<tr >
<td width="30%"><?php echo "Object Description 2" ?>:</td>
<td width="70%">
<input type="text" name="desc_2" size="50" value="<?php echo"$objRows[desc_2]";?>" >(English)
</td>
</tr>
<?php //------参数类型----------- ?>
<tr>
<td width="30%"><?php echo "Parameter Type "; ?>:</td>
<td width="70%">
<select name="paramType" size="1" >
<?php
$paramTypeDefArr = array("subsystem parameter","subsystem public parameter","system public parameter");
for($i=0;$i<sizeof($paramTypeDefArr);$i++){
if(isset($objRows[paramType]) && ($objRows[paramType] == $i)){
echo "<option value=\"$i\" selected>$paramTypeDefArr[$i]</option>";
}/*elseif(2==$i){
echo "<option value=\"$i\" selected>$paramTypeDefArr[$i]</option>";
}*/else{
echo "<option value=\"$i\">$paramTypeDefArr[$i]</option>";
}
}
?>
</select>
</td>
</tr>
<?php //------操作类型----------- ?>
<tr>
<td width="30%">Operation define:</td>
<td width="70%">
<select name="operType" size="1">
<?php
$operTypeArr=array("disable","read only","write only","read and write","not visible in advanced");
for($i=0;$i<sizeof($operTypeArr);$i++){
echo "<option value=\"$i\" ";
if(!isset($objRows[operType]) && $setSelected <= 0 && $i == 3){
echo "selected";
$setSelected = 1;
}elseif($objRows[operType] == $i){
echo "selected";
}
echo ">$operTypeArr[$i]</option>";
}
?>
</select>
</td>
</tr>
<tr bgcolor="#E6E6E6">
<td colspan="2"><font size=2><b>(Needn't fill the follow fields if this object have sub-objects)</b><font>
</td>
</tr>
<?php //------参数个数----------- ?>
<tr>
<td width="30%"><?php echo $strParaNumber; ?>:</td>
<td width="70%">
<input type="text" name="number" size="5" value="<?php echo"$objRows[number]";?>" >
</td>
</tr>
<?php //------参数长度----------- ?>
<tr>
<td width="30%"><?php echo $strParaLength; ?>:</td>
<td width="70%">
<input type="text" name="length" size="5" value="<?php echo"$objRows[length]";?>" >
In default Integer's length is 5
</td>
</tr>
<?php //------参数值类型----------- ?>
<tr>
<td width="30%"><?php echo "Value Type"; ?>:</td>
<td width="70%">
<select size="1" name="valueType" onChange="javascript:chgValueType()">
<?php
$varTypeArr=array(array("4","Octet String"),array("2","Integer"));
for($i=0;$i<sizeof($varTypeArr);$i++){
echo "\n <option value=\"{$varTypeArr[$i][0]}\"";
if($objRows[valueType] == $varTypeArr[$i][0]){
echo " selected ";
}
echo ">{$varTypeArr[$i][1]}</option>";
}
?>
</select>
</td>
</tr>
<?php //------取值范围----------- ?>
<tr>
<td width="30%"><?php echo $strValueRange; ?>:</td>
<td width="70%">
<nobr>
min value = <input type="text" name="minValue" maxlength="256" size="20" value="<?php echo"$objRows[minValue]";?>" onChange="javascript: chkValue(this);">&nbsp;&nbsp;&nbsp;
max value = <input type="text" name="maxValue" maxlength="256" size="20" value="<?php echo"$objRows[maxValue]";?>" onChange="javascript: chkValue(this);">
</nobr>
</td>
</tr>
<tr>
<td width="30%"><?php echo $strDefaultValue; ?>:</td>
<td width="70%">
<input type="text" name="initValue" maxlength="256" size="20" value="<?php echo"$objRows[initValue]";?>" onChange="javascript: chkValue(this);">
</td>
</tr>
<?php //------操作提示----------- ?>
<tr>
<td width="30%">Need Note:</td>
<td width="70%">
<input type="checkbox" name="needNote" value="1" <?php if($objRows[needNote] == '1') echo"checked";?>>
</td>
</tr>
<tr>
<td width="30%">Note Message 1:</td>
<td width="70%">
<input type="txt" name="note_1" size="40" value="<?php echo"$objRows[note_1]";?>">(Chinese)
</td>
</tr>
<tr>
<td width="30%">Note Message 2:</td>
<td width="70%">
<input type="txt" name="note_2" size="40" value="<?php echo"$objRows[note_2]";?>">(English)
</td>
</tr>
<?php //------初始化参数----------- ?>
<tr bgcolor="#E6E6E6">
<td colspan="2">
<input type="checkbox" name="isWantToInitParam" value="ON" onclick="hideorshow(this,'KB4Child');self.scrollBy(0,5000);">
<font size=2><b><?php echo $strDoYouFinishDefinitionOfAllParaType; ?></b></font>
</td>
</tr>
<tr bgcolor="#E6E6E6">
<td colspan="2">
<input type="checkbox" name="InitAllParameter" value="ON" onclick="hideorshow(this,'KB5Child');self.scrollBy(0,5000);">
<font size=2><b><?php echo "Init all system parameters"; ?></b></font>
</td>
</tr>
</table>
<p><input type="submit" value="<?php echo $strSave; ?>" name="save">
<input type="reset" value="<?php echo $strCancel; ?>" name="reset">
<input type="submit" value="<?php echo $strDeleteMode; ?>" name="delete">
</p>
</form>
<form method="POST" name=init action="<?php echo"./paramInit.php";?>">
<table border="1" width="100%" cellpadding="2" cellspacing="0" bordercolor="#666666" bordercolordark="#FFFFFF" bgcolor="#ffffff" >
<tr><td id=KB4Child style=display:none >
<b><font color="#FF0000" size="2"><?php echo "$strFillEachKindOfParaWithItsDefault"; ?></font></b>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="checkbox" name="dropAndRecreate" value="1">
<font size=2><b><?php echo "Drop and recreate all tables"; ?></b></font>
<input type="hidden" name=sysTypeNo value="<?php echo "$sysTypeNo";?>">
<input type="hidden" name=keyId value="<?php echo "$keyId";?>">
<input type="submit" value="<?php echo "Click here to init all parameter of:$sysTypeName"; ?>" name="initParameter">
</td></tr>
</table>
</form>
<form method="POST" name=init action="<?php echo"./paramInit.php";?>">
<table border="1" width="100%" cellpadding="2" cellspacing="0" bordercolor="#666666" bordercolordark="#FFFFFF" bgcolor="#ffffff" >
<tr><td id=KB5Child style=display:none >
<b><font color="#FF0000" size="2"><?php echo "WARNING: all of the devices' parameters which saved in database will be replaced with default values "; ?></font></b>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="checkbox" name="dropAndRecreate" value="1">
<font size=2><b><?php echo "Drop and recreate all tables"; ?></b></font>
<input type="hidden" name=sysTypeNo value="<?php echo "$sysTypeNo";?>">
<input type="hidden" name=initAll value="1">
<input type="submit" value="<?php echo "Click here to initial all parameters"; ?>" name="initParameter">
</td></tr>
</table>
</form>
<?php
adjust_content_tail();
?>
</body>
</html>
+462
View File
@@ -0,0 +1,462 @@
<?php
/*********************************************************
程序说明:
功能说明:本程序实现参数编辑模板代码的产生,保存,预览
调用关系:调用: header.inc
被调用:
变量说明:
返回值:无
作者:
修改注释:
NO.1
姓名:
时间:
修改说明:
*********************************************************/
require("../../inc/header.inc");
?>
<body onload="javascript:adjust();" onresize="javascript:adjust();" leftmargin="15" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;">
<?php
adjust_head();
adjust_title_head();
echo "<table id=\"table_up\" border=\"0\" width=\"100%\">";
echo "<tr>";
echo "<td width=\"50%\">";
echo "Template > Parameter > Edit";
echo "</td>";
echo "<td width=\"50%\" align=\"right\" title=\"Help\">";
//showHelp($helpId);
echo "</td>";
echo "</tr>";
echo "</table>";
adjust_title_tail();
adjust_content_head();
echo "<br>";
$DEBUG = 0;
function omcGetObjDb($sysTypeNo){
$dbName = 'OBJ_'.$sysTypeNo;
return($dbName);
}
function omcGetObjTbl($sysTypeNo,$tableType){
$dbName = 'OBJ_'.$sysTypeNo;
$tableName = $dbName.'.paramConf';
return($tableName);
}
$sysConfTable = 'OMC_PUB.sysConf';
$sysTypeNo = (isset($sysTypeNo)?$sysTypeNo:322);//default is CCF-MSC
$pubDb ='OMC_PUB';
$objDb = omcGetObjDb($sysTypeNo);
$paramConfTable = omcGetObjTbl($sysTypeNo,paramConf);
$maxLevelNum = 10;
if($DEBUG) echo "<br>$paramConfTable<br>";
//----------------------
//选择语言版本
if($language == 'eng'){
$objNameField = name_2;
$objSetField = setTemplate_2 ; //语种2
}else{
$objNameField = name_1;
$objSetField = setTemplate_1 ; //语种1(默认语种)
}
//-----------------------
/*****************************保存一个新的参数编辑模板*****************************/
if($save){
if($DEBUG) echo "<br>keyId = $keyId";
if($keyId > 0){
$saveSql = "UPDATE $paramConfTable
SET $objSetField = '$codeArea'
WHERE keyId='$keyId'
";
$saveResult = mysqli_query($pubConn,$saveSql);
}else{
echo "<br>Error: keyId == NULL";
exit();
}
if($DEBUG) echo "<br>$saveSql";
echo mysqli_error($pubConn);
if($saveResult){
//更新备份文件
$csvFileName = '/usr/local/apache/htdocs/db_backup/other/'.$paramConfTable.'.csv';
@unlink($csvFileName);
$csvFileUpdateSql=" SELECT *
INTO OUTFILE '$csvFileName'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
FROM $paramConfTable
";
$csvFileUpdateResult = mysqli_query($pubConn ,$csvFileUpdateSql);
echo mysqli_error($pubConn);
echo "<script LANGUAGE=\"JavaScript\">";
echo "alert('";
echo "$strEditSuccess";
echo "')";
echo "</script>";
}else{
echo "<script LANGUAGE=\"JavaScript\">";
echo "alert('";
echo "$strEditFailure";
echo "')";
echo "</script>";
}
}
?>
<?php
/*****************************显示一个对象的编辑模板*****************************/
?>
<script LANGUAGE="JavaScript">
function chgSysType(){
var baseUrl,urlAdd,url;
baseUrl='<?php echo"$PHP_SELF?sysTypeNo=";?>';
urlAdd=document.confForm.sysTypeNo.options[document.confForm.sysTypeNo.selectedIndex].value;
url=baseUrl+urlAdd;
window.location=url;
}
function chgObj(){
var baseUrl,urlAdd,url;
baseUrl='<?php echo"$PHP_SELF?sysTypeNo=$sysTypeNo&keyId=";?>';
urlAdd=document.confForm.keyId.options[document.confForm.keyId.selectedIndex].value;
url = baseUrl+urlAdd;
window.location=url;
}
function getOffset(){
var offsetStr;
var bgnOffset,endOffset;
var bgnByte = document.confForm.bgnByte.options[document.confForm.bgnByte.selectedIndex].value;
var bgnBit = document.confForm.bgnBit.options[document.confForm.bgnBit.selectedIndex].value;
var endByte = document.confForm.endByte.options[document.confForm.endByte.selectedIndex].value;
var endBit = document.confForm.endBit.options[document.confForm.endBit.selectedIndex].value;
if(bgnBit >= 0){
bgnOffset = bgnByte+"."+bgnBit;
}else{
bgnOffset = bgnByte;
}
if(endBit >= 0){
endOffset = endByte+"."+endBit;
}else{
endOffset = endByte;
}
offsetStr = bgnOffset+"-"+endOffset;
return(offsetStr);
}
function addInputField()
{
var objName = document.confForm.objName.value;
var unitName = document.confForm.unitName.value;
var offsetStr = getOffset();
var unitDef = document.confForm.inputEditCode.options[document.confForm.inputEditCode.selectedIndex].value;
if(document.confForm.codeArea.value.length <= 0){
document.confForm.codeArea.value += objName;
}
if(unitName.length <= 0){
unitName += "unitName";
}
document.confForm.codeArea.value += "\n[unit]"+unitName+"[u]"+offsetStr+"[u]input";
document.confForm.codeArea.value += "\n[v]"+unitDef;
}
function addSelecArea()
{
var objName = document.confForm.objName.value;
var unitName = document.confForm.unitName.value;
var offsetStr = getOffset();
var unitDef = document.confForm.inputEditCode.options[document.confForm.inputEditCode.selectedIndex].value;
var optNum = document.confForm.optNum.value;
if(document.confForm.codeArea.value.length <= 0){
document.confForm.codeArea.value += objName;
}
if(unitName.length <= 0){
unitName += "unitName";
}
document.confForm.codeArea.value += "\n[unit]"+unitName+"[u]"+offsetStr+"[u]select";
for(i=0;i<optNum;i++){
document.confForm.codeArea.value += "\n[v]DecValue[opt]MenuName";
}
}
function preview(sysTypeNo,objKeyId,initValue){
URL="../../configuration/pubParamConf/paramEdit.php?TEST=1&sysTypeNo="+sysTypeNo+"&keyId="+objKeyId+"&setValue="+initValue;
var msgWindow = open(URL, 'newWin', 'toolbar=no,directories=no,menubar=no,scrollbars=yes,resizable=yes,status=yes,width=400,height=350');
msgWindow.focus();
}
</script>
<?php
//echo "\n<script language=\"javascript\" src=\"../../inc/expand.js\" > </script>";
?>
<form method="POST" name="confForm" action="<?php echo"$PHP_SELF";?>" >
<table border="1" width="100%" cellpadding="2" cellspacing="0" bordercolor="#666666" bordercolordark="#FFFFFF" bgcolor="#FFFFFF" >
<tr bgcolor="#E6E6E6">
<td width="100%" colspan="2" align="center">
<font size=3><b><?php echo "Parameter's GUI Edit Design"; ?></b></font>
</td>
</tr>
<tr>
<td width="20%">
<?php echo $strSelectDeviceType; ?>
</td>
<td width="80%">
<select size="1" name="sysTypeNo" onChange="javascript:chgSysType()">
<?php
//显示选择设备下拉菜单
$sysTypeSql ="SELECT sysTypeNo,sysTypeName,snmpHead FROM $sysConfTable WHERE needParamConf ='1' ORDER BY sysTypeName";
if($DEBUG) echo "<br>$sysTypeSql";
$sysTypeResult = mysqli_query($pubConn,$sysTypeSql);
$sysTypeRows = @mysqli_fetch_array($sysTypeResult);
do{
if($sysTypeRows[sysTypeNo] == 225 ||
$sysTypeRows[sysTypeNo] == 260 ||
$sysTypeRows[sysTypeNo] == 311 ||
$sysTypeRows[sysTypeNo] == 320 ||
$sysTypeRows[sysTypeNo] == 325 ||
$sysTypeRows[sysTypeNo] == 330 ||
$sysTypeRows[sysTypeNo] == 340 ||
$sysTypeRows[sysTypeNo] == 350 ||
$sysTypeRows[sysTypeNo] == 355 ||
$sysTypeRows[sysTypeNo] == 375 ||
$sysTypeRows[sysTypeNo] == 378 ||
$sysTypeRows[sysTypeNo] == 379 ||
$sysTypeRows[sysTypeNo] == 380 ||
$sysTypeRows[sysTypeNo] == 385 ||
$sysTypeRows[sysTypeNo] == 386 ||
$sysTypeRows[sysTypeNo] == 390
)
continue;
echo "<option value=\"$sysTypeRows[sysTypeNo]\" ";
if($sysTypeRows[sysTypeNo] == $sysTypeNo && isset($sysTypeNo)){
echo"selected";
$snmpHeadStr = $sysTypeRows[snmpHead];
$sysTypeName = $sysTypeRows[sysTypeName];
}
echo ">";
echo "$sysTypeRows[sysTypeName]";
echo "</option>";
}while($sysTypeRows = mysqli_fetch_array($sysTypeResult));
?>
</select>
</td>
</tr>
<tr>
<td>
<?php echo $strSelectParaType; ?>
</td>
<td>
<select size="1" name="keyId" onChange="javascript:chgObj()">
<?php
$orderBy = '';
for($i=1;$i<=$maxLevelNum;$i++){
if($i < $maxLevelNum){
$tempStr = ' level_'.$i.',';
}else{
$tempStr = ' level_'.$i;
}
$orderBy .= $tempStr;
}
$objSql = "SELECT * FROM $paramConfTable
ORDER BY $orderBy
";
$objResult = mysqli_query($pubConn ,$objSql);
//显示选择参数类型下拉菜单
echo"<option value=\"new\">------------------New------------------</option>";
while($objRows = mysqli_fetch_array($objResult)){
echo "<option value=\"$objRows[keyId]\" ";
if($objRows[keyId] == $keyId && $keyId > 0){
echo "selected";
}
echo ">";
$spaceStr = '';
$oidStr='';
for($i= $maxLevelNum; $i>=1; $i--){
$levelEndId = 'level_'.$i;
if($objRows[$levelEndId] > 0){
for($j=1;$j<=$i;$j++){
$spaceStr .='&nbsp&nbsp';
$levelBgnId = 'level_'.$j;
$oidStr .=$objRows[$levelBgnId].'.';
}
$spaceStr .='|--';
break;
}
}
echo "$spaceStr $oidStr $objRows[$objNameField]";
echo"</option>";
}
?>
</select>
<?php
if($DEBUG) echo "<br>selected Id = $keyId";
if($DEBUG) echo "<br>objSql = $objSql";
if($DEBUG) echo mysqli_error($pubConn);
?>
</td>
</tr>
<?php
$objSql = "SELECT $objNameField,$objSetField,length,initValue,valueType FROM $paramConfTable WHERE keyId = '$keyId'";
$objResult = mysqli_query($pubConn ,$objSql);
$objRows = @mysqli_fetch_array($objResult);
$length = $objRows[length];
$objName = $objRows[$objNameField];
$initValue = $objRows[initValue];
$valueType = $objRows[valueType];
if($DEBUG) echo "<br>valueType=$valueType";
?>
<tr bgcolor="#E6E6E6">
<td colspan="2" width="100%">
<font size=2><b>Design Area</b></font>
<?php if($DEBUG) echo "<br>objSql=$objSql<br>";?>
<?php echo mysqli_error($pubConn);?>
</td>
</tr>
<?php //------参数名----------- ?>
<tr>
<td>Name</td>
<td><input type="text" name="objName" size="40" value="<?php echo "$objName";?>"></td>
</tr>
<?php //------参数偏移量----------- ?>
<tr>
<td>offset</td>
<td>
From <select size="1" name="bgnByte">
<?php
if($valueType == '2'){
echo "<option value=\"0\">0</option>";
}else{
for($i=0;$i<$length;$i++){
$i = (strlen($i) < 2)?'0'.$i:$i;
echo "<option value=\"$i\">$i</option>";
}
}
?>
</select>
byte
<select size="1" name="bgnBit"><option value="0">0</option>
<option value="1">1</option><option value="2">2</option>
<option value="3">3</option><option value="4">4</option>
<option value="5">5</option><option value="6">6</option>
<option value="7">7</option>
</select>bit&nbsp;&nbsp;&nbsp;
To<select size="1" name="endByte">
<?php
if($valueType == '2'){
$i=$length - 1;
echo "<option value=\"$i\">$i</option>";
}else{
for($i=0;$i<$length;$i++){
$i = (strlen($i) < 2)?'0'.$i:$i;
echo "<option value=\"$i\">$i</option>";
}
}
?>
</select>byte
<select size="1" name="endBit"><option value="7">7</option>
<option value="6">6</option><option value="5">5</option>
<option value="4">4</option><option value="3">3</option>
<option value="2">2</option><option value="1">1</option>
<option value="0">0</option>
</select>bit
<?php
if($valueType == '2'){
echo "(Value Type : Integer)";
}else{
echo "(Value Type : Octet String)";
}
?>
</td>
</tr>
<?php //------单元编辑名----------- ?>
<tr>
<td>Unit Name</td>
<td><input type="text" name="unitName" size="30">
<!--
Type:<select size="1" name="unitType">
<option value="others">others</option>
<option value="telNum">Telephone number</option>
<option value="ipAddr">IP address</option>
</select>(need if oct string)
-->
</td>
</tr>
<?php //------输入框----------- ?>
<tr>
<td>Input Field</td>
<td> mode:
<select size="1" name="inputEditCode">
<?php
if($valueType == '4'){
echo "<option value=\"toDec-high-0\">Turn to Dec and high fill '0'</option>";
echo "<option value=\"keepHex-high-0\">Keep Hex and high fill '0'</option>";
echo "<option value=\"keepHex-low-E\">Keep Hex and low fill 'E'</option>";
echo "<option value=\"keepHex-low-F\">Keep Hex and low fill 'F'</option>";
echo "<option value=\"toAscii-low-0\">Turn to Ascii and low fill 0</option>";
}elseif($valueType == '2'){
echo "<option value=\"keepDec-high-0\">Keep Dec and high fill '0'</option>";
//echo "<option value=\"toHex-high-0\">To Hex and high fill '0'</option>";
}else{
echo "<option value=\"keepHex-high-0\">Error:Unknown value type!!</option>";
}
?>
</select>
<input type="button" value="Add input field" name="B2" onclick="javascript:addInputField()"></td>
</tr>
<?php //------下拉菜单----------- ?>
<tr>
<td>Put down Menu</td>
<td>Option number:
<input type="text" name="optNum" size="5">
<input type="button" value="ok" name="B7" onclick="javascript:addSelecArea()">
Please change "decValue" and "menuName"
</td>
</tr>
<tr bgcolor="#E6E6E6">
<td colspan="2" width="100%"><font size=2><b>Created Code</b></font></td>
</tr>
<?php //------编辑代码----------- ?>
<tr>
<td colspan="2" width="100%"><textarea rows="10" name="codeArea" cols="75"><?php echo "$objRows[$objSetField]"?></textarea></td>
</tr>
</table>
<br>
<input type="submit" value="Save" name="save">&nbsp;&nbsp;
<input type="Reset" value="Reset" >&nbsp;&nbsp;
<input type="button" value="Preview" onclick="javascript:preview(<?php echo "'$sysTypeNo','$keyId','$initValue'";?>)">
</form>
<hr>
说明:
<br>1.如果一个参数值由多个值组成,则可分成多个编辑单元,以便用户编辑。
<br>2.每个编辑单元,可制定不同的编辑方式(输入框或下拉菜单)。
<br>3.当使用下拉菜单时,需要替换代码区中的"[v]DecValue[opt]MenuName"中的DecValue(十进制值)和MenuName(菜单名)。
<br>4.如果某段数值预留不用,请用"[unit]reserved[u]bgnOffset-endOffset[u]select"标示。
<br>5.请注意,不能删除语法标签[unit],[u],[v],[opt],[remark],同时也不要在说明中使用这些标签。
<br>6.生成的编辑代码保存后,可点击"Preview"来查看是否正确。
<?php
adjust_content_tail();
?>
</body>
</html>
+436
View File
@@ -0,0 +1,436 @@
<?php
/*********************************************************
程序说明:
功能说明:本程序实现对数据表中的参数的初始化,根据参数类型的定义,
在参数表中填入缺省参数值和参数对象编号。
调用关系:调用: header.inc
被调用:paramConf.php
变量说明:
返回值:
作者:
修改注释:
NO.1
姓名 :
时间 :
修改说明:
*********************************************************/
@set_time_limit(600);
require("../../inc/header.inc");
$DEBUG = 0;
function omcGetObjDb($sysTypeNo){
$dbName = 'OBJ_'.$sysTypeNo;
return($dbName);
}
function omcGetObjTbl($tableType='paramConf',$sysTypeNo,$sysNo=0,$subSysNo=0){
$dbName = 'OBJ_'.$sysTypeNo;
switch($tableType){
case 'paramConf':
$tableName = $dbName.'.paramConf';
break;
case 'param':
$tableName = $dbName.'.param_'.$sysNo;
break;
default:
echo "<br><b>function omcGetObjTbl(): Unknown table Type:$tableType</b>";
exit();
}
return($tableName);
}
function initParbyConf($sysTypeNo)
{
$DEBUG=0;
$pubDb = "OMC_PUB";
global $PlatTypeDefArr;
$objDb = omcGetObjDb($sysTypeNo);
$paramConfTable = omcGetObjTbl('paramConf',$sysTypeNo); //得到参数定义表的名称
$nPubFlag = 99;
$nSubSysParam = 0;
$nGlobalSubSysParam = 1;
$nGlobalSysParam = 2;
//********************************取出设备类型定义*******************************
$sysConfTable = 'OMC_PUB.sysConf';
$confSql = "SELECT maxSysNum,maxSubSysNum,needGlobalSysParam,snmpInstanceBgn
FROM $sysConfTable
WHERE sysTypeNo='$sysTypeNo'
";
$confResult = mysqli_query($pubConn ,$confSql);
$confRows = mysqli_fetch_array($confResult);
$maxSysNum = $confRows[maxSysNum];
$maxSubSysNum = $confRows[maxSubSysNum];
$needGlobalSysParam = $confRows[needGlobalSysParam];
$snmpInstanceBgn = $confRows[snmpInstanceBgn];
if($DEBUG) echo "<br>confSql = $confSql";
if($DEBUG) echo "<br>sysTypeNo = $sysTypeNo";
if($DEBUG) echo "<br>maxSysNum = $maxSysNum";
if($DEBUG) echo "<br>maxSubSysNum = $maxSubSysNum";
if($DEBUG) echo "<br>needGlobalSysParam = $needGlobalSysParam";
//********************************取出参数类型定义**********************************
$getConfSql = "SELECT paramType,number,length,valueType,operType,initValue,
level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10
FROM $paramConfTable
WHERE number > '0' AND LENGTH(initValue) > 0
ORDER BY level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10
";
if($DEBUG) echo "<br>getConfSql = $getConfSql";
$getConfResult = mysqli_query($pubConn,$getConfSql);
echo mysqli_error($pubConn);
if(mysqli_num_rows($getConfResult) < 0){
echo "Cannot get vailed record form paramConfTable:$paramConfTable";
}
//********************************循环填充每一个参数类型****************************
$confRowsNum = mysqli_num_rows($getConfResult);
while($confRows = mysqli_fetch_array($getConfResult)){
//取出该类型参数信息
$paramType = $confRows[paramType];
$number = $confRows[number];
$length = $confRows[length];
$valueType = $confRows[valueType];
$operType = $confRows[operType];
$initValue = $confRows[initValue];
$levelWhereStr = '';
for($i=1; $i<=10; $i++){
$level_i = "level_$i";
$levelWhereStr .= " $level_i=" . $confRows[$level_i] . " and";
}
$levelWhereStr = rtrim($levelWhereStr,'and');
if($paramType == $nGlobalSysParam){
$paramTable = omcGetObjTbl('param',$sysTypeNo,$nPubFlag);
$subSysNo = $nPubFlag;
$updSql = "update $paramTable set initValue='$initValue', readValue='' where $levelWhereStr";
if($DEBUG)echo "<br>updSql = $updSql";
mysqli_query($pubConn,$updSql);
if($sysTypeNo==222||$sysTypeNo==223){//platform system
for($sysNo=0;$sysNo<$maxSysNum;$sysNo++){ //每个系统编号
if($sysNo!=8&&$sysNo!=11)//目前只有VMS AAS用到了平台参数
continue;
$paramTable = omcGetObjTbl('param',$sysTypeNo,$sysNo);
$updSql = "update $paramTable set initValue='$initValue', readValue='' where $levelWhereStr";
if($DEBUG)echo "<br>updSql = $updSql";
mysqli_query($pubConn,$updSql);
}
}
}else if($paramType == $nGlobalSubSysParam){
for($sysNo=0;$sysNo<$maxSysNum;$sysNo++){ //每个系统编号
$paramTable = omcGetObjTbl('param',$sysTypeNo,$sysNo);
$subSysNo = $nPubFlag;
$updSql = "update $paramTable set initValue='$initValue', readValue='' where $levelWhereStr";
if($DEBUG)echo "<br>updSql = $updSql";
mysqli_query($pubConn,$updSql);
}
}else{//子系统参数
for($sysNo=0;$sysNo<$maxSysNum;$sysNo++){ //每个系统编号
$paramTable = omcGetObjTbl('param',$sysTypeNo,$sysNo);
$updSql = "update $paramTable set initValue='$initValue', readValue='' where $levelWhereStr";
if($DEBUG)echo "<br>updSql = $updSql";
mysqli_query($pubConn,$updSql);
}
}//end of ($paramType)
if($confRowsNum > 20){
print("&gt;");
}else{
print("&gt;&gt;");
}
flush();
//if($DEBUG) exit();
}//end of while
}
function initParam($sysTypeNo)
{
global $PlatTypeDefArr;
$objDb = omcGetObjDb($sysTypeNo);
$paramConfTable = omcGetObjTbl('paramConf',$sysTypeNo); //得到参数定义表的名称
$maxFieldLen = 128;
$nPubFlag = 99;
$nSubSysParam = 0;
$nGlobalSubSysParam = 1;
$nGlobalSysParam = 2;
//********************************取出设备类型定义*******************************
$sysConfTable = 'OMC_PUB.sysConf';
$confSql = "SELECT maxSysNum,maxSubSysNum,needGlobalSysParam,snmpInstanceBgn
FROM $sysConfTable
WHERE sysTypeNo='$sysTypeNo'
";
$confResult = mysqli_query($pubConn ,$confSql);
$confRows = mysqli_fetch_array($confResult);
$maxSysNum = $confRows[maxSysNum];
$maxSubSysNum = $confRows[maxSubSysNum];
$needGlobalSysParam = $confRows[needGlobalSysParam];
$snmpInstanceBgn = $confRows[snmpInstanceBgn];
if($DEBUG) echo "<br>sysTypeNo = $sysTypeNo";
if($DEBUG) echo "<br>maxSysNum = $maxSysNum";
if($DEBUG) echo "<br>maxSubSysNum = $maxSubSysNum";
if($DEBUG) echo "<br>needGlobalSysParam = $needGlobalSysParam";
//************删去每个系统原有的参数表,并创建新的表************************************
if($needGlobalSysParam > '0'){
$GlobalSysParamTable = 'param_'.$nPubFlag;
$dropSql = " DROP TABLE $GlobalSysParamTable ";
if($DEBUG) echo "<br>---->dropSql = $dropSql";
mysqli_query($pubConn,$dropSql);
//echo mysqli_error($pubConn);
sleep(1);
$createTableSql="CREATE TABLE $GlobalSysParamTable (
subSysNo tinyint(3) unsigned DEFAULT '0' NOT NULL,
paramType tinyint(1) unsigned DEFAULT '0' NOT NULL,
level_1 int(5) unsigned DEFAULT '0' NOT NULL,
level_2 int(5) unsigned DEFAULT '0' NOT NULL,
level_3 int(5) unsigned DEFAULT '0' NOT NULL,
level_4 int(5) unsigned DEFAULT '0' NOT NULL,
level_5 int(5) unsigned DEFAULT '0' NOT NULL,
level_6 int(5) unsigned DEFAULT '0' NOT NULL,
level_7 int(5) unsigned DEFAULT '0' NOT NULL,
level_8 int(5) unsigned DEFAULT '0' NOT NULL,
level_9 int(5) unsigned DEFAULT '0' NOT NULL,
level_10 int(5) unsigned DEFAULT '0' NOT NULL,
instanceNo int(5) unsigned DEFAULT '0' NOT NULL,
sortNo tinyint(2) unsigned DEFAULT '0' NOT NULL,
valueType tinyint(1) unsigned DEFAULT '0' NOT NULL,
operType tinyint(1) unsigned DEFAULT '0' NOT NULL,
length smallint(3) unsigned DEFAULT '0' NOT NULL,
initValue varchar(255) binary NOT NULL,
readValue varchar(255) binary NOT NULL,
UNIQUE KEY keyList( subSysNo ,level_1,level_2,level_3,level_4,level_5,
level_6, level_7 ,level_8,level_9,level_10,instanceNo),
KEY subSysNo (subSysNo),
KEY level_1 (level_1),
KEY level_2 (level_2),
KEY level_3 (level_3),
KEY level_4 (level_4),
KEY level_5 (level_5),
KEY level_6 (level_6),
KEY level_7 (level_7),
KEY level_8 (level_8),
KEY level_9 (level_9),
KEY level_10 (level_10),
KEY instanceNo (instanceNo)
)";
if($DEBUG) echo "<br>---->createTableSql = $createTableSql";
mysqli_query($pubConn,$createTableSql);
echo mysqli_error($pubConn);
}
for($sysNo=0;$sysNo<$maxSysNum;$sysNo++){
$paramTable = omcGetObjTbl('param',$sysTypeNo,$sysNo); //得到参数定义表的名称
if($DEBUG) echo "<br>---->paramTable = $paramTable";
$dropSql = " DROP TABLE $paramTable ";
if($DEBUG) echo "<br>---->dropSql = $dropSql";
mysqli_query($pubConn,$dropSql);
echo mysqli_error($pubConn);
sleep(1);
$createTableSql="CREATE TABLE $paramTable (
subSysNo tinyint(3) unsigned DEFAULT '0' NOT NULL,
paramType tinyint(1) unsigned DEFAULT '0' NOT NULL,
level_1 int(5) unsigned DEFAULT '0' NOT NULL,
level_2 int(5) unsigned DEFAULT '0' NOT NULL,
level_3 int(5) unsigned DEFAULT '0' NOT NULL,
level_4 int(5) unsigned DEFAULT '0' NOT NULL,
level_5 int(5) unsigned DEFAULT '0' NOT NULL,
level_6 int(5) unsigned DEFAULT '0' NOT NULL,
level_7 int(5) unsigned DEFAULT '0' NOT NULL,
level_8 int(5) unsigned DEFAULT '0' NOT NULL,
level_9 int(5) unsigned DEFAULT '0' NOT NULL,
level_10 int(5) unsigned DEFAULT '0' NOT NULL,
instanceNo int(5) unsigned DEFAULT '0' NOT NULL,
sortNo tinyint(2) unsigned DEFAULT '0' NOT NULL,
valueType tinyint(1) unsigned DEFAULT '0' NOT NULL,
operType tinyint(1) unsigned DEFAULT '0' NOT NULL,
length smallint(3) unsigned DEFAULT '0' NOT NULL,
initValue varchar(255) binary NOT NULL,
readValue varchar(255) binary NOT NULL,
UNIQUE KEY keyList( subSysNo ,level_1,level_2,level_3,level_4,level_5,
level_6, level_7 ,level_8,level_9,level_10,instanceNo),
KEY subSysNo (subSysNo),
KEY level_1 (level_1),
KEY level_2 (level_2),
KEY level_3 (level_3),
KEY level_4 (level_4),
KEY level_5 (level_5),
KEY level_6 (level_6),
KEY level_7 (level_7),
KEY level_8 (level_8),
KEY level_9 (level_9),
KEY level_10 (level_10),
KEY instanceNo (instanceNo)
)";
if($DEBUG) echo "<br>---->createTableSql = $createTableSql";
mysqli_query($pubConn,$createTableSql);
echo mysqli_error($pubConn);
}//end of for()
//********************************取出参数类型定义**********************************
$getConfSql = "SELECT paramType,number,length,valueType,operType,initValue,
level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10
FROM $paramConfTable
WHERE number > '0' AND LENGTH(initValue) > 0
ORDER BY level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10
";
if($DEBUG) echo "<br>getConfSql = $getConfSql";
$getConfResult = mysqli_query($pubConn,$getConfSql);
echo mysqli_error($pubConn);
if(mysqli_num_rows($getConfResult) < 0){
echo "Cannot get vailed record form paramConfTable:$paramConfTable";
}
//********************************循环填充每一个参数类型****************************
$confRowsNum = mysqli_num_rows($getConfResult);
while($confRows = mysqli_fetch_array($getConfResult)){
//取出该类型参数信息
$paramType = $confRows[paramType];
$number = $confRows[number];
$length = $confRows[length];
$valueType = $confRows[valueType];
$operType = $confRows[operType];
$initValue = $confRows[initValue];
$sortNo = 0;
$level_1 = $confRows[level_1];
$level_2 = $confRows[level_2];
$level_3 = $confRows[level_3];
$level_4 = $confRows[level_4];
$level_5 = $confRows[level_5];
$level_6 = $confRows[level_6];
$level_7 = $confRows[level_7];
$level_8 = $confRows[level_8];
$level_9 = $confRows[level_9];
$level_10 = $confRows[level_10];
for($instanceNo=$snmpInstanceBgn;$instanceNo<$number+$snmpInstanceBgn;$instanceNo++){//每个实例编号
if($paramType == $nGlobalSysParam){
$paramTable = omcGetObjTbl('param',$sysTypeNo,$nPubFlag);
$subSysNo = $nPubFlag;
$insertSql="INSERT INTO $paramTable
(subSysNo,paramType,instanceNo,sortNo,valueType,operType,length,initValue,
level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,Level_10)
VALUES
('$subSysNo','$paramType','$instanceNo','$sortNo','$valueType','$operType','$length',
'$initValue','$level_1','$level_2','$level_3','$level_4','$level_5',
'$level_6','$level_7','$level_8','$level_9','$level_10')
";
if($DEBUG) echo "<br> $insertSql";
mysqli_query($pubConn,$insertSql);
echo mysqli_error($pubConn);
if($sysTypeNo==222||$sysTypeNo==223){//platform system
for($sysNo=0;$sysNo<$maxSysNum;$sysNo++){ //每个系统编号
if($sysNo!=8&&$sysNo!=11)//目前只有VMS AAS用到了平台参数
continue;
$paramTable = omcGetObjTbl('param',$sysTypeNo,$sysNo);
for($subSysNo=0; $subSysNo < $PlatTypeDefArr[$sysNo][maxSysNum]; $subSysNo++){//每个子系统
$insertSql="INSERT INTO $paramTable
(subSysNo,paramType,instanceNo,sortNo,valueType,operType,length,initValue,
level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,Level_10)
VALUES
('$subSysNo','$nSubSysParam','$instanceNo','$sortNo','$valueType','$operType','$length',
'$initValue','$level_1','$level_2','$level_3','$level_4','$level_5',
'$level_6','$level_7','$level_8','$level_9','$level_10')
";
if($DEBUG)
echo "<br> $insertSql";
mysqli_query($pubConn,$insertSql);
echo mysqli_error($pubConn);
}//end for
}
}
}else if($paramType == $nGlobalSubSysParam){
for($sysNo=0;$sysNo<$maxSysNum;$sysNo++){ //每个系统编号
$paramTable = omcGetObjTbl('param',$sysTypeNo,$sysNo);
$subSysNo = $nPubFlag;
$insertSql="INSERT INTO $paramTable
(subSysNo,paramType,instanceNo,sortNo,valueType,operType,length,initValue,
level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,Level_10)
VALUES
('$subSysNo','$paramType','$instanceNo','$sortNo','$valueType','$operType','$length',
'$initValue','$level_1','$level_2','$level_3','$level_4','$level_5',
'$level_6','$level_7','$level_8','$level_9','$level_10')
";
if($DEBUG) echo "<br> $insertSql";
mysqli_query($pubConn,$insertSql);
echo mysqli_error($pubConn);
}
}else{//子系统参数
for($sysNo=0;$sysNo<$maxSysNum;$sysNo++){ //每个系统编号
$paramTable = omcGetObjTbl('param',$sysTypeNo,$sysNo);
for($subSysNo=0; $subSysNo < $maxSubSysNum; $subSysNo++){//每个子系统
$insertSql="INSERT INTO $paramTable
(subSysNo,paramType,instanceNo,sortNo,valueType,operType,length,initValue,
level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,Level_10)
VALUES
('$subSysNo','$paramType','$instanceNo','$sortNo','$valueType','$operType','$length',
'$initValue','$level_1','$level_2','$level_3','$level_4','$level_5',
'$level_6','$level_7','$level_8','$level_9','$level_10')
";
if($DEBUG) echo "<br> $insertSql";
mysqli_query($pubConn,$insertSql);
echo mysqli_error($pubConn);
}
}
}//end of for($paramType)
}//end of for($instanceNo..)
if($confRowsNum > 20){
print("&gt;");
}else{
print("&gt;&gt;");
}
flush();
//if($DEBUG) exit();
}//end of while
}
echo "<br>";
echo "<br><font size=3><b>Please wait a while for the operation to be finished...</b></font><br>";
if(isset($initAll))
{
//get all sysTypeNos that need to initial
$selSql = "select sysTypeNo,sysTypeName from OMC_PUB.sysConf where needParamConf='1' order by sysTypeNo";
$Result = mysqli_query($pubConn,$selSql);
while($Rows = mysqli_fetch_array($Result))
{
echo "<br><b>Init {$Rows[sysTypeName]} ...</b><br>";
$sysTypeNo = $Rows[sysTypeNo];
if($dropAndRecreate==1)
initParam($sysTypeNo);
else
initParbyConf($sysTypeNo);
}
//init BssOmcDb OMCR_BssFunc
$updateSql = "UPDATE BssOmcDb.OMCR_BSSTABLE SET ip='',name='',remark='',connected='0',alarmed='0',uploaded='0'";
mysqli_query($pubConn,$updateSql);
}
else
{
if($dropAndRecreate==1)
initParam($sysTypeNo);
else
initParbyConf($sysTypeNo);
}
if($confirm==1){
echo "\n<script language=\"javascript\">";
echo "\nalert(\"$strParaInitializationComplete\");";
echo "\nhistory.go(-1);";
echo "\n</script>";
}
else
echo "<br><br><br>$strParaInitializationComplete,<a href=./paramConf.php?sysTypeNo=$sysTypeNo>$strClickHereForReturn</a></font>";
?>
+30
View File
@@ -0,0 +1,30 @@
<?php
require("../../inc/header.inc");
?>
<html>
<?php
echo "<table border=\"0\" width=\"100%\">";
echo "<tr>";
echo "<td width=\"50%\">";
echo "Advance > Network > Init Parameters";
echo "</td>";
echo "<td width=\"50%\" align=\"right\" title=\"Help\">";
//showHelp($helpId);
echo "</td>";
echo "</tr>";
echo "</table>";
?>
<form method="POST" name=init action="<?php echo"./paramInit.php";?>">
<table border="1" width="100%" cellpadding="2" cellspacing="0" bordercolor="#666666" bordercolordark="#FFFFFF" bgcolor="#ffffff" >
<tr><td >
<b><font color="#FF0000" size="2"><?php echo "WARNING: all of the devices' parameters which saved in database will be replaced with default values "; ?></font></b>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="hidden" name=sysTypeNo value="<?php echo "$sysTypeNo";?>">
<input type="hidden" name=initAll value="1">
<input type="hidden" name=confirm value="1">
<input type="submit" value="<?php echo "Click here to init all parameters"; ?>" name="initParameter">
</td></tr>
</table>
</form>
</html>