Files
web.ems/wxc2_omc/performance/mscCsta/service_detail_down.php
agtuser 16a3fd1e1b init
2024-11-11 17:56:00 +08:00

1152 lines
42 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
require("../../inc/header.inc");
?>
<script language="JavaScript">
function sel_date_from_change()
{
//sel_date_from,sel_date_to,scroll_y,on_top_index1,on_top_index2
var down_date_from=parent.service_detail_up.document.myform.sel_date_from.value;
var down_date_to=parent.service_detail_up.document.myform.sel_date_to.value;
var ser_type=parent.service_detail_up.document.myform.service_type.value;
var on_top=document.myform.on_top_index.value;
var on_top_down=document.myform.on_top_index_down.value;
//var scrolly=document.body.scrollTop;
var scrolly = document.getElementById('content_down').scrollTop;
if(down_date_from<=down_date_to)
down_date_to=down_date_from;
if(document.myform.success_checkbox.checked==1)
success_check=1;
else
success_check=0;
if(document.myform.call_deny_checkbox.checked==1)
call_deny_check=1;
else
call_deny_check=0;
if(document.myform.network_busy_checkbox.checked==1)
network_busy_check=1;
else
network_busy_check=0;
if(document.myform.call_clear_checkbox.checked==1)
call_clear_check=1;
else
call_clear_check=0;
if(document.myform.sub_busy_checkbox.checked==1)
sub_busy_check=1;
else
sub_busy_check=0;
if(document.myform.no_answer_checkbox.checked==1)
no_answer_check=1;
else
no_answer_check=0;
if(document.myform.signalling_timeout_checkbox.checked==1)
signalling_timeout_check=1;
else
signalling_timeout_check=0;
var check_group='&success_check='+success_check+'&call_clear_check='+call_clear_check+'&no_answer_check='+no_answer_check+'&sub_busy_check='+sub_busy_check+'&network_busy_check='+network_busy_check+'&call_deny_check='+call_deny_check+'&signalling_timeout_check='+signalling_timeout_check;
//alert(ser_type);
var urll='<?php echo"$PHP_SELF";?>?sel_date_from='+down_date_from+'&sel_date_to='+down_date_to+'&service_type='+ser_type+"&on_top_index="+on_top+"&scroll_y="+scrolly+"&on_top_index_down="+on_top_down+check_group;
//var urll='<?php echo"$PHP_SELF";?>?sel_date_from='+down_date_from+'&sel_date_to='+down_date_to+'&service_type='+ser_type+"&on_top_index="+on_top;
window.location.href=urll;
}
function line_select(item,lineOnTop)
{
var down_date_from=parent.service_detail_up.document.myform.sel_date_from.value;
var down_date_to=parent.service_detail_up.document.myform.sel_date_to.value;
var ser_type=parent.service_detail_up.document.myform.service_type.value;
var on_top=document.myform.on_top_index.value;
var on_top_down=document.myform.on_top_index_down.value;
var scrolly=document.getElementById('content_down').scrollTop;
if(down_date_from<=down_date_to)
down_date_to=down_date_from;
if(document.myform.success_checkbox.checked==1)
success_check=1;
else
success_check=0;
if(document.myform.call_clear_checkbox.checked==1)
call_clear_check=1;
else
call_clear_check=0;
if(document.myform.no_answer_checkbox.checked==1)
no_answer_check=1;
else
no_answer_check=0;
if(document.myform.sub_busy_checkbox.checked==1)
sub_busy_check=1;
else
sub_busy_check=0;
if(document.myform.network_busy_checkbox.checked==1)
network_busy_check=1;
else
network_busy_check=0;
if(document.myform.call_deny_checkbox.checked==1)
call_deny_check=1;
else
call_deny_check=0;
if(document.myform.signalling_timeout_checkbox.checked==1)
signalling_timeout_check=1;
else
signalling_timeout_check=0;
var check_group='&lineTop='+lineOnTop+'&success_check='+success_check+'&call_clear_check='+call_clear_check+'&no_answer_check='+no_answer_check+'&sub_busy_check='+sub_busy_check+'&network_busy_check='+network_busy_check+'&call_deny_check='+call_deny_check+'&signalling_timeout_check='+signalling_timeout_check;
var urll='<?php echo"$PHP_SELF";?>?sel_date_from='+down_date_from+'&sel_date_to='+down_date_to+'&service_type='+ser_type+"&on_top_index="+on_top+"&scroll_y="+scrolly+"&on_top_index_down="+on_top_down+check_group;
window.location.href=urll;
}
</script>
<?php
if($scroll_y > 0){
//echo "<body style=\"overflow-x:hidden\" topmargin=\"5\" leftmargin=\"12\" onLoad='self.scrollBy(0,$scroll_y)'>";
echo "<body leftmargin=\"15\" rightmargin=\"10\" onload=\"javascript:scroll_div('$scroll_y');javascript:adjust_frame('down');\" onresize=\"javascript:adjust_frame('down');\" style=\"overflow:hidden;overflow-x:hidden;overflow-y:hidden;\">";
}else{
echo "<body leftmargin=\"15\" rightmargin=\"10\" onload=\"javascript:adjust_frame('down');\" onresize=\"javascript:adjust_frame('down');\" style=\"overflow:hidden;overflow-x:hidden;overflow-y:hidden;\">";
}
?>
<form name="myform">
<?php
adjust_head_frame("down");
adjust_title_head_frame("down");
adjust_title_tail_frame("down");
adjust_content_head_frame("down");
echo "<br>";
if(!isset($success_check))
$success_check=0;
if(!isset($call_clear_check))
$call_clear_check=0;
if(!isset($no_answer_check))
$no_answer_check=0;
if(!isset($sub_busy_check))
$sub_busy_check=0;
if(!isset($network_busy_check))
$network_busy_check=0;
if(!isset($call_deny_check))
$call_deny_check=0;
if(!isset($signalling_timeout_check))
$signalling_timeout_check=0;
$slot=$sel_date_from-$sel_date_to+1;
$DEBUG=0;
//========================================================================================|
//========================Data From General Page==========================================|
//========================================================================================|
/*
service_type
value type
0 subs to subs
1 subs to trunk
2 trunk to subs
3 trunk to trunk
4 interconnection
5 subs to IP
6 trunk to IP
7 mobile originated
8 mobile terminated
9 in trunk
10 out trunk
11 IP terminated
*/
if(0)
{
echo "sel_date_from:$sel_date_from<br>";
echo "sel_date_to:$sel_date_to<br>";
echo "service_type:$service_type<br>";
}
//========================================================================================|
//==========================Define the Data===============================================|
//========================================================================================|
for($i=0;$i<9;$i++)
{
for($j=0;$j<24*$slot;$j++)
{
$csta_data[$i][$j]=0;
}
}
//========================================================================================|
//===========================Get The Data From DB=========================================|
//========================================================================================|
$key_type_relation=array(0=>5,1=>6,2=>7,3=>8,4=>9,5=>10,6=>11,7=>12,8=>13,9=>14,10=>15,11=>16);
$db=$csta_db;
$key_type=$key_type_relation[$service_type]+0;
for($day=0;$day<$slot;$day++)
{
$table_name="mscSum";
$temp=date("d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+$day,date("Y")));
$table_name=$table_name."_".$temp;
//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_from+$day,date("Y")));
$to_time=date("Y-m-d H:i:s",mktime(0,0,0,date("m"),date("d")-$sel_date_from+$day+1,date("Y")));
$select="select sum(Attempt) as attempt,sum(Success) as success,sum(CallDeny) as call_deny,sum(NetBusy) as network_busy,sum(CallerClear) as caller_clear,sum(SubBusy) as subscriber_busy,sum(NoAnswer) as no_answer,sum(SignalErr) as signal_error,sum(Duration) as duration,csta_datetime ";
$from="from $table_name ";
$service_where="and key_type=$key_type ";
$where="where csta_datetime >'$from_time' and csta_datetime <='$to_time' ".$service_where;
$group="group by csta_datetime ";
$order="order by csta_datetime ";
$sql=$select.$from.$where.$group.$order;
//echo "$sql<br>";
$result=@mysqli_query($pubConn,$sql);
$rows=@mysqli_fetch_array($result);
if(!$rows)
continue;
do{
$datetime=substr($rows[csta_datetime],11,2)+0;
if($datetime==23)
continue;
//echo "datetime=$datetime<br>";
for($tt=0;$tt<9;$tt++)
{
$csta_data[$tt][$datetime+1+$day*24]+=$rows[$tt];
}
}while($rows=mysqli_fetch_array($result));
}
//Get the 0-hour of the day
for($day=0;$day<$slot;$day++)
{
$table_name="mscSum";
$temp=date("d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+$day-1,date("Y")));
$table_name=$table_name."_".$temp;
//echo "table_name:$table_name<br>";
$from_time=date("Y-m-d H:i:s",mktime(23,0,0,date("m"),date("d")-$sel_date_from+$day-1,date("Y")));
$to_time=date("Y-m-d H:i:s",mktime(0,0,0,date("m"),date("d")-$sel_date_from+$day,date("Y")));
//echo "from_time=$from_time,to_time=$to_time<br>";
$select="select sum(Attempt) as attempt,sum(Success) as success,sum(CallDeny) as call_deny,sum(NetBusy) as network_busy,sum(CallerClear) as caller_clear,sum(SubBusy) as subscriber_busy,sum(NoAnswer) as no_answer,sum(SignalErr) as signal_error,sum(Duration) as duration,csta_datetime ";
$from="from $table_name ";
$service_where="and key_type=$key_type ";
$where="where csta_datetime >'$from_time' and csta_datetime <='$to_time' ".$service_where;
$group="group by csta_datetime ";
$order="order by csta_datetime ";
$sql=$select.$from.$where.$group.$order;
//echo "$sql<br>";
$result=@mysqli_query($pubConn,$sql);
$rows=@mysqli_fetch_array($result);
if(!$rows)
continue;
do{
$datetime=substr($rows[csta_datetime],11,2);
//echo "this datetime=$datetime<br>";
for($tt=0;$tt<9;$tt++)
{
$csta_data[$tt][$day*24]+=$rows[$tt];
//echo "csta_data[$tt][$day*24]+=rows[$tt]({$rows[$tt]})<br>";
}
}while($rows=mysqli_fetch_array($result));
}
//=======================================================================================|
//==========================Fake Data For Test===========================================|
//=======================================================================================|
if($DEBUG)
{
for($i=0;$i<9;$i++)
{
for($j=0;$j<24*$slot;$j++)
{
if($i==0)
$csta_data[$i][$j]=rand(210,300);
else
$csta_data[$i][$j]=rand(10,100);
}
}
}
//=======================================================================================|
//=============================Test the Data=============================================|
//=======================================================================================|
$test_label=array("Attempt","Success","Call clear","No Answer","Sub busy","Network busy",
"Call barred","signaling timeout","Duration");
if(0)
{
for($i=0;$i<9;$i++)
{
for($j=0;$j<24*$slot;$j++)
{
echo "{$test_label[$i]}--Hour-$j--{$csta_data[$i][$j]}<br>";
}
}
}
//=======================================================================================|
//==========================Draw The Table-1=============================================|
//=======================================================================================|
//=====table title======
$table_name_label=array("Sub to sub",
"Sub to trunk",
"Trunk to sub",
"Trunk to trunk",
"Intraconnection",
"Sub to IP",
"Trunk to IP",
"Mobile originated",
"Mobile terminated",
"In trunk",
"Out trunk",
"IP terminated");
if($slot==1)
{
$title_date=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$table_title=$table_name_label[$service_type]." statistic Date:".$title_date;
}
else
{
$title_date_from=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$title_date_to=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_to,date("Y")));
$table_title=$table_name_label[$service_type]." statistic Date:".$title_date_from." to ".$title_date_to;
}
echo "<b><center>$table_title</center></b>";
echo "<table width=\"100%\" border=\"1\" cellpadding=\"2\" cellspacing=\"0\" bordercolor=\"#666666\" bordercolordark=\"#FFFFFF\" bgcolor=\"#FFFFFF\">";
echo "<tr bgcolor=\"#E6E6E6\">";
echo "<td align=\"center\">Time</td>";
echo "<td align=\"center\">Attempt</td>";
echo "<td align=\"center\">Success</td>";
echo "<td align=\"center\"><nobr>Call deny</td>";
echo "<td align=\"center\"><nobr>Net busy</td>";
echo "<td align=\"center\">Caller clear</td>";
echo "<td align=\"center\">Sub busy</td>";
echo "<td align=\"center\">No Answer</td>";
echo "<td align=\"center\">Signal Error</td>";
echo "<td align=\"center\">Total call duration</td>";
echo "<td align=\"center\">Average call<br>duration(s)</td>";
echo "</tr>";
for($i=0;$i<24*$slot;$i++)
{
echo "<tr>";
//=========time column==============
echo "<td>";
$hour_label=$i%24;
if($hour_label<10)
$hour_label="0".$hour_label."H";
else
$hour_label=$hour_label."H";
$day_label=floor($i/24);
$day_label=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+$day_label,date("Y")));
echo "$day_label $hour_label";
echo "</td>";
//===========attempt column==========
echo "<td align=\"center\">";
echo "{$csta_data[0][$i]}";
echo "</td>";
//========Success column==============
echo "<td align=\"center\">";
echo "{$csta_data[1][$i]}";
if($csta_data[0][$i]==0)
$rate=0;
else
{
$rate=$csta_data[1][$i]/$csta_data[0][$i];
$rate=$rate*100;
if($rate!=0&&$rate!=100)
$rate=number_format($rate, 2, '.', '');
}
echo "<br>$rate%";
echo "</td>";
//========call deny column==========
echo "<td align=\"center\">";
echo "{$csta_data[2][$i]}";
if($csta_data[0][$i]==0)
$rate=0;
else
{
$rate=$csta_data[2][$i]/$csta_data[0][$i];
$rate=$rate*100;
if($rate!=0&&$rate!=100)
$rate=number_format($rate, 2, '.', '');
}
echo "<br>$rate%";
echo "</td>";
//=============Net busy column=======
echo "<td align=\"center\">";
echo "{$csta_data[3][$i]}";
if($csta_data[0][$i]==0)
$rate=0;
else
{
$rate=$csta_data[3][$i]/$csta_data[0][$i];
$rate=$rate*100;
if($rate!=0&&$rate!=100)
$rate=number_format($rate, 2, '.', '');
}
echo "<br>$rate%";
echo "</td>";
//===Caller clear column===========
echo "<td align=\"center\">";
echo "{$csta_data[4][$i]}";
if($csta_data[0][$i]==0)
$rate=0;
else
{
$rate=$csta_data[4][$i]/$csta_data[0][$i];
$rate=$rate*100;
if($rate!=0&&$rate!=100)
$rate=number_format($rate, 2, '.', '');
}
echo "<br>$rate%";
echo "</td>";
//====Sub busy column=============
echo "<td align=\"center\">";
echo "{$csta_data[5][$i]}";
if($csta_data[0][$i]==0)
$rate=0;
else
{
$rate=$csta_data[5][$i]/$csta_data[0][$i];
$rate=$rate*100;
if($rate!=0&&$rate!=100)
$rate=number_format($rate, 2, '.', '');
}
echo "<br>$rate%";
echo "</td>";
//=====No answer column=============
echo "<td align=\"center\">";
echo "{$csta_data[6][$i]}";
if($csta_data[0][$i]==0)
$rate=0;
else
{
$rate=$csta_data[6][$i]/$csta_data[0][$i];
$rate=$rate*100;
if($rate!=0&&$rate!=100)
$rate=number_format($rate, 2, '.', '');
}
echo "<br>$rate%";
echo "</td>";
//====signal error column======
echo "<td align=\"center\">";
echo "{$csta_data[7][$i]}";
if($csta_data[0][$i]==0)
$rate=0;
else
{
$rate=$csta_data[7][$i]/$csta_data[0][$i];
$rate=$rate*100;
if($rate!=0&&$rate!=100)
$rate=number_format($rate, 2, '.', '');
}
echo "<br>$rate%";
echo "</td>";
//======total call duration column=====
echo "<td align=\"center\">";
echo "{$csta_data[8][$i]}(s)";
$hour=floor($csta_data[8][$i]/3600);
$minute=floor($csta_data[8][$i]%3600/60);
$second=$csta_data[8][$i]%60;
if($hour==0&&$minute==0&&$second==0)
echo "<br>";
else
echo "<br>$hour:$minute:$second";
echo "</td>";
//======average call duration column====
echo "<td align=\"center\">";
if($csta_data[1][$i]!=0)
$ave=round($csta_data[8][$i]/$csta_data[1][$i]);
else
$ave=0;
echo "$ave";
echo "</td>";
echo "</tr>";
}
echo "</table>";
?>
<?php
//=======================================================================================|
//=============================The First on top selection(Hide)==========================|
//=======================================================================================|
?>
<p>
<select style="display:none" name="on_top_index" size="1" onChange="javascript:sel_date_from_change()">
<?php
$on_top_label=array("Success","Call clear","No answer","Subscriber busy","Network busy","Call deny","Signaling timeout");
for($i=0;$i<7;$i++)
{
if($i==$on_top_index)
echo "<option value=$i selected>$on_top_label[$i]</option>";
else
echo "<option value=$i>$on_top_label[$i]</option>";
}
?>
</select><!--on top-->
<p>
<?php
//=======================================================================================|
//===========================show line checkbox==========================================|
//=======================================================================================|
echo "<table border=0 width=\"100%\">";
echo "<tr>";
if($success_check==1)
{
echo "<td><input name=\"success_checkbox\" type=checkbox checked onClick=\"javascript:line_select(this,0)\">&nbsp Success</td>";
$draw_line_flag[0]=1;
}
else
{
$lineOnTop=0;
echo "<td><input name=\"success_checkbox\" type=checkbox onClick=\"javascript:line_select(this,$lineOnTop)\">&nbsp Success</td>";
$draw_line_flag[0]=0;
}
if($call_deny_check==1)
{
echo "<td><input name=\"call_deny_checkbox\" type=checkbox checked onClick=\"javascript:line_select(this,0)\">&nbsp Call deny</td>";
$draw_line_flag[1]=1;
}
else
{
$lineOnTop=1;
echo "<td><input name=\"call_deny_checkbox\" type=checkbox onClick=\"javascript:line_select(this,$lineOnTop)\">&nbsp Call deny</td>";
$draw_line_flag[1]=0;
}
if($network_busy_check==1)
{
echo "<td><input name=\"network_busy_checkbox\" type=checkbox checked onClick=\"javascript:line_select(this,0)\">&nbsp Network busy</td>";
$draw_line_flag[2]=1;
}
else
{
$lineOnTop=2;
echo "<td><input name=\"network_busy_checkbox\" type=checkbox onClick=\"javascript:line_select(this,$lineOnTop)\">&nbsp Network busy</td>";
$draw_line_flag[2]=0;
}
if($call_clear_check==1)
{
echo "<td><input name=\"call_clear_checkbox\" type=checkbox checked onClick=\"javascript:line_select(this,0)\">&nbsp Caller clear</td>";
$draw_line_flag[3]=1;
}
else
{
$lineOnTop=3;
echo "<td><input name=\"call_clear_checkbox\" type=checkbox onClick=\"javascript:line_select(this,$lineOnTop)\">&nbsp Caller clear</td>";
$draw_line_flag[3]=0;
}
if($sub_busy_check==1)
{
echo "<td><input name=\"sub_busy_checkbox\" type=checkbox checked onClick=\"javascript:line_select(this,0)\">&nbsp Sub busy</td>";
$draw_line_flag[4]=1;
}
else
{
$lineOnTop=4;
echo "<td><input name=\"sub_busy_checkbox\" type=checkbox onClick=\"javascript:line_select(this,$lineOnTop)\">&nbsp Sub busy</td>";
$draw_line_flag[4]=0;
}
if($no_answer_check==1)
{
echo "<td><input name=\"no_answer_checkbox\" type=checkbox checked onClick=\"javascript:line_select(this,0)\">&nbsp No answer</td>";
$draw_line_flag[5]=1;
}
else
{
$lineOnTop=5;
echo "<td><input name=\"no_answer_checkbox\" type=checkbox onClick=\"javascript:line_select(this,$lineOnTop)\">&nbsp No answer</td>";
$draw_line_flag[5]=0;
}
if($signalling_timeout_check==1)
{
echo "<td><input name=\"signalling_timeout_checkbox\" type=checkbox checked onClick=\"javascript:line_select(this,0)\">&nbsp Signal error</td>";
$draw_line_flag[6]=1;
}
else
{
$lineOnTop=6;
echo "<td><input name=\"signalling_timeout_checkbox\" type=checkbox onClick=\"javascript:line_select(this,$lineOnTop)\">&nbsp Signal error</td>";
$draw_line_flag[6]=0;
}
echo "</tr>";
echo "</table>";
//========================================================================================|
//=============================Draw The Graphics-1========================================|
//========================================================================================|
$sizex=835;
$sizey=380;
$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);
$color[6]=ImageColorAllocate($im,0xff,0,0);
//======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=275;
$unitXPix=30;
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);
//======draw the vertical dash line======
for($i=0;$i<$slot;$i++)
{
$datestr[$i]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+$i,date("Y")));
}
for($i=0;$i<24;$i++)
{
if($i<10)
$timearray[$i]="0".$i."h";
else
$timearray[$i]=$i."h";
}
if($slot==5)
{
if(3>1)
{
$tempd[0]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[1]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[2]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[3]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[4]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[5]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[6]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[7]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[8]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[9]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[10]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[11]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[12]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[13]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[14]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[15]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[16]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[17]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[18]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[19]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[20]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[21]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[22]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[23]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
}
for($i=0;$i<24;$i++){
ImageDashedLine($im, $xBgn + $i*30, $yBgn, $xBgn + $i*30, $yEnd, $text_color);
$xstr=$tempd[$i]." ".$timearray[($i*$slot)%24];
Imagestringup($im, 2, $xBgn + $i*30 - 4, $yEnd+60, $xstr, $text_color);
}
}
else if($slot==7)
{
if(3>1)
{
$tempd[0]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[1]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[2]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[3]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[4]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[5]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[6]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[7]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[8]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[9]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[10]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[11]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[12]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[13]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[14]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[15]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[16]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[17]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[18]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+5,date("Y")));
$tempd[19]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+5,date("Y")));
$tempd[20]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+5,date("Y")));
$tempd[21]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+6,date("Y")));
$tempd[22]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+6,date("Y")));
$tempd[23]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+6,date("Y")));
}
for($i=0;$i<24;$i++){
ImageDashedLine($im, $xBgn + $i*30, $yBgn, $xBgn + $i*30, $yEnd, $text_color);
$xstr=$tempd[$i]." ".$timearray[($i*$slot)%24];
Imagestringup($im, 2, $xBgn + $i*30 - 4, $yEnd+60, $xstr, $text_color);
}
}
else
{
$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=$datestr[$tempi]." ".$timearray[($i*$slot)%24];
Imagestringup($im, 2, $xBgn + $i*30 - 4, $yEnd+60, $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);
for($i=0;$i<10;$i++){
if($i!=0)
imageline($im, $xBgn, $yBgn + $i*25, $xEnd, $yBgn + $i*25, IMG_COLOR_STYLED);
$tempstr=(10-$i)*10;
$tempstr=$tempstr."%";
Imagestring($im, 2, $xBgn - 50, $yBgn + $i*25 - 5, $tempstr, $text_color);
}
//=======draw the block legend========
imagefilledrectangle($im,90,350,100,360,$color[0]);
imagestring($im,2,105,350,"Success",$text_color);
imagefilledrectangle($im,180,350,190,360,$color[1]);
imagestring($im,2,195,350,"Call deny",$text_color);
imagefilledrectangle($im,270,350,280,360,$color[2]);
imagestring($im,2,285,350,"Network busy",$text_color);
imagefilledrectangle($im,360,350,370,360,$color[3]);
imagestring($im,2,375,350,"Caller clear",$text_color);
imagefilledrectangle($im,450,350,460,360,$color[4]);
imagestring($im,2,465,350,"Sub busy",$text_color);
imagefilledrectangle($im,540,350,550,360,$color[5]);
imagestring($im,2,555,350,"No answer",$text_color);
imagefilledrectangle($im,630,350,640,360,$color[6]);
imagestring($im,2,645,350,"Signal error",$text_color);
//========get the data line scale========
for($j=0;$j<7;$j++)
{
for($i=0;$i<24*$slot;$i++)
{
if($csta_data[0][$i]!=0)
$points_scale[$j][$i]['y']=floor(250*$csta_data[$j+1][$i]/$csta_data[0][$i]);
else
$points_scale[$j][$i]['y']=0;
$points_scale[$j][$i]['y']=25+250-$points_scale[$j][$i]['y'];
$points_scale[$j][$i]['x']=60+30*$i/$slot;
//echo "line-$j-point-$i-x:{$points_scale[$j][$i]['x']}<br>";
//echo "line-$j-point-$i-y:{$points_scale[$j][$i]['y']}<br>";
}
}
//======draw the data line=======
//echo "on_top_index:$on_top_index<br>";
for($i=0;$i<7;$i++)
{
if($draw_line_flag[$i]!=0)
{
for($j=0;$j<24*$slot-1;$j++)
{
imageline($im,$points_scale[$i][$j]['x'],$points_scale[$i][$j]['y'],$points_scale[$i][$j+1]['x'],$points_scale[$i][$j+1]['y'],$color[$i]);
}
}
}
//=====draw the on top line againg=========
//echo "lineTop=$lineTop<br>";
if($draw_line_flag[$lineTop]==1)
{
for($i=0;$i<24*$slot-1;$i++)
{
imageline($im,$points_scale[$lineTop][$i]['x'],$points_scale[$lineTop][$i]['y'],$points_scale[$lineTop][$i+1]['x'],$points_scale[$lineTop][$i+1]['y'],$color[$lineTop]);
imageline($im,$points_scale[$lineTop][$i]['x'],$points_scale[$lineTop][$i]['y']+1,$points_scale[$lineTop][$i+1]['x'],$points_scale[$lineTop][$i+1]['y']+1,$color[$lineTop]);
imageline($im,$points_scale[$lineTop][$i]['x'],$points_scale[$lineTop][$i]['y']+2,$points_scale[$lineTop][$i+1]['x'],$points_scale[$lineTop][$i+1]['y']+2,$color[$lineTop]);
}
}
//======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="ser1_".$tt.".png";
if(1){
ImagePng ($im,"$filename");
ImageDestroy($im);
}
//-----<2D><>ʾͼƬ
echo "<img src=\"$filename\"></img>";
?>
<?php
//=======================================================================================|
//======================The second on top selection======================================|
//=======================================================================================|
?>
<p>
<select name="on_top_index_down" size="1" onChange="javascript:sel_date_from_change()">
<?php
$on_top_label=array("Total call duration","Average call duration");
for($i=0;$i<2;$i++)
{
if($i==$on_top_index_down)
echo "<option value=$i selected>$on_top_label[$i]</option>";
else
echo "<option value=$i>$on_top_label[$i]</option>";
}
?>
</select>on top
<?php
//=======================================================================================|
//===========================Draw The Graphics-2=========================================|
//=======================================================================================|
//=====draw the backgroup========
$sizex=835;
$sizey=380;
$bgcolor=F8F8F8;
$fgcolor=000000;
$image = ImageCreate ($sizex, $sizey);
$background_color = ImageColorAllocate ($image,
hexdec(substr($bgcolor, 0, 2)),
hexdec(substr($bgcolor, 2, 2)),
hexdec(substr($bgcolor, 4, 2)));
$text_color = ImageColorAllocate ($image,
hexdec(substr($fgcolor, 0, 2)),
hexdec(substr($fgcolor, 2, 2)),
hexdec(substr($fgcolor, 4, 2)));
//=====get the block legend color========
$color[0]=ImageColorAllocate($image,0x66,0xff,0xff);
$color[1]=ImageColorAllocate($image,0,0x66,0x66);
$black_color=ImageColorAllocate($image,0,0,0);
$white_color=ImageColorAllocate($image,0xff,0xff,0xff);
//====draw the background======
ImageFilledRectangle($image,0,0,$sizex,$sizey,ImageColorAllocate ($image, 198, 198, 198));
ImageFilledRectangle($image,2,2,$sizex,$sizey,ImageColorAllocate ($image, 130, 130, 130));
$pointArr=array(0,$sizey-1,3,$sizey-4,4,$sizey-1);
Imagefilledpolygon($image, $pointArr, 3, ImageColorAllocate ($image, 130, 130, 130));
$pointArr=array($sizex-1,0,$sizex-4,3,$sizex,4);
Imagefilledpolygon($image, $pointArr, 3, ImageColorAllocate ($image, 130, 130, 130));
ImageFilledRectangle($image,2,2,$sizex-3,$sizey-3,$background_color);
//========draw the border======
$xBgn=60;
$yBgn=25;
$xEnd=780;
$yEnd=275;
$unitXPix=30;
ImageLine($image, $xBgn, $yBgn, $xBgn, $yEnd, $text_color);
ImageLine($image, $xBgn, $yBgn, $xEnd, $yBgn, $text_color);
ImageLine($image, $xBgn, $yEnd, $xEnd, $yEnd, $text_color);
ImageLine($image, $xEnd, $yBgn, $xEnd, $yEnd, $text_color);
//========draw the vertical line======
for($i=0;$i<$slot;$i++)
{
$datestr[$i]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+$i,date("Y")));
}
for($i=0;$i<24;$i++)
{
if($i<10)
$timearray[$i]="0".$i."h";
else
$timearray[$i]=$i."h";
}
if($slot==5)
{
if(3>1)
{
$tempd[0]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[1]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[2]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[3]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[4]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[5]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[6]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[7]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[8]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[9]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[10]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[11]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[12]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[13]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[14]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[15]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[16]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[17]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[18]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[19]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[20]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[21]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[22]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[23]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
}
for($i=0;$i<24;$i++){
ImageDashedLine($image, $xBgn + $i*30, $yBgn, $xBgn + $i*30, $yEnd, $text_color);
$xstr=$tempd[$i]." ".$timearray[($i*$slot)%24];
Imagestringup($image, 2, $xBgn + $i*30 - 4, $yEnd+60, $xstr, $text_color);
}
}
else if($slot==7)
{
if(3>1)
{
$tempd[0]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[1]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[2]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[3]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$tempd[4]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[5]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[6]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+1,date("Y")));
$tempd[7]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[8]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[9]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[10]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+2,date("Y")));
$tempd[11]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[12]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[13]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+3,date("Y")));
$tempd[14]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[15]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[16]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[17]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+4,date("Y")));
$tempd[18]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+5,date("Y")));
$tempd[19]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+5,date("Y")));
$tempd[20]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+5,date("Y")));
$tempd[21]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+6,date("Y")));
$tempd[22]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+6,date("Y")));
$tempd[23]=date("m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+6,date("Y")));
}
for($i=0;$i<24;$i++){
ImageDashedLine($image, $xBgn + $i*30, $yBgn, $xBgn + $i*30, $yEnd, $text_color);
$xstr=$tempd[$i]." ".$timearray[($i*$slot)%24];
Imagestringup($image, 2, $xBgn + $i*30 - 4, $yEnd+60, $xstr, $text_color);
}
}
else
{
$tempi=0;
for($i=0;$i<24;$i++){
ImageDashedLine($image, $xBgn + $i*30, $yBgn, $xBgn + $i*30, $yEnd, $text_color);
if(($i*$slot)%24==0&&$i!=0)
$tempi++;
$xstr=$datestr[$tempi]." ".$timearray[($i*$slot)%24];
Imagestringup($image, 2, $xBgn + $i*30 - 4, $yEnd+60, $xstr, $text_color);
}
}
//=====draw the block legend=======
imagefilledrectangle($image,90,350,100,360,$color[0]);
imagestring($image,2,105,350,"Total call duration",$text_color);
imagefilledrectangle($image,280,350,290,360,$color[1]);
imagestring($image,2,295,350,"Average call duration",$text_color);
imagestring($image,2,10,5,"Total call duration",$text_color);
imagestring($image,2,700,5,"Average call duration",$text_color);
//======get the biggest y scale of left======
for($i=0;$i<$slot*24;$i++)
{
if($maxYNum_left<$csta_data[8][$i])
$maxYNum_left=$csta_data[8][$i];
if($csta_data[1][$i]==0)
$average[$i]=0;
else
$average[$i]=round($csta_data[8][$i]/$csta_data[1][$i]);
if($maxYNum_right<$average[$i])
$maxYNum_right=$average[$i];
}
if($maxYNum_left==0)
$maxYNum_left=100;
if($maxYNum_right==0)
$maxYNum_right=10;
//===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);
$res=imagesetstyle($image, $style);
for($i=0;$i<10;$i++){
if($i!=0)
imageline($image, $xBgn, $yBgn + $i*25, $xEnd, $yBgn + $i*25, IMG_COLOR_STYLED);
}
//=====get the data line scale======
for($i=0;$i<$slot*24;$i++)
{
//get the total call duration scale
$total_call_duration_scale[$i]['x']=60+30*$i/$slot;
$total_call_duration_scale[$i]['y']=floor(250*$csta_data[8][$i]/$maxYNum_left);
$total_call_duration_scale[$i]['y']=25+250-$total_call_duration_scale[$i]['y'];
//get the average call duraiton scale
$average_call_duration_scale[$i]['x']=60+30*$i/$slot;
$average_call_duration_scale[$i]['y']=floor(250*$average[$i]/$maxYNum_right);
$average_call_duration_scale[$i]['y']=25+250-$average_call_duration_scale[$i]['y'];
//echo "hour-$i:{$total_call_duration_scale[$i]['y']}<br>";
}
for($j=0;$j<24*$slot-1;$j++)
{
//draw the total duration call data line
imageline($image,$total_call_duration_scale[$j]['x'],$total_call_duration_scale[$j]['y'],$total_call_duration_scale[$j+1]['x'],$total_call_duration_scale[$j+1]['y'],$color[0]);
//draw the average duration call data line
imageline($image,$average_call_duration_scale[$j]['x'],$average_call_duration_scale[$j]['y'],$average_call_duration_scale[$j+1]['x'],$average_call_duration_scale[$j+1]['y'],$color[1]);
}
//======draw the on top data line again=======
if(!isset($on_top_index_down))
$on_top_index_down=0;
for($j=0;$j<24*$slot-1;$j++)
{
if($on_top_index_down==0)
{
//draw the total duration call data line
imageline($image,$total_call_duration_scale[$j]['x'],$total_call_duration_scale[$j]['y'],$total_call_duration_scale[$j+1]['x'],$total_call_duration_scale[$j+1]['y'],$color[0]);
}
else
{
//draw the average duration call data line
imageline($image,$average_call_duration_scale[$j]['x'],$average_call_duration_scale[$j]['y'],$average_call_duration_scale[$j+1]['x'],$average_call_duration_scale[$j+1]['y'],$color[1]);
}
}
//=======the left y scale label===========
$unit=$maxYNum_left/10;
for($i=0;$i<10;$i++){
$over_minute=floor($unit/60);
$over_hour=floor($unit/3600);
//Y<><59>ÿ<EFBFBD><C3BF><EFBFBD>Ķ<EFBFBD>ֵС<D6B5><D0A1>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
if($over_minute==0)
{
$displayMaxData=(10-$i)*$unit;
$displayMaxData=number_format($displayMaxData,0,"."," ");
$displayMaxData=$displayMaxData." s";
}
else
{
//Y<><59>ÿ<EFBFBD><C3BF><EFBFBD>Ķ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ӵ<EFBFBD>С<EFBFBD><D0A1>һ<EFBFBD><D2BB>Сʱ
if($over_hour==0)
{
$displayMaxData=(10-$i)*$unit/60;
$displayMaxData=number_format($displayMaxData,1,"."," ");
$displayMaxData=$displayMaxData." min";
}
//Y<><59>ÿ<EFBFBD><C3BF><EFBFBD>Ķ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Сʱ
else
{
$displayMaxData=(10-$i)*$unit/3600;
$displayMaxData=number_format($displayMaxData,2,"."," ");
$displayMaxData=$displayMaxData." h";
}
}
Imagestring($image, 2, $xBgn - 54, $yBgn + $i*25 - 5, "$displayMaxData", $text_color);
}
//=======the right y scale label=========
$unit=$maxYNum_right/10;
for($i=0;$i<10;$i++){
$over_minute=floor($unit/60);
$over_hour=floor($unit/3600);
//Y<><59>ÿ<EFBFBD><C3BF><EFBFBD>Ķ<EFBFBD>ֵС<D6B5><D0A1>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
if($over_minute==0)
{
$displayMaxData=(10-$i)*$unit;
$displayMaxData=number_format($displayMaxData,0,"."," ");
$displayMaxData=$displayMaxData." s";
}
else
{
//Y<><59>ÿ<EFBFBD><C3BF><EFBFBD>Ķ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ӵ<EFBFBD>С<EFBFBD><D0A1>һ<EFBFBD><D2BB>Сʱ
if($over_hour==0)
{
$displayMaxData=(10-$i)*$unit/60;
$displayMaxData=number_format($displayMaxData,1,"."," ");
$displayMaxData=$displayMaxData." m";
}
//Y<><59>ÿ<EFBFBD><C3BF><EFBFBD>Ķ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Сʱ
else
{
$displayMaxData=(10-$i)*$unit/3600;
$displayMaxData=number_format($displayMaxData,2,"."," ");
$displayMaxData=$displayMaxData." h";
}
}
Imagestring($image, 2, $xBgn - 50+780, $yBgn + $i*25 - 5, "$displayMaxData", $text_color);
}
//=====draw the graphics======
//-----<2D><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
$tt=time()+4500;
$filename="ser2_".$tt.".png";
if(1){
ImagePng ($image,"$filename");
ImageDestroy($image);
}
echo "<p><img src=\"$filename\"></img>";
adjust_content_tail("down");
?>
</form>
</html>