init web ems all

This commit is contained in:
agtuser
2024-09-27 17:13:36 +08:00
parent 81c97acbe9
commit 5cc56f8078
4263 changed files with 798779 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -0,0 +1,721 @@
<?php
require("../../inc/header.inc");
?>
<body leftmargin="15" rightmargin="10" onload="javascript:adjust_frame('down');" onresize="javascript:adjust_frame('down');" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;">
<?php
adjust_head_frame("down");
adjust_title_head_frame("down");
adjust_title_tail_frame("down");
adjust_content_head_frame("down");
echo "<br>";
//global variables
$serviceFlag=array("00"=>"BothClose",
"01"=>"IMDXOpen",
"10"=>"OPROpen",
"11"=>"BothOpen");
$oppsServiceStatus=getSystemState(375,94,2);
if($DEBUG)echo "oppsServiceStatus=+$oppsServiceStatus+<br>";
if($oppsServiceStatus=="")
{
exit("<p>Can't receive the heartbeat of OPPS!<br>");
}
if($serviceFlag[$oppsServiceStatus] == "OPROpen")
$type_label=array(0=>"OPR Registration",1=>"OPR Location Update",2=>"OPR Mode Switch");
else if($serviceFlag[$oppsServiceStatus] == "IMDXOpen")
$type_label=array(0=>"IMDX MO",1=>"IMDX Location Update");
else if($serviceFlag[$oppsServiceStatus] == "BothOpen")
$type_label=array(0=>"OPR Registration",1=>"OPR Location Update",2=>"OPR Mode Switch",3=>"IMDX MO",4=>"IMDX Location Update");
else
{
echo "<p>OPPS function disabled<br>";
adjust_content_tail("down");
exit(" ");
}
//============================================================================
//global variables
$DEBUG=0;
if(!isset($sel_date))
$sel_date=0;
if(!isset($sel_type))
$sel_type=0;
if($DEBUG)
{
echo "sel_type=$sel_type<br>";
echo "sel_date=$sel_date<br>";
}
//============================================================================
//============================================================================
//configurable variables
$serviceFlag=array("00"=>"BothClose",
"01"=>"IMDXOpen",
"10"=>"OPROpen",
"11"=>"BothOpen");
$oprTableTitle="OPR Statistic Date: ";
$oprTableRowHead=array("Manual Register",
"Auto Register",
"OPR LU",
"Recycle Account",
"Switch to Roam",
"Switch to OPR");
$oprTableColHead=array("Success","Fail");
$imdxTableTitle="IMDX Statistic Date: ";
$imdxTableRowHeadA=array("Private to Private",
"Hybrid to Private",
"Hybrid to Public",
"Premium to Public",
"Ordinary to Public",
"Public to Private");
$imdxTableRowHeadB=array("Private Success",
"Private Excluded",
"Hybrid Success",
"Hybrid Excluded",
"Public Success",
"Public Excluded");
$imdxTableColHead=array("MO Services","LU");
$oprTableFieldCount=14;
$imdxTableFieldCount=15;
$oppsFieldNameInDB=array(0=>"man_reg_suc",
1=>"man_reg_fail",
2=>"auto_reg_suc",
3=>"auto_reg_fail",
4=>"opr_lu_suc",
5=>"opr_lu_fail",
6=>"oth_lu_suc",
7=>"oth_lu_fail",
8=>"recy_sub_suc",
9=>"recy_sub_fail",
10=>"swi_roam_mode_suc",
11=>"swi_roam_mode_fail",
12=>"swi_opr_mode_suc",
13=>"swi_opr_mode_fail",
14=>"pri_to_pri",
15=>"hyb_to_pri",
16=>"hyb_to_pub",
17=>"pub_to_pub",
18=>"ord_to_pub",
19=>"pub_to_pri",
20=>"ord_lu_suc",
21=>"hyb_lu_suc",
22=>"pub_lu_suc",
23=>"ord_lu_exc",
24=>"hyb_lu_exc",
25=>"pub_lu_exc",
26=>"pre_lu_suc",
27=>"pre_lu_exc",
28=>"pre_to_pub");
//============================================================================
//get service status
$oppsServiceStatus=getSystemState(375,94,2);
if($DEBUG)echo "oppsServiceStatus=+$oppsServiceStatus+<br>";
if($oppsServiceStatus=="")
{
exit("");
}
if($serviceFlag[$oppsServiceStatus] == "OPROpen")
$type_label=array(0=>"OPR Registration",1=>"OPR Location Update",2=>"OPR Mode Switch");
else if($serviceFlag[$oppsServiceStatus] == "IMDXOpen")
$type_label=array(0=>"IMDX MO",1=>"IMDX Location Update");
else if($serviceFlag[$oppsServiceStatus] == "BothOpen")
$type_label=array(0=>"OPR Registration",1=>"OPR Location Update",2=>"OPR Mode Switch",3=>"IMDX MO",4=>"IMDX Location Update");
else
exit();
//get whole day data from database
$db="CSTA_DB";
$table_name="oppsDetail";
$temp=date("d",mktime(0,0,0,date("m"),date("d")-$sel_date,date("Y")));
$table_name=$table_name."_".$temp;
if($DEBUG)echo "table_name:$table_name<br>";
$from_time=date("Y-m-d H:i:s",mktime(0,0,0,date("m"),date("d")-$sel_date,date("Y")));
$to_time=date("Y-m-d H:i:s",mktime(0,0,0,date("m"),date("d")-$sel_date+1,date("Y")));
if($DEBUG)echo "from:$from_time--to:$to_time<br>";
$select="select key_type,";
for($i=0;$i<sizeof($oppsFieldNameInDB);$i++)
{
$select.="sum({$oppsFieldNameInDB[$i]}) as {$oppsFieldNameInDB[$i]}";
if($i != (sizeof($oppsFieldNameInDB)-1))
$select.=",";
else
$select.=" ";
}
$from="from $table_name ";
$where="where csta_datetime >='$from_time' and csta_datetime <'$to_time' ";
$group="group by key_type ";
$sql=$select.$from.$where.$group;
if($DEBUG)echo "$sql<br>";
$result=@mysqli_query($pubConn,$sql);
$rows=@mysqli_fetch_array($result);
for($i=0;$i<sizeof($oppsFieldNameInDB);$i++)
{
$$oppsFieldNameInDB[$i]=0;
}
if($rows)
{
do{
$key_type=$rows[key_type]+0;
if($key_type == 1)
{
for($i=0;$i<$oprTableFieldCount;$i++)
$$oppsFieldNameInDB[$i]=$rows[$oppsFieldNameInDB[$i]]+0;
}
else if($key_type == 2)
{
for($i=$oprTableFieldCount;$i<($oprTableFieldCount+$imdxTableFieldCount);$i++)
$$oppsFieldNameInDB[$i]=$rows[$oppsFieldNameInDB[$i]]+0;
}
}while($rows=mysqli_fetch_array($result));
}
//get hourly data from database
$select="select key_type,csta_datetime,";
for($i=0;$i<sizeof($oppsFieldNameInDB);$i++)
{
$select.="{$oppsFieldNameInDB[$i]}";
if($i != (sizeof($oppsFieldNameInDB)-1))
$select.=",";
else
$select.=" ";
}
$where="where csta_datetime >='$from_time' and csta_datetime <'$to_time' ";
$sql=$select.$from.$where;
if($DEBUG)echo "$sql<br>";
$result=@mysqli_query($pubConn,$sql);
$rows=@mysqli_fetch_array($result);
for($i=0;$i<sizeof($oppsFieldNameInDB);$i++)
{
for($j=0;$j<24;$j++)
$dataHourly[$i][$j]=0;
}
if($rows)
{
do{
$key_type=$rows[key_type]+0;
$hourstr=$rows[csta_datetime];
$hour=substr($hourstr,11,2)+0;;
for($i=0;$i<($oprTableFieldCount+$imdxTableFieldCount);$i++)
{
//20+26,23+27
if($i == 26)
$index=20;
else if($i == 27)
$index=23;
else
$index=$i;
$dataHourly[$index][$hour]+=$rows[$oppsFieldNameInDB[$i]]+0;
}
}while($rows=mysqli_fetch_array($result));
}
//print_r($dataHourly);
//table title
if($serviceFlag[$oppsServiceStatus] == "OPROpen" || $serviceFlag[$oppsServiceStatus] == "BothOpen")
{
echo "<center><b>";
$sel_date_title=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-$sel_date,date("Y")));
echo "$oprTableTitle$sel_date_title<br>";
echo "</b></center>";
//opr table
echo "<table border=\"1\" width=\"100%\" bordercolordark=\"#FFFFFF\" bordercolor=\"#808080\" cellspacing=\"0\">";
echo "<tr>";
echo "<td bgcolor=\"#E6E6E6\" width=10%>&nbsp;</td>";
for($i=0;$i<sizeof($oprTableRowHead);$i++)
echo "<td bgcolor=\"#E6E6E6\" width=15%>{$oprTableRowHead[$i]}</td>";
echo "</tr>";
//row-1
echo "<tr>";
echo "<td bgcolor=\"#E6E6E6\">{$oprTableColHead[0]}</td>";
echo "<td>{$$oppsFieldNameInDB[0]}</td>";
echo "<td>{$$oppsFieldNameInDB[2]}</td>";
echo "<td>{$$oppsFieldNameInDB[4]}</td>";
echo "<td>{$$oppsFieldNameInDB[8]}</td>";
echo "<td>{$$oppsFieldNameInDB[10]}</td>";
echo "<td>{$$oppsFieldNameInDB[12]}</td>";
echo "</tr>";
//row-2
echo "<tr>";
echo "<td bgcolor=\"#E6E6E6\">{$oprTableColHead[1]}</td>";
echo "<td>{$$oppsFieldNameInDB[1]}</td>";
echo "<td>{$$oppsFieldNameInDB[3]}</td>";
echo "<td>{$$oppsFieldNameInDB[5]}</td>";
echo "<td>{$$oppsFieldNameInDB[9]}</td>";
echo "<td>{$$oppsFieldNameInDB[11]}</td>";
echo "<td>{$$oppsFieldNameInDB[13]}</td>";
echo "</tr>";
echo "</table><p>";
}
if($serviceFlag[$oppsServiceStatus] == "IMDXOpen" || $serviceFlag[$oppsServiceStatus] == "BothOpen")
{
//imdx table
echo "<p><center><b>";
echo "$imdxTableTitle$sel_date_title<br>";
echo "</b></center>";
echo "<table border=\"1\" width=\"100%\" bordercolordark=\"#FFFFFF\" bordercolor=\"#808080\" cellspacing=\"0\">";
echo "<tr>";
//row-1
echo "<td bgcolor=\"#E6E6E6\" rowspan=2 width=10%>{$imdxTableColHead[0]}</td>";
for($i=0;$i<sizeof($imdxTableRowHeadA);$i++)
echo "<td bgcolor=\"#E6E6E6\" width=15%>{$imdxTableRowHeadA[$i]}</td>";
echo "</tr>";
echo "<td>{$$oppsFieldNameInDB[14]}</td>";
echo "<td>{$$oppsFieldNameInDB[15]}</td>";
echo "<td>{$$oppsFieldNameInDB[16]}</td>";
echo "<td>{$$oppsFieldNameInDB[28]}</td>";
echo "<td>{$$oppsFieldNameInDB[18]}</td>";
echo "<td>{$$oppsFieldNameInDB[19]}</td>";
//row-2
echo "<tr>";
echo "<td bgcolor=\"#E6E6E6\" rowspan=2 width=10%>{$imdxTableColHead[1]}</td>";
for($i=0;$i<sizeof($imdxTableRowHeadB);$i++)
echo "<td bgcolor=\"#E6E6E6\" width=15%>{$imdxTableRowHeadB[$i]}</td>";
echo "</tr>";
$tmpdata=$$oppsFieldNameInDB[20]+$$oppsFieldNameInDB[26];
echo "<td>$tmpdata</td>";
$tmpdata=$$oppsFieldNameInDB[23]+$$oppsFieldNameInDB[27];
echo "<td>$tmpdata</td>";
echo "<td>{$$oppsFieldNameInDB[21]}</td>";
echo "<td>{$$oppsFieldNameInDB[24]}</td>";
echo "<td>{$$oppsFieldNameInDB[22]}</td>";
echo "<td>{$$oppsFieldNameInDB[25]}</td>";
echo "</tr>";
echo "</table><p>";
}
//graphics
echo "<p><b>{$type_label[$sel_type]} Chart</b><br>";
$sizex=820;
$sizey=300;
$bgcolor=F8F8F8;
$fgcolor=000000;
$im = ImageCreate ($sizex, $sizey);
$background_color = ImageColorAllocate ($im,
hexdec(substr($bgcolor, 0, 2)),
hexdec(substr($bgcolor, 2, 2)),
hexdec(substr($bgcolor, 4, 2)));
$text_color = ImageColorAllocate ($im,
hexdec(substr($fgcolor, 0, 2)),
hexdec(substr($fgcolor, 2, 2)),
hexdec(substr($fgcolor, 4, 2)));
//======get the block legend color======
$black_color=ImageColorAllocate($im,06,0,0);
$white_color=ImageColorAllocate($im,0xff,0xff,0xff);
$color[0]=ImageColorAllocate($im,0x66,0xff,0x33);
$color[1]=ImageColorAllocate($im,0x66,0xff,0xff);
$color[2]=ImageColorAllocate($im,0,0x66,0x66);
$color[3]=ImageColorAllocate($im,0x66,0,0xcc);
$color[4]=ImageColorAllocate($im,0x66,0x33,0);
$color[5]=ImageColorAllocate($im,0xcc,0,0x66);
//======background========
ImageFilledRectangle($im,0,0,$sizex,$sizey,ImageColorAllocate ($im, 198, 198, 198));
ImageFilledRectangle($im,2,2,$sizex,$sizey,ImageColorAllocate ($im, 130, 130, 130));
$pointArr=array(0,$sizey-1,3,$sizey-4,4,$sizey-1);
Imagefilledpolygon($im, $pointArr, 3, ImageColorAllocate ($im, 130, 130, 130));
$pointArr=array($sizex-1,0,$sizex-4,3,$sizex,4);
Imagefilledpolygon($im, $pointArr, 3, ImageColorAllocate ($im, 130, 130, 130));
ImageFilledRectangle($im,2,2,$sizex-3,$sizey-3,$background_color);
//=======border========
$xBgn=60;
$yBgn=25;
$xEnd=780;
$yEnd=255;
ImageLine($im, $xBgn, $yBgn, $xBgn, $yEnd, $text_color);
ImageLine($im, $xBgn, $yBgn, $xEnd, $yBgn, $text_color);
ImageLine($im, $xBgn, $yEnd, $xEnd, $yEnd, $text_color);
ImageLine($im, $xEnd, $yBgn, $xEnd, $yEnd, $text_color);
//=======get the biggest Y-scale value==============
$maxYNum=4;
for($i=0;$i<($oprTableFieldCount+$imdxTableFieldCount);$i++)
{
for($j=0;$j<24;$j++)
{
if(!isset($dataHourly[$i][$j]))
$dataHourly[$i][$j]=0;
if($maxYNum<$dataHourly[$i][$j])
$maxYNum=$dataHourly[$i][$j];
//echo "g-$i-h-$j:{$dataHourly[$i][$j]}<br>";
}
}
//======draw the vertical dash line======
$tempi=0;
for($i=0;$i<24;$i++){
ImageDashedLine($im, $xBgn + $i*30, $yBgn, $xBgn + $i*30, $yEnd, $text_color);
if(($i*$slot)%24==0&&$i!=0)
$tempi++;
$xstr=$i."H";
Imagestring($im, 2, $xBgn + $i*30 - 4, $yEnd+5, $xstr, $text_color);
}
//=======draw the horizonal dash line======
$style = array($black_color,$black_color,$black_color,$black_color,$black_color,$white_color,$white_color,$white_color,$white_color,$white_color);
imagesetstyle($im, $style);
$unitY=($yEnd-$yBgn)/10;
$unitV=$maxYNum/10;
for($i=0;$i<10;$i++){
if($i!=0)
imageline($im, $xBgn, $yBgn + $i*$unitY, $xEnd, $yBgn + $i*$unitY, IMG_COLOR_STYLED);
$tempstr=round((10-$i)*$unitV);
Imagestring($im, 2, $xBgn - 50, $yBgn + $i*$unitY - 5, $tempstr, $text_color);
}
//=======draw the block legend========
if($serviceFlag[$oppsServiceStatus] == "OPROpen")
{
if($sel_type == 0)
{
$posX=60;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[0]);
imagestring($im,2,$posX+15,$posY,"Manual-Registration Success",$text_color);
$posX=250;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[1]);
imagestring($im,2,$posX+15,$posY,"Manual-Registration Fail",$text_color);
$posX=440;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[2]);
imagestring($im,2,$posX+15,$posY,"Auto-Registration Success",$text_color);
$posX=630;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[3]);
imagestring($im,2,$posX+15,$posY,"Auto-Registration Fail",$text_color);
$lineIndexArr=array(0=>"0",1=>"1",2=>"2",3=>"3");
}
else if($sel_type == 1)
{
$posX=60;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[0]);
imagestring($im,2,$posX+15,$posY,"OPR LU Success",$text_color);
$posX=250;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[1]);
imagestring($im,2,$posX+15,$posY,"OPR LU Fail",$text_color);
$posX=440;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[2]);
imagestring($im,2,$posX+15,$posY,"Non-OPR LU Success",$text_color);
$posX=630;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[3]);
imagestring($im,2,$posX+15,$posY,"Non-OPR LU Fail",$text_color);
$lineIndexArr=array(0=>"4",1=>"5",2=>"6",3=>"7");
}
else if($sel_type == 2)
{
$posX=60;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[0]);
imagestring($im,2,$posX+15,$posY,"OPR to Roam Success",$text_color);
$posX=250;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[1]);
imagestring($im,2,$posX+15,$posY,"OPR to Roam Fail",$text_color);
$posX=440;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[2]);
imagestring($im,2,$posX+15,$posY,"Roam to OPR Success",$text_color);
$posX=630;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[3]);
imagestring($im,2,$posX+15,$posY,"Roam to OPR Fail",$text_color);
$lineIndexArr=array(0=>"10",1=>"11",2=>"12",3=>"13");
}
}
else if($serviceFlag[$oppsServiceStatus] == "IMDXOpen")
{
if($sel_type == 0)
{
$posX=60;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[0]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadA[0],$text_color);
$posX=190;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[1]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadA[1],$text_color);
$posX=320;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[2]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadA[2],$text_color);
$posX=450;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[3]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadA[3],$text_color);
$posX=580;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[4]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadA[4],$text_color);
$posX=710;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[5]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadA[5],$text_color);
$lineIndexArr=array(0=>"14",1=>"15",2=>"16",3=>"28",4=>"18",5=>"19");
}
else if($sel_type == 1)
{
$posX=60;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[0]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadB[0],$text_color);
$posX=190;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[1]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadB[1],$text_color);
$posX=320;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[2]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadB[2],$text_color);
$posX=450;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[3]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadB[3],$text_color);
$posX=580;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[4]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadB[4],$text_color);
$posX=710;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[5]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadB[5],$text_color);
$lineIndexArr=array(0=>"20",1=>"23",2=>"21",3=>"24",4=>"22",5=>"25");
}
}
else if($serviceFlag[$oppsServiceStatus] == "BothOpen")
{
if($sel_type == 0)
{
$posX=60;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[0]);
imagestring($im,2,$posX+15,$posY,"Manual-Registration Success",$text_color);
$posX=250;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[1]);
imagestring($im,2,$posX+15,$posY,"Manual-Registration Fail",$text_color);
$posX=440;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[2]);
imagestring($im,2,$posX+15,$posY,"Auto-Registration Success",$text_color);
$posX=630;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[3]);
imagestring($im,2,$posX+15,$posY,"Auto-Registration Fail",$text_color);
$lineIndexArr=array(0=>"0",1=>"1",2=>"2",3=>"3");
}
else if($sel_type == 1)
{
$posX=60;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[0]);
imagestring($im,2,$posX+15,$posY,"OPR LU Success",$text_color);
$posX=250;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[1]);
imagestring($im,2,$posX+15,$posY,"OPR LU Fail",$text_color);
$posX=440;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[2]);
imagestring($im,2,$posX+15,$posY,"Non-OPR LU Success",$text_color);
$posX=630;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[3]);
imagestring($im,2,$posX+15,$posY,"Non-OPR LU Fail",$text_color);
$lineIndexArr=array(0=>"4",1=>"5",2=>"6",3=>"7");
}
else if($sel_type == 2)
{
$posX=60;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[0]);
imagestring($im,2,$posX+15,$posY,"OPR to Roam Success",$text_color);
$posX=250;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[1]);
imagestring($im,2,$posX+15,$posY,"OPR to Roam Fail",$text_color);
$posX=440;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[2]);
imagestring($im,2,$posX+15,$posY,"Roam to OPR Success",$text_color);
$posX=630;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[3]);
imagestring($im,2,$posX+15,$posY,"Roam to OPR Fail",$text_color);
$lineIndexArr=array(0=>"10",1=>"11",2=>"12",3=>"13");
}
else if($sel_type == 3)
{
$posX=60;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[0]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadA[0],$text_color);
$posX=190;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[1]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadA[1],$text_color);
$posX=320;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[2]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadA[2],$text_color);
$posX=450;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[3]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadA[3],$text_color);
$posX=580;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[4]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadA[4],$text_color);
$posX=710;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[5]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadA[5],$text_color);
$lineIndexArr=array(0=>"14",1=>"15",2=>"16",3=>"28",4=>"18",5=>"19");
}
else if($sel_type == 4)
{
$posX=60;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[0]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadB[0],$text_color);
$posX=190;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[1]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadB[1],$text_color);
$posX=320;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[2]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadB[2],$text_color);
$posX=450;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[3]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadB[3],$text_color);
$posX=580;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[4]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadB[4],$text_color);
$posX=710;
$posY=280;
imagefilledrectangle($im,$posX,$posY,$posX+10,$posY+10,$color[5]);
imagestring($im,2,$posX+15,$posY,$imdxTableRowHeadB[5],$text_color);
$lineIndexArr=array(0=>"20",1=>"23",2=>"21",3=>"24",4=>"22",5=>"25");
}
}
else
exit();
//draw the line
//imageline
$unitHori=($xEnd-$xBgn)/24;
$imgHeight=$yEnd-$yBgn;
for($i=0;$i<sizeof($lineIndexArr);$i++)
{
for($j=0;$j<24-1;$j++)
{
$pX1=$xBgn+$j*$unitHori;
$pX2=$xBgn+($j+1)*$unitHori;
$pY1=$yBgn+(1-$dataHourly[$lineIndexArr[$i]][$j]/$maxYNum)*$imgHeight;
$pY2=$yBgn+(1-$dataHourly[$lineIndexArr[$i]][$j+1]/$maxYNum)*$imgHeight;
imageline($im,$pX1,$pY1,$pX2,$pY2,$color[$i]);
}
}
//======draw the graphics========
//-----<2D><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
//delete *.png
$handle=opendir('.');
while($file=readdir($handle)){
$retval="";
$pt=strrpos($file,".");
if($pt) $retval=substr($file,$pt+1,strlen($file)-$pt);
if($retval=='png') unlink($file);
}
$tt=time()-5500;
$filename="opps_".$tt.".png";
if(1){
ImagePng ($im,"$filename");
ImageDestroy($im);
}
//-----<2D><>ʾͼƬ
echo "<img src=\"$filename\"></img>";
adjust_content_tail("down");
?>

