313 lines
9.2 KiB
PHP
Executable File
313 lines
9.2 KiB
PHP
Executable File
<?php
|
||
/*********************************************************
|
||
程序说明:
|
||
功能说明:用户数据的批量导入
|
||
|
||
调用关系:调用: header.inc
|
||
被调用:
|
||
|
||
变量说明:
|
||
|
||
作者:
|
||
|
||
修改注释:
|
||
NO.1
|
||
姓名:
|
||
时间:2003-03-10
|
||
修改说明:优化流程,规范变量命名
|
||
*********************************************************/
|
||
require("../../inc/header.inc");
|
||
global $pubConn;
|
||
function getImpParamValue($sysId,$objIdStr,$instanceNo,$valueName)
|
||
{
|
||
|
||
global $paramConf_table,$OMC_server;
|
||
|
||
$DEBUG=0;
|
||
|
||
$tmpSysIdArr = explode('_',$sysId);
|
||
$sysTypeNo = $tmpSysIdArr[0];
|
||
$sysNo = $tmpSysIdArr[1];
|
||
$subSysNo = $tmpSysIdArr[2];
|
||
$objDbConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], 'OBJ_'.$sysTypeNo);
|
||
|
||
$paramDb = 'OBJ_'.$sysTypeNo;
|
||
//获取参数定义表的表名,根据oid取出参数定义
|
||
$tmpObjArr = explode('.',$objIdStr);
|
||
$objWhereStr='';
|
||
for($i=0;$i<sizeof($tmpObjArr);$i++){
|
||
$j=$i+1;
|
||
$objWhereStr .= ' level_'.$j."='{$tmpObjArr[$i]}' AND ";
|
||
}
|
||
$objWhereStr = substr($objWhereStr,0,-5); //最后多了一个' AND ',将其去掉
|
||
|
||
//根据参数类型,推出参数表的表名
|
||
if($sysTypeNo==390)
|
||
{
|
||
$paramTable = 'param_'.$sysNo;
|
||
}
|
||
else
|
||
{
|
||
$paramTable = 'param_99';
|
||
$subSysNo = '99';
|
||
}
|
||
|
||
//subSysNo = '$subSysNo' AND instanceNo = '$instanceNo' AND
|
||
|
||
//修改对应的参数值
|
||
if($DEBUG) echo"<br>valueName=$valueName <br>";
|
||
$getParamValueSql="SELECT $valueName FROM $paramTable
|
||
WHERE $objWhereStr and instanceNo <> ''
|
||
";
|
||
if($DEBUG) echo"<br> aaa=$getParamValueSql <br>";
|
||
$getResult=mysqli_query($objDbConn,$getParamValueSql);
|
||
echo mysqli_error($objDbConn);
|
||
if(mysqli_num_rows($getResult) > 0){
|
||
$paramRows = mysqli_fetch_array($getResult);
|
||
//print_r($paramRows);
|
||
$paramValue = $paramRows[0];
|
||
return($paramValue);
|
||
}else{
|
||
return(-1);
|
||
}
|
||
}//end of function
|
||
$DEBUG =0;
|
||
//command state
|
||
$nProcFail =0;
|
||
$nWaitProc =1;
|
||
$nInProc =2;
|
||
$nOutProc =3;
|
||
$sysId = $_REQUEST['sysId'];
|
||
$dataTypeNo = $_REQUEST['dataTypeNo'];
|
||
|
||
|
||
//impCommState
|
||
//01=通知导入用户;02=正在导入用户;03=导入用户成功;04=导入用户失败
|
||
/*
|
||
$impNote ='01';
|
||
$impBgn ='02';
|
||
$impOut ='03';
|
||
$impFail ='04';
|
||
*/
|
||
?>
|
||
<body leftmargin="15" rightmargin="10" onload="javascript:adjust_frame('down');" onresize="javascript:adjust_frame('down');" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;">
|
||
|
||
<?php
|
||
adjust_head_frame("down");
|
||
adjust_title_head_frame("down");
|
||
adjust_title_tail_frame("down");
|
||
|
||
adjust_content_head_frame("down");
|
||
echo "<br>";
|
||
|
||
if($DEBUG)echo "paramValue=$paramValue";
|
||
$showFlag = $_REQUEST['showFlag'];
|
||
$dstSeverIp= $_REQUEST['dstSeverIp'];
|
||
$impRecordNum = $_REQUEST['impRecordNum'];
|
||
$commStr = $_REQUEST['commStr'];
|
||
$impFile = $_REQUEST['impFile'];
|
||
if ($DEBUG) echo "showFlag=$showFlag<br>";
|
||
if ($DEBUG) echo "remote ip = $dstSeverIp<br>";
|
||
if ($DEBUG) echo "impRecordNum=$impRecordNum<br>";
|
||
if ($DEBUG) echo "commStr=$commStr<br>";
|
||
if ($DEBUG) echo "impFile=$impFile<br>";
|
||
if(!$showFlag){
|
||
exit();
|
||
}
|
||
|
||
|
||
if($DEBUG)echo "<br>sysId=$sysId";
|
||
$runSeconds = $_REQUEST['runSeconds'];
|
||
$oldDoneNum = $_REQUEST['oldDoneNum'];
|
||
|
||
$pubDb = 'OMC_PUB';
|
||
$sysSubsConfTable = 'OMC_PUB.sysSubsConf';
|
||
$systemConfTable = 'OMC_PUB.sysConf';
|
||
$sysInfoTable = 'OMC_PUB.sysInfo';
|
||
$perTime = 0.05;
|
||
if(isset($sysId)){
|
||
$sysIdArr =explode('_',$sysId);
|
||
$sysTypeNo =$sysIdArr[0];
|
||
$sysNo =$sysIdArr[1];
|
||
$subSysNo =$sysIdArr[2];
|
||
/*if($systypeNo==360){
|
||
$getSysIdSql = "SELECT sysNo,subSysNo,ip
|
||
FROM $sysInfoTable
|
||
WHERE sysTypeNo='$sysTypeNo' AND baseStat > '0'
|
||
ORDER BY sysNo,subSysNo
|
||
";
|
||
if($DEBUG) echo "<br>getSysIdSql=$getSysIdSql";
|
||
$getSysIdResult= mysqli_query($pubConn,$getSysIdSql);
|
||
echo mysqli_error($pubConn);
|
||
$getSysIdRow=mysqli_fetch_array($getSysIdResult);
|
||
$sysNo=$getSysIdRow[sysNo];
|
||
$subSysNo=$getSysIdRow[subSysNo];
|
||
}*/
|
||
}else{
|
||
exit(0);
|
||
}
|
||
|
||
$dataTypeNo = isset($dataTypeNo)?$dataTypeNo:0;
|
||
$getConfSql="SELECT impObjId,ftpDir,ftpLoginName,ftpLoginPwd,logFileName
|
||
FROM $sysSubsConfTable
|
||
WHERE sysTypeNo='$sysTypeNo' AND dataTypeNo='$dataTypeNo'
|
||
";
|
||
if($DEBUG) echo "<br>getConfSql=$getConfSql";
|
||
$getConfResult=mysqli_query($pubConn,$getConfSql);
|
||
echo mysqli_error($pubConn);
|
||
$getConfRows=mysqli_fetch_array($getConfResult);
|
||
|
||
$impObjId = $getConfRows[impObjId];
|
||
$logFileName = $getConfRows[logFileName];
|
||
$ftpDir = $getConfRows[ftpDir];
|
||
$ftpLoginName = $getConfRows[ftpLoginName];
|
||
$ftpLoginPwd = $getConfRows[ftpLoginPwd];
|
||
|
||
if($DEBUG)echo "<br>impObjId =$impObjId";
|
||
if($DEBUG)echo "<br>logFileName =$logFileName";
|
||
if($DEBUG)echo "<br>ftpDir =$ftpDir";
|
||
if($DEBUG)echo "<br>ftpLoginName =$ftpLoginName";
|
||
if($DEBUG)echo "<br>ftpLoginPwd =$ftpLoginPwd";
|
||
if($DEBUG)echo "<br>sysId =$sysId";
|
||
|
||
//if($sysTypeNo==360)
|
||
// $paramValue = getSysParamValue($sysId,$impObjId,0,'readValue');
|
||
//else
|
||
$paramValue = getImpParamValue($sysId,$impObjId,0,'readValue');
|
||
if($DEBUG)echo "<br>paramValue=$paramValue";
|
||
|
||
$impCommState = substr($paramValue,0,2);
|
||
if($DEBUG)echo "<br>impCommState=$impCommState";
|
||
|
||
if($sysTypeNo==340){
|
||
$allNum=$impRecordNum;
|
||
$doneNum = substr($paramValue,2,6);
|
||
$doneNum = HexDec($doneNum);
|
||
}else{
|
||
$allNum = substr($paramValue,2,6);
|
||
$allNum = HexDec($allNum);
|
||
$doneNum = substr($paramValue,8,6);
|
||
$doneNum = HexDec($doneNum);
|
||
}
|
||
if($DEBUG)echo "<br>allNum=$allNum";
|
||
if($DEBUG)echo "<br>doneNum=$doneNum";
|
||
|
||
//show process
|
||
omcProgressBar($allNum,$doneNum);
|
||
|
||
$maxSeconds = 20;
|
||
$runSeconds = $runSeconds + 2;
|
||
if($DEBUG)echo "<br>maxSeconds=$maxSeconds";
|
||
if($DEBUG)echo "<br>runSeconds=$runSeconds";
|
||
if($DEBUG)echo "<br>if($runSeconds > $maxSeconds || $doneNum >= $allNum || $impCommState == '03' || $impCommState == '04') ";
|
||
if($doneNum > $oldDoneNum){
|
||
$runSeconds = 0;
|
||
}
|
||
if($runSeconds > $maxSeconds || $doneNum >= $allNum || $impCommState == '03' || $impCommState == '04')
|
||
{
|
||
if($impCommState == '04'){
|
||
echo "<br><FONT color=\"#FF0000\" size=\"3\"><b>upload $impFile Failed,please check log!!</b></FONT>";
|
||
}elseif($runSeconds > $maxSeconds){
|
||
echo "<br><FONT color=\"#FF0000\" size=\"3\"><b>Response Time Out!!</b></FONT>";
|
||
}else{
|
||
echo "<br><FONT color=\"#0000FF\" size=\"3\"><b>upload $impFile Finished!</b></FONT>";
|
||
echo "<br><br>After Import subscriber data finish,Plase upload it and get the lastest data.";
|
||
}
|
||
|
||
if($DEBUG)echo "<br>dstSeverIp=$dstSeverIp";
|
||
/* close ftp
|
||
$ftpCon=ftp_connect($dstSeverIp);
|
||
if($ftpCon < 0){
|
||
echo "<br><font color=\"#FF0000\">Connect Failed!</font>";
|
||
exit();
|
||
}
|
||
*/
|
||
|
||
//$connection=sftp_connect($dstSeverIp);
|
||
//if($connection < 0){
|
||
// echo "<br><font color=\"#FF0000\">Connect Failed!</font>";
|
||
// exit();
|
||
//}
|
||
|
||
/* close ftp
|
||
if(!ftp_login($ftpCon,$ftpLoginName,$ftpLoginPwd)){
|
||
echo "<br><font color=\"#FF0000\">Login Failed!</font>";
|
||
exit();
|
||
}
|
||
*/
|
||
|
||
//$key=sftp_login($connection,$ftpLoginName,$ftpLoginPwd);
|
||
//if(!$key)
|
||
//{
|
||
// echo "<br><font color=\"#FF0000\">Login Failed!</font>";
|
||
// exit();
|
||
//}
|
||
|
||
$remoteFileName =$ftpDir.$logFileName;
|
||
$timestamp = time();
|
||
$nameArray = explode(".",$logFileName);
|
||
$logFileName = $nameArray[0].$timestamp.".log";
|
||
$localFileName ="/usr/local/apache/htdocs/ftpFile/$logFileName";
|
||
|
||
//delete *.log
|
||
$handle=opendir('/usr/local/apache/htdocs/ftpFile/');
|
||
while($file=readdir($handle)){
|
||
$retval="";
|
||
$pt=strrpos($file,".");
|
||
if($pt) $retval=substr($file,$pt+1,strlen($file)-$pt);
|
||
$delFileName = "/usr/local/apache/htdocs/ftpFile/".$file;
|
||
if($retval=='log') unlink($delFileName);
|
||
}
|
||
|
||
/* close ftp
|
||
if(!ftp_get($ftpCon,$localFileName,$remoteFileName,FTP_ASCII)){
|
||
echo "<br><font color=\"#FF0000\">Get log file Failed</font>";
|
||
exit();
|
||
}
|
||
*/
|
||
|
||
//if(!sftp_get($key,$localFileName,$remoteFileName,SFTP_ASCII))
|
||
//{
|
||
// echo "<br><font color=\"#FF0000\">Get log file Failed</font>";
|
||
// exit();
|
||
//}
|
||
|
||
/* close ftp
|
||
ftp_quit($ftpCon);
|
||
*/
|
||
|
||
|
||
//$logFileUrl="../../../ftpFile/$logFileName";
|
||
$logFileUrl="./get_log_file.php?dstSeverIp={$dstSeverIp}&ftpLoginName={$ftpLoginName}&ftpLoginPwd={$ftpLoginPwd}&localFileName={$localFileName}&remoteFileName={$remoteFileName}&logFileName={$logFileName}";
|
||
echo "<br><br><a href=\"$logFileUrl\">Click here to download log.</a>";
|
||
echo "<script language=\"javascript\">";
|
||
echo "window.parent.frames.header.location.href='./subscriberImportUp.php?sysId=$sysId&dataTypeNo=$dataTypeNo&submitStat=ENABLE';";
|
||
echo "</script>";
|
||
echo "<font size=\"2\">";
|
||
exit();
|
||
}
|
||
$commIdArr = explode('-',$commStr);
|
||
$commId = $commIdArr[0];
|
||
if($DEBUG)echo "<br>commId=$commId";
|
||
//echo "sysNo=$sysNo";
|
||
/*if($sysTypeNo==360)
|
||
$commSql = " SELECT commState FROM parameterComm WHERE commId = '$commId' AND sysNo= '$sysNo'";
|
||
else*/
|
||
$commSql = " SELECT commState FROM parameterComm WHERE commId = '$commId' ";
|
||
if($DEBUG) echo "<br>commSql=$commSql";
|
||
$commRes = mysqli_query($pubConn,$commSql);
|
||
$commRow = @mysqli_fetch_array($commRes);
|
||
$commStat = $commRow[commState];
|
||
if($DEBUG)echo "<br>commStat=$commStat";
|
||
//echo "<br>sysId=$sysId,impObjId=$impObjId";
|
||
|
||
|
||
if($commStat == $nOutProc || !isset($commStat)){
|
||
//send get command
|
||
$commStr = sysCommSend($sysId,0,$impObjId);
|
||
}
|
||
echo "<meta http-equiv=\"refresh\" content=\"2;url=$PHP_SELF?showFlag=$showFlag&sysId=$sysId&dataTypeNo=$dataTypeNo&impRecordNum=$impRecordNum&runSeconds=$runSeconds&commStr=$commStr&dstSeverIp=$dstSeverIp&oldDoneNum=$doneNum\">";
|
||
echo "<meta http-equiv=\"pragma\" content=\"no-cache\">";
|
||
adjust_content_tail("down");
|
||
?>
|