214 lines
5.0 KiB
PHP
Executable File
214 lines
5.0 KiB
PHP
Executable File
<?php
|
|
require("../../inc/lib.inc");
|
|
/*************************************************
|
|
File name: saveParameter.php
|
|
Author: JianHui Zheng
|
|
Version: 9.00.00
|
|
Date: 2007-10-20
|
|
Description:这是一个后台程序,供operWebFunc.inc调用来完成参数的保存
|
|
接收的参数
|
|
$sysId
|
|
$oidStr
|
|
$instanceNo
|
|
$newValue
|
|
Calls:
|
|
Called:
|
|
|
|
History:
|
|
No.1:
|
|
Author:
|
|
Date:
|
|
Version:
|
|
Description:
|
|
*************************************************/
|
|
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 getNameByOID($sysTypeNo,$oidwhere)
|
|
{
|
|
global $objDbConn;
|
|
$tb="OBJ_".$sysTypeNo.".paramConf";
|
|
$sqlstr="select name_2 from $tb where $oidwhere";
|
|
$res = @mysqli_query( $objDbConn,$sqlstr);
|
|
$row = @mysqli_fetch_array($res);
|
|
return $row[name_2];
|
|
}
|
|
|
|
function adjustShowName($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 getOptVal($sysTypeNo,$oidwhere,$value)
|
|
{
|
|
global $objDbConn;
|
|
$tb="OBJ_".$sysTypeNo.".paramConf";
|
|
$sqlstr="select * from $tb where $oidwhere";
|
|
$res = @mysqli_query($objDbConn,$sqlstr);
|
|
$row = @mysqli_fetch_array($res);
|
|
|
|
if($row[operType] == 1 && $row[valueType] == 3 && strstr($row[setTemplate_2],"="))
|
|
{
|
|
$template=$row[setTemplate_2];
|
|
if(trim($template) == "")
|
|
return $value;
|
|
$options=explode(";",$template);
|
|
for($ii=0;$ii<sizeof($options);$ii++)
|
|
{
|
|
$tmp=explode("=",$options[$ii]);
|
|
$val=$tmp[0];
|
|
$opt=$tmp[1];
|
|
if($value == $opt)
|
|
return $val;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$ret=$value;
|
|
}
|
|
return $ret;
|
|
}
|
|
global $OMC_server;
|
|
|
|
|
|
$userName = $_REQUEST['userName'];
|
|
$sysId = $_REQUEST['sysId'];
|
|
$oidStr = $_REQUEST['oidStr'];
|
|
$instanceNo = $_REQUEST['instanceNo'];
|
|
$newValue = $_REQUEST['newValue'];
|
|
$paraTable = $_REQUEST['paraTable'];
|
|
|
|
|
|
$newValue=urldecode($newValue);
|
|
//system("echo ------------------------------------------------------ >>./temptemp.txt");
|
|
//system("date >>./temptemp.txt");
|
|
//system("echo sysId=$sysId oidStr=$oidStr instanceNo=$instanceNo newValue=($newValue) >>./temptemp.txt");
|
|
|
|
|
|
|
|
|
|
$sysIdArr=explode('_',$sysId);
|
|
$sysTypeNo=$sysIdArr[0];
|
|
$sysNo=$sysIdArr[1];
|
|
$subSysNo=$sysIdArr[2];
|
|
|
|
$database='OBJ_'.$sysTypeNo;
|
|
$objDbConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], $database);
|
|
|
|
$paraConfTable=$database.'.paramConf';
|
|
|
|
if(checkIndependSystem($sysTypeNo))//Plat
|
|
$paraTable=$database.".param_".$sysNo;
|
|
else
|
|
$paraTable=$database.".param_99";
|
|
|
|
|
|
|
|
$oidwhere=getLevelWhere($oidStr);
|
|
$updSql = "UPDATE $paraTable SET initValue='$newValue' where $oidwhere and instanceNo='$instanceNo' ";
|
|
|
|
//ISSUE-3
|
|
if(checkPlatWhoHaveSubSysNo($sysTypeNo,$sysNo))
|
|
{
|
|
$updSql.="and subSysNo='$subSysNo' ";
|
|
}
|
|
|
|
mysqli_query($objDbConn,$updSql);
|
|
//system("echo $updSql >>/tmp/temptemp.txt");
|
|
//compare the initValue and readValue
|
|
|
|
$selSql = "select initValue,readValue from $paraTable where $oidwhere and instanceNo='$instanceNo' ";
|
|
|
|
if(checkPlatWhoHaveSubSysNo($sysTypeNo,$sysNo))
|
|
{
|
|
$selSql.="and subSysNo='$subSysNo' ";
|
|
}
|
|
|
|
$selRes = @mysqli_query($objDbConn,$selSql);
|
|
$selRow = @mysqli_fetch_array($selRes);
|
|
$initValue=$selRow[0];
|
|
$readValue=$selRow[1];
|
|
//echo "$initValue $readValue";
|
|
|
|
if(strcmp($initValue,$readValue) == 0)
|
|
{
|
|
echo "same";
|
|
$isSaveFlag=0;
|
|
}
|
|
else
|
|
{
|
|
echo "different";
|
|
$isSaveFlag=1;
|
|
}
|
|
|
|
|
|
//insert log
|
|
$preoidwhere=$oidwhere;
|
|
$tmpstr=getNameByOID($sysTypeNo,$oidwhere);
|
|
$tmplen=strlen($tmpstr);
|
|
for($i=0;$i<$tmplen;$i++)
|
|
{
|
|
if($tmpstr[$i] >= 'A' && $tmpstr[$i] <= 'Z')
|
|
break;
|
|
}
|
|
$fieldName=substr($tmpstr,$i);
|
|
|
|
|
|
$oidwhere=getLevelWhere(substr($oidStr,0,strlen($oidStr)-2));
|
|
$tableName=getNameByOID($sysTypeNo,$oidwhere);
|
|
$tableName=str_replace("Entry","",$tableName);
|
|
$sysName=getSystemNameBySysTypeNo($sysTypeNo);
|
|
if($isSaveFlag)
|
|
{
|
|
$tableName=trim(adjustShowName($tableName));
|
|
$readValue=getOptVal($sysTypeNo,$preoidwhere,$readValue);
|
|
$initValue=getOptVal($sysTypeNo,$preoidwhere,$initValue);
|
|
$log="Change $sysName: $tableName $instanceNo's $fieldName, $readValue -> $initValue";
|
|
//$handle=fopen("/tmp/test.txt","a");
|
|
//fwrite($handle,$oidStr);
|
|
//fwrite($handle,"\n");
|
|
//fclose($handle);
|
|
insertLog($log);
|
|
}
|
|
|
|
|
|
?>
|