View File

@@ -0,0 +1,21 @@
<?php
require("../../inc/header.inc");
?>
<frameset rows="75,*" frameborder=0 border=0>
<?php
echo "<frame scrolling=\"no\" name=\"oprCstaUp\" src=\"oprCstaUp.php\">";
echo "<frame scrolling=\"no\" name=\"oprCstaDown\" src=\"oprCstaDown.php\">";
?>
<noframes>
<body>
<p>Frame isn't supported!</p>
</body>
</noframes>
</frameset>

View File

@@ -0,0 +1,108 @@
<?php
require("../../inc/header.inc");
?>
<script language="JavaScript">
function page_refresh()
{
var sel_date=document.up_form.sel_date.value;
var sel_type=document.up_form.sel_type.value;
parent.oprCstaDown.location.href="oprCstaDown.php?sel_date="+sel_date+"&sel_type="+sel_type;
}
</script>
<base target="oprCstaDown">
<body leftmargin="15" rightmargin="10" onload="javascript:adjust_frame('up');" onresize="javascript:adjust_frame('up');" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;">
<?php
adjust_head_frame("up");
adjust_title_head_frame("up");
//global variables
$serviceFlag=array("00"=>"BothClose",
"01"=>"IMDXOpen",
"10"=>"OPROpen",
"11"=>"BothOpen");
$oppsServiceStatus=getSystemState(375,94,2);
if($DEBUG)echo "oppsServiceStatus=+$oppsServiceStatus+<br>";
if($oppsServiceStatus=="")
{
//exit("<p>Can't receive the heartbeat of OPPS!<br>");
}
if($serviceFlag[$oppsServiceStatus] == "OPROpen")
$type_label=array(0=>"OPR Registration",1=>"OPR Location Update",2=>"OPR Mode Switch");
else if($serviceFlag[$oppsServiceStatus] == "IMDXOpen")
$type_label=array(0=>"IMDX MO",1=>"IMDX Location Update");
else if($serviceFlag[$oppsServiceStatus] == "BothOpen")
$type_label=array(0=>"OPR Registration",1=>"OPR Location Update",2=>"OPR Mode Switch",3=>"IMDX MO",4=>"IMDX Location Update");
else
{
$type_label=array(0=>"None");
//echo "<br><br><br><br>";
//exit("<p>No record!<br>");
}
//title
echo "<table id=\"table_up\" border=\"0\" width=\"100%\">";
echo "<tr>";
echo "<td width=\"50%\" align=\"left\">";
echo "$strTitlePerformance > OPPS";
echo "</td>";
echo "<td align=\"right\">";
$helpId="3.10";
showHelp($helpId);
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td align=\"left\">";
echo "<form name=\"up_form\" action=\"oprCstaDown.php\" method=\"post\">";
//type selection
echo "Type <select name=\"sel_type\">";
for($i=0;$i<sizeof($type_label);$i++)
{
if($i==$sel_type)
echo "<option selected value=$i>{$type_label[$i]}</option>";
else
echo "<option value=$i>{$type_label[$i]}</option>";
}
echo "</select>";
//date selection
$day0=date("Y-m-d",mktime(0,0,0,date("m"),date("d"),date("Y")));
$day1=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-1,date("Y")));
$day2=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-2,date("Y")));
$day3=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-3,date("Y")));
$day4=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-4,date("Y")));
$day5=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-5,date("Y")));
$day6=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-6,date("Y")));
echo "&nbsp;Date <select name=\"sel_date\">";
for($i=0;$i<7;$i++)
{
if($i==$sel_date)
echo "<option selected value=$i>${day.$i}</option>";
else
echo "<option value=$i>${day.$i}</option>";
}
echo "</select>";
//search
echo "&nbsp;<a onClick=\"javascript:page_refresh();\" style=\"cursor:hand\">";
echo "<IMG align=absBottom border=0 src=\"../../images/search.gif\" >";
echo "$strSearch";
echo "</a>";
echo "</td>";
echo "<td align=\"right\">&nbsp;";
echo "</td>";
echo "</tr>";
echo "</table>";
adjust_title_tail_frame("up");
adjust_content_head_frame("up");
adjust_content_tail_frame("up");
echo "</form>";
?>