0){ //echo ""; echo ""; }else{ echo ""; } ?> "; //========================================================================================| //========================Initial The Data From Index Page================================| //========================================================================================| if(!isset($sel_date_from)) $sel_date_from=0; if(!isset($sel_date_to)) $sel_date_to=0; if(!isset($trunk_no)) $trunk_no=0; if(!isset($sel_in_out)) $sel_in_out=0; if(!isset($on_top_index)) $on_top_index=0; $service_type=$sel_in_out+1; //LU if($service_type == 1) { if(!isset($lu_normal_check)) $lu_normal_check=0; if(!isset($lu_nores_check)) $lu_nores_check=0; if(!isset($lu_noser_check)) $lu_noser_check=0; if(!isset($lu_invser_check)) $lu_invser_check=0; if(!isset($lu_invmsg_check)) $lu_invmsg_check=0; if(!isset($lu_sigerr_check)) $lu_sigerr_check=0; } //mo mt else if($service_type == 2 || $service_type == 3) { if(!isset($cc_normal_check)) $cc_normal_check=0; if(!isset($cc_calldeny_check)) $cc_calldeny_check=0; if(!isset($cc_netbusy_check)) $cc_netbusy_check=0; if(!isset($cc_callerclear_check)) $cc_callerclear_check=0; if(!isset($cc_subbusy_check)) $cc_subbusy_check=0; if(!isset($cc_noanswer_check)) $cc_noanswer_check=0; if(!isset($cc_sigerr_check)) $cc_sigerr_check=0; } //smo smt else if($service_type == 4 || $service_type == 5) { if(!isset($sm_normal_check)) $sm_normal_check=0; if(!isset($sm_suberr_check)) $sm_suberr_check=0; if(!isset($sm_noser_check)) $sm_noser_check=0; if(!isset($sm_netbusy_check)) $sm_netbusy_check=0; if(!isset($sm_msgerr_check)) $sm_msgerr_check=0; if(!isset($sm_sigerr_check)) $sm_sigerr_check=0; if(!isset($sm_nores_check)) $sm_nores_check=0; } ?>
"; //echo ""; //========================================================================================| //============================Define The Data=============================================| //========================================================================================| $slot=$sel_date_from-$sel_date_to+1; for($i=0;$i<23;$i++) { for($j=0;$j<24*$slot;$j++) { $csta_trunk[$i][$j]=0; } } //========================================================================================| //==========================Get the data from DB==========================================| //========================================================================================| $detailTableFields=array("Attempt", "Success", "Duration", "lu_normal", "lu_res_not_ok", "lu_ser_not_ok", "lu_ser_no_imp", "lu_msg_error", "lu_pro_error", "cc_normal", "cc_call_deny", "cc_net_busy", "cc_caller_clear", "cc_sub_busy", "cc_no_answer", "cc_sig_error", "sm_normal", "sm_error_sub", "sm_ser_not_ok", "sm_net_busy", "sm_msg_error", "sm_pro_error", "sm_res_not_ok" ); $detailTableFieldsSql=""; for($i=0;$i"; $slot=$sel_date_from-$sel_date_to+1; $db=$csta_db; $time_column="csta_datetime"; //echo "trunk_no:$trunk_no
"; for($day=0;$day<$slot;$day++) { $table_name="ipalimSum"; $temp=date("d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+$day,date("Y"))); $table_name=$table_name."_".$temp; $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"))); //echo "sel_in_out:$sel_in_out
"; $select="select key_e1_tg,$detailTableFieldsSql,csta_datetime "; $from="from $table_name "; $trunk_where="and key_type=$service_type "; $where="where $time_column >'$from_time' and $time_column <='$to_time' and key_e1_tg=$trunk_no ".$trunk_where; $group="group by csta_datetime "; $order="order by csta_datetime "; $sql=$select.$from.$where.$group.$order; //echo "$sql
"; $result=@mysqli_query($pubConn,$sql); $rows=@mysqli_fetch_array($result); if(!$rows) continue; do{ $datetime=substr($rows[csta_datetime],11,2)+0; //echo "datetime=$datetime
"; if($datetime==23) continue; for($tt=0;$tt<23;$tt++) { $csta_trunk[$tt][$datetime+1+$day*24]+=$rows[$tt+1]; } }while($rows=mysqli_fetch_array($result)); } //get the 0-hour for($day=0;$day<$slot;$day++) { $table_name="ipalimSum"; $temp=date("d",mktime(0,0,0,date("m"),date("d")-$sel_date_from+$day-1,date("Y"))); $table_name=$table_name."_".$temp; $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 "sel_in_out:$sel_in_out
"; $select="select key_e1_tg,$detailTableFieldsSql,csta_datetime "; $from="from $table_name "; $trunk_where="and key_type=$service_type "; $where="where $time_column >'$from_time' and $time_column <='$to_time' and key_e1_tg=$trunk_no ".$trunk_where; $group="group by csta_datetime "; $order="order by csta_datetime "; $sql=$select.$from.$where.$group.$order; //echo "$sql
"; $result=@mysqli_query($pubConn,$sql); $rows=@mysqli_fetch_array($result); if(!$rows) continue; do{ $datetime=substr($rows[csta_datetime],11,2)+0; for($tt=0;$tt<23;$tt++) { $csta_trunk[$tt][$day*24]+=$rows[$tt+1]; } }while($rows=mysqli_fetch_array($result)); } //========================================================================================| //==========================Fake data for test============================================| //========================================================================================| if(0) { $slot=$sel_date_from-$sel_date_to+1; for($i=0;$i<9;$i++) { for($j=0;$j<24*$slot;$j++) { if($i==0) $csta_trunk[$i][$j]=rand(200,300); else $csta_trunk[$i][$j]=rand(10,100); } } } //========================================================================================| //==========================Test the Data=================================================| //========================================================================================| if(0) { for($i=0;$i<9;$i++) { for($j=0;$j<24*$slot;$j++) { echo "type-$i-hour-$j:{$csta_trunk[$i][$j]}
"; } } } //=======================================================================================| //==========================Draw the table-1=============================================| //=======================================================================================| if($slot==1) { $title_date=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y"))); $temp=$trunk_no; if($service_type==1) $table_title="TG #".$temp." ".$element_title." (LU) statistic Date:".$title_date; else if($service_type==2) $table_title="TG #".$temp." ".$element_title." (Call MO) statistic Date:".$title_date; else if($service_type==3) $table_title="TG #".$temp." ".$element_title." (Call MT) statistic Date:".$title_date; else if($service_type==4) $table_title="TG #".$temp." ".$element_title." (SM MO) statistic Date:".$title_date; else if($service_type==5) $table_title="TG #".$temp." ".$element_title." (SM MT) 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"))); $temp=$trunk_no; if($service_type==1) $table_title="TG #".$temp." ".$element_title." (LU) statistic Date:".$title_date_from." to ".$title_date_to; else if($service_type==2) $table_title="TG #".$temp." ".$element_title." (Call MO) statistic Date:".$title_date_from." to ".$title_date_to; else if($service_type==3) $table_title="TG #".$temp." ".$element_title." (Call MT) statistic Date:".$title_date_from." to ".$title_date_to; else if($service_type==4) $table_title="TG #".$temp." ".$element_title." (SM MO) statistic Date:".$title_date_from." to ".$title_date_to; else if($service_type==5) $table_title="TG #".$temp." ".$element_title." (SM MT) statistic Date:".$title_date_from." to ".$title_date_to; } echo "
$table_title
"; echo ""; echo ""; $LU_TableTitleName=array("Time","Attempt","Success","Normal","No Resource","No Service","Invalid Service","Invalid Message","Signal Error","Duration","Average Duration"); $CC_TableTitleName=array("Time","Attempt","Success","Normal","Call Deny","Net Busy","Caller Clear","Sub Busy","No Answer","Signal Error","Duration","Average Duration"); $SM_TableTitleName=array("Time","Attempt","Success","Normal","Sub Error","No Service","Net Busy","Message Error","Signal Error","No Resource","Duration","Average Duration"); $LU_DataRelation=array(0,1,3,4,5,6,7,8,2); $CC_DataRelation=array(0,1,9,10,11,12,13,14,15,2); $SM_DataRelation=array(0,1,16,17,18,19,20,21,22,2); //LU if($service_type == 1) { for($i=0;$i{$LU_TableTitleName[$i]}"; } } //Call else if($service_type == 2 || $service_type == 3) { for($i=0;$i{$CC_TableTitleName[$i]}"; } } else if($service_type == 4 || $service_type == 5) { for($i=0;$i{$SM_TableTitleName[$i]}"; } } echo ""; for($i=0;$i<24*$slot;$i++) { echo ""; //=========time column============== echo ""; //LU if($service_type == 1) { for($di=0;$di"; echo "{$csta_trunk[0][$i]}"; echo ""; } else { //Duration if($LU_DataRelation[$di] == 2) { //======total call duration column===== echo ""; //======average call duration column==== echo ""; } else { echo ""; } } } } //Call else if($service_type == 2 || $service_type == 3) { for($di=0;$di"; echo "{$csta_trunk[0][$i]}"; echo ""; } else { //Duration if($CC_DataRelation[$di] == 2) { //======total call duration column===== echo ""; //======average call duration column==== echo ""; } else { echo ""; } } } } //SM else if($service_type == 4 || $service_type == 5) { for($di=0;$di"; echo "{$csta_trunk[0][$i]}"; echo ""; } else { //Duration if($SM_DataRelation[$di] == 2) { //======total call duration column===== echo ""; //======average call duration column==== echo ""; } else { echo ""; } } } } echo ""; } echo "
"; $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 ""; echo "{$csta_trunk[2][$i]}(s)"; $hour=floor($csta_trunk[2][$i]/3600); $minute=floor($csta_trunk[2][$i]%3600/60); $second=$csta_trunk[2][$i]%60; if($hour==0&&$minute==0&&$second==0) echo "
"; else echo "
$hour:$minute:$second"; echo "
"; if($csta_trunk[1][$i]!=0) $ave=round($csta_trunk[2][$i]/$csta_trunk[1][$i]); else $ave=0; echo "$ave"; echo ""; echo "{$csta_trunk[$LU_DataRelation[$di]][$i]}"; if($csta_trunk[0][$i]==0) $rate=0; else { $rate=$csta_trunk[$LU_DataRelation[$di]][$i]/$csta_trunk[0][$i]; $rate=$rate*100; if($rate!=0&&$rate!=100) $rate=number_format($rate, 2, '.', ''); } echo "
$rate%"; echo "
"; echo "{$csta_trunk[2][$i]}(s)"; $hour=floor($csta_trunk[2][$i]/3600); $minute=floor($csta_trunk[2][$i]%3600/60); $second=$csta_trunk[2][$i]%60; if($hour==0&&$minute==0&&$second==0) echo "
"; else echo "
$hour:$minute:$second"; echo "
"; if($csta_trunk[1][$i]!=0) $ave=round($csta_trunk[2][$i]/$csta_trunk[1][$i]); else $ave=0; echo "$ave"; echo ""; echo "{$csta_trunk[$CC_DataRelation[$di]][$i]}"; if($csta_trunk[0][$i]==0) $rate=0; else { $rate=$csta_trunk[$CC_DataRelation[$di]][$i]/$csta_trunk[0][$i]; $rate=$rate*100; if($rate!=0&&$rate!=100) $rate=number_format($rate, 2, '.', ''); } echo "
$rate%"; echo "
"; echo "{$csta_trunk[2][$i]}(s)"; $hour=floor($csta_trunk[2][$i]/3600); $minute=floor($csta_trunk[2][$i]%3600/60); $second=$csta_trunk[2][$i]%60; if($hour==0&&$minute==0&&$second==0) echo "
"; else echo "
$hour:$minute:$second"; echo "
"; if($csta_trunk[1][$i]!=0) $ave=round($csta_trunk[2][$i]/$csta_trunk[1][$i]); else $ave=0; echo "$ave"; echo ""; echo "{$csta_trunk[$CC_DataRelation[$di]][$i]}"; if($csta_trunk[0][$i]==0) $rate=0; else { $rate=$csta_trunk[$SM_DataRelation[$di]][$i]/$csta_trunk[0][$i]; $rate=$rate*100; if($rate!=0&&$rate!=100) $rate=number_format($rate, 2, '.', ''); } echo "
$rate%"; echo "
"; ?>

