sysId=$sysId"; $tmpSysIdArr = explode('_',$sysId); $sysTypeNo = $tmpSysIdArr[0]; $sysNo = $tmpSysIdArr[1]; $subSysNo = $tmpSysIdArr[2]; $paramDb = 'OBJ_'.$sysTypeNo; $objConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], $paramDb); if($DEBUG) echo"
paramDb=$paramDb"; //获取参数定义表的表名,根据oid取出参数定义 $tmpObjArr = explode('.',$objIdStr); $objWhereStr=''; for($i=0;$i $setParamValueSql
"; $setResult=mysqli_query($objConn,$setParamValueSql); echo mysqli_error($objConn); if($setResult){ return(1); }else{ return(-1); } }//end of function $DEBUG = 0; //echo "
impFile=$impFile"; //echo "
impFileSize=$impFileSize"; //echo "
sysId=$sysId"; $sysId = $_REQUEST['sysId']; $dataTypeNo = $_REQUEST['dataTypeNo']; $nGetComm = 0; $nSetComm = 3; $nSubSysParam = 0; $nGlobalSubSysParam = 1; $nGlobalSysParam = 2; $pubDb = 'OMC_PUB'; $sysSubsConfTable = 'OMC_PUB.sysSubsConf'; $systemConfTable = 'OMC_PUB.sysConf'; $sysInfoTable = 'OMC_PUB.sysInfo'; if($DEBUG) echo "(1) sysId=$sysId, dataTypeNo = $dataTypeNo
"; if(isset($sysId) && isset($dataTypeNo)){ $sysIdArr=explode('_',$sysId); $sysTypeNo =$sysIdArr[0]; $sysNo =$sysIdArr[1]; $subSysNo =$sysIdArr[2]; }else{ echo "Cannot find sysId and dataTypeNo"; exit(0); } if($DEBUG) echo "
sysTypeNo=$sysTypeNo"; if($DEBUG) echo "
dataTypeNo=$dataTypeNo"; if($sysTypeNo==390) $getConfSql="SELECT subsDataTable,impObjId,impFileName,ftpDir,ftpLoginName,ftpLoginPwd, logFileName,maxSegmentNum,maxIndexNumPerSeg FROM $sysSubsConfTable WHERE sysTypeNo='$sysTypeNo' AND dataTypeNo='$dataTypeNo' AND sysNo='$sysNo' "; else $getConfSql="SELECT subsDataTable,impObjId,impFileName,ftpDir,ftpLoginName,ftpLoginPwd, logFileName,maxSegmentNum,maxIndexNumPerSeg FROM $sysSubsConfTable WHERE sysTypeNo='$sysTypeNo' AND dataTypeNo='$dataTypeNo' "; if($DEBUG) echo "
getConfSql=$getConfSql"; $getConfResult=mysqli_query($pubConn,$getConfSql); echo mysqli_error($pubConn); $getConfRows=mysqli_fetch_array($getConfResult); $subsDataTable = $getConfRows[subsDataTable]; $impObjId = $getConfRows[impObjId]; $impFileName = $getConfRows[impFileName]; $logFileName = $getConfRows[logFileName]; $ftpDir = $getConfRows[ftpDir]; $ftpLoginName = $getConfRows[ftpLoginName]; $ftpLoginPwd = $getConfRows[ftpLoginPwd]; $maxSegmentNum = $getConfRows[maxSegmentNum]; $maxIndexNumPerSeg = $getConfRows[maxIndexNumPerSeg]; if($sysTypeNo==360||$sysTypeNo==395||$sysTypeNo==370||$sysTypeNo==375||$sysTypeNo==330||$sysTypeNo==325||$sysTypeNo==340||$sysTypeNo==380||$sysTypeNo==378) $paramType = $nGlobalSysParam; else if($sysTypeNo==390) $paramType = $nGlobalSubSysParam; else $paramType = $nSubSysParam; $maxTotalNum = $maxSegmentNum * $maxIndexNumPerSeg; if($sysTypeNo == 395) { $maxImpFileSize = 5*1024*1024*4; $maxImpFileSizeM=ceil($maxImpFileSize/1024/1024); $maxImpRecordNum = 20000; } else { $maxImpFileSize = 10*1024*1024; $maxImpFileSizeM=ceil($maxImpFileSize/1024/1024); $maxImpRecordNum = 5000; } if($DEBUG)echo "
subsDataTable=$subsDataTable"; if($DEBUG)echo "
impObjId= $impObjId"; if($DEBUG)echo "
impFileName=$impFileName "; if($DEBUG)echo "
ftpDir=$ftpDir "; if($DEBUG)echo "
ftpLoginName=$ftpLoginName "; if($DEBUG)echo "
ftpLoginPwd=$ftpLoginPwd"; if($DEBUG)echo "
maxSegmentNum=$maxSegmentNum "; if($DEBUG)echo "
maxIndexNumPerSeg=$maxIndexNumPerSeg "; if($DEBUG)echo "
paramType=$paramType "; if($DEBUG)echo "
maxTotalNum=$maxTotalNum "; //Get the system name; $selSql = "SELECT sysTypeName FROM sysConf WHERE sysTypeNo='$sysTypeNo'"; if ($DEBUG) echo "selSql = $selSql
"; $selRes = @mysqli_query($pubConn, $selSql); echo mysqli_error($pubConn); $selRow = @mysqli_fetch_array($selRes); $sysName = $selRow[sysTypeName]; if ($DEBUG) echo "sysName = $sysName
"; $upfile=$_FILES['impFile']['name']; $impFile=$_FILES['impFile']['tmp_name']; //判断是否有文件上载 if(isset($impFile) && $impFile != "none"){ if($sysTypeNo==390) { $getSysIdSql = "SELECT sysNo,subSysNo,ip FROM $sysInfoTable WHERE sysTypeNo='$sysTypeNo' AND sysNo='$sysNo' AND baseStat > '0' ORDER BY sysNo,subSysNo "; } else if($sysTypeNo == 378) { $getSysIdSql = "SELECT sysNo,subSysNo,ip FROM $sysInfoTable WHERE sysTypeNo='$sysTypeNo' ORDER BY sysNo,subSysNo "; } else { $getSysIdSql = "SELECT sysNo,subSysNo,ip FROM $sysInfoTable WHERE sysTypeNo='$sysTypeNo' AND baseStat > '0' ORDER BY sysNo,subSysNo "; } if($DEBUG) echo "
getSysIdSql=$getSysIdSql"; $getSysIdResult= mysqli_query($pubConn,$getSysIdSql); echo mysqli_error($pubConn); $runningServerNum = mysqli_num_rows($getSysIdResult); //ipalim状态需要查看sysStat里的status值 if($sysTypeNo == 378) { $runningServerNum=0; $checkstatesql="select detailStat,updateTime from OMC_PUB.sysStat where sysTypeNo=378 "; $checkstateres=mysqli_query($pubConn,$checkstatesql); while($checkstaterow=mysqli_fetch_array($checkstateres)) { $update_time=$checkstaterow[updateTime]; $bin_data=$checkstaterow[detailStat]; $state=substr($bin_data,26*2,2)+0; $due_date = date("Y-m-d H:i:s",mktime(date("H"),date("i"),date("s")-48,date("m"),date("d"),date("Y"))); $ove_date = date("Y-m-d H:i:s",mktime(date("H"),date("i"),date("s")+48,date("m"),date("d"),date("Y"))); if($update_time < $due_date || $update_time > $ove_date) continue; if($state == 0) $runningServerNum++; } } if($runningServerNum <= 0){ echo "Error: No system running normally"; //by hewd 2003-08-19 //PPS 没有用户数据的时候,它自己会告警,使状态变为非normal,造成不能导入数据 exit(); } if($DEBUG) echo "running server number = $runningServerNum
"; //找出已有的记录个数 $getTotalSql = "SELECT count(*) FROM $subsDataTable"; if($DEBUG) echo "
getTotalSql=$getTotalSql"; $getTotalRes = mysqli_query($pubConn,$getTotalSql); $getTotalRow = @mysqli_fetch_array($getTotalRes); $existNum = $getTotalRow[0]; if($DEBUG) echo "
existNum=$existNum"; //检查导入的文件大小,记录条数 $impFileSize = filesize($impFile); if($DEBUG) { echo "
impFile=$impFile"; echo "
impFileSize=$impFileSize
"; } if($impFileSize > $maxImpFileSize){ $impFileSizeM=ceil($impFileSize/1024/1024); echo "
Import File Size is $impFileSizeM M"; echo "
File size is too large!(Must <= {$maxImpFileSizeM}M)
"; @unlink ($impFile); exit(); } if($impFileSize <=0){ echo "
No import File"; @unlink ($impFile); exit(); } $impRecordNum = count(file($impFile)); if($DEBUG) echo "
impRecordNum=$impRecordNum"; if($impRecordNum > $maxImpRecordNum){ echo "
Import file record number is $impRecordNum"; echo "
Records are too much!(Must <= $maxImpRecordNum)
"; @unlink ($impFile); exit(); } if($impRecordNum > $maxTotalNum-$existNum){ echo "
Exist record number($existNum) + Import record number($impRecordNum) > Max record number ($maxTotalNum)"; echo "
User number is too much!
"; @unlink ($impFile); exit(); } $submitStat = 'DISABLED'; for ($k=0; $k<$runningServerNum; $k++) { $getSysIdRow=mysqli_fetch_array($getSysIdResult); $sysId=$sysTypeNo.'_'.$getSysIdRow[sysNo].'_'.$getSysIdRow[subSysNo]; $dstSeverIp = $getSysIdRow[ip]; if($sysTypeNo==360||$sysTypeNo==395||$sysTypeNo==370||$sysTypeNo==375||$sysTypeNo==330||$sysTypeNo==325||$sysTypeNo==340||$sysTypeNo==380||$sysTypeNo==378) $sysIdCyc[$k] = $sysTypeNo.'_99_99'; else if($sysTypeNo==390) $sysIdCyc[$k]='390_'.$getSysIdRow[sysNo].'_99'; else $sysIdCyc[$k] = $sysId; if($DEBUG) echo "
sysId = $sysId"; if($DEBUG) echo "
dstSeverIp = $dstSeverIp"; //debug_log("/tmp/deugImport.txt","sysIdCyc=$sysIdCyc[$k]"); /* close ftp $ftpCon=ftp_connect($dstSeverIp); if($ftpCon < 0){ echo "
Connect Failed!"; @unlink ($impFile); exit(); } */ $connection=sftp_connect($dstSeverIp); if(!$connection){ echo "
Connect Failed!"; @unlink ($impFile); exit(); } /* close ftp if(!ftp_login($ftpCon,$ftpLoginName,$ftpLoginPwd)){ echo "
Login Failed!"; @unlink ($impFile); exit(); } */ $key=sftp_login($connection,$ftpLoginName,$ftpLoginPwd); if(!$key) { echo "
Login Failed!"; @unlink ($impFile); exit(); } $remoteFileName=$ftpDir.$impFileName; /* close ftp if(!ftp_put($ftpCon,$remoteFileName,$impFile,FTP_ASCII)){ echo "
Put file Failed"; @unlink ($impFile); exit(); } */ if(!sftp_put($key,$remoteFileName,$impFile,SFTP_ASCII)) { echo "
Put file Failed"; @unlink ($impFile); exit(); } /* close ftp ftp_quit($ftpCon); */ $logFile="/usr/local/apache/htdocs/ftpFile/$logFileName"; @unlink ($logFile); } @unlink ($impFile); //修改设备参数 if($sysTypeNo==340){ $instanceNo = 0; $commState = $k4_flag.'1'; $totalNum = DecHex($impRecordNum); $totalNum = omc_keep_length($totalNum,'0',6); if($k4_flag!=8) $k4 = '0000000000000000'; else{ if(strlen($k4)<16){ echo "
K4 is incorrect!"; exit(); } } $newValue = $commState.$totalNum.$k4; }else{ $instanceNo = 0; $commState = '01'; $totalNum = DecHex($impRecordNum); $totalNum = omc_keep_length($totalNum,'0',6); $finishNum = '000000'; $newValue = $commState.$totalNum.$finishNum; } if($DEBUG)echo "
newValue=$newValue"; //exit(); switch($paramType){ case '1': $sysId=$sysTypeNo.'_'.$getSysIdRow[sysNo].'_99'; break; case '2': $sysId=$sysTypeNo.'_99_99'; break; default: break; } if($DEBUG) echo "
(2) sysId=$sysId"; //send set command if($sysTypeNo==360||$sysTypeNo==395||$sysTypeNo==370||$sysTypeNo==375||$sysTypeNo==330||$sysTypeNo==325||$sysTypeNo==340||$sysTypeNo==380||$sysTypeNo==390||$sysTypeNo==378){ //if($sysTypeNo==360) // $chgResult = setSysParamValue($sysIdCyc[0],$impObjId,$instanceNo,$newValue); //else $chgResult = setImpParamValue($sysIdCyc[0],$impObjId,$instanceNo,$newValue); $commStr = sysCommSend($sysIdCyc[0],$nSetComm,$impObjId); }else{ for ($k=0; $k<$runningServerNum; $k++) { //if($DEBUG) //echo "
{$sysIdCyc[$k]},$nSetComm,$impObjId
"; $chgResult = setSysParamValue($sysIdCyc[$k],$impObjId,$instanceNo,$newValue); $commStr = sysCommSend($sysIdCyc[$k],$nSetComm,$impObjId); if($DEBUG){ echo "setSysParamValue($sysId,$impObjId,$instanceNo,$newValue)
"; echo "sysCommSend($sysId,$nSetComm,$impObjId)"; } } } //让下面的命令扫描页面开始启动 echo ""; sleep(2); }elseif(isset($impFile)){ echo "
Upload file failed, File isn't exist or file is empty!"; } ?> "; ?>
" name="subsData" enctype="multipart/form-data"> if ( (395 == $sysTypeNo || 360 == $sysTypeNo) && (1 == $dataTypeNo) ) { $title = "$sysName recharge card data import"; } else { $title = "$sysName subscriber data import"; } echo ""; echo ""; echo ""; ?> "; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } ?>
"; echo "$title"; echo "
Note:Import File's size <= M, records <=
Select File:
K4 Flag"; echo ""; echo "
K4
submitStat=$submitStat"; if($submitStat == 'DISABLED'){ echo ""; }else{ echo ""; } echo ""; echo ""; ?>