722 lines
23 KiB
PHP
Executable File
722 lines
23 KiB
PHP
Executable File
<?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%> </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");
|
||
?>
|