"; echo ""; if($service_type == 1) { //----------Normal $index=0; if($lu_normal_check == 1) { echo " Normal"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Normal"; $draw_line_flag[$index]=0; } //----------No Resource $index++; if($lu_nores_check==1) { echo " No Resource"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " No Resource"; $draw_line_flag[$index]=0; } //----------No Service $index++; if($lu_noser_check==1) { echo " No Service"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " No Service"; $draw_line_flag[$index]=0; } //----------Invalid Service $index++; if($lu_invser_check==1) { echo " Invalid Service"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Invalid Service"; $draw_line_flag[$index]=0; } //----------Invalid Message $index++; if($lu_invmsg_check==1) { echo " Invalid Message"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Invalid Message"; $draw_line_flag[$index]=0; } //---------Signal Error $index++; if($lu_sigerr_check==1) { echo " Signal Error"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Signal Error"; $draw_line_flag[$index]=0; } } else if($service_type == 2 || $service_type == 3) { //----------Normal $index=0; if($cc_normal_check == 1) { echo " Normal"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Normal"; $draw_line_flag[$index]=0; } //----------Call Deny $index++; if($cc_calldeny_check==1) { echo " Call Deny"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Call Deny"; $draw_line_flag[$index]=0; } //----------Net Busy $index++; if($cc_netbusy_check==1) { echo " Net Busy"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Net Busy"; $draw_line_flag[$index]=0; } //----------Caller Clear $index++; if($cc_callerclear_check==1) { echo " Caller Clear"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Caller Clear"; $draw_line_flag[$index]=0; } //----------Sub Busy $index++; if($cc_subbusy_check==1) { echo " Sub Busy"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Sub Busy"; $draw_line_flag[$index]=0; } //---------No Answer $index++; if($cc_noanswer_check==1) { echo " No Answer"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " No Answer"; $draw_line_flag[$index]=0; } //---------Signal Error $index++; if($cc_sigerr_check==1) { echo " Signal Error"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Signal Error"; $draw_line_flag[$index]=0; } } else if($service_type == 4 || $service_type == 5) { //----------Normal $index=0; if($sm_normal_check == 1) { echo " Normal"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Normal"; $draw_line_flag[$index]=0; } //----------Sub Error $index++; if($sm_suberr_check==1) { echo " Sub Error"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Sub Error"; $draw_line_flag[$index]=0; } //----------No Service $index++; if($sm_noser_check==1) { echo " No Service"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " No Service"; $draw_line_flag[$index]=0; } //----------Net Busy $index++; if($sm_netbusy_check==1) { echo " Net Busy"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Net Busy"; $draw_line_flag[$index]=0; } //----------Message Error $index++; if($sm_msgerr_check==1) { echo " Message Error"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Message Error"; $draw_line_flag[$index]=0; } //---------Signal Error $index++; if($sm_sigerr_check==1) { echo " Signal Error"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " Signal Error"; $draw_line_flag[$index]=0; } //---------No Resource $index++; if($sm_nores_check==1) { echo " No Resource"; $draw_line_flag[$index]=1; } else { $lineOnTop=$index; echo " No Resource"; $draw_line_flag[$index]=0; } } echo ""; echo ""; //========================================================================================| //=========================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======= $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); $black_color=ImageColorAllocate($im,0,0,0); $white_color=ImageColorAllocate($im,255,255,255); //====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 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 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====== //LU if($service_type == 1) { imagefilledrectangle($im,90,350,100,360,$color[0]); imagestring($im,2,105,350,"Normal",$text_color); imagefilledrectangle($im,180,350,190,360,$color[1]); imagestring($im,2,195,350,"No Resource",$text_color); imagefilledrectangle($im,270,350,280,360,$color[2]); imagestring($im,2,285,350,"No Service",$text_color); imagefilledrectangle($im,360,350,370,360,$color[3]); imagestring($im,2,375,350,"Invalid Service",$text_color); imagefilledrectangle($im,470,350,480,360,$color[4]); imagestring($im,2,485,350,"Invalid Message",$text_color); imagefilledrectangle($im,580,350,590,360,$color[5]); imagestring($im,2,595,350,"Signal Error",$text_color); } else if($service_type == 2 || $service_type == 3) { imagefilledrectangle($im,90,350,100,360,$color[0]); imagestring($im,2,105,350,"Normal",$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,"Net 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); } else if($service_type == 4 || $service_type == 5) { imagefilledrectangle($im,90,350,100,360,$color[0]); imagestring($im,2,105,350,"Normal",$text_color); imagefilledrectangle($im,180,350,190,360,$color[1]); imagestring($im,2,195,350,"Sub Error",$text_color); imagefilledrectangle($im,270,350,280,360,$color[2]); imagestring($im,2,285,350,"No Service",$text_color); imagefilledrectangle($im,360,350,370,360,$color[3]); imagestring($im,2,375,350,"Net Busy",$text_color); imagefilledrectangle($im,450,350,460,360,$color[4]); imagestring($im,2,465,350,"Message Error",$text_color); imagefilledrectangle($im,545,350,555,360,$color[5]); imagestring($im,2,560,350,"Signal Error",$text_color); imagefilledrectangle($im,635,350,645,360,$color[6]); imagestring($im,2,650,350,"No Resource",$text_color); } //======get the data line scale======== $LU_DataRelation=array(0,1,3,4,5,6,7,8,2); $CC_DataRelation=array(0,1,9,10,11,12,13,14,15,2); $SM_DataRelation=array(0,1,16,17,18,19,20,21,22,2); if($service_type == 1) $DataReleation=array(3,4,5,6,7,8); else if($service_type == 2 || $service_type == 3) $DataReleation=array(9,10,11,12,13,14,15); else if($service_type == 4 || $service_type == 5) $DataReleation=array(16,17,18,19,20,21,22); $csta_count=sizeof($DataReleation); for($j=0;$j<$csta_count;$j++) { $m_j=$DataReleation[$j]; for($i=0;$i<24*$slot;$i++) { if($csta_trunk[0][$i]!=0) $points_scale[$j][$i]['y']=floor(250*$csta_trunk[$m_j][$i]/$csta_trunk[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']}
"; //echo "line-$j-point-$i-y:{$points_scale[$j][$i]['y']}
"; } } //====draw the data line===== for($i=0;$i<$csta_count;$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 again==== //echo "lineTop=$lineTop
"; 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]); } } //====show the Graphics==== //-----输出图形文件,请勿修改 //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()-3500; $filename="tg3_".$tt.".png"; if(!$DEBUG){ ImagePng ($im,"$filename"); ImageDestroy($im); } //-----显示图片 echo ""; ?>

