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

+30
View File
@@ -0,0 +1,30 @@
#!/bin/bash
tmptty=`tty`
tmptty=`basename $tmptty`
tmpname=`whoami`
ip="$1"
inputfile="inabc"
outputfile="out.log"
rm -fr $inputfile
rm -fr $outputfile
mknod $inputfile p
touch $outputfile
exec 7<>$outputfile
exec 8<>$inputfile
telnet $ip <&8 >&7 &
#tail -f $outputfile &
sleep 2; echo "reboot" >>$inputfile
sleep 2; echo "logout" >>$inputfile
rm -fr $inputfile
rm -fr $outputfile
#ps -ef | grep telnet | grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk '{print " kill -9", }' | sh
#ps -ef | grep tail | grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk '{print " kill -9", }' | sh
+31
View File
@@ -0,0 +1,31 @@
<?php
{
require("../../element/sub_inc/commfunc.php");
require("../../element/sub_inc/lib.inc");
}
$path='/usr/local/apache/htdocs/db_backup/downloadAll/';
$tgzName = "all.tgz";
chdir($path);
system("tar zcvf $tgzName *", $retval1);
system("mv $tgzName ../allTgzFile/",$retval2);
echo "###";
//1
echo $flag;
echo "###";
if($retval1 !=0)
{
echo "tar error";
exit;
}
if($retval2 !=0)
{
echo "mv error";
exit;
}
//2
echo "OK";
?>
+205
View File
@@ -0,0 +1,205 @@
<?php
/*********************************************************
程序说明:
功能说明:提供各模块CSTA分时下载。
调用关系:调用: header.inc
被调用:
变量说明:
作者:lilong 2004-8-27
修改注释:
NO.1
Name:Cui Ticun
Date: 2004-9-6
Description:
*********************************************************/
require("../../inc/header.inc");
?>
<body leftmargin="15" rightmargin="10" onload="javascript:adjust();" onresize="javascript:adjust();" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;">
<?php
adjust_head();
$DEBUG = 0;
global $pubConn;
$pub_db = "OMC_PUB";
$elementTable='elementExistConf';
$helpId = "4.9";
$ThisPage="$strLog&nbsp;>&nbsp;CSTA download";
$blank4 .="&nbsp;&nbsp;&nbsp;&nbsp;";
//select module name from sysInfo.
$selSql = "SELECT sysTypeName FROM sysConf WHERE needCSTA=1 OR needFlow=1 ORDER BY sysTypeNo";
$selRes = @mysqli_query($pubConn,$selSql);
$num = @mysqli_num_rows($selRes);
for($i=0; $i<$num; $i++){
$rows = @mysqli_fetch_array($selRes);
$name[$i] = $rows[sysTypeName];
if($DEBUG){
echo "name[$i] = {$name[$i]}";
echo "<br>";
}
}
/********** FUNCTION START::TREEOLD *************/
function treeOld($directory,$blank,$sys_name)
{
$DEBUG=0;
$mydir=@dir($directory);
if(!$mydir){
echo "<br><br><font size=\"3\" color=\"#FF0000\"><b>Error: can't open this directory: \"$directory\" .It's not exist!</b></font>";
exit();
}
$blank .="<img border=\"0\" src=\"../../images/blank.gif\">"; //用一个空白图片表示每层目录间的间隔
$k=0;
while($file=$mydir->read()){
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")){
continue;
}elseif($file =="." || $file ==".."){
continue;
}else{
if (strstr($file,"Detail") == NULL) continue;
if (strstr($file,$sys_name) == NULL) continue;
if ($sys_name == "pps" && $file[0]=="o") continue;
if (strstr($file,"csv") == NULL) continue;
if (($sys_name=="msc")AND(strstr($file,"smsc") != NULL))
continue;
if(substr("$directory/$file",-2) == 'gz'){
$type_image="<img border=\"0\" src=\"../../images/zip_file.gif\">";
}elseif(substr("$directory/$file",-3) == 'csv'){
$type_image="<img border=\"0\" src=\"../../images/csv_file.gif\">";
}else{
$type_image="<img border=\"0\" src=\"../../images/unknown_file.gif\">";
}
//$fileList[$k] ="<tr><td width=\"50%\">$blank $type_image <a href=\"$directory/$file\" >$file</a></td>";
//target=\"_blank\"
$fileList[$k] ="<tr><td width=\"50%\">$blank $type_image <a href=\"./output_file.php?directory=$directory&filename=$file\" >$file</a></td>";
$k++;
}
}//end of while
$mydir->close();
for($h=0;$h<sizeof($fileList);$h++){
echo "{$fileList[$h]}";
}
} //end the program
/********** FUNCTION END:: TREEOLD *************/
/********** FUNCTION START::TREE *************/
function tree($directory,$blank,$sys_name){
$DEBUG=0;
global $blank4;
/**** START::define last 7 days hours timestamp ******/
for($i=0;$i<7;$i++){
$strYear = date("Y",mktime(0,0,0,date("m"),date("j")-$i,date("Y")));
$strMon = date("m",mktime(0,0,0,date("m"),date("j")-$i,date("Y")));
$strDay = date("d",mktime(0,0,0,date("m"),date("j")-$i,date("Y")));
$strYD['$strDay'] = strtolower($sys_name)."Detail_".$strYear."_".$strMon."_".$strDay;
$tbName[$i] = strtolower($sys_name)."Detail_".$strDay;
/* 判断tbName[$i]是否有记录 */
$res = mysql_list_tables("CSTA_DB");
$num = mysqli_num_rows($res);
/*echo
for($j=0; $j<$num; $j++){
$nameExit[$j] = mysql_tablename($res,$i);
echo $nameExit[$j]."<br>";
}*/
echo "<TR><TD>";
echo $blank4;
echo $blank4;
echo "<img border=\"0\" src=\"../../images/csv_file.gif\">";
//echo $strYD['$strDay'];
echo $tbName[$i];
/*
$tgzName = $directory."/".$strYD['$strDay'].".tgz";
//echo $tgzName;
if ( true == file_exists($tgzName) ) {
echo "&nbsp;&nbsp;";
echo "<a href=\"$tgzName\" ><font size=2>tgz</font></a>";
}
*/
echo "</TD></TR>";
echo "<TR><TD>";
echo $blank4;
echo $blank4;
echo $blank4;
for($j=0;$j<24;$j++){
$strHour = date("H",mktime($j,0,0,date("m"),date("j")-$i,date("Y")));
$strYDH["$strDay"]["$strHour"] = strtolower($sys_name)."Detail_".$strYear."_".$strMon."_".$strDay."_".$strHour;
if($DEBUG){
echo "strYDH[$strDay][$strHour]=";
echo $strYDH["$strDay"]["$strHour"];
echo "<br>";
echo "exsitFlag[$strDay][$strHour]=";
echo $exsitFlag["$strDay"]["$strHour"];
echo "<br>";
}
if(1==$exsitFlag["$strDay"]["$strHour"]){
$fileName = $strYDH["$strDay"]["$strHour"].".csv";
echo "<a href=\"$directory/$fileName\" ><font size=2>$j&nbsp;</font></a>";
}else{
echo "<font color=gray size=1>$j&nbsp;</font>";
}
}
echo "</TD></TR>";
}
/**** END::define last 7 days hours timestamp ******/
}
/********** FUNCTION END:: TREE *************/
?>
<?php
adjust_title_head();
echo "<TABLE id=\"table_up\" border=\"0\" width=\"100%\">";
echo "<TR>";
echo "<TD width=\"50%\" align=\"left\">";
echo "$ThisPage";
echo "</TD>";
echo "<TD width=\"50%\" align=\"right\" title=\"Help\">";
showHelp($helpId);
echo "</TD>";
echo "</TR>";
echo "</TABLE>";
adjust_title_tail();
adjust_content_head();
/**************** TABLE START:: DISPLAY DETAILS ************************/
echo "<TABLE width=\"100%\">";
echo "<BR>";
$blank='';
for($i=0; $i<$num; $i++){
$tmpSql = " SELECT * FROM elementExistConf WHERE elementName='$name[$i]' AND existFlag='1'";
if($DEBUG)
echo "<br>tmpSql=$tmpSql";
$tmpRes = mysqli_query($pubConn,$tmpSql);
if(mysqli_num_rows($tmpRes)>0){
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>$name[$i] CSTA</b></TD></TR>\n";
treeold("../../../db_backup/csta",$blank,strtolower($name[$i]));
}
}
//just template user can see the follow files
$highest=sizeof($oper_type) - 1;
echo "</TABLE>";
adjust_content_tail();
/**************** TABLE END:: DISPLAY DETAILS ************************/
?>
</body>
</html>
+278
View File
@@ -0,0 +1,278 @@
<?php
/*********************************************************
程序说明:
功能说明:分级显示该目录下的所有文件,用递归方法
调用关系:调用: header.inc
被调用:
变量说明:
作者:
修改注释:
NO.1
Name: Lilong
Date: 2004-4-6
Description:
1. Change website format: only for download.
2. Add alarm log download.
3. Add add operation log download.
*********************************************************/
require("../../inc/header.inc");
$helpId = "4.6";
$ThisPage="$strLog&nbsp;>&nbsp;$strCdrDdownload";
$blank4 .="&nbsp;&nbsp;&nbsp;&nbsp;";
$db = 'OMC_PUB';
$elementTable='elementExistConf';
/********** FUNCTION START::TREEOLD *************/
function treeOld($directory,$blank,$sys_name)
{
$DEBUG=0;
global $strDownload,$strDelete;
$dateList=array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
$mydir=@dir($directory);
if(!$mydir){
echo "<br><br><font size=\"3\" color=\"#FF0000\"><b>Error: can't open this directory: \"$directory\" .It's not exist!</b></font>";
exit();
}
$blank .="<img border=\"0\" src=\"../../images/blank.gif\">"; //用一个空白图片表示每层目录间的间隔
$k=0;
while($file=$mydir->read()){
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")){
continue;
//echo "<tr><td colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>$file</b></td></tr>\n";
//tree("$directory/$file",$blank);
}elseif($file =="." || $file ==".."){
continue;
}else{
if ($sys_name == 'MSC'){
if (strstr($file,'SMSC')!=NULL) continue;
}
if (strstr($file,$sys_name) == NULL) continue;
if (strstr($file,"csv") == NULL) continue;
if(substr("$directory/$file",-2) == 'gz'){
$type_image="<img border=\"0\" src=\"../../images/zip_file.gif\">";
}elseif(substr("$directory/$file",-3) == 'csv'){
$type_image="<img border=\"0\" src=\"../../images/csv_file.gif\">";
}else{
$type_image="<img border=\"0\" src=\"../../images/unknown_file.gif\">";
}
//$fileList[$k] ="<tr><td width=\"50%\">$blank $type_image <a href=\"$directory/$file\" >$file</a></td>";
$fileList[$k] ="<tr><td width=\"50%\">$blank $type_image <a href=\"./output_file.php?directory=$directory&filename=$file\" >$file</a></td>";
$k++;
//if($k == sizeof($dateList)) break;
}
}//end of while
$mydir->close();
for($h=0;$h<sizeof($fileList);$h++){
echo "{$fileList[$h]}";
}
} //end the program
/********** FUNCTION END:: TREEOLD *************/
/********** FUNCTION START::TREE *************/
function tree($directory,$blank,$sys_name){
$DEBUG=0;
global $blank4;
$mydir=@dir($directory);
if(!$mydir){
echo "<br><br><font size=\"3\" color=\"#FF0000\"><b>Error: can't open this directory: \"$directory\" .It's not exist!</b></font>";
exit();
}
$k=0;
while($file=$mydir->read()){
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")){
continue;
}elseif($file =="." || $file ==".."){
continue;
}else{
if ($sys_name == 'MSC'){
if (strstr($file,'SMSC')!=NULL) continue;
}
if (strstr($file,$sys_name) == NULL) continue;
if (strstr($file,"csv") == NULL) continue;
$piecesArray1 = explode(".",$file);
if($piecesArray1[1] != 'csv') continue;
$piecesArray2 = explode("_",$piecesArray1[0]);
$exsitFlag["$piecesArray2[3]"]["$piecesArray2[4]"] = 1;
if($DEBUG){
echo "exsitFlag[$piecesArray2[3]][$piecesArray2[4]]=";
echo $exsitFlag["$piecesArray2[3]"]["$piecesArray2[4]"];
echo "<br>";
}
$k++;
}
}//end of while
$mydir->close();
/**** START::define last 7 days hours timestamp ******/
for($i=0;$i<7;$i++){
$strYear = date("Y",mktime(0,0,0,date("m"),date("j")-$i,date("Y")));
$strMon = date("m",mktime(0,0,0,date("m"),date("j")-$i,date("Y")));
$strDay = date("d",mktime(0,0,0,date("m"),date("j")-$i,date("Y")));
$strYD['$strDay'] = "cdrFrom".$sys_name."_".$strYear."_".$strMon."_".$strDay;
echo "<TR><TD>";
echo $blank4;
echo $blank4;
echo "<img border=\"0\" src=\"../../images/csv_file.gif\">";
echo $strYD['$strDay'];
$tgzName = $directory."/".$strYD['$strDay'].".tgz";
//echo $tgzName;
if ( true == file_exists($tgzName) ) {
echo "&nbsp;&nbsp;";
echo "<a href=\"$tgzName\" ><font size=2>tgz</font></a>";
}
echo "</TD></TR>";
echo "<TR><TD>";
echo $blank4;
echo $blank4;
echo $blank4;
for($j=0;$j<24;$j++){
$strHour = date("H",mktime($j,0,0,date("m"),date("j")-$i,date("Y")));
$strYDH["$strDay"]["$strHour"] = "cdrFrom".$sys_name."_".$strYear."_".$strMon."_".$strDay."_".$strHour;
if($DEBUG){
echo "strYDH[$strDay][$strHour]=";
echo $strYDH["$strDay"]["$strHour"];
echo "<br>";
echo "exsitFlag[$strDay][$strHour]=";
echo $exsitFlag["$strDay"]["$strHour"];
echo "<br>";
}
if(1==$exsitFlag["$strDay"]["$strHour"]){
$fileName = $strYDH["$strDay"]["$strHour"].".csv";
//echo "<a href=\"$directory/$fileName\" ><font size=2>$j&nbsp;</font></a>";
echo "<a href=\"./output_file.php?directory=$directory&filename=$fileName\" ><font size=2>$j&nbsp;</font></a>";
}else{
echo "<font color=gray size=1>$j&nbsp;</font>";
}
}
echo "</TD></TR>";
}
/**** END::define last 7 days hours timestamp ******/
}
/********** FUNCTION END:: TREE *************/
function listCDRFile($directory,$sys_name)
{
$mydir=@dir($directory);
if(!$mydir)
{
echo "<br><br><font size=\"3\" color=\"#FF0000\"><b>Error: can't open this directory: \"$directory\" .It's not exist!</b></font>";
exit();
}
while($file=$mydir->read())
{
$condition="cdrFrom{$sys_name}_";
if(strstr($file,$condition))
{
echo "<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
echo "<a href=\"./output_file.php?directory=$directory&filename=$file\" ><font size=1>$file&nbsp;</font></a>";
echo "</td></tr>";
}
}
$mydir->close();
}
?>
<body leftmargin="15" rightmargin="10" onload="javascript:adjust();" onresize="javascript:adjust();" 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 "$ThisPage";
echo "</TD>";
echo "<TD width=\"50%\" align=\"right\" title=\"Help\">";
showHelp($helpId);
echo "</TD>";
echo "</TR>";
echo "</TABLE>";
adjust_title_tail();
adjust_content_head();
/**************** TABLE START:: DISPLAY DETAILS ************************/
echo "<TABLE width=\"100%\">";
echo "<BR>";
$blank='';
$GenerateCDRFileInterval=getPubVar("GenerateCDRFileInterval");
if ($thisOmcType == 10){
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>SN CDR</b></TD></TR>\n";
if($GenerateCDRFileInterval == 60)
tree("../../../db_backup/cdr",$blank,"SN");
else
listCDRFile("../../../db_backup/cdr","SN");
}
else{
/* //display operation log
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>Operation log</b></TD></TR>\n";
treeOld("../../../db_backup/operLog",$blank,"operLog");
//display alarm log
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>Alarm log</b></TD></TR>\n";
treeOld("../../../db_backup/alarmLog",$blank,"alarmLog");
*/
$tmpSql = " SELECT * FROM elementExistConf WHERE elementName='MSC' AND existFlag='1'";
if($DEBUG) echo "<br>tmpSql=$tmpSql";
$tmpRes = mysqli_query($pubConn,$tmpSql);
if(mysqli_num_rows($tmpRes)>0){
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>MSC CDR</b></TD></TR>\n";
if($GenerateCDRFileInterval == 60)
tree("../../../db_backup/cdr",$blank,"MSC");
else
listCDRFile("../../../db_backup/cdr","MSC");
}
$tmpSql = " SELECT * FROM elementExistConf WHERE elementName='PPS' AND existFlag='1'";
if($DEBUG) echo "<br>tmpSql=$tmpSql";
$tmpRes = mysqli_query($pubConn,$tmpSql);
if(mysqli_num_rows($tmpRes)>0){
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>PPS CDR</b></TD></TR>\n";
if($GenerateCDRFileInterval == 60)
tree("../../../db_backup/cdr",$blank,"PPS");
else
listCDRFile("../../../db_backup/cdr","PPS");
}
$tmpSql = " SELECT * FROM elementExistConf WHERE elementName='SMSC' AND existFlag='1'";
if($DEBUG) echo "<br>tmpSql=$tmpSql";
$tmpRes = mysqli_query($pubConn,$tmpSql);
if(mysqli_num_rows($tmpRes)>0){
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>SMSC CDR</b></TD></TR>\n";
if($GenerateCDRFileInterval == 60)
tree("../../../db_backup/cdr",$blank,"SMSC");
else
listCDRFile("../../../db_backup/cdr","SMSC");
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>SMLOG</b></TD></TR>\n";
if($GenerateCDRFileInterval == 60)
tree("../../../db_backup/cdr",$blank,"SMLOG");
else
listCDRFile("../../../db_backup/cdr","SMLOG");
}
}
//just template user can see the follow files
$highest=sizeof($oper_type) - 1;
echo "</TABLE>";
adjust_content_tail();
/**************** TABLE END:: DISPLAY DETAILS ************************/
?>
</body>
</html>
+54
View File
@@ -0,0 +1,54 @@
<?php
/*********************************************************
程序说明:
功能说明:删除指定的文件
调用关系:调用: header.inc
被调用:$return_dir
变量说明:
作者:Kevin He 2001-10-25
修改注释:
NO.1
姓名:
时间:
修改说明:
*********************************************************/
require("../../inc/header.inc");
$return_dir = "./db_zip_list.php";
if(!isset($del_target)){
$del_target = $dir;
}
//echo "<br>del_target=$del_target";
if($sure_del){
$result = unlink($del_target);
if($result > 0){
//------插入日志------
$log_name = $user_info["account"]." delete file ".$del_target." successful";
insertLog("$log_name");
echo " <meta http-equiv=\"refresh\" content=\"0; url=$return_dir\"> ";
}else{
//------插入日志------
$log_name = $user_info["account"]." delete file ".$del_target." fail";
insertLog("log_name");
echo "<script language=\"javascript\"> ";
echo "alert('";
echo "delete $del_target failed";
echo "'); ";
echo "location.href=\"$return_dir\";";
echo "</script>";
}
}elseif($no_del){
echo " <meta http-equiv=\"refresh\" content=\"0; url=$return_dir\"> ";
}else{
echo "<form action=\"$PHP_SELF\">";
echo "<br>";
echo "$strAreYouSureToDelete $del_target?";
echo "<br><input type=\"Submit\" name=\"sure_del\" value=\"$strConfirm\"> ";
echo "<input type=\"Submit\" name=\"no_del\" value=\"$strCancel\">";
echo "<input type=\"hidden\" name=\"del_target\" value=\"$del_target\">";
echo "</form> ";
}
?>
+88
View File
@@ -0,0 +1,88 @@
<?php
//if($flag=='getData')
{
require("../../element/sub_inc/commfunc.php");
require("../../element/sub_inc/lib.inc");
}
?>
<?php
function getTableFile($sysTypeNo)
{
$pubDb = "OMC_PUB";
$path='/usr/local/apache/htdocs/db_backup/downloadAll/';
$tableName = "OBJ_".$sysTypeNo.".param_99";
$filePath = $path . $tableName.".csv";
if (is_file($filePath))
unlink($filePath);
$csvFileUpdateSql=" SELECT *
INTO OUTFILE '{$filePath}'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
FROM $tableName
";
$csvFileUpdateResult = mysqli_query($pubConn ,$csvFileUpdateSql);
echo mysqli_error($pubConn);
}
?>
<?
$allSysArr = array(
array('typeNo' => 322,),
array('typeNo' => 325,),
array('typeNo' => 330,),
array('typeNo' => 340,),
array('typeNo' => 350,),
array('typeNo' => 360,),
array('typeNo' => 370,),
array('typeNo' => 380,),
array('typeNo' => 111),
array('typeNo' => 222),
array('typeNo' => 223)
);
for($i=0; $i<sizeof($allSysArr); $i++)
{
if($curSys == $allSysArr[$i][typeNo])
{
$i++;
break;
}
}
if($i<sizeof($allSysArr))
$nextSys = $allSysArr[$i][typeNo];
else
$nextSys = "Finished";
//0
echo "###";
//1
echo $flag;
echo "###";
//2
echo $allSysStr;
echo "###";
//3
echo $curSys;
echo "###";
//4
echo $nextSys;
echo "###";
//sleep(1);
if($flag=='getData')
{
// $sysId = $curSys."_99_99";
// $oidsysarr=array(
// array('oid'=>'2', 'sysid'=> $sysId, 'selectsysid'=>'-1')//MSC
// );
// //GetParam($oidsysarr,0,0,0);
echo "OK";
}
if($flag=="createTable")
{
//getTableFile($curSys);
echo "OK";
}
//echo "deal with $sysTemNo";
?>
+162
View File
@@ -0,0 +1,162 @@
<?php
require("../../inc/header.inc");
$helpId = isset($helpId)?$helpId:'5.1.6';
$ThisPage="$strMaintenance&nbsp;>&nbsp;$strBackupRestore&nbsp;>&nbsp;"."Download&Upload";
$DEBUG = 0;
$pubDb=$omc_db;
?>
<body leftmargin=12 topmargin=5>
<?php
echo "<table border=\"0\" width=\"100%\">";
echo "<tr>";
echo "<td width=\"50%\">";
echo "$ThisPage";
echo "</td>";
echo "<td width=\"50%\" align=\"right\" title=\"Help\">";
showHelp($helpId);
echo "</td>";
echo "</tr>";
echo "</table>";
$serverip = getenv("HTTP_HOST");
$download=$_REQUEST['download'];
if( $serverip == "" ){
$serverip = getenv("SERVER_ADDR");
}
$downLinkStr = '';
$tgzName = "allBackup.tgz";
$downurl = "http://$serverip/db_backup/archive/tgzFile/$tgzName";
$downFileName = "/usr/local/apache/htdocs/db_backup/archive/tgzFile/$tgzName";
if (file_exists($downFileName))
{
$lastModifiedTime = date("Y-m-d H:i:s", filemtime($downFileName));
$downLinkStr = "<a href=\"$downurl\"><b>Download tgz File</b></a><font color=\"blue\"> [$lastModifiedTime]</font>";
}
?>
<?php
if(!isset($download) && !isset($upload))
{
$download=1;
}
if($download==1)
{
$downBackColorStr="background:yellow";
$uploadBackColorStr="";
}
if($upload==1)
{
$downBackColorStr="";
$uploadBackColorStr="background:yellow";
}
$downId = "DownLoadAll";
$upId = "UploadAll";
echo "<table border=\"0\" width=\"20%\">";
echo "<tr>";
echo "<td width=\"10%\">";
echo "<span id=\"download\" style=\"cursor:pointer;$downBackColorStr\" onclick=\"javascript:showItem(this,'$downId','$upId')\"><font color=\"blue\"><b>Download</b></font></span>";
echo "</td>";
echo "<td width=\"10%\">";
echo "<span id=\"upload\" style=\"cursor:pointer;$uploadBackColorStr\" onclick=\"javascript:showItem(this,'$downId','$upId')\"><font color=\"blue\"><b>Upload</b></font></span>";
echo "</td>";
echo "</tr>";
?>
<?php
$selSql = " select * from OMC_PUB.elementExistConf where existFlag=1 and elementTypeNo!=0 order by elementTypeNo";
$exitRes = mysqli_query($pubConn,$selSql);
while($exitRows = mysqli_fetch_array($exitRes))
{
$typeNo = $exitRows[elementTypeNo];
if($typeNo==320)
{
$typeNo=322;
$allSysArr[] = array('typeNo' => 325, 'name' => 'VLR');
}
$name = $exitRows[elementName];
$allSysArr[] = array('typeNo' => $typeNo, 'name' => $name);
}
for($i=0; $i<sizeof($allSysArr); $i++)
{
$tmpSysTypeNo = $allSysArr[$i][typeNo];
$selSql = "select sysConf.sysTypeName as name,sysInfo.ip as ip
from sysConf,sysInfo
where (sysConf.sysTypeNo=$tmpSysTypeNo and sysConf.sysTypeNo=sysInfo.sysTypeNo )";
$Result = mysqli_query($pubConn,$selSql);
$Rows = mysqli_fetch_array($Result);
if($DEBUG)echo "<br>$pubDb,$selSql";
// $allSysArr[$i][name] = $Rows[name];
$allSysArr[$i][ip] = $Rows[ip];
}
if($download==1)
{
echo "<table id=\"$downId\" style=\"display:\" rules=rows border=\"1\" width=\"60%\" cellpadding=\"1\" cellspacing=\"0\" bordercolor=\"#666666\" bordercolordark=\"#FFFFFF\">";
echo "<th colspan=\"2\">System Summary</th>";
echo "<tr>";
echo "<td width=\"20%\"><b>System Name</b></td>";
echo "<td width=\"40%\"><b>Ip Address</b></td>";
echo "</tr>";
for($i=0; $i<sizeof($allSysArr); $i++)
{
$ip = $allSysArr[$i][ip];
if(strlen($ip)<7) continue;
$tmpSysTypeNo = $allSysArr[$i][typeNo];
echo "<tr>";
echo "<td>{$allSysArr[$i][name]}</td>";
echo "<td>$ip</td>";
echo "</tr>";
}
echo "<tr>";
echo "<td align=\"left\" title=\"update all database and create an new .tag file\" id=\"$id\" style=\"cursor:pointer\" onclick=\"javascript:doDownLoad();\"><font color=\"blue\"><b>Create Tgz File</b></font>";
echo "<td id=\"downLink\">$downLinkStr</td>";
echo "</tr>";
echo "</table>";
}//end download
if($upload==1)
{
?>
<table></table>
<form id="<?php echo $upId;?>" method ="POST" action="<?php echo"uploadFile.php";?>" enctype="multipart/form-data">
File to upload:
<input type="file" name="inputFile">
<input type="hidden" name="MAX_FILE_SIZE" value="20971520"><!-- MAX_FILE_SIZE = 20M -->
<input type="submit" value="Upload">
</form>
<?php
}//end upload show
echo "<br><span id=\"statusPos\"></span>";
?>
<script language="JavaScript">
function showItem(item,downId,upId)
{
var downDisp,upDisp;
if(item.id=='download')
{
document.getElementById("download").style.background="yellow";
document.getElementById("upload").style.background="";
href = "<?php echo $PHP_SELF;?>"+"?download=1";
}
else
{
document.getElementById("download").style.background="";
document.getElementById("upload").style.background="yellow";
href = "<?php echo $PHP_SELF;?>"+"?upload=1";
}
window.location = href;
}
function doDownLoad(flg,curSys)
{
window.location="downloadFile.php";
}
</script>
+4
View File
@@ -0,0 +1,4 @@
<html>
<title>download</title>
downloading template.......
</html>
+674
View File
@@ -0,0 +1,674 @@
<?php
{
require("../../element/sub_inc/commfunc.php");
require("../../element/sub_inc/lib.inc");
require("../../account/pubSubsMng/sendComm.inc");
require("pubPath.inc");
}
?>
<STYLE TYPE="text/css" MEDIA="screen, print, projection">
<!--
.inner {align: right;
width: 40px }
-->
</STYLE>
<?php
$helpId = isset($helpId)?$helpId:'5.1.6';
$ThisPage="$strMaintenance&nbsp;>&nbsp;$strBackupRestore&nbsp;>&nbsp;"."Download&Upload";
$DEBUG = 0;
$pubDb = "OMC_PUB";
set_time_limit(3600);
$strNoInput = "No file input!";
function MsgBox($str)
{
echo "<script language=\"javascript\">";
echo "alert(\"$str\");";
echo "history.go(-1)";
echo "</script>";
}//end MsgBox
function createParamCVS($path,$tbNameArr)
{
$pubDb = "OMC_PUB";
global $pubConn;
for($i=0; $i<sizeof($tbNameArr); $i++)
{
$tableName = $tbNameArr[$i];
$filePath = $path . $tableName.".csv";
if (is_file($filePath))
unlink($filePath);
$csvFileUpdateSql=" SELECT *
INTO OUTFILE '{$filePath}'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
FROM $tableName
";
$csvFileUpdateResult = mysqli_query($pubConn ,$csvFileUpdateSql);
echo mysqli_error($pubConn);
}
}//end createParamCVS
function getSubsData($sysId,$dataTypeNo)
{
$pubDb = 'OMC_PUB';
$sysSubsConfTable = 'OMC_PUB.sysSubsConf';
$systemConfTable = 'OMC_PUB.sysConf';
$sysIdArr = explode('_',$sysId);
$sysTypeNo = $sysIdArr[0];
$sysNo = $sysIdArr[1];
$subSysNo = $sysIdArr[2];
$nLoadIndexComm = 5;
$commType = $nLoadIndexComm;
$objDb = 'OBJ_'.$sysTypeNo;
$objDbConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'],$objDb);
if($sysTypeNo==390){
$getConfSql="SELECT sysTypeName,dataTypeNo,indexFieldName,subsDataTable,tmpDataTable
FROM $sysSubsConfTable,$systemConfTable
WHERE $sysSubsConfTable.sysTypeNo='$sysTypeNo'
AND $systemConfTable.sysTypeNo='$sysTypeNo'
AND $sysSubsConfTable.dataTypeNo='$dataTypeNo'
AND $sysSubsConfTable.sysNo='$sysNo'
";
}else{
$getConfSql="SELECT sysTypeName,dataTypeNo,indexFieldName,subsDataTable,tmpDataTable
FROM $sysSubsConfTable,$systemConfTable
WHERE $sysSubsConfTable.sysTypeNo='$sysTypeNo'
AND $systemConfTable.sysTypeNo='$sysTypeNo'
AND $sysSubsConfTable.dataTypeNo='$dataTypeNo'
";
}
$getConfResult=mysqli_query($objDbConn,$getConfSql);
echo mysqli_error($objDbConn);
$getConfRows=mysqli_fetch_array($getConfResult);
$sysTypeName =$getConfRows[sysTypeName];
$indexFieldName =$getConfRows[indexFieldName];
$srcDataTable =$getConfRows[subsDataTable];
$tmpDataTable =$getConfRows[tmpDataTable];
$clearDataSql="DELETE FROM $srcDataTable";
mysqli_query($objDbConn,$clearDataSql);
$clearDataSql="DELETE FROM $tmpDataTable";
mysqli_query($objDbConn,$clearDataSql);
$commIdStr = subsCommSend($sysId,$dataTypeNo,"","All",$commType);
$rtn = commScan($commIdStr);
return $rtn;
}
function commScan($commIdStr)
{
$nReadComm = 1;
$nChangeComm = 2;
$nCreateComm = 3;
$nDeleteComm = 4;
$nLoadIndexComm = 5;
$nReplaceIndexComm=6;
//commState's value
$nProcFail = 0;
$nWaitProc = 1;
$nInProc = 2;
$nOutProc = 3;
$pubDb = 'OMC_PUB';
$commTable = 'subscriberComm';
$sysConfTable ='sysConf';
if($commNum <= 0){
$commArr = explode('-',$commIdStr);
$commNum = sizeof($commArr);
}
$maxOverTime = $commNum * 5 + 10; //根据子系统个数和对每个子系统操作的最大延时(5秒)来决定
$maxWaitTime = $commNum * 2;
$maxStopTime = $commNum * 5 + 10;
$maxOfCommId = 50000; //设定命令表的最大值
//echo "<br>(isFinish != 0) || (waitTime >= maxWaitTime) || (stopTime > maxStopTime)";
while(1) {
echo "<img border=\"0\" src=\"../../images/arrow.gif\" width=\"10\" height=\"10\">";
flush();
//echo "<br>($isFinish != 0) || ($waitTime >= $maxWaitTime) || ($stopTime > $maxStopTime)";
if(($isFinish != 0) || ($waitTime >= $maxWaitTime) || ($stopTime > $maxStopTime)){
if($commId >= $maxOfCommId){ //初始化命令表
//先删除表
$dropSql = "DROP TABLE $commTable ";
mysqli_query($pubConn,$dropSql);
//再建一个结构相同的新表
$createSql="CREATE TABLE subscriberComm (
commId smallint(5) unsigned NOT NULL auto_increment,
commType tinyint(1) DEFAULT '0' NOT NULL,
dataTypeNo tinyint(4) DEFAULT '0' NOT NULL,
sysTypeNo smallint(5) unsigned DEFAULT '0' NOT NULL,
sysNo smallint(5) unsigned DEFAULT '0' NOT NULL,
subSysNo smallint(5) unsigned DEFAULT '0' NOT NULL,
indexValueList varchar(255) NOT NULL,
fieldNameList tinytext NOT NULL,
paramType tinyint(4) DEFAULT '0' NOT NULL,
commState tinyint(3) unsigned DEFAULT '0' NOT NULL,
totalNum smallint(5) unsigned DEFAULT '0' NOT NULL,
finishNum smallint(5) unsigned DEFAULT '0' NOT NULL,
sendTime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
bgnTime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
endTime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
remark varchar(200) binary NOT NULL,
PRIMARY KEY (commId),
KEY sysTypeNo (sysTypeNo),
KEY sysNo (sysNo),
KEY subSysNo (subSysNo),
KEY bufferKey (indexValueList)
)
";
mysqli_query($pubConn,$createSql);
}else{
//删除命令表的相关命令
$commArr = explode('-',$commIdStr);
for($i=0;$i<sizeof($commArr);$i++){
if(strlen($commArr[$i]) <=0){
continue;
}
$deleteSql = "DELETE FROM $commTable WHERE commId='$commArr[$i]'";
if($DEBUG) echo "<br>deleteSql = $deleteSql";
mysqli_query($pubConn,$deleteSql);
echo mysqli_error($pubConn);
}
}
// 重定向返回指定页
if($isFinish != 0){
if($isFinish > 0){
echo "<b><font size=3 color=blue>Finished!!</font></b>";
if($commType == $nLoadIndexComm){
sleep(8);//等8秒,这样数据库插入才能完全完成
}
return 1;
}elseif($isFinish == -1){
echo "<b><font size=3 color=black>Failed in some system!!</font></b>";
flush();
return 0;
}else{
echo "<b><font size=3 color=red>Failed!!</font></b>";
flush();
return 0;
}
}elseif($usedTime >= $maxOverTime && $stopTime == 1){
echo "<b><font size=3 color=red>Stoped!!</font></b>";
flush();
return 0;
}else{ //$usedTime >= $maxOverTime
echo "<b><font size=3 color=red>Timeout!!</font></b>";
flush();
return 0;
}
}//end of if($isFinish....)
//显示命令执行状态
//-----------------------------
$okNum = 0;
$failNum = 0;
$commNum = 0;
$commArr = explode('-',$commIdStr);
$thisTimeFinishNumStr = '';
$lastTimeFinishNumArr = explode('-',$lastTimeFinishNumStr);
for($i=0;$i<sizeof($commArr);$i++){
if(strlen($commArr[$i]) <=0){ continue;}
$commNum++;
$commSql = "SELECT * FROM $commTable WHERE commId= $commArr[$i]";
if($DEBUG) echo "<br>get command = $commSql";
$commResult = mysqli_query($pubConn,$commSql);
if(mysqli_num_rows($commResult) <= 0){
echo "<br>Can not find this command's info in datebase";
exit();
}
$commRows = @mysqli_fetch_array($commResult);
$sysTypeNo = $commRows[sysTypeNo];
$sysNo = $commRows[sysNo];
$subSysNo = $commRows[subSysNo];
$commType = $commRows[commType];
$paramType = $commRows[paramType];
$objId = $commRows[objId];
$commState = $commRows[commState];
$indexValueList = $commRows[indexValueList];
$fieldNameList = $commRows[fieldNameList];
$remark = $commRows[remark];
switch($commState){
case 0: //process failed
$failNum++;
echo "<b><font size=2 color=red> $commRows[remark] </font></b>";
flush();
return 0;
//break;
case 1: //wait process
$waitTime++;
break;
case 2: //in process
$waitTime = 0;
//只要有一个命令的完成数在增长,就认为该组命令在运行,否则认为命令处理超时
if($DEBUG) echo "====> {$commRows[finishNum]} > {$lastTimeFinishNumArr[$i]}";
if($commRows[finishNum] > $lastTimeFinishNumArr[$i]){
$stopTime = 0;
}else{
$stopTime++;
}
$thisTimeFinishNumStr .=$commRows[finishNum].'-';
break;
case 3: //process finished
$okNum++;
break;
default:
echo "<font size=3>Unknown Command State</font>";
flush();
exit();
}
}//end of for($i=0;$i<sizeof($commArr);$i++)
if($DEBUG) echo"<br>$commNum =?= $finishNum";
if($commNum == $okNum){
$isFinish = 1;
}elseif($failNum > 0 && $okNum > 0){
$isFinish = -1;
}elseif($commNum == $failNum){
$isFinish = -2;
}else{
$isFinish = 0;
}
if($DEBUG) echo"<br>lastTimeFinishNumStr=$lastTimeFinishNumStr";
if($DEBUG) echo"<br>thisTimeFinishNumStr=$thisTimeFinishNumStr";
$lastTimeFinishNumStr = $thisTimeFinishNumStr;
//刷新返回
//--------------
$usedTime++; //总时间
sleep(5);
}//end while
}
function createSubsCVS($path,$subsTlbName,$sysId)
{
$pubDb = "OMC_PUB";
$filePath = $path . "$subsTlbName.$sysId.csv";
if (is_file($filePath))
unlink($filePath);
$csvFileUpdateSql=" SELECT *
INTO OUTFILE '{$filePath}'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
FROM $subsTlbName limit 0,5000
";
//echo "<br>csvFileUpdateSql= $csvFileUpdateSql";
$csvFileUpdateResult = mysqli_query($pubConn ,$csvFileUpdateSql);
echo mysqli_error($pubConn);
}//end createSubsCVS
function getBssIp (&$bssIpArr)
{
$bssDb = "BssOmcDb";
$bssTable = "OMCR_BSSTABLE";
$selSql = "select ip,bssid from $bssTable";
$bssResult = mysqli_query($pubConn,$selSql);
while($bssRow = mysqli_fetch_array($bssResult))
{
$ip = $bssRow[ip];
if(strlen($ip)< 7) continue;
$bssIpArr[] = $ip;
}
}//end getBssIp
function getBssDb($bssDbPath,$bssIpAddr)
{
$fileArr = array('abis.db', 'bscadmin.db', 'calltrc.db', 'sysmon.db',
'aifadmin.db', 'BssGb.db', 'frmgr.db', 'trkadmin.db');
$remoteDir = "/hd0/iw07_00.010/compile/cfg/";
$ftpCon=@ftp_connect($bssIpAddr);
if($ftpCon < 0){
echo "<font color=\"#FF0000\">BSS's ip is error or connect $bssIpAddr Failed!</font>";
flush();
return 0;
}
if(!@ftp_login($ftpCon,'','')){
echo "<font color=\"#FF0000\">BSS's ip is error or login $bssIpAddr Failed!</font>";
@ftp_close($ftpCon);
flush();
return 0;
}
if(!@ftp_chdir($ftpCon, $remoteDir)){
echo "<font color=\"#FF0000\">Change dir error!</font>";
@ftp_close($ftpCon);
flush();
return 0;
}
$localDir = $bssDbPath . $bssIpAddr . '/';
mkdir($localDir, 0777);
for($i=0; $i< sizeof($fileArr); $i++) {
$file = $fileArr[$i];
$remoteFile=$remoteDir.$file;
$localFile=$localDir.$file;
if (!@ftp_get($ftpCon, $localFile, $remoteFile, FTP_BINARY)) {
flush();
echo "<font color=\"#FF0000\">Get file error!</font>";
@ftp_close($ftpCon);
return 0;
}
}//end for
@ftp_close($ftpCon);
return 1;
}//end get BssDb
?>
<body leftmargin=12 topmargin=5>
<?php
echo "<table border=\"0\" width=\"100%\">";
echo "<tr>";
echo "<td width=\"50%\">";
echo "$ThisPage";
echo "</td>";
echo "<td width=\"50%\" align=\"right\" title=\"Help\">";
showHelp($helpId);
echo "</td>";
echo "</tr>";
echo "</table>";
?>
<?php
{//get allSysArr
$allPlatArr = array(
array('typeNo' => 111, 'name' => 'PLAT'),
array('typeNo' => 222, 'name' => 'PLAT'),
array('typeNo' => 223, 'name' => 'PLAT'),
array('typeNo' => 225, 'name' => 'PLAT')
);
$selSql = " select * from OMC_PUB.elementExistConf where existFlag=1 and elementTypeNo!=0 order by elementNo";
$exitRes = mysqli_query($pubConn,$selSql);
while($exitRows = mysqli_fetch_array($exitRes))
{
$typeNo = $exitRows[elementTypeNo];
if($typeNo==320)
{
$typeNo=322;
$tmpAllSysArr[] = array('typeNo' => 325, 'name' => 'VLR');
}
$name = $exitRows[elementName];
$tmpAllSysArr[] = array('typeNo' => $typeNo, 'name' => $name);
}
for($i=0; $i<sizeof($allPlatArr); $i++)
{
$tmpAllSysArr[] = $allPlatArr[$i];
}
$j=0;
for($i=0; $i<sizeof($tmpAllSysArr); $i++)
{
$curSys = $tmpAllSysArr[$i][typeNo];
$selSql = "select sysNo,subSysNo from OMC_PUB.sysInfo where sysTypeNo=$curSys";
$result = mysqli_query($pubConn,$selSql);
$rowNum = mysqli_num_rows($result);
if($rowNum<=0) continue;
if($curSys < 300 && $curSys != 225)
{
$lastSysNo=-1;
while($rows = mysqli_fetch_array($result))
{
$sysNo=$rows[sysNo];
$subSysNo = $rows[subSysNo];
if($curSys > 200 && $sysNo==0) continue;
$sysId = $curSys."_".$sysNo."_99";
$slcsysId=-1;
$tlbNo = $sysNo;
if($curSys==222 || $curSys==223) {
if(($sysNo==8 || $sysNo==11)) {
$sysId = $curSys . '_' . $sysNo . '_' . $subSysNo;
}
else if($sysNo==9) {
$sysId = $curSys . '_99_99';
$slcsysId = $curSys . '_' . $sysNo . '_' . $subSysNo;
$tlbNo = 99;
}
}
if($curSys==111)
{
$slcsysId = $curSys."_".$sysNo."_".$subSysNo;
}
$oidsysArr[]= array('oid'=>'2', 'sysid'=> $sysId, 'selectsysid'=> $slcsysId);
if($sysNo != $lastSysNo)
$tbNameArr[] = "OBJ_".$curSys.".param_".$tlbNo;
$lastSysNo=$sysNo;
}
}
if($curSys > 300 || $curSys==225)
{
$slcsysId = -1;
$sysId = $curSys."_99_99";
$oidsysArr[]= array('oid'=>'2', 'sysid'=> $sysId, 'selectsysid'=> $slcsysId);
$tbNameArr[] = "OBJ_".$curSys.".param_99";
}
$allSysArr[$j] = $tmpAllSysArr[$i];
$allSysArr[$j][oidsysArr]=$oidsysArr;
$allSysArr[$j][tbNameArr]=$tbNameArr;
$j++;
unset($oidsysArr);
unset($tbNameArr);
}
}//end get allSysArr.
{//get subsDbArr.
$tmpdbArr = array(
array('typeNo' => '330'), //HLR
//array('typeNo' => '325'), //VLR
//array('typeNo' => '360'), //PPS
array('typeNo' => '340'), //AUC
//array('typeNo' => '380'), //EIR
array('typeNo' => '370'), //MNP
array('typeNo' => '390')//must be the last one.
);
for($i=0; $i< sizeof($tmpdbArr); $i++)
{
$tmpTypeNo = $tmpdbArr[$i][typeNo];
if($tmpTypeNo==325)$tmpTypeNo=320;
$selSql = " select * from OMC_PUB.elementExistConf where existFlag=1 and elementTypeNo=$tmpTypeNo";
$exitRes = mysqli_query($pubConn,$selSql);
if($exitRow=mysqli_fetch_array($exitRes))
{
$tmpsubsDbArr[] = $tmpdbArr[$i];
}
}
for($i=0; $i<sizeof($tmpsubsDbArr); $i++) {
$sysTypeNo=$tmpsubsDbArr[$i][typeNo];
$slcSysTypeNo = $sysTypeNo;
if($sysType==325)$slcSysTypeNo=320;
$infoSelSql = "SELECT sysNo,subSysNo FROM OMC_PUB.sysInfo WHERE sysTypeNo='$slcSysTypeNo'
ORDER BY baseStat DESC,updateTime DESC,sysNo,subSysNo";
$infoResult = mysqli_query($pubConn,$infoSelSql);
if(mysqli_num_rows($infoResult) > 0){
if($sysTypeNo==390){
$j=$i;
while($infoRows = mysqli_fetch_array($infoResult))
{
$sysNo = $infoRows[sysNo];
$subSysNo = $infoRows[subSysNo];
$sysId = $sysTypeNo.'_'.$sysNo.'_'.$subSysNo;
$subsTlb = "VMS_DB.subscriberData_" . $sysNo;
$subsDbArr[$j][typeNo] = $sysTypeNo;
$subsDbArr[$j][sysId] = $sysId;
$subsDbArr[$j][name] = 'VMS';
$subsDbArr[$j][subsTlb] = $subsTlb;
$j++;
}
} else {
$sysSubsConfTable ='OMC_PUB.sysSubsConf';
$systemConfTable = 'OMC_PUB.sysConf';
$getConfSql="SELECT sysTypeName,dataTypeNo,indexFieldName,subsDataTable,tmpDataTable
FROM $sysSubsConfTable,$systemConfTable
WHERE $sysSubsConfTable.sysTypeNo='$sysTypeNo'
AND $systemConfTable.sysTypeNo='$sysTypeNo'
AND $sysSubsConfTable.dataTypeNo='$dataTypeNo'
";
$getConfResult=mysqli_query($pubConn,$getConfSql);
echo mysqli_error($pubConn);
$getConfRows=mysqli_fetch_array($getConfResult);
$sysTypeName =$getConfRows[sysTypeName];
//$indexFieldName =$getConfRows[indexFieldName];
$subsTlb =$getConfRows[subsDataTable];
//$tmpDataTable =$getConfRows[tmpDataTable];
$infoRows = mysqli_fetch_array($infoResult);
$sysNo = $infoRows[sysNo];
$subSysNo = $infoRows[subSysNo];
$sysId = $sysTypeNo.'_'.$sysNo.'_'.$subSysNo;
$subsDbArr[$i][typeNo] = $sysTypeNo;
$subsDbArr[$i][sysId] = $sysId;
$subsDbArr[$i][name] = $sysTypeName;
$subsDbArr[$i][subsTlb] = $subsTlb;
}
}
}
}//end get subsDbArr.
if(1)//get parameters from devices
{
echo "<font color=\"#0000FF\"><br><b>Getting parameter data from devices ... </b></font>";
flush();
for($i=0; $i<sizeof($allSysArr); $i++)
{
$oidsysArr=$allSysArr[$i][oidsysArr];
$sysName = $allSysArr[$i][name];
if($sysName !== $oldName){
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#0000FF\">[&nbsp;<span class=\"inner\">$sysName</span>&nbsp;]</font>&nbsp;&nbsp;";
flush();
}
GetParam($oidsysArr,0,0);
$oldName = $sysName;
}
}//end get parameters from devices
if(file_exists($archivePath))
exec("rm -rf $archivePath");
if(1)//create parameters' cvs files
{
echo "<br>";
echo "<font color=\"#0000FF\"><br><b>Creating parameter tables ... </b></font>";
exec("mkdir $paremerPath -p");
exec("chmod -R 777 $paremerPath");
for($i=0; $i<sizeof($allSysArr); $i++)
{
$curSys = $allSysArr[$i][typeNo];
$sysName = $allSysArr[$i][name];
if($sysName !== $oldName) {
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#0000FF\">[&nbsp;<span class=\"inner\">$sysName</span>&nbsp;]&nbsp;&nbsp;...&nbsp;&nbsp;</font>";
flush();
}
$tbNameArr = $allSysArr[$i][tbNameArr];
createParamCVS($paremerPath,$tbNameArr);
if($sysName !== $oldName) {
echo "<font color=\"#0000FF\"><b>Finished.</b></font>";
flush();
}
$oldName = $sysName;
}
}//end create parameters' cvs files
if(1) //get Subscriber data from devices
{
echo "<br>";
echo "<font color=\"#0000FF\"><br><b>Getting subscribers data from devices ... </b></font>";
flush();
for($i=0; $i<sizeof($subsDbArr); $i++)
{
$sysId = $subsDbArr[$i][sysId];
$dataTypeNo = 0;
$sysName = $subsDbArr[$i][name];
if($sysName !== $oldName){
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#0000FF\">[&nbsp;<span class=\"inner\">$sysName</span>&nbsp;]</font>&nbsp;&nbsp;";
flush();
}
getSubsData($sysId,$dataTypeNo);
$oldName = $sysName;
}
}//end get subscriber data from devices.
//exit;
if(1)//create subscribers' cvs files
{
exec("mkdir $subsPath -p");
exec("chmod -R 777 $subsPath");
echo "<font color=\"#0000FF\"><br><b>Creating subscriber tables ... </b></font>";
for($i=0; $i< sizeof($subsDbArr); $i++)
{
$subsTlbName = $subsDbArr[$i][subsTlb];
$sysId = $subsDbArr[$i][sysId];
$sysName = $subsDbArr[$i][name];
if($sysName !== $oldName) {
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#0000FF\">[&nbsp;<span class=\"inner\">$sysName</span>&nbsp;]&nbsp;&nbsp;...&nbsp;&nbsp;</font>";
flush();
}
createSubsCVS($subsPath,$subsTlbName,$sysId);
if($sysName !== $oldName) {
echo "<font color=\"#0000FF\"><b>Finished.</b></font>";
flush();
}
$oldName = $sysName;
}//end subscribers table.
}//end create subscribers cvs files.
$selSql = " select * from OMC_PUB.elementExistConf where existFlag=1 and elementTypeNo=500";
$exitRes = mysqli_query($pubConn,$selSql);
if($exitRows = mysqli_fetch_array($exitRes))//get bss data
{
echo "<br>";
echo "<font color=\"#0000FF\"><br><b>Getting BSS data ... </b></font>";
flush();
exec("mkdir $bssOmcTlbPath -p");
exec("chmod -R 777 $bssOmcTlbPath");
$tbNameArr = array('BssOmcDb.OMCR_BSSTABLE');
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#0000FF\"><b>Creating parameter tables ... </b></font>";
createParamCVS($bssOmcTlbPath,$tbNameArr);
echo "<font color=\"#0000FF\"><b>Finished.</b></font>";
//get bss db.
exec("mkdir $bssDbPath -p");
exec("chmod -R 777 $bssDbPath");
chdir($bssDbPath);
getBssIp ($bssIpArr);
for($i=0; $i<sizeof($bssIpArr); $i++) {
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#0000FF\"><b>Getting $bssIpArr[$i] dbs ... <b></font>";
flush();
if(getBssDb($bssDbPath,$bssIpArr[$i])){
echo "<font color=\"#0000FF\"><b>Finished.</b></font>";
flush();
}
}
}//end get bss database.
if(1)//compress files
{
echo "<br>";
echo "<font color=\"#0000FF\"><br><b>Compressing files ... <b></font>";
flush();
if (is_dir($tgzPath))
{
exec("rm -rf $tgzPath");
}
chdir($archivePath);
exec("tar zcvf $tgzName *");
exec("mkdir $tgzPath -p");
exec("chmod -R 777 $tgzPath");
exec("mv $tgzName $tgzPath");
exec("rm -rf $subsDir $paramDir $bssDir");
echo "<font color=\"#0000FF\"><b>Finished.</b></font>";
flush();
}//end compress files.
//exit;
echo "<script language=\"javascript\">";
echo "window.location=\"downAndUploadAll.php\"";
echo "</script>";
?>
</body>
</html>
+301
View File
@@ -0,0 +1,301 @@
<?php
/*********************************************************
程序说明:
功能说明:树状显示数据库中可下载、上传的数据文件。
调用关系:调用: header.inc
被调用:
变量说明:
作者:
修改注释:
NO.1
姓名:
时间:
修改说明:
*********************************************************/
require("../../inc/header.inc");
$helpId = isset($helpId)?$helpId:'5.1.1';
$sel_name=$_REQUEST['sel_name'];
$data_type="strDATA$sel_name";
$ThisPage="$strMaintenance&nbsp;>&nbsp;$strBackupRestore&nbsp;>&nbsp;"."${$data_type}";
$DEBUG = 0;
$db=$omc_db;
?>
<body leftmargin="15" rightmargin="10" onload="javascript:adjust();" onresize="javascript:adjust();" 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%\" align=\"left\">";
echo "$ThisPage";
echo "</td>";
echo "<td width=\"50%\" align=\"right\" title=\"Help\">";
showHelp($helpId);
echo "</td>";
echo "</tr>";
echo "</table>";
adjust_title_tail();
adjust_content_head();
?>
<br>&nbsp;
<table border="1" width="100%" cellpadding="2" cellspacing="0" bordercolor="#666666" bordercolordark="#FFFFFF" bgcolor="#FFFFFF" >
<?php
echo"<tr bgcolor=\"#E6E6E6\"><td valign=\"middle\" width=\"40%\">$strCSVDataFile</td>";
echo "<td width=\"20%\" align=\"center\"> $strLastDownloadTime </td>";
echo "<td width=\"10%\" align=\"center\"> $strDownload </td>";
echo "<td width=\"20%\" align=\"center\"> $strLastUploadTime </td>";
echo "<td width=\"10%\" align=\"center\"> $strUpload</td>";
echo "</tr></table>";
echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">";
echo "<tr ><td colspan=\"5\" ><img src=\"../../images/line.gif\"></td></tr>";
/************************从数据库取出菜单结构的数据,并按顺序导入到数组中**************************/
//----------------------选择语言版本----------------------
if($selectedLanguage == 'eng'){
$show_menu_name=menu_name_2; //语种2
}elseif($selectedLanguage == 'chn'){
$show_menu_name=menu_name; //语种1
}
$level_num=4;
$menu_list = "level_0,level_1,level_2,level_3";
if ($DEBUG) echo "<br>sel_name=$sel_name<br>";
if ($sel_name == "network"){
$sel_db_name = "'%OBJ%'";
$where = "WHERE db_name LIKE $sel_db_name AND table_name LIKE 'param\_%' AND if_enable=1 ";
}elseif($sel_name == "account"){
$sel_db_name = "('HLR_DB','VLR_DB','PPS_DB','AUC_DB','EIR_DB','VMS_DB','MNP_DB','OPR_DB','iPALIM_DB')";
$exclude_db_name = "('CSTA_DB')";
$table_name = "('daily_report')";
$where = "WHERE db_name IN $sel_db_name AND table_name NOT IN $table_name AND if_enable=1 ";
}elseif ($sel_name == "performance"){
//$sel_db_name = "('CSTA_DB')";
$exclude_db_name = "''";
$table_name = "('daily_report','sysOperLog','sysAlarmLog')";
//$where = "WHERE db_name IN $sel_db_name OR table_name IN $table_name";
$where = "WHERE table_name IN $table_name AND if_enable=1 ";
}elseif ($sel_name == "define"){
$sel_db_name = "'%OBJ%'";
$where = "WHERE (db_name LIKE $sel_db_name AND if_enable=1 AND(table_name LIKE 'paramC%' OR table_name LIKE 'subsParamConf%' OR table_name LIKE 'logAttrDef%')) OR (table_name LIKE 'sysInfo') OR (table_name LIKE 'sysMenuConf')";
}
else
$where = "where(1)";
/*
elseif ($sel_name == "cdr"){
$sel_db_name = "'%CDR%'";
$where = "WHERE db_name LIKE $sel_db_name";
}
*/
//AND if_enable!='0'
$menu_sql = "SELECT * FROM $syscsvconf_table $where ORDER BY ".$menu_list;
//echo "<br>menu_sql=$menu_sql<br>";
$menu_result = @mysqli_query($pubConn,$menu_sql);
$menu_rows = @mysqli_fetch_array($menu_result);
echo mysqli_error($pubConn);
$n=0;
do{
//从第i层开始划分层次,第i层之前不参与显示算法
for($i=0; $i < $level_num; $i++){
$menu_num = 'level_'.$i;
$menu_arr[$n][$i]=$menu_rows[$menu_num];
}
$menu_arr[$n][show_name] =$menu_rows[$show_menu_name];
$menu_arr[$n][can_download] =$menu_rows[can_download];
$menu_arr[$n][can_upload] =$menu_rows[can_upload];
$menu_arr[$n][last_download]=$menu_rows[last_download];
$menu_arr[$n][last_upload] =$menu_rows[last_upload];
$menu_arr[$n][key_menu_id] =$menu_rows[key_menu_id];
$menu_arr[$n][db_name] =$menu_rows[db_name];
$menu_arr[$n][table_name] =$menu_rows[table_name];
//echo "<br>{$menu_arr[$n][show_name]}";
//echo "$show_menu_name<br>";
//echo "n = $n, db_name = $menu_arr[$n][6] , table name = $menu_rows[table_name]<br>";
if((($menu_arr[$n][table_name]=='sysOperLog')||($menu_arr[$n][table_name]=='sysAlarmLog'))&&($menu_arr[$n][can_download]=='1')){
$tmpMenuArr=explode('_',$menu_arr[$n][show_name]);
$day=date("m-d",mktime(0,0,0,date("m"),date("d")-($tmpMenuArr[1]),date("Y")));
$menu_arr[$n][show_name]=$tmpMenuArr[0].'_'.$day;
}
$n++;
}while($menu_rows = mysqli_fetch_array($menu_result));
//exit();
/*************************************下面是顺序显示菜单程序***************************************/
for($i=0 ; $i < sizeof($menu_arr); $i++) //从上到下 ---> 级
{
$show_name = $menu_arr[$i][show_name];
$can_download =$menu_arr[$i][can_download];
$can_upload =$menu_arr[$i][can_upload];
$key_menu_id=$menu_arr[$i][key_menu_id];
$db_name = $menu_arr[$i][db_name];
$table_name = $menu_arr[$i][table_name];
$show_value = "key_menu_id=$key_menu_id";
$show = "&nbsp;$show_name";
$show_1 = "\n<img align=absBottom border=0 src=../../images/midminus.gif><img align=absBottom border=0 src=../../images/open.gif>$show";
$show_2 = "\n<img align=absBottom border=0 src=../../images/midblk.gif><img align=absBottom border=0 src=../../images/csv_file.gif> $show";
$show_4 = "\n<img align=absBottom border=0 src=../../images/lastblk.gif><img align=absBottom border=0 src=../../images/csv_file.gif> $show";
$show_3 = "\n<img align=absBottom border=0 src=../../images/line.gif>";
$show_5 = "\n<img align=absBottom border=0 src=../../images/blank.gif>";
//$bgcolor=$i%2?'#ffffff':'#f4f4f4';
$bgcolor='';
echo"<tr onMouseOver=\"this.bgColor='#FFFF44'\" onMouseOut=\"this.bgColor=''\" bgcolor=$bgcolor><td valign=\"middle\" width=\"40%\" >";
echo "<nobr>";
for($j=0;$j < $level_num;$j++) //从左到右 ---> 层
{
if($menu_arr[$i][$j] > 0) //如果该节点大于零
{
if($menu_arr[$i+1][$j] > $menu_arr[$i][$j] ) //如果下面有树枝或页子与本节点(树枝或叶子)相连,即下面有兄弟节点
{
if($menu_arr[$i][$j+1] > 0) //如果是树枝
{
echo "$show_3"; //show_3
}
else //叶子
{
echo "$show_2"; //show_2
}
}
else //如果下面的节点号不大于本节点号
{
if($menu_arr[$i][$j+1] > 0) //如果本节点不是叶子
{
$is_line =0; //标志位,用于标志同一树枝下面是否还有分支,或是直接连在本枝上的叶子。
for($p=$i+1;$p < sizeof($menu_arr) && $menu_arr[$p][$j-1] == $menu_arr[$i][$j-1];$p++) //顺着上一层目录,向下查找
{
if($menu_arr[$p][$j] > $menu_arr[$i][$j]) //找到了!!!
{
$is_line = 1;
break;
}
}
if($is_line == 1) //下面还有分支,或是直接连在本枝上的叶子
{
echo "$show_3"; //show_3
}
else //同一树枝下没有分支,或是连在本枝上的叶子
{
echo "$show_5"; //show_5
}
}
else //本节点是叶子
{
if($menu_arr[$i+1][$j+1] > 0 ) //本节点有分叉,即有起点在本节点的子树
{
echo "$show_1"; //show_1
}
else //本节点是该树枝上最末一片页子
{
echo "$show_4"; //show_4
}
}
} //end else of if($menu_arr[$i+1][$j] > $menu_arr[$i][$j] )
} //end if($menu_arr[$i][$j] > 0)
} //end for($j=0;$j < $level_num;$j++)
echo "</nobr></td>";
if($can_download > 0){
echo "<td width=\"20%\" align=\"center\"> {$menu_arr[$i][last_download]}</td>";
echo "<td width=\"10%\" align=\"center\"><a href=\"./load_out_csv.php?$show_value&sel_name=$sel_name\" TARGET=\"_blank\">$strDownload </a></td>";
}else{
echo "<td width=\"20%\" align=\"center\"> --- </td>";
echo "<td width=\"10%\" align=\"center\"> --- </td>";
}
if($can_upload > 0){
echo "<td width=\"20%\" align=\"center\"> {$menu_arr[$i][last_upload]}</td>";
//echo "db_name=$db_name,tabel_name=$table_name<br>";
if (($db_name == 'HLR_DB')&&($table_name=='subscriberData')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=330&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VLR_DB')&&($table_name=='subscriberData')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=325&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'PPS_DB')&&($table_name=='user_info')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=360&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'AUC_DB')&&($table_name=='AUC_Dyn_data')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=340&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'EIR_DB')&&($table_name=='BlackGrayIMEI')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=380&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_0')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_0_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_1')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_1_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_2')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_2_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_3')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_3_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_4')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_4_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_5')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_5_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_6')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_6_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_7')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_7_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_8')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_8_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_9')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_9_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_10')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_10_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_11')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_11_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_12')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_12_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_13')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_13_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_14')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_14_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'VMS_DB')&&($table_name=='subscriberData_15')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=390_15_0&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif ($db_name == 'SN_DB'){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=253&dataTypeNo=0\"> $strUpload </a></td>";
}
elseif (($db_name == 'MNP_DB')&&($table_name=='subscriberData')){
echo "<td width=\"10%\" align=\"center\"><a href=\"../../account/pubSubsImport/subscriberImportIndex.php?sysId=370&dataTypeNo=0\"> $strUpload </a></td>";
}
else{
echo "<td width=\"20%\" align=\"center\"><a href=\"./load_in_csv.php?$show_value&sel_name=$sel_name\"> $strUpload </a></td>";
}
}else{
echo "<td width=\"20%\" align=\"center\"> --- </td>";
echo "<td width=\"10%\" align=\"center\"> --- </td>";
}
echo "</tr>";
} //end for($i=0 ; $i < $n ; $i++)
?>
</table>
<?php
adjust_content_tail();
?>
</body>
</html>
+410
View File
@@ -0,0 +1,410 @@
<?php
/*********************************************************
程序说明:
功能说明:从文件导入信息到数据库。
调用关系:调用: header.inc
被调用:
变量说明:
作者:
修改注释:
NO.1
姓名:
时间:2004-02-25
说明:修复原来忽略导入文件第一行的bug。方法:设$data_style[ignore_lines]=0
*********************************************************/
set_time_limit(3600);
require("../../inc/header.inc");
$DEBUG = 0;
$insert_result=2;
if ($DEBUG) echo "<br>sel_name = $sel_name<br>";
/*
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY '\t']
[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]]
[LINES TERMINATED BY '\n']
[IGNORE number LINES]
[(col_name,...)]
例:
LOAD DATA LOCAL INFILE '/tmp/phpBGhA33'
INTO TABLE OMC_Def_test
FIELDS
TERMINATED BY ','
ENCLOSED BY '\"'
ESCAPED BY '\\'(可省略)
LINES
TERMINATED BY '\n'
IGNORE 1 LINES
*/
$remark_style=array(
'sign' =>'#',
'fields_by' =>',',
'lines_by' =>'\n',
'fields_seek' =>'1'
);
$data_style=array(
'fields_by' =>',',
'enclosed_by'=>'\"',
'escaped_by' =>'\\',
'lines_by' =>'\n',
'ignore_lines' =>'0',
'mode' =>'REPLACE'
);
echo "test<br>";
//get load out information
$info_sql = "SELECT * FROM $syscsvconf_table WHERE key_menu_id='$key_menu_id'";
if($DEBUG) echo "<br>info_sql = $info_sql";//调试用
$result = mysqli_query($pubConn,$info_sql);
$info_rows = mysqli_fetch_array($result);
$server_name = $info_rows[server_name];
$db_name = $info_rows[db_name];
$table_name = $info_rows[table_name];
$where_find = $info_rows[where_find];
$sys_id = $info_rows[sys_id];
$obj_id = $info_rows[obj_id];
$if_enable = $info_rows[if_enable];
$if_enable =0;
$if_subsys = $info_rows[if_subsys];
$menu_name = $info_rows[menu_name];
$menu_name_2 = $info_rows[menu_name_2];
$log_name = "Upload--"."'$server_name' '$db_name' '$table_name'";
/*
$sel_field_list= mysql_list_fields($db_name,$table_name);
$sel_field_num = mysql_num_fields($sel_field_list);
if($DEBUG) echo "<br>sel_field_num=$sel_field_num";
for($i=0;$i<$sel_field_num;$i++){
$sel_field_name = mysql_field_name($sel_field_list, $i);
if($sel_field_name=='mflag'){
$if_enable=1;
break;
}
}
*/
if($DEBUG) echo "<br>if_enable=$if_enable";
if($DEBUG) echo "<br>if_subsys=$if_subsys";
if($if_subsys>0){
$subsys_num = omc_sys_id_info($sys_id,subsys_num);
echo "<br>subsys_num=$subsys_num";
}
$load_file_info=array(
'name' =>$textfile,
'server'=>$server_name,
'db' =>$db_name,
'table' =>$table_name
);
if(isset($textfile) && $textfile != "none"){
if($DEBUG) echo "<br>LOAD DATA file -> $textfile<br>";
if (($table_name == 'paramConf') ||($table_name == 'subsParamConf_0')||($table_name == 'subsParamConf_1')||($table_name == 'logAttrDef_0')||($table_name == 'logAttrDef_1')){
$del_sql = "DELETE FROM $table_name";
if($DEBUG) echo "<br>del_sql = $del_sql";
$del_result = mysqli_query($pubConn,$del_sql);
if($DEBUG) echo "<br>del_result=$del_result";
$insert_sql = "LOAD DATA LOCAL INFILE '$textfile'
INTO TABLE $table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
";
if($DEBUG) echo "<br>insert_sql=$insert_sql";
$insert_result=mysqli_query($pubConn,$insert_sql);
$log_name="UPLOAD $db_name-$table_name";
if($DEBUG) echo "<br>insert_result=$insert_result";
if ($insert_result){
$log_name=$log_name." successful.";
$update_sql="UPDATE $syscsvconf_table SET last_upload = CURRENT_TIMESTAMP WHERE key_menu_id='$key_menu_id'";
mysqli_query($pubConn,$update_sql);
}
else
$log_name=$log_name." fail.";
insertLog("$log_name");
}
//elseif (omc_chk_load_in($load_file_info,$remark_style) > 0){
else{
//empty existed table
if($DEBUG) $drop_sql="DROP TABLE IF EXISTS load_temp";
$drop_result=mysqli_query($pubConn,$drop_sql);
$create_sql="CREATE TABLE IF NOT EXISTS load_temp SELECT * FROM $table_name LIMIT 0,0";
if($DEBUG) echo "<br>create_sql=$create_sql";
$create_result=mysqli_query($pubConn,$create_sql);
//如果建表成功,把文件数据导入临时表
if($create_result>0){
$load_sql="LOAD DATA LOCAL INFILE '$textfile' $data_style[mode]
INTO TABLE load_temp
FIELDS
TERMINATED BY '$data_style[fields_by]'
ENCLOSED BY '$data_style[enclosed_by]'
LINES
TERMINATED BY '$data_style[lines_by]'
IGNORE $data_style[ignore_lines] LINES
";
if($DEBUG) echo "<br>load_sql=$load_sql";
if(0)
{
$link = mysqli_init();
mysqli_options($link, MYSQLI_OPT_LOCAL_INFILE, true);
mysqli_real_connect($link, 'localhost', root, rootaa, PPS_DB);
$load_result=mysqli_query($load_sql);
}
if(1)
{
$hostname="localhost";
$username="root";
$password="rootaa";
$db = mysql_connect($hostname, $username, $password, false, 128); // 128 enables LOCAL INFILE
mysql_select_db($db_name, $db);
$load_result = mysql_query($load_sql,$db) or
die("Invalid query: $load_sql\n" . mysqli_error($pubConn));
}
else
{
$load_result=mysqli_query($pubConn,$load_sql);
}
//$load_result=mysqli_query($pubConn,$load_sql);
if($DEBUG) echo "load_resul[$load_result] <br>";
if(0)
{
echo mysqli_error($pubConn);
echo "load_sql[$load_sql] load_resul[$load_result] <br>";
exit();
}
//如果导入成功,把临时表作相应改变
if($load_result > 0){
//删除空记录
$sel_field_list= mysql_list_fields($db_name,$table_name);
$sel_field_num = mysql_num_fields($sel_field_list);
$sel_all_field='';
for($i=0;$i<$sel_field_num;$i++){
$sel_field_name = mysql_field_name($sel_field_list, $i);
if($i==$sel_field_num-1)
{
$sel_all_field.=$sel_field_name."=''";
}
else
{
$sel_all_field.=$sel_field_name."='' AND ";
}
}
$del_sql = " DELETE FROM load_temp WHERE ".$sel_all_field;
if ($DEBUG) echo "<br>del_sql=$del_sql";
$del_result = mysqli_query($pubConn,$del_sql);
//如果是参数表
if($if_subsys > 0){
$update_sql="UPDATE load_temp SET key_subsys_id=$subsys_num";
}elseif($if_enable > 0){
$sel_field_list= mysql_list_fields($db_name,$table_name);
$sel_field_num = mysql_num_fields($sel_field_list);
if($DEBUG) echo "<br>sel_field_num=$sel_field_num";
$set_all_field='';
for($i=0;$i<$sel_field_num;$i++){
$sel_field_name = mysql_field_name($sel_field_list, $i);
if(substr($sel_field_name,0,1)=='E'){
$set_field=substr($sel_field_name,2);
$set_all_field=$set_all_field.",".$sel_field_name."=".$set_field;
}
}
$set_total_field="mflag='1'".$set_all_field;
$update_sql="UPDATE load_temp SET ".$set_total_field;
if($DEBUG) echo "<br>update_sql=$update_sql";
}
if($if_subsys > 0 || $if_enable > 0){
$update_result=mysqli_query($pubConn,$update_sql);
}else{
$update_result=1;
}
if(0) echo "update_result[$update_result]<br>";
//echo "<br>update_sql=$update_sql";
//如果修改成功,把临时表数据一条条插入相应表
if($update_result > 0){
$select_sql="SELECT * FROM load_temp";
$select_result=mysqli_query($pubConn,$select_sql);
$sel_field_num = mysql_num_fields($select_result);
$select_rows=mysqli_fetch_array($select_result);
do{
$sel_val='';
for($i=0;$i<$sel_field_num;$i++){
$select_rows[$i]=str_replace("'","\'",$select_rows[$i]);
if($i==$sel_field_num-1){
if($i==0){
$sel_val="'".$select_rows[$i]."'";
}else{
$sel_val=$sel_val."'".$select_rows[$i]."'";
}
}else{
if($i==0){
$sel_val="'".$select_rows[$i]."'".",";
}else{
$sel_val=$sel_val."'".$select_rows[$i]."'".",";
}
}
//echo "<br>sel_val=$sel_val";
}
$replace_sql="REPLACE $table_name VALUES($sel_val)";
if ($DEBUG) echo "<br>replace_sql=$replace_sql";
$replace_result=mysqli_query($pubConn,$replace_sql);
}while($select_rows=mysqli_fetch_array($select_result));
if($table_name=='pre_mo_tariff'||$table_name=='pre_mt_tariff'){
$tmpSql=" SELECT bill_id,tariff_id FROM $table_name";
if($DEBUG)echo "<br>tmpSql=$tmpSql";
$tmpRes = @mysqli_query($pubConn,$tmpSql);
$tmpRow = @mysqli_fetch_array($tmpRes);
echo mysqli_error($pubConn);
do
{
$tmp_bill_id = $tmpRow[bill_id];
$tmp_tariff_id = $tmpRow[tariff_id];
for($count=0;$count<strlen($tmp_bill_id);$count++){
if($tmp_bill_id[$count]<'0'||$tmp_bill_id[$count]>'9'){
if($tmp_bill_id[$count]!='B'&&$tmp_bill_id[$count]!='b'&&$tmp_bill_id[$count]!='C'&&$tmp_bill_id[$count]!='c'){
$failFlag='1';
$delSql=" DELETE FROM $table_name WHERE tariff_id='$tmp_tariff_id' AND bill_id='$tmp_bill_id'";
//echo "<br>$delSql";
$delRes = @mysqli_query($pubConn,$delSql);
echo mysqli_error($pubConn);
echo "<SCRIPT LANGUAGE=\"JavaScript\">";
echo "alert(\"The prefix $tmp_bill_id of tariff $tmp_tariff_id is error\")";
echo "</SCRIPT>";
break;
}
}
}
}while($tmpRow = @mysqli_fetch_array($tmpRes));
if($failFlag=='1'){
echo "<SCRIPT LANGUAGE=\"JavaScript\">";
echo "alert(\"Other prefixs is success\")";
echo "</SCRIPT>";
}
}
//如果导入成功,给出成功上载标志
if($replace_result>0){
echo "<br><font color=\"#0000FF\">$strOperateDatabaseSuccess</font>";
$input_success=1;
//如果需要通知底层
if($if_enable>0){
$command_type='1';
$send_result=send_shm_module($obj_id,$command_type);//设置共享内存
if($send_result<0){
$update_sql = "UPDATE $table_name set mflag = '0'";
//echo "<br>update_sql=$update_sql";
$result=mysqli_query($pubConn,$update_sql);
}//end if($send_result<0)
}//end ifif($if_enable>0)
}//end if($replace_result>0)
else{
echo "replace err<br>";
echo mysqli_error($pubConn);
}
}//end if($update_result>0)
}//end if($load_result>0)
}//end if($create_result>0)
if($input_success==0){
echo "<br><font color=\"#FF0000\">$strOperateDatabaseFailure</font>";
echo mysqli_error($pubConn);
exit();
}
$drop_sql="DROP TABLE IF EXISTS load_temp";
$drop_result=mysqli_query($pubConn,$drop_sql);
if($input_success>0){
//edit log_name
$log_name=$log_name." successful.";
//update last download time
$update_sql="UPDATE $syscsvconf_table SET last_upload = CURRENT_TIMESTAMP WHERE key_menu_id='$key_menu_id'";
mysqli_query($pubConn,$update_sql);
}else{
$log_name=$log_name." fail.";
echo "<br><font color=\"#FF0000\">$strOperateDatabaseFailure</font>";
echo mysqli_error($pubConn);
}
insertLog("$log_name");
//@unlink($textfile);
//}else{
// echo "<font color=\"#FF0000\">$strDataUploadError</font>";
// $log_name=$log_name." $strDataUploadError.";
// insertLog("$log_name");
}
}elseif(isset($textfile)){
echo "<br><font color=\"#FF0000\" size=\"3\"><b>Upload csv file failed, File isn't exist or file is empty!</b></font>";
}
?>
<body leftmargin="15" rightmargin="10" onload="javascript:adjust();" onresize="javascript:adjust();" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;">
<p><font face="Arial, Helvetica, sans-serif"><font size="+1">
<?php
adjust_head();
adjust_title_head();
//标题
echo "$strUploadTo ";
if($selectedLanguage=='eng'){
echo "$menu_name_2";
}elseif ($selectedLanguage == 'chn'){
echo "$menu_name";
}
echo "</font><br><br>";
/*
if($load_sys_type==0){//如果是TS_OMC
echo "<br><font color=\"#FF0000\">$strNoteUploadParameter</font><br>";
}
*/
if ($insert_result == 1){
echo "<br><font color=\"#0000FF\">$strUploadSucc</font><br>";
}
elseif ($insert_result == 0){
echo "<br><font color=\"#0000FF\">$strUploadUnSucc</font><br>";
}
?>
<form method ="POST" action="<?php echo"$PHP_SELF?sel_name=$sel_name";?>" enctype="multipart/form-data">
<table border="0" cellpadding="0" cellspacing="0" >
<tr>
<td width="40%">
<input type="hidden" name="MAX_FILE_SIZE" value="20971520"><!-- MAX_FILE_SIZE = 20M -->
<input type="file" name="textfile" class="button">
<input type="Hidden" name="key_menu_id" value="<?php echo "$key_menu_id"; ?>">
</td>
<td width="60%">
<input type="submit" value="<?php echo"$strSubmit";?>" name="input" class="button">
<input type="button" value="<?php echo"$strReturn";?>" name="back" onclick=javascript:location.href="./load_csv_list.php?<?php echo "sel_name=$sel_name" ?>" class="button">
</td>
</tr>
</table>
<input type="hidden" name="load_note" value="<?php echo "$load_note";?>">
<input type="hidden" name="sel_name" value="<?php echo "$sel_name";?>">
</form>
<?php
adjust_title_tail();
adjust_content_head();
?>
</body>
</html>
+387
View File
@@ -0,0 +1,387 @@
<?php
/*********************************************************
程序说明:
功能说明:从文件导入信息到数据库。
调用关系:调用: header.inc
被调用:
变量说明:
作者:
修改注释:
NO.1
姓名:
时间:2004-02-25
说明:修复原来忽略导入文件第一行的bug。方法:设$data_style[ignore_lines]=0
*********************************************************/
set_time_limit(3600);
require("../../inc/header.inc");
$DEBUG = 0;
$insert_result=2;
if ($DEBUG) echo "<br>sel_name = $sel_name<br>";
/*
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY '\t']
[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]]
[LINES TERMINATED BY '\n']
[IGNORE number LINES]
[(col_name,...)]
例:
LOAD DATA LOCAL INFILE '/tmp/phpBGhA33'
INTO TABLE OMC_Def_test
FIELDS
TERMINATED BY ','
ENCLOSED BY '\"'
ESCAPED BY '\\'(可省略)
LINES
TERMINATED BY '\n'
IGNORE 1 LINES
*/
$remark_style=array(
'sign' =>'#',
'fields_by' =>',',
'lines_by' =>'\n',
'fields_seek' =>'1'
);
$data_style=array(
'fields_by' =>',',
'enclosed_by'=>'\"',
'escaped_by' =>'\\',
'lines_by' =>'\n',
'ignore_lines' =>'0',
'mode' =>'REPLACE'
);
echo "test<br>";
//get load out information
$info_sql = "SELECT * FROM $syscsvconf_table WHERE key_menu_id='$key_menu_id'";
if($DEBUG) echo "<br>info_sql = $info_sql";//调试用
$result = mysqli_query($pubConn,$info_sql);
$info_rows = mysqli_fetch_array($result);
$server_name = $info_rows[server_name];
$db_name = $info_rows[db_name];
$table_name = $info_rows[table_name];
$where_find = $info_rows[where_find];
$sys_id = $info_rows[sys_id];
$obj_id = $info_rows[obj_id];
$if_enable = $info_rows[if_enable];
$if_enable =0;
$if_subsys = $info_rows[if_subsys];
$menu_name = $info_rows[menu_name];
$menu_name_2 = $info_rows[menu_name_2];
$log_name = "Upload--"."'$server_name' '$db_name' '$table_name'";
/*
$sel_field_list= mysql_list_fields($db_name,$table_name);
$sel_field_num = mysql_num_fields($sel_field_list);
if($DEBUG) echo "<br>sel_field_num=$sel_field_num";
for($i=0;$i<$sel_field_num;$i++){
$sel_field_name = mysql_field_name($sel_field_list, $i);
if($sel_field_name=='mflag'){
$if_enable=1;
break;
}
}
*/
if($DEBUG) echo "<br>if_enable=$if_enable";
if($DEBUG) echo "<br>if_subsys=$if_subsys";
if($if_subsys>0){
$subsys_num = omc_sys_id_info($sys_id,subsys_num);
echo "<br>subsys_num=$subsys_num";
}
$load_file_info=array(
'name' =>$textfile,
'server'=>$server_name,
'db' =>$db_name,
'table' =>$table_name
);
if(isset($textfile) && $textfile != "none"){
if($DEBUG) echo "<br>LOAD DATA file -> $textfile<br>";
if (($table_name == 'paramConf') ||($table_name == 'subsParamConf_0')||($table_name == 'subsParamConf_1')||($table_name == 'logAttrDef_0')||($table_name == 'logAttrDef_1')){
$del_sql = "DELETE FROM $table_name";
if($DEBUG) echo "<br>del_sql = $del_sql";
$del_result = mysqli_query($pubConn,$del_sql);
if($DEBUG) echo "<br>del_result=$del_result";
$insert_sql = "LOAD DATA INFILE '$textfile'
INTO TABLE $table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
";
if($DEBUG) echo "<br>insert_sql=$insert_sql";
$insert_result=mysqli_query($pubConn,$insert_sql);
$log_name="UPLOAD $db_name-$table_name";
if($DEBUG) echo "<br>insert_result=$insert_result";
if ($insert_result){
$log_name=$log_name." successful.";
$update_sql="UPDATE $syscsvconf_table SET last_upload = CURRENT_TIMESTAMP WHERE key_menu_id='$key_menu_id'";
mysqli_query($pubConn,$update_sql);
}
else
$log_name=$log_name." fail.";
insertLog("$log_name");
}
//elseif (omc_chk_load_in($load_file_info,$remark_style) > 0){
else{
//empty existed table
if($DEBUG) $drop_sql="DROP TABLE IF EXISTS load_temp";
$drop_result=mysqli_query($pubConn,$drop_sql);
$create_sql="CREATE TABLE IF NOT EXISTS load_temp SELECT * FROM $table_name LIMIT 0,0";
if($DEBUG) echo "<br>create_sql=$create_sql";
$create_result=mysqli_query($pubConn,$create_sql);
//如果建表成功,把文件数据导入临时表
if($create_result>0){
$load_sql="LOAD DATA LOCAL INFILE '$textfile' $data_style[mode]
INTO TABLE load_temp
FIELDS
TERMINATED BY '$data_style[fields_by]'
ENCLOSED BY '$data_style[enclosed_by]'
LINES
TERMINATED BY '$data_style[lines_by]'
IGNORE $data_style[ignore_lines] LINES
";
if($DEBUG) echo "<br>load_sql=$load_sql";
$load_result=mysqli_query($pubConn,$load_sql);
if($DEBUG) echo "load_resul[$load_result] <br>";
if(0)
{
echo mysqli_error($pubConn);
echo "load_sql[$load_sql] load_resul[$load_result] <br>";
exit();
}
//如果导入成功,把临时表作相应改变
if($load_result > 0){
//删除空记录
$sel_field_list= mysql_list_fields($db_name,$table_name);
$sel_field_num = mysql_num_fields($sel_field_list);
$sel_all_field='';
for($i=0;$i<$sel_field_num;$i++){
$sel_field_name = mysql_field_name($sel_field_list, $i);
if($i==$sel_field_num-1)
{
$sel_all_field.=$sel_field_name."=''";
}
else
{
$sel_all_field.=$sel_field_name."='' AND ";
}
}
$del_sql = " DELETE FROM load_temp WHERE ".$sel_all_field;
if ($DEBUG) echo "<br>del_sql=$del_sql";
$del_result = mysqli_query($pubConn,$del_sql);
//如果是参数表
if($if_subsys > 0){
$update_sql="UPDATE load_temp SET key_subsys_id=$subsys_num";
}elseif($if_enable > 0){
$sel_field_list= mysql_list_fields($db_name,$table_name);
$sel_field_num = mysql_num_fields($sel_field_list);
if($DEBUG) echo "<br>sel_field_num=$sel_field_num";
$set_all_field='';
for($i=0;$i<$sel_field_num;$i++){
$sel_field_name = mysql_field_name($sel_field_list, $i);
if(substr($sel_field_name,0,1)=='E'){
$set_field=substr($sel_field_name,2);
$set_all_field=$set_all_field.",".$sel_field_name."=".$set_field;
}
}
$set_total_field="mflag='1'".$set_all_field;
$update_sql="UPDATE load_temp SET ".$set_total_field;
if($DEBUG) echo "<br>update_sql=$update_sql";
}
if($if_subsys > 0 || $if_enable > 0){
$update_result=mysqli_query($pubConn,$update_sql);
}else{
$update_result=1;
}
if(0) echo "update_result[$update_result]<br>";
//echo "<br>update_sql=$update_sql";
//如果修改成功,把临时表数据一条条插入相应表
if($update_result > 0){
$select_sql="SELECT * FROM load_temp";
$select_result=mysqli_query($pubConn,$select_sql);
$sel_field_num = mysql_num_fields($select_result);
$select_rows=mysqli_fetch_array($select_result);
do{
$sel_val='';
for($i=0;$i<$sel_field_num;$i++){
$select_rows[$i]=str_replace("'","\'",$select_rows[$i]);
if($i==$sel_field_num-1){
if($i==0){
$sel_val="'".$select_rows[$i]."'";
}else{
$sel_val=$sel_val."'".$select_rows[$i]."'";
}
}else{
if($i==0){
$sel_val="'".$select_rows[$i]."'".",";
}else{
$sel_val=$sel_val."'".$select_rows[$i]."'".",";
}
}
//echo "<br>sel_val=$sel_val";
}
$replace_sql="REPLACE $table_name VALUES($sel_val)";
if ($DEBUG) echo "<br>replace_sql=$replace_sql";
$replace_result=mysqli_query($pubConn,$replace_sql);
}while($select_rows=mysqli_fetch_array($select_result));
if($table_name=='pre_mo_tariff'||$table_name=='pre_mt_tariff'){
$tmpSql=" SELECT bill_id,tariff_id FROM $table_name";
if($DEBUG)echo "<br>tmpSql=$tmpSql";
$tmpRes = @mysqli_query($pubConn,$tmpSql);
$tmpRow = @mysqli_fetch_array($tmpRes);
echo mysqli_error($pubConn);
do
{
$tmp_bill_id = $tmpRow[bill_id];
$tmp_tariff_id = $tmpRow[tariff_id];
for($count=0;$count<strlen($tmp_bill_id);$count++){
if($tmp_bill_id[$count]<'0'||$tmp_bill_id[$count]>'9'){
if($tmp_bill_id[$count]!='B'&&$tmp_bill_id[$count]!='b'&&$tmp_bill_id[$count]!='C'&&$tmp_bill_id[$count]!='c'){
$failFlag='1';
$delSql=" DELETE FROM $table_name WHERE tariff_id='$tmp_tariff_id' AND bill_id='$tmp_bill_id'";
//echo "<br>$delSql";
$delRes = @mysqli_query($pubConn,$delSql);
echo mysqli_error($pubConn);
echo "<SCRIPT LANGUAGE=\"JavaScript\">";
echo "alert(\"The prefix $tmp_bill_id of tariff $tmp_tariff_id is error\")";
echo "</SCRIPT>";
break;
}
}
}
}while($tmpRow = @mysqli_fetch_array($tmpRes));
if($failFlag=='1'){
echo "<SCRIPT LANGUAGE=\"JavaScript\">";
echo "alert(\"Other prefixs is success\")";
echo "</SCRIPT>";
}
}
//如果导入成功,给出成功上载标志
if($replace_result>0){
echo "<br><font color=\"#0000FF\">$strOperateDatabaseSuccess</font>";
$input_success=1;
//如果需要通知底层
if($if_enable>0){
$command_type='1';
$send_result=send_shm_module($obj_id,$command_type);//设置共享内存
if($send_result<0){
$update_sql = "UPDATE $table_name set mflag = '0'";
//echo "<br>update_sql=$update_sql";
$result=mysqli_query($pubConn,$update_sql);
}//end if($send_result<0)
}//end ifif($if_enable>0)
}//end if($replace_result>0)
else{
echo "replace err<br>";
echo mysqli_error($pubConn);
}
}//end if($update_result>0)
}//end if($load_result>0)
}//end if($create_result>0)
if($input_success==0){
echo "<br><font color=\"#FF0000\">$strOperateDatabaseFailure</font>";
echo mysqli_error($pubConn);
exit();
}
$drop_sql="DROP TABLE IF EXISTS load_temp";
$drop_result=mysqli_query($pubConn,$drop_sql);
if($input_success>0){
//edit log_name
$log_name=$log_name." successful.";
//update last download time
$update_sql="UPDATE $syscsvconf_table SET last_upload = CURRENT_TIMESTAMP WHERE key_menu_id='$key_menu_id'";
mysqli_query($pubConn,$update_sql);
}else{
$log_name=$log_name." fail.";
echo "<br><font color=\"#FF0000\">$strOperateDatabaseFailure</font>";
echo mysqli_error($pubConn);
}
insertLog("$log_name");
//@unlink($textfile);
//}else{
// echo "<font color=\"#FF0000\">$strDataUploadError</font>";
// $log_name=$log_name." $strDataUploadError.";
// insertLog("$log_name");
}
}elseif(isset($textfile)){
echo "<br><font color=\"#FF0000\" size=\"3\"><b>Upload csv file failed, File isn't exist or file is empty!</b></font>";
}
?>
<body leftmargin="15" rightmargin="10" onload="javascript:adjust();" onresize="javascript:adjust();" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;">
<p><font face="Arial, Helvetica, sans-serif"><font size="+1">
<?php
adjust_head();
adjust_title_head();
//标题
echo "$strUploadTo ";
if($selectedLanguage=='eng'){
echo "$menu_name_2";
}elseif ($selectedLanguage == 'chn'){
echo "$menu_name";
}
echo "</font><br><br>";
/*
if($load_sys_type==0){//如果是TS_OMC
echo "<br><font color=\"#FF0000\">$strNoteUploadParameter</font><br>";
}
*/
if ($insert_result == 1){
echo "<br><font color=\"#0000FF\">$strUploadSucc</font><br>";
}
elseif ($insert_result == 0){
echo "<br><font color=\"#0000FF\">$strUploadUnSucc</font><br>";
}
?>
<form method ="POST" action="<?php echo"$PHP_SELF?sel_name=$sel_name";?>" enctype="multipart/form-data">
<table border="0" cellpadding="0" cellspacing="0" >
<tr>
<td width="40%">
<input type="hidden" name="MAX_FILE_SIZE" value="20971520"><!-- MAX_FILE_SIZE = 20M -->
<input type="file" name="textfile" class="button">
<input type="Hidden" name="key_menu_id" value="<?php echo "$key_menu_id"; ?>">
</td>
<td width="60%">
<input type="submit" value="<?php echo"$strSubmit";?>" name="input" class="button">
<input type="button" value="<?php echo"$strReturn";?>" name="back" onclick=javascript:location.href="./load_csv_list.php?<?php echo "sel_name=$sel_name" ?>" class="button">
</td>
</tr>
</table>
<input type="hidden" name="load_note" value="<?php echo "$load_note";?>">
<input type="hidden" name="sel_name" value="<?php echo "$sel_name";?>">
</form>
<?php
adjust_title_tail();
adjust_content_head();
?>
</body>
</html>
+274
View File
@@ -0,0 +1,274 @@
<?php
/*********************************************************
程序说明:
功能说明:将数据库中的数据以csv文件的格式导出。
调用关系:调用: header.inc,connectdb_prepaid.inc
被调用:
变量说明: var $key_menu_id
get from load_csv_list.php,and use $key_menu_id can get $server_name,$db_name,$table_name from database;
作者:
修改注释:
NO.1
姓名:
时间:
修改说明:
*********************************************************/
@set_time_limit(600);
if (!session_id()) session_start();
if (isset($_SESSION["userInfo"])){
if (!isset($userInfo)) $userInfo = $_SESSION["userInfo"];
$userName=$userInfo['ID'];
//echo "userName=$userName";
}
require("../../inc/lib.inc");
$key_menu_id = $_REQUEST['key_menu_id'];
$sel_name = $_REQUEST['sel_name'];
$file_clean=1;
$download_all=$_REQUEST['download_all'];
if($download_all==1)//download all parameters
{
$start_flag = "start of ";
$end_flag = "end of ";
$path='/usr/local/apache/htdocs/db_backup/paramConf/';
$date_num=date("YmdHis", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));
$keyMenuIdArr=explode(",",$str_keyMenuId);
for($k_no=0; $k_no<sizeof($keyMenuIdArr); $k_no++)
{
//update last download time
$update_sql="UPDATE $syscsvconf_table SET last_download = CURRENT_TIMESTAMP WHERE key_menu_id='{$keyMenuIdArr[$k_no]}'";
mysqli_query($pubConn,$update_sql);
//get load out information
$info_sql="SELECT * FROM $syscsvconf_table WHERE key_menu_id='{$keyMenuIdArr[$k_no]}'";
$result=mysqli_query($pubConn,$info_sql);
$info_rows=mysqli_fetch_array($result);
$server_name = $info_rows[server_name];
$db_name = $info_rows[db_name];
$table_name = $info_rows[table_name];
$where_find = $info_rows[where_find];
$menu_name_2 = $info_rows[menu_name_2];
$menu_name = $info_rows[menu_name];
$csvFileNameArr[$k_no] = $menu_name_2 . '-' . $date_num;
if(0)echo "<br>csvFileNameArr[$k_no] $csvFileNameArr[$k_no]";
$file_full_name = $path . "{$csvFileNameArr[$k_no]}.csv";
$objDb=$db_name;
$objDbConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'],$objDb);
if (is_file($file_full_name))
unlink($file_full_name);
$csvFileUpdateSql=" SELECT *
INTO OUTFILE '{$file_full_name}'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
FROM $table_name
";
$csvFileUpdateResult = mysqli_query($objDbConn ,$csvFileUpdateSql);
echo mysqli_error($objDbConn);
}
$allone_filename = "all-" . $sel_name . "-" . $date_num . ".csv";
$allone_fullName = $path . $allone_filename;
if(is_file($allone_fullName))
{
unlink($allone_fullName);
}
$fd=fopen($allone_fullName, "wa");
for($i=0; $i< sizeof($csvFileNameArr); $i++)
{
$tmpfile = $path . "{$csvFileNameArr[$i]}.csv";
$nameline = $csvFileNameArr[$i];
$nameline_start = $start_flag . $nameline . ".csv and keyMenuId=".$keyMenuIdArr[$i]."\n";
fputs($fd,$nameline_start);
$tmpfd=fopen($tmpfile, "r");
while(!feof($tmpfd))
{
$line=fgets($tmpfd,4096);
fputs($fd,$line);
}
$nameline_end = $end_flag . $nameline . "\n";
fputs($fd,$nameline_end);
fclose($tmpfd);
unlink($tmpfile);
}
fclose($fd);
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=$allone_filename");
$file_path = $path . $allone_filename;
readfile($file_path);
if($file_clean && is_file($file_path))
unlink($file_path);
$where = "description=\"sel_name is $sel_name\"";
$update_sql="UPDATE $syscsvconf_table SET last_download = CURRENT_TIMESTAMP WHERE $where";
mysqli_query($pubConn,$update_sql);
//echo " <body onblur=\"opener=null;window.close();\" scroll=\"no\"> ";
//echo " <meta http-equiv=\"refresh\" content=\"0;url=../../../db_backup/$allone_filename\"> ";
}
else//download respectively
{
//update last download time
$update_sql="UPDATE $syscsvconf_table SET last_download = CURRENT_TIMESTAMP WHERE key_menu_id='$key_menu_id'";
mysqli_query($pubConn,$update_sql);
//get load out information
$info_sql="SELECT * FROM $syscsvconf_table WHERE key_menu_id='$key_menu_id'";
$result=mysqli_query($pubConn,$info_sql);
$info_rows=mysqli_fetch_array($result);
$server_name = $info_rows[server_name];
$db_name = $info_rows[db_name];
$table_name = $info_rows[table_name];
$where_find = $info_rows[where_find];
$menu_name_2 = $info_rows[menu_name_2];
$menu_name = $info_rows[menu_name];
if(($table_name=='sysOperLog')||($table_name=='sysAlarmLog'))
{
$tmpMenuArr=explode('_',$menu_name_2);
$day=date("md",mktime(0,0,0,date("m"),date("d")-($tmpMenuArr[1]),date("Y")));
$date_num=date("YmdHis", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));
$file_name=$tmpMenuArr[0].$day.'-'.$date_num;
$bgn_time=date("Y-m-d H:i:s", mktime(0,0,0,date("m"),date("d")-$tmpMenuArr[1],date("Y")));
$end_time=date("Y-m-d H:i:s", mktime(0,0,0,date("m"),date("d")-$tmpMenuArr[1]+1,date("Y")));
if($table_name=='sysAlarmLog')
$where_find=" WHERE alarmTime>='$bgn_time' AND alarmTime<='$end_time'";
else
$where_find=" WHERE datetime>='$bgn_time' AND datetime<='$end_time'";
}
else
{
//echo "$where<br>";
$date_num=date("YmdHis", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));
if($sel_name == "network")
{
$file_name = "param-";
$file_name=$file_name.$menu_name_2.'-'.$date_num;
}
else
{
$file_name=$menu_name_2.'-'.$date_num;
}
}
$ext = "csv";
/*
header("Content-disposition: filename=$file_name.$ext");
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Expires: 0");
*/
// doing some DOS-CRLF magic...
$client=getenv("HTTP_USER_AGENT");
//if(ereg('[^(]*\((.*)\)[^)]*',$client,$regs)){
if(preg_match("/[^(]*\((.*)\)[^)]*/",$client,$regs)){
$os = $regs[1];
// this looks better under WinX
// if (eregi("Win",$os))
if (preg_match("/Win/i",$os))
$crlf="\r\n";
}
//---------insert log-------
//$log_name = "Download-- '$db_name' '$table_name'";
//$selectedLanguage=$userInfo[language];
//if($selectedLanguage == 'eng')
$log_name = "Download--"."'$menu_name_2'";
//else
// $log_name = "Download--"."'$menu_name'";
insertLog("$log_name");
//--------
function my_csvhandler($sql_insert) {
global $crlf, $asfile; //$crlf=="\n"
if(empty($asfile))
echo htmlspecialchars("$sql_insert$crlf");
else
echo "$sql_insert $crlf";
}
//get_table_csv($link[0],$db_name, $table_name, $where_find, "my_csvhandler")
if(0)
{
echo "<br>db_name:$db_name.$table_name";
//echo " SELECT * INTO OUTFILE '$csvFileName' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' FROM $table_name ";
// exit;
}
if ( 1|| ($table_name == 'paramConf')
||($table_name == 'subsParamConf_0')
||($table_name == 'subsParamConf_1')
||($table_name == 'logAttrDef_0')
||($table_name == 'logAttrDef_1'))
{
$file_name = $menu_name_2.'-'.$date_num.'.csv';
$csvFileName = '/usr/local/apache/htdocs/db_backup/paramConf/'.$file_name;
if (is_file($csvFileName))
unlink("$csvFileName");
$csvFileUpdateSql=" SELECT *
INTO OUTFILE '$csvFileName'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
FROM $table_name
";
// echo $csvFileUpdateSql;
$objDbConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'],$db_name);
if(stristr($table_name,"sysAlarmLog"))
{
$csvFileUpdateSql="SELECT sysConf.sysTypeName,
$table_name.sysNo,
$table_name.subSysNo,
sysAlarmLevelDesc.desc_2,
sysAlarmConf.alarmDesc_2,
$table_name.alarmTime,
$table_name.clearTime,
$table_name.clearBy
INTO OUTFILE '$csvFileName' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
FROM
((($table_name INNER JOIN sysConf ON sysConf.sysTypeNo=$table_name.sysTypeNo) INNER JOIN sysAlarmConf ON $table_name.compCode=sysAlarmConf.compCode AND $table_name.alarmCode=sysAlarmConf.alarmCode AND $table_name.sysTypeNo=sysAlarmConf.sysTypeNo) INNER JOIN sysAlarmLevelDesc ON sysAlarmConf.alarmLevel=sysAlarmLevelDesc.level)
";
}
//echo "table_name = $table_name<br>";
//echo "<br>$csvFileUpdateSql";
$csvFileUpdateResult = mysqli_query($objDbConn ,$csvFileUpdateSql);
echo mysqli_error($objDbConn);
//echo " <body onblur=\"opener=null;window.close();\" scroll=\"no\"> ";
//echo " <meta http-equiv=\"refresh\" content=\"0;url=../../../db_backup/paramConf/$file_name\"> ";
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=$file_name");
//use for download csv in https
header('Expires: 0');
header('Pragma: public');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: public');
readfile($csvFileName);
//if($file_clean)
// unlink($csvFileName);
//echo " <meta http-equiv=\"refresh\" content=\"0;url=./load_csv_list.php?sel_name=$sel_name\"> ";
}
else
{
header("Content-disposition: filename=$file_name.$ext");
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Expires: 0");
get_table_csv($link[0],$db_name, $table_name, $where_find, "my_csvhandler");
}
}
?>
+174
View File
@@ -0,0 +1,174 @@
<?php
/*********************************************************
程序说明:
功能说明:提供各mssBak分时下载。
调用关系:调用: header.inc
被调用:
变量说明:
作者:Cui Ticun 2004-11-23
修改注释:
NO.1
Name:
Date:
Description:
*********************************************************/
require("../../inc/header.inc");
$DEBUG = 0;
$helpId = "5.1.5";
$ThisPage="$strMaintenance&nbsp;>&nbsp;MSS Backup Download";
$blank4 .="&nbsp;&nbsp;&nbsp;&nbsp;";
$db = 'OMC_PUB';
$elementTable='elementExistConf';
/********** FUNCTION START::TREEOLD *************/
function treeOld($directory,$blank,$sys_name)
{
$DEBUG=0;
$mydir=@dir($directory);
if(!$mydir){
echo "<br><br><font size=\"3\" color=\"#FF0000\"><b>Error: can't open this directory: \"$directory\" .It's not exist!</b></font>";
exit();
}
$blank .="<img border=\"0\" src=\"../../images/blank.gif\">"; //用一个空白图片表示每层目录间的间隔
$k=0;
while($file=$mydir->read()){
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")){
continue;
}elseif($file =="." || $file ==".."){
continue;
}else{
if (strstr($file,$sys_name) == NULL) continue;
if (strstr($file,"tgz") == NULL) continue;
if(substr("$directory/$file",-2) == 'gz'){
$type_image="<img border=\"0\" src=\"../../images/zip_file.gif\">";
}elseif(substr("$directory/$file",-3) == 'csv'){
$type_image="<img border=\"0\" src=\"../../images/csv_file.gif\">";
}else{
$type_image="<img border=\"0\" src=\"../../images/unknown_file.gif\">";
}
$fileList[$k] ="<tr><td width=\"50%\">$blank $type_image <a href=\"$directory/$file\" >$file</a></td>";
$filemod = filemtime("$directory/$file");
$filemodtime = date("Y-m-d h:i:s ", $filemod);
$fileTimeList[$k] ="<td width=\"50%\">$filemodtime</td>";
$k++;
}
}//end of while
$mydir->close();
for($h=0;$h<sizeof($fileList);$h++){
echo "{$fileList[$h]}";
echo "{$fileTimeList[$h]}";
}
} //end the program
/********** FUNCTION END:: TREEOLD *************/
?>
<body leftmargin="15" rightmargin="10" onload="javascript:adjust();" onresize="javascript:adjust();" 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%\" align=\"left\">";
echo "$ThisPage";
echo "</TD>";
echo "<TD width=\"50%\" align=\"right\" title=\"Help\">";
showHelp($helpId);
echo "</TD>";
echo "</TR>";
echo "</TABLE>";
adjust_title_tail();
adjust_content_head();
/**************** TABLE START:: DISPLAY DETAILS ************************/
echo "<TABLE width=\"100%\">";
echo "<BR>";
$blank='';
$tmpSql = " SELECT * FROM elementExistConf WHERE elementName='AUC' AND existFlag='1'";
if($DEBUG) echo "<br>tmpSql=$tmpSql";
$tmpRes = mysqli_query($pubConn,$tmpSql);
if(mysqli_num_rows($tmpRes)>0){
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>AUC</b></TD></TR>\n";
treeold("../../../mssBakData/auc",$blank,"Auc");
}
$tmpSql = " SELECT * FROM elementExistConf WHERE elementName='EIR' AND existFlag='1'";
if($DEBUG) echo "<br>tmpSql=$tmpSql";
$tmpRes = mysqli_query($pubConn,$tmpSql);
if(mysqli_num_rows($tmpRes)>0){
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>EIR</b></TD></TR>\n";
treeold("../../../mssBakData/eir",$blank,"Eir");
}
$tmpSql = " SELECT * FROM elementExistConf WHERE elementName='HLR' AND existFlag='1'";
if($DEBUG) echo "<br>tmpSql=$tmpSql";
$tmpRes = mysqli_query($pubConn,$tmpSql);
if(mysqli_num_rows($tmpRes)>0){
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>HLR</b></TD></TR>\n";
treeold("../../../mssBakData/hlr",$blank,"Hlr");
}
$tmpSql = " SELECT * FROM elementExistConf WHERE elementName='PPS' AND existFlag='1'";
if($DEBUG) echo "<br>tmpSql=$tmpSql";
$tmpRes = mysqli_query($pubConn,$tmpSql);
if(mysqli_num_rows($tmpRes)>0){
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>PPS Subscriber</b></TD></TR>\n";
treeold("../../../mssBakData/pps",$blank,"ppsSubs");
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>PPS Recharge Card</b></TD></TR>\n";
treeold("../../../mssBakData/pps",$blank,"ppsRechargeCard");
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>PPS Tariff</b></TD></TR>\n";
treeold("../../../mssBakData/pps",$blank,"ppsTariff");
}
//MNP
$tmpSql = " SELECT * FROM elementExistConf WHERE elementName='MNP' AND existFlag='1'";
if($DEBUG) echo "<br>tmpSql=$tmpSql";
$tmpRes = mysqli_query($pubConn,$tmpSql);
if(mysqli_num_rows($tmpRes)>0){
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>MNP</b></TD></TR>\n";
treeold("../../../mssBakData/mnp",$blank,"npdbMem");
}
//opr
$tmpSql = " SELECT * FROM elementExistConf WHERE elementName='OPPS' AND existFlag='1'";
if($DEBUG) echo "<br>tmpSql=$tmpSql";
$tmpRes = mysqli_query($pubConn,$tmpSql);
if(mysqli_num_rows($tmpRes)>0){
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>OPR</b></TD></TR>\n";
treeold("../../../mssBakData/opr",$blank,"Opr");
}
//iPALIM
$tmpSql = " SELECT * FROM elementExistConf WHERE elementName='iPALIM' AND existFlag='1'";
if($DEBUG) echo "<br>tmpSql=$tmpSql";
$tmpRes = mysqli_query($pubConn,$tmpSql);
if(mysqli_num_rows($tmpRes)>0){
$blank="<img border=\"0\" src=\"../../images/blank.gif\">";
echo "<TR><TD colspan=\"4\">$blank<img border=\"0\" src=\"../../images/open.gif\">&nbsp;&nbsp;<b>iPALIM</b></TD></TR>\n";
treeold("../../../mssBakData/palim",$blank,"palim");
}
echo "</TABLE>";
adjust_content_tail();
/**************** TABLE END:: DISPLAY DETAILS ************************/
?>
</body>
</html>
+339
View File
@@ -0,0 +1,339 @@
<?php
require("../../inc/header.inc");
require("../../configuration/sub_inc/sub_config.inc");
?>
<body onload="javascript:adjust();" onresize="javascript:adjust();" leftmargin="15" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;">
<script language="javascript">
function select_bk_file(fname)
{
document.getElementById('select_file_text').value=fname;
document.getElementById('restore_bt').disabled=0;
}
function backup_opt()
{
var res=confirm("Do you want to backup the configuration file from MSS");
if(res == false)
return;
window.location.href="./mss_backup_restore.php?backup_file_flag=1";
}
function restore_opt(fname)
{
var res=confirm("Do you want to restore configuration file to MSS, the operation will restart the MSS");
if(res == false)
return;
window.location.href="./mss_backup_restore.php?restore_file_flag=1&backup_filename="+fname;
}
function download_file(fname)
{
window.location.href="./output_file.php?directory=/usr/local/apache/htdocs/ftpFile&filename="+fname;
}
</script>
<?php
adjust_head();
adjust_title_head();
echo "<FORM NAME=\"myfprm\" action=\"./raidStatus.php\" method=\"post\">";
echo "<table id=\"table_up\" border=\"0\" width=\"100%\">";
echo "<tr>";
echo "<td width=\"50%\">";
echo "Maintenance > Backup & Restore > Configuration";
echo "</td>";
echo "<td width=\"50%\" align=\"right\" title=\"Help\">";
$helpId="5.1.6";
showHelp($helpId);
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td width=\"50%\">";
echo "<br>";
echo "&nbsp;&nbsp;&nbsp;&nbsp;";
//echo "<input type=\"button\" class=\"button\" value=\"Restore\" id=\"restore_bt\" onclick=\"javascript:restore_opt();\" disabled title=\"Select a backup file to restore\">";
//echo "From file";
//echo "<input type=\"text\" style=\"vertical-align:top;background-color:#cecece;\" class=text readonly id=\"select_file_text\" size=30 readonly title=\"Select a backup file to restore\">";
echo "</td>";
echo "<td width=\"50%\" align=\"right\">";
echo "<input type=\"button\" class=\"button\" value=\"Backup\" id=\"backup_bt\" onclick=\"javascript:backup_opt();\">";
echo "&nbsp;";
echo "</td>";
echo "</tr>";
echo "</table>";
adjust_title_tail();
adjust_content_head();
$ftpinfo=getMSSFtpAccount();
$selSql = "SELECT ip FROM sysInfo where sysTypeNo=388 order by updateTime desc ";
$selRes = @mysqli_query($pubConn,$selSql);
$num=mysqli_num_rows($selRes);
$selRow = @mysqli_fetch_array($selRes);
$mss_ip=$selRow[ip];
if($backup_file_flag == 1)
{
echo "<script language=\"javascript\">\n";
echo "javascript:adjust();\n";
echo "</script>\n";
if($num == 0)
{
echo "Can not get IP of MSS<br>";
}
else
{
//oid 1.3.6.1.4.1.1373.2.3.3.99.2.1.1, value=6
$sql="replace into OBJ_388.param_99(subSysNo,paramType,level_1,level_2,level_3,instanceNo,sortNo,valueType,operType,length,initValue)values(99,0,2,1,1,0,0,4,0,1,'06') ";
mysqli_query($pubConn,$sql);
$commIdStr=oidSysCommSend("388_99_99",3,"2.1.1",-1,0);
//checkState($commIdStr,"./mss_backup_restore.php");
flush();
for($t=0;$t<4;$t++)
{
flush();
echo "<img border=\"0\" src=\"../../images/arrow.gif\" width=\"10\" height=\"10\">";
ob_flush();
flush();
sleep(1);
}
/* close ftp
$conn_id=ftp_connect($mss_ip);
if($conn_id == FALSE)
{
echo "<b>FTP:connect to $mss_ip <font color=red>failed</font>.</b><br>";
exit();
}
*/
$connection=sftp_connect($mss_ip);
if(!$connection)
{
echo "<b>SFTP:connect to $mss_ip <font color=red>failed</font>.</b><br>";
exit();
}
/* close ftp
if(FALSE == ftp_login($conn_id,$ftpinfo[UserName],$ftpinfo[Password]))
{
echo "<b>FTP:login to $mss_ip <font color=red>failed</font>.</b><br>";
exit();
}
*/
$key=sftp_login($connection,$ftpinfo[UserName],$ftpinfo[Password]);
if(!$key)
{
echo "<b>SFTP:login to $mss_ip <font color=red>failed</font>.</b><br>";
exit();
}
$local_file="/usr/local/apache/htdocs/ftpFile/mssConf".date("YmdHis").".tar";
$remote_file="/usr/local/subsManage/conf.bk.tar";
/* close ftp
if(FALSE == ftp_get($conn_id,$local_file,$remote_file,FTP_BINARY))
{
echo "<b>FTP:Get file $remote_file <font color=red>failed</font>.</b><br>";
exit();
}
ftp_close($conn_id);
*/
//if(!sftp_get($key,$local_file,$remote_file,SFTP_ASCII))
if(!sftp_get($connection,$local_file,$remote_file,SFTP_ASCII))
{
echo "<b>SFTP:Get file $remote_file <font color=red>failed</font>.</b><br>";
exit();
}
insertLog("Backup mss configuration file conf.bk.tar");
}
}
else if($restore_file_flag == 1)
{
echo "<script language=\"javascript\">\n";
echo "javascript:adjust();\n";
echo "</script>\n";
if($num == 0)
{
echo "Can not get IP of MSS<br>";
}
else
{
$original_file="/usr/local/apache/htdocs/ftpFile/$backup_filename";
$ftp_file="/usr/local/apache/htdocs/ftpFile/conf.bk.tar";
system("cp -f $original_file $ftp_file");
system("chmod 777 $ftp_file");
/* close ftp
$conn_id=ftp_connect($mss_ip);
if($conn_id == FALSE)
{
echo "<b>FTP:connect to $mss_ip <font color=red>failed</font>.</b><br>";
exit();
}
*/
$connection=sftp_connect($mss_ip);
if(!$connection)
{
echo "<b>SFTP:connect to $mss_ip <font color=red>failed</font>.</b><br>";
exit();
}
/* close ftp
if(FALSE == ftp_login($conn_id,$ftpinfo[UserName],$ftpinfo[Password]))
{
echo "<b>FTP:login to $mss_ip <font color=red>failed</font>.</b><br>";
exit();
}
*/
$key=sftp_login($connection,$ftpinfo[UserName],$ftpinfo[Password]);
if(!$key)
{
echo "<b>SFTP:login to $mss_ip <font color=red>failed</font>.</b><br>";
exit();
}
$local_file=$ftp_file;
$remote_file="/usr/local/subsManage/conf.bk.tar";
/* close ftp
if(FALSE == ftp_put($conn_id,$remote_file,$local_file,FTP_BINARY))
{
echo "<b>FTP:Put file $original_file <font color=red>failed</font>.</b><br>";
exit();
}
ftp_close($conn_id);
*/
if(!sftp_put($key,$remote_file,$local_file,SFTP_ASCII))
{
echo "<b>FTP:Put file $original_file <font color=red>failed</font>.</b><br>";
exit();
}
unlink($ftp_file);
//oid 1.3.6.1.4.1.1373.2.3.3.99.2.1.1, value=7
$sql="replace into OBJ_388.param_99(subSysNo,paramType,level_1,level_2,level_3,instanceNo,sortNo,valueType,operType,length,initValue)values(99,0,2,1,1,0,0,4,0,1,'07') ";
mysqli_query($pubConn,$sql);
$commIdStr=oidSysCommSend("388_99_99",3,"2.1.1",-1,0);
//checkState($commIdStr,"./mss_backup_restore.php");
insertLog("Restore mss configuration file from $local_file");
}
}
else if($download_file_flag == 1)
{
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=\"{$backup_filename}\"");
//use for download csv in https
header('Expires: 0');
header('Pragma: public');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: public');
readfile("/usr/local/apache/htdocs/ftpFile/{$backup_filename}");
}
//Get the backup file list
$dir="/usr/local/apache/htdocs/ftpFile/";
$handle=opendir($dir);
if($handle == FALSE)
{
echo "Can not open dir $dir<br>";
exit();
}
$filecount=0;
while (($file = readdir($handle)) !== false)
{
if(strstr($file,"mssConf"))
{
$fileList[FullName][$filecount]=$dir.$file;
$fileList[FileName][$filecount]=$file;
$fileList[FileSize][$filecount]=filesize($dir.$file);
$fileList[FileMTime][$filecount]=date("Y-m-d H:i:s",filemtime($dir.$file));
$filecount++;
}
}
if($filecount > 0)
arsort($fileList[FileMTime]);
if(0)
{
echo "<pre>";
print_r($fileList);
echo "</pre>";
}
closedir($handle);
echo "<br><br>";
echo "<table border=\"1\" width=\"100%\" cellpadding=\"1\" cellspacing=\"0\" bordercolor=\"#666666\" bordercolordark=\"#FFFFFF\" bgcolor=\"#ffffff\">";
echo "<tr bgcolor=\"#E6E6E6\">";
echo "<td width=\"35%\">MSS Configuration Backup File</td>";
echo "<td width=\"15%\" align=\"center\">File Size</td>";
echo "<td width=\"20%\" align=\"center\">Backup Time</td>";
echo "<td width=\"15%\" align=\"center\">Download</td>";
echo "<td width=\"15%\" align=\"center\">Upload</td>";
echo "</tr>";
echo "</table>";
echo "<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#666666\" bordercolordark=\"#FFFFFF\">";
echo "<tr>";
echo "<td width=\"35%\"><img src=\"../../images/line.gif\"></td>";
echo "<td width=\"15%\">&nbsp;</td>";
echo "<td width=\"20%\">&nbsp;</td>";
echo "<td width=\"15%\">&nbsp;</td>";
echo "<td width=\"15%\">&nbsp;</td>";
echo "</tr>";
echo "<tr>";
echo "<td width=\"35%\"><img src=\"../../images/midminus.gif\"><img src=\"../../images/open.gif\"></td>";
echo "<td width=\"15%\">&nbsp;</td>";
echo "<td width=\"20%\">&nbsp;</td>";
echo "<td width=\"15%\">&nbsp;</td>";
echo "<td width=\"15%\">&nbsp;</td>";
echo "</tr>";
if($filecount > 0)
{
$i=0;
foreach($fileList[FileMTime] as $key => $value)
{
echo "<tr>";
echo "<td width=\"35%\"><img src=\"../../images/blank.gif\">";
if($i == $filecount - 1)
echo "<img src=\"../../images/lastblk.gif\">";
else
echo "<img src=\"../../images/midblk.gif\">";
echo "<a href=#>";
echo "<img border=0 src=\"../../images/zip_file.gif\">{$fileList[FileName][$key]}&nbsp;";
echo "</a>";
echo "</td>";
echo "<td width=\"15%\" align=\"center\">{$fileList[FileSize][$key]}&nbsp;</td>";
echo "<td width=\"20%\" align=\"center\">{$fileList[FileMTime][$key]}&nbsp;</td>";
echo "<td width=\"15%\" align=\"center\"><a href=# onclick=\"javascript:download_file('{$fileList[FileName][$key]}');\">Download</a></td>";
echo "<td width=\"15%\" align=\"center\"><a href=# onclick=\"javascript:restore_opt('{$fileList[FileName][$key]}');\">Upload</a></td>";
echo "</tr>";
$i++;
}
}
echo "</table>";
adjust_content_tail();
?>
+14
View File
@@ -0,0 +1,14 @@
<?php
$directory=$_REQUEST['directory'];
$filename=$_REQUEST['filename'];
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=$filename");
//use for download csv in https
header('Expires: 0');
header('Pragma: public');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: public');
readfile("$directory/$filename");
?>
+24
View File
@@ -0,0 +1,24 @@
<?php
$archivePath='/usr/local/apache/htdocs/db_backup/archive/';
$paramDir = "params";
$paremerPath = $archivePath . $paramDir . '/';
$subsDir = "subs";
$subsPath = $archivePath . $subsDir . '/';
$bssDir = "bssDir";
$bssPath = $archivePath . $bssDir . '/';
$bssOmcTlbDir = "omcTlb";
$bssOmcTlbPath = $bssPath . $bssOmcTlbDir . '/';
$bssDbDir = "dbs";
$bssDbPath = $bssPath . $bssDbDir . '/';
$tgzName = "allBackup.tgz";
$tgzDir = "tgzFile";
$tgzPath=$archivePath.$tgzDir.'/';
?>
+592
View File
@@ -0,0 +1,592 @@
<?
require("../../inc/header.inc");
?>
<STYLE TYPE="text/css" MEDIA="screen, print, projection">
<!--
.inner {align: right;
width: 40px }
-->
</STYLE>
<?
$helpId = isset($helpId)?$helpId:'5.1.6';
$ThisPage="$strMaintenance&nbsp;>&nbsp;$strBackupRestore&nbsp;>&nbsp;"."Download&Upload";
$DEBUG = 0;
$db=$omc_db;
set_time_limit(3600);
$strNoInput = "No file input!";
$needReboot = 0;
function MsgBox($str)
{
echo "<script language=\"javascript\">";
echo "alert(\"$str\");";
echo "history.go(-1)";
echo "</script>";
}
function getNameByTypeNo($sysTypeNo)
{
$pubDb = "OMC_PUB";
$selSql = "select sysTypeName from OMC_PUB.sysConf where sysTypeNo=$sysTypeNo";
$result = mysqli_query($pubConn,$selSql);
$row = mysqli_fetch_array($result);
$name = $row[sysTypeName];
return $name;
}
function getFileList($dir,&$fileListArr)
{
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$fileListArr[] = $file;
}
}
closedir($handle);
}
}
function updateParamer($db_name,$table_name,$csvFileName)
{
$del_sql = "DELETE FROM $table_name";
if($DEBUG) echo "<br>del_sql = $del_sql";
$del_result = mysqli_query($pubConn,$del_sql);
if($DEBUG) echo "<br>del_result=$del_result";
$insert_sql = "LOAD DATA LOCAL INFILE '$csvFileName'
INTO TABLE $table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
";
if(0) echo "<br>insert_sql=$insert_sql";
$insert_result=mysqli_query($pubConn,$insert_sql);
if($DEBUG) echo "<br>insert_result=$insert_result";
if ($insert_result)
return 1;
else
return 0;
}//end updateParamer
function updateSubs($sysId,$dataTypeNo,$impFile)
{
$nSetComm = 3;
$pubDb = 'OMC_PUB';
$sysSubsConfTable = 'OMC_PUB.sysSubsConf';
$sysInfoTable = 'OMC_PUB.sysInfo';
$sysIdArr=explode('_',$sysId);
$sysTypeNo =$sysIdArr[0];
$sysNo =$sysIdArr[1];
$subSysNo =$sysIdArr[2];
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 "<br>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];
$maxTotalNum = $maxSegmentNum * $maxIndexNumPerSeg;
$maxImpFileSize = 5*1024*1024;
$maxImpRecordNum = 5000;
//Get the system name;
$selSql = "SELECT sysTypeName FROM sysConf WHERE sysTypeNo='$sysTypeNo'";
if ($DEBUG) echo "selSql = $selSql<br>";
$selRes = @mysqli_query($pubConn, $selSql);
echo mysqli_error($pubConn);
$selRow = @mysqli_fetch_array($selRes);
$sysName = $selRow[sysTypeName];
if($sysTypeNo==390)
$getSysIdSql = "SELECT sysNo,subSysNo,ip
FROM $sysInfoTable
WHERE sysTypeNo='$sysTypeNo' AND sysNo='$sysNo' AND baseStat > '0'
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 "<br>getSysIdSql=$getSysIdSql";
$getSysIdResult= mysqli_query($pubConn,$getSysIdSql);
echo mysqli_error($pubConn);
$runningServerNum = mysqli_num_rows($getSysIdResult);
if($runningServerNum <= 0){
echo "<font color=\"#FF0000\" size=\"3\">No system running normally</font>";
return 0;
}
if($DEBUG) echo "running server number = $runningServerNum<br>";
//找出已有的记录个数
$getTotalSql = "SELECT count(*) FROM $subsDataTable";
if($DEBUG) echo "<br>getTotalSql=$getTotalSql";
$getTotalRes = mysqli_query($pubConn,$getTotalSql);
$getTotalRow = @mysqli_fetch_array($getTotalRes);
$existNum = $getTotalRow[0];
if($DEBUG) echo "<br>existNum=$existNum";
//检查导入的文件大小,记录条数
$impFileSize = filesize($impFile);
if($DEBUG) {
echo "<br>impFile=$impFile";
echo "<br>impFileSize=$impFileSize";
}
if($impFileSize > $maxImpFileSize){
$impFileSizeM=ceil($impFileSize/1024/1024);
echo "File size is too large!(Must <= 5M)</font>";
@unlink ($impFile);
return 0;
}
if($impFileSize <=0){
echo "<font color=\"#FF0000\" size=3>subscriber data is null.</font>";
@unlink ($impFile);
return 0;
}
$impRecordNum = count(file($impFile));
if($DEBUG) echo "<br>impRecordNum=$impRecordNum";
if($impRecordNum > $maxImpRecordNum){
echo "<font color=\"#FF0000\" size=3>Records are too much!(Must <= $maxImpRecordNum)</font>";
@unlink ($impFile);
return 0;
}
if($impRecordNum > $maxTotalNum-$existNum){
echo "<font color=\"#FF0000\" size=3>User number is too much!</font>";
@unlink ($impFile);
return 0;
}
for ($k=0; $k<$runningServerNum; $k++) {
$getSysIdRow=mysqli_fetch_array($getSysIdResult);
$sysId=$sysTypeNo.'_'.$getSysIdRow[sysNo].'_'.$getSysIdRow[subSysNo];
$dstSeverIp = $getSysIdRow[ip];
if($sysTypeNo==360)
$sysIdCyc[$k] = '360_99_99';
else if($sysTypeNo==390)
$sysIdCyc[$k]='390_'.$getSysIdRow[sysNo].'_99';
else
$sysIdCyc[$k] = $sysId;
if($DEBUG) echo "<br>sysId = $sysId";
if($DEBUG) echo "<br>dstSeverIp = $dstSeverIp";
/* close ftp
$ftpCon=ftp_connect($dstSeverIp);
if($ftpCon < 0){
echo "<font color=\"#FF0000\">Connect Failed!</font>";
@unlink ($impFile);
return 0;
}
*/
$connection=sftp_connect($dstSeverIp);
if(!$connection)
{
echo "<font color=\"#FF0000\">Connect Failed!</font>";
@unlink ($impFile);
return 0;
}
/* fclose ftp
if(!ftp_login($ftpCon,$ftpLoginName,$ftpLoginPwd)){
echo "<font color=\"#FF0000\">Login Failed!</font>";
@unlink ($impFile);
return 0;
}
*/
$key=sftp_login($connection,$ftpLoginName,$ftpLoginPwd);
if(!$key)
{
echo "<font color=\"#FF0000\">Login Failed!</font>";
@unlink ($impFile);
return 0;
}
$remoteFileName=$ftpDir.$impFileName;
/* close ftp
if(!ftp_put($ftpCon,$remoteFileName,$impFile,FTP_ASCII)){
echo "<font color=\"#FF0000\">Put file Failed</font>";
@unlink ($impFile);
return 0;
}
ftp_quit($ftpCon);
*/
if(!sftp_put($ftpCon,$remoteFileName,$impFile,SFTP_ASCII)){
echo "<font color=\"#FF0000\">Put file Failed</font>";
@unlink ($impFile);
return 0;
}
$logFile="/usr/local/apache/htdocs/ftpFile/$logFileName";
@unlink ($logFile);
}
@unlink ($impFile);
//修改设备参数
if($sysTypeNo==340){
$k4_flag = 0; //should be 0 or 8.
$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 "<font color=\"#FF0000\" size=\"4\">K4 is incorrect!</font>";
return 0;
}
}
$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 "<br>newValue=$newValue";
//send set command
for ($k=0; $k< $runningServerNum; $k++) {
$chgResult = setSysParamValue($sysIdCyc[$k],$impObjId,$instanceNo,$newValue);
$commStr = sysCommSend($sysIdCyc[$k],$nSetComm,$impObjId);
chkCommStat($sysId,$impObjId,$impRecordNum,$commStr);
}
}//end updateSubs
function chkCommStat($sysId,$impObjId,$impRecordNum,$commStr)
{
$nProcFail =0;
$nWaitProc =1;
$nInProc =2;
$nOutProc =3;
$sysIdArr=explode('_',$sysId);
$sysTypeNo =$sysIdArr[0];
$sysNo =$sysIdArr[1];
$subSysNo =$sysIdArr[2];
$maxSeconds = 20;
while(1) {
$paramValue = getSysParamValue($sysId,$impObjId,0,'readValue');
$impCommState = substr($paramValue,0,2);
$runSeconds += 2;
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($doneNum > $oldDoneNum){
$runSeconds = 0;
}
$oldDoneNum = $doneNum;
sleep(2);
if($runSeconds > $maxSeconds || $doneNum >= $allNum || $impCommState == '03' || $impCommState == '04')
{
if($impCommState == '04'){
echo "<FONT color=\"#FF0000\" size=\"3\"><b>Failed!</b></FONT>";
}elseif($runSeconds > $maxSeconds){
echo "<FONT color=\"#FF0000\" size=\"3\"><b>Response Time Out!</b></FONT>";
}else{
echo "<FONT color=\"#0000FF\" size=\"3\"><b>Finished!</b></FONT>";
}
break;
}
$commIdArr = explode('-',$commStr);
$commId = $commIdArr[0];
$commSql = " SELECT commState FROM parameterComm WHERE commId = '$commId' ";
$commRes = mysqli_query($pubConn,$commSql);
$commRow = @mysqli_fetch_array($commRes);
$commStat = $commRow[commState];
if($commStat == $nOutProc || !isset($commStat)){
$commStr = sysCommSend($sysId,0,$impObjId);
}
}//end while
}//end chkCommStat
function updateBssDb($bssIpAddr,$localDir)
{
$remoteDir = "/hd0/iw07_00.010/compile/cfg/";
$ftpCon=@ftp_connect($bssIpAddr);
if($ftpCon < 0){
echo "<font color=\"#FF0000\">BSS's ip is error or connect $bssIpAddr Failed!</font>";
flush();
return 0;
}
if(!@ftp_login($ftpCon,'','')){
echo "<font color=\"#FF0000\">BSS's ip is error or login $bssIpAddr Failed!</font>";
@ftp_close($ftpCon);
flush();
return 0;
}
if(!@ftp_chdir($ftpCon, $remoteDir)){
echo "<font color=\"#FF0000\">Change dir error!</font>";
@ftp_close($ftpCon);
flush();
return 0;
}
$dir = @dir($localDir);
while(false !== ($entry=$dir->read())) {
if(is_file("$localDir$entry") && $entry!='.' && $entry!='..')
$fileArr[] = $entry;
}
for($i=0; $i< sizeof($fileArr); $i++) {
$file = $fileArr[$i];
$remoteFile=$remoteDir.$file;
$localFile=$localDir.$file;
if (!@ftp_put($ftpCon, $remoteFile, $localFile, FTP_BINARY)) {
flush();
echo "<font color=\"#FF0000\">Put file error!</font>";
@ftp_close($ftpCon);
return 0;
}
}//end for
@ftp_close($ftpCon);
return 1;
}//end get BssDb
?>
<body leftmargin=12 topmargin=5>
<?php
echo "<table border=\"0\" width=\"100%\">";
echo "<tr>";
echo "<td width=\"50%\">";
echo "$ThisPage";
echo "</td>";
echo "<td width=\"50%\" align=\"right\" title=\"Help\">";
showHelp($helpId);
echo "</td>";
echo "</tr>";
echo "</table>";
if(isset($inputFile)&&$inputFile!='')
{
$upload_file = $_FILES['inputFile']['tmp_name'];
$upload_file_name = $_FILES['inputFile']['name'];
$upload_file_size = $_FILES['inputFile']['size'];
$file_size_max = 20*1000*1000;// 20M限制文件上传最大容量(bytes)
$uploadPath = "/usr/local/apache/htdocs/db_backup/archive/uploaded/";// 上传文件的储存位置
exec("mkdir $uploadPath -p");
//exec("chmod -R 777 $uploadPath");
chmod($uploadPath,0777);
$accept_overwrite = 1;//是否允许覆盖相同文件
// 检查文件大小
if ($upload_file_size > $file_size_max)
{
MsgBox("The file size is too large!");
}
// 检查读写文件
if (file_exists($uploadPath . $upload_file_name) && !$accept_overwrite)
{
MsgBox("The file is already existed!");
}
//复制文件到指定目录
if (!copy($upload_file,$uploadPath.$upload_file_name))
{
MsgBox("File copy error!");
}
//解压缩文件
chdir($uploadPath);
exec("tar zxvf $upload_file_name");
system("rm -f $upload_file_name");
sleep(2);
}
else
{
MsgBox($strNoInput);
}
//exit;
//////////////////////////////////////////
if(1)
{//update parameters
$paramDir = 'params';
$paramPath = $uploadPath . $paramDir . '/';
if(is_dir($paramPath)) {//if there is exist paramPath.
echo "<br><font color=\"#0000FF\"><b>Updating system parameters ... </b></font>";
flush();
getFileList($paramPath,$fileListArr);
// print_r($fileListArr);
// exit;
$allSuccess = 1;
for($i=0; $i<sizeof($fileListArr); $i++)
{
$fileName = $fileListArr[$i];
$tmpArr = explode('.',$fileName);
if(sizeof($tmpArr)==3)
{
$csvFileName = $paramPath . $fileListArr[$i];
$db_name = $tmpArr[0];
$table_name = $tmpArr[1];
$tmpNameArr = explode('_',$db_name);
$sysTypeNo=$tmpNameArr[1];
if($sysTypeNo<300)$sysTypeName="PLAT";
else if($sysTypeNo==322) $sysTypeName="MSC";
else $sysTypeName = getNameByTypeNo($sysTypeNo);
if($oldName !== $sysTypeName){
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#0000FF\">Updating [&nbsp;<span class=\"inner\">$sysTypeName</span>&nbsp;] ... </font>";
flush();
}
$rtn = updateParamer($db_name,$table_name,$csvFileName);
if($oldName !== $sysTypeName){
if($rtn==1)
echo "<font color=\"#0000FF\"><b>-- SUCCESS</b></font>";
else
echo "<font color=\"#FF0000\"><b>-- FAIL</b></font>";
flush();
}
$oldName = $sysTypeName;
$allSuccess &= $rtn;
}
}
system("rm -rf $paramDir");
}//end if
}//end update parameters.
if(1)
{//update subscribers' data
$subsDir = 'subs';
$subsPath = $uploadPath . $subsDir . '/';
if(is_dir($subsPath)) {//if there is exist subsPath
echo "<br><br><font color=\"#0000FF\"><b>Updating system subscribers ... </b></font>";
flush();
unset($fileListArr);
getFileList($subsPath,$fileListArr);
for($i=0; $i<sizeof($fileListArr); $i++)
{
$fileName = $fileListArr[$i];
$tmpArr = explode('.',$fileName);
if(sizeof($tmpArr)==4)
{
$csvFileName = $subsPath . $fileListArr[$i];
$db_name = $tmpArr[0];
$table_name = $tmpArr[1];
$sysId = $tmpArr[2];
$tmpNameArr = explode('_',$db_name);
$sysTypeName=$tmpNameArr[0];
$filesize = filesize($csvFileName);
if($filesize > 0) {
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#0000FF\">Updating [&nbsp;<span class=\"inner\">$sysTypeName</span>&nbsp;] ... </font>";
flush();
$allSuccess &= updateSubs($sysId,0,$csvFileName);
}
}
}
system("rm -rf $subsDir");
}
}//end update subscribers' data
if(1)
{//update bss.
$bssDir = "bssDir";
$bssPath = $uploadPath . $bssDir . '/';
$bssOmcTlbDir = "omcTlb";
$bssOmcTlbPath = $bssPath . $bssOmcTlbDir . '/';
$bssDbDir = "dbs";
$bssDbPath = $bssPath . $bssDbDir . '/';
if(is_dir($bssPath)){//if there exist this bssDir
echo "<br><br><font color=\"#0000FF\"><b>Updating BSS ... </b></font>";
flush();
//1. update bssomctable.
{
unset($fileListArr);
getFileList($bssOmcTlbPath,$fileListArr);
for($i=0; $i<sizeof($fileListArr); $i++)
{
$fileName = $fileListArr[$i];
$tmpArr = explode('.',$fileName);
if(sizeof($tmpArr)==3)
{
$csvFileName = $bssOmcTlbPath . $fileListArr[$i];
$db_name = $tmpArr[0];
$table_name = $tmpArr[1];
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#0000FF\">Updating BSS' parameters ... </font>";
$rtn = updateParamer($db_name,$table_name,$csvFileName);
if($rtn==1)
echo "<font color=\"#0000FF\"><b>-- SUCCESS</b></font>";
else
echo "<font color=\"#FF0000\"><b>-- FAIL</b></font>";
flush();
$allSuccess &= $rtn;
}
}
}//end update bssomctable.
//2. update bss db.
{
$dir = dir($bssDbPath);
while(false !== ($entry = $dir->read())) {
if(is_dir("$bssDbPath/$entry") && $entry != "." && $entry != "..")
$bssIpArr[] = $entry;
}
for($i=0; $i< sizeof($bssIpArr); $i++) {
$ip = $bssIpArr[$i];
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#0000FF\">Updating BSS' Database [ $ip ] ... </font>";
flush();
if(updateBssDb($ip,"$bssDbPath/$ip/"))
echo "<font color=\"#0000FF\"><b>-- SUCCESS</b></font><br>";
}
}//end update bss db.
if($needReboot)//3. reboot bss.
{
chdir("/usr/local/apache/htdocs/wxc2_omc/security/backupRestore");
for($i=0; $i< sizeof($bssIpArr); $i++) {
$ip = $bssIpArr[$i];
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#0000FF\">Rebooting BSS [ $ip ] ... </font>";
flush();
$tmpCmd ="./bssReboot".' '.$ip;
system($tmpCmd);
//$lastLine = system($tmpCmd, $rtn);
//echo "<br>$tmpCmd<br>$lastLine<br>$rtn";
}
//var_dump($bssIpArr);
}//end reboot bss.
}
}//end update bss.
//exit;
if($allSuccess) {
MsgBox("All needed success");
}
else {
echo "<p align=\"left\"><a href=\"JavaScript:history.go(-1)\"><img align=absBottom border=0 src=\"../../images/left.gif\" width=\"14\" height=\"14\">Back</a>";
}
?>