Can't receive the heartbeat of OPPS!
");
}
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 "
OPPS function disabled ";
}
if($serviceFlag[$oppsServiceStatus] == "IMDXOpen" || $serviceFlag[$oppsServiceStatus] == "BothOpen")
{
//imdx table
echo " ";
}
//graphics
echo " {$type_label[$sel_type]} Chart
";
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
";
echo "sel_date=$sel_date
";
}
//============================================================================
//============================================================================
//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+
";
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
";
$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
";
$select="select key_type,";
for($i=0;$i
";
$result=@mysqli_query($pubConn,$sql);
$rows=@mysqli_fetch_array($result);
for($i=0;$i
";
$result=@mysqli_query($pubConn,$sql);
$rows=@mysqli_fetch_array($result);
for($i=0;$i
";
echo "";
//opr table
echo "";
echo "
";
echo " ";
//row-1
echo " ";
for($i=0;$i";
echo " ";
//row-2
echo "{$oprTableColHead[0]} ";
echo "{$$oppsFieldNameInDB[0]} ";
echo "{$$oppsFieldNameInDB[2]} ";
echo "{$$oppsFieldNameInDB[4]} ";
echo "{$$oppsFieldNameInDB[8]} ";
echo "{$$oppsFieldNameInDB[10]} ";
echo "{$$oppsFieldNameInDB[12]} ";
echo "";
echo " ";
echo "{$oprTableColHead[1]} ";
echo "{$$oppsFieldNameInDB[1]} ";
echo "{$$oppsFieldNameInDB[3]} ";
echo "{$$oppsFieldNameInDB[5]} ";
echo "{$$oppsFieldNameInDB[9]} ";
echo "{$$oppsFieldNameInDB[11]} ";
echo "{$$oppsFieldNameInDB[13]} ";
echo "
";
echo "";
echo "
";
//row-1
echo " ";
echo "{$imdxTableColHead[0]} ";
for($i=0;$i{$$oppsFieldNameInDB[14]} ";
echo "{$$oppsFieldNameInDB[15]} ";
echo "{$$oppsFieldNameInDB[16]} ";
echo "{$$oppsFieldNameInDB[28]} ";
echo "{$$oppsFieldNameInDB[18]} ";
echo "{$$oppsFieldNameInDB[19]} ";
//row-2
echo "";
echo " ";
$tmpdata=$$oppsFieldNameInDB[20]+$$oppsFieldNameInDB[26];
echo "{$imdxTableColHead[1]} ";
for($i=0;$i$tmpdata ";
$tmpdata=$$oppsFieldNameInDB[23]+$$oppsFieldNameInDB[27];
echo "$tmpdata ";
echo "{$$oppsFieldNameInDB[21]} ";
echo "{$$oppsFieldNameInDB[24]} ";
echo "{$$oppsFieldNameInDB[22]} ";
echo "{$$oppsFieldNameInDB[25]} ";
echo "";
echo "
";
$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]}
";
}
}
//======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