on top

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_trunk[2][$i]) $maxYNum_left=$csta_trunk[2][$i]; if($csta_trunk[1][$i]==0) $average[$i]=0; else $average[$i]=round($csta_trunk[2][$i]/$csta_trunk[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; //=====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_trunk[2][$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']}
"; } 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]); } } //====draw the horizonal line===== //the left y scale label $unit=$maxYNum_left/10; $style = array($black_color,$black_color,$black_color,$black_color,$black_color,$white_color,$white_color,$white_color,$white_color,$white_color); 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); $over_minute=floor($unit/60); $over_hour=floor($unit/3600); //Y轴每格的度值小于一分钟 if($over_minute==0) { $displayMaxData=(10-$i)*$unit; $displayMaxData=number_format($displayMaxData,0,"."," "); $displayMaxData=$displayMaxData." s"; } else { //Y轴每格的度值大于一分钟但小于一个小时 if($over_hour==0) { $displayMaxData=(10-$i)*$unit/60; $displayMaxData=number_format($displayMaxData,1,"."," "); $displayMaxData=$displayMaxData." min"; } //Y轴每格的度值大于一个小时 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轴每格的度值小于一分钟 if($over_minute==0) { $displayMaxData=(10-$i)*$unit; $displayMaxData=number_format($displayMaxData,0,"."," "); $displayMaxData=$displayMaxData." s"; } else { //Y轴每格的度值大于一分钟但小于一个小时 if($over_hour==0) { $displayMaxData=(10-$i)*$unit/60; $displayMaxData=number_format($displayMaxData,1,"."," "); $displayMaxData=$displayMaxData." m"; } //Y轴每格的度值大于一个小时 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===== //-----输出图形文件,请勿修改 $tt=time()+2500; $filename="tg4_".$tt.".png"; if(!$DEBUG){ ImagePng ($image,"$filename"); ImageDestroy($image); } echo "

"; adjust_content_tail("down"); ?>