2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-05-09 10:01:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**  
						 
					
						
							
								
									
										
										
										
											2013-10-29 05:38:12 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  Observium 
							 
						 
					
						
							
								
									
										
										
										
											2012-05-09 10:01:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-29 05:38:12 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *    This  file  is  part  of  Observium . 
							 
						 
					
						
							
								
									
										
										
										
											2012-05-09 10:01:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-29 05:38:12 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ package     observium 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ subpackage  webinterface 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ author      Adam  Armstrong  < adama @ memetic . org > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ copyright   ( C )  2006  -  2012  Adam  Armstrong 
							 
						 
					
						
							
								
									
										
										
										
											2012-05-09 10:01:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								ini_set ( 'allow_url_fopen' ,  0 );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								ini_set ( 'display_errors' ,  0 );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  ( strpos ( $_SERVER [ 'REQUEST_URI' ],  " debug " ))  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $debug  =  " 1 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ini_set ( 'display_errors' ,  1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ini_set ( 'display_startup_errors' ,  1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ini_set ( 'log_errors' ,  1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ini_set ( 'error_reporting' ,  E_ALL ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  else  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $debug  =  FALSE ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ini_set ( 'display_errors' ,  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ini_set ( 'display_startup_errors' ,  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ini_set ( 'log_errors' ,  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ini_set ( 'error_reporting' ,  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								include ( " ../includes/defaults.inc.php " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								include ( " ../config.php " );  
						 
					
						
							
								
									
										
										
										
											2012-05-09 10:01:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								include ( " ../includes/definitions.inc.php " );  
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								include ( " ../includes/functions.php " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								include ( " includes/functions.inc.php " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								include ( " includes/authenticate.inc.php " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-18 19:14:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  ( get_client_ip ()  !=  $_SERVER [ 'SERVER_ADDR' ])  {  if  ( ! $_SESSION [ 'authenticated' ])  {  echo ( " unauthenticated " );  exit ;  }  }  
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								require_once ( " includes/jpgraph/src/jpgraph.php " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								require_once ( " includes/jpgraph/src/jpgraph_line.php " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								require_once ( " includes/jpgraph/src/jpgraph_bar.php " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								require_once ( " includes/jpgraph/src/jpgraph_utils.inc.php " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								require_once ( " includes/jpgraph/src/jpgraph_date.php " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  ( is_numeric ( $_GET [ 'bill_id' ]))  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-03-18 19:14:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  if  ( get_client_ip ()  !=  $_SERVER [ 'SERVER_ADDR' ]) 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( bill_permitted ( $_GET [ 'bill_id' ])) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $bill_id  =  $_GET [ 'bill_id' ]; 
							 
						 
					
						
							
								
									
										
										
										
											2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      echo ( " Unauthorised Access Prohibited. " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      exit ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $bill_id  =  $_GET [ 'bill_id' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  else  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  echo ( " Unauthorised Access Prohibited. " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  exit ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$start         =  $_GET [ 'from' ];  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$end           =  $_GET [ 'to' ];  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$xsize         =  ( is_numeric ( $_GET [ 'x' ])  ?  $_GET [ 'x' ]  :  " 800 "  );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ysize         =  ( is_numeric ( $_GET [ 'y' ])  ?  $_GET [ 'y' ]  :  " 250 "  );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//$count        = (is_numeric($_GET['count']) ? $_GET['count'] : "0" );
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//$type         = (isset($_GET['type']) ? $_GET['type'] : "date" );
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//$dur          = $end - $start;
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//$datefrom     = date('Ymthis', $start);
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//$dateto       = date('Ymthis', $end);
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$imgtype       =  ( isset ( $_GET [ 'type' ])  ?  $_GET [ 'type' ]  :  " historical "  );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$imgbill       =  ( isset ( $_GET [ 'imgbill' ])  ?  $_GET [ 'imgbill' ]  :  false );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$yaxistitle    =  " Bytes " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$in_data       =  array ();  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$out_data      =  array ();  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$tot_data      =  array ();  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$allow_data    =  array ();  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ave_data      =  array ();  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$overuse_data  =  array ();  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ticklabels    =  array ();  
						 
					
						
							
								
									
										
										
										
											2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  ( $imgtype  ==  " historical " )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $i                    =  " 0 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  foreach  ( dbFetchRows ( " SELECT * FROM `bill_history` WHERE `bill_id` = ? ORDER BY `bill_datefrom` DESC LIMIT 12 " ,  array ( $bill_id ))  as  $data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $datefrom             =  strftime ( " %e %b %Y " ,  strtotime ( $data [ 'bill_datefrom' ])); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $dateto               =  strftime ( " %e %b %Y " ,  strtotime ( $data [ 'bill_dateto' ])); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $datelabel            =  $datefrom . " \n " . $dateto ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $traf [ 'in' ]           =  $data [ 'traf_in' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $traf [ 'out' ]          =  $data [ 'traf_out' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $traf [ 'total' ]        =  $data [ 'traf_total' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( $data [ 'bill_type' ]  ==  " Quota " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $traf [ 'allowed' ]  =  $data [ 'bill_allowed' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $traf [ 'overuse' ]  =  $data [ 'bill_overuse' ]; 
							 
						 
					
						
							
								
									
										
										
										
											2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      $traf [ 'allowed' ]  =  " 0 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $traf [ 'overuse' ]  =  " 0 " ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    array_push ( $ticklabels ,  $datelabel ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    array_push ( $in_data ,  $traf [ 'in' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    array_push ( $out_data ,  $traf [ 'out' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    array_push ( $tot_data ,  $traf [ 'total' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    array_push ( $allow_data ,  $traf [ 'allowed' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    array_push ( $overuse_data ,  $traf [ 'overuse' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $i ++ ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    //print_r($data);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( $i  <  12 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $y  =  12  -  $i ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    for  ( $x = 0 ; $x < $y ; $x ++ ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $allowed  =  (( $x  ==  " 0 " )  ?  $traf [ 'allowed' ]  :  " 0 "  ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $in_data ,  " 0 " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $out_data ,  " 0 " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $tot_data ,  " 0 " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $allow_data ,  $allowed ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $overuse_data ,  " 0 " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $ticklabels ,  " " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $yaxistitle  =  " Gigabytes " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $graph_name  =  " Historical bandwidth over the last 12 billing periods " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  else  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $data        =  array (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $average     =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( $imgtype  ==  " day " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    foreach  ( dbFetch ( " SELECT DISTINCT UNIX_TIMESTAMP(timestamp) as timestamp, SUM(delta) as traf_total, SUM(in_delta) as traf_in, SUM(out_delta) as traf_out FROM bill_data WHERE `bill_id` = ? AND `timestamp` >= FROM_UNIXTIME(?) AND `timestamp` <= FROM_UNIXTIME(?) GROUP BY DATE(timestamp) ORDER BY timestamp ASC " ,  array ( $bill_id ,  $start ,  $end ))  as  $data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $traf [ 'in' ]     =  ( isset ( $data [ 'traf_in' ])  ?  $data [ 'traf_in' ]  :  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $traf [ 'out' ]    =  ( isset ( $data [ 'traf_out' ])  ?  $data [ 'traf_out' ]  :  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $traf [ 'total' ]  =  ( isset ( $data [ 'traf_total' ])  ?  $data [ 'traf_total' ]  :  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $datelabel      =  strftime ( " %e \n %b " ,  $data [ 'timestamp' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $ticklabels ,  $datelabel ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $in_data ,   $traf [ 'in' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $out_data ,  $traf [ 'out' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $tot_data ,  $traf [ 'total' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $average  +=  $data [ 'traf_total' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $ave_count  =  count ( $tot_data ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( $imgbill  !=  false ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $days  =  strftime ( " %e " ,  date ( $end  -  $start ))  -  $ave_count  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      for  ( $x = 0 ; $x < $days ; $x ++ ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        array_push ( $ticklabels ,  " " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        array_push ( $in_data ,  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        array_push ( $out_data ,  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        array_push ( $tot_data ,  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }  elseif  ( $imgtype  ==  " hour " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    foreach  ( dbFetch ( " SELECT DISTINCT UNIX_TIMESTAMP(timestamp) as timestamp, SUM(delta) as traf_total, SUM(in_delta) as traf_in, SUM(out_delta) as traf_out FROM bill_data WHERE `bill_id` = ? AND `timestamp` >= FROM_UNIXTIME(?) AND `timestamp` <= FROM_UNIXTIME(?) GROUP BY HOUR(timestamp) ORDER BY timestamp ASC " ,  array ( $bill_id ,  $start ,  $end ))  as  $data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $traf [ 'in' ]         =  ( isset ( $data [ 'traf_in' ])  ?  $data [ 'traf_in' ]  :  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $traf [ 'out' ]         =  ( isset ( $data [ 'traf_out' ])  ?  $data [ 'traf_out' ]  :  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $traf [ 'total' ]         =  ( isset ( $data [ 'traf_total' ])  ?  $data [ 'traf_total' ]  :  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $datelabel         =  strftime ( " %H:%M " ,  $data [ 'timestamp' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $ticklabels ,  $datelabel ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $in_data ,  $traf [ 'in' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $out_data ,  $traf [ 'out' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      array_push ( $tot_data ,  $traf [ 'total' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $average  +=  $data [ 'traf_total' ]; 
							 
						 
					
						
							
								
									
										
										
										
											2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $ave_count                 =  count ( $tot_data ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $decimal     =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $average     =  $average  /  $ave_count ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  for  ( $x = 0 ; $x <= count ( $tot_data ); $x ++ ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    array_push ( $ave_data ,  $average ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $graph_name         =  date ( 'M j g:ia' ,  $start ) . "  -  " . date ( 'M j g:ia' ,  $end ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Create the graph. These two calls are always required
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph  =  new  Graph ( $xsize ,  $ysize ,  $graph_name );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> img -> SetImgFormat ( " png " );  
						 
					
						
							
								
									
										
										
										
											2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#$graph->SetScale("textlin",0,0,$start,$end);
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> SetScale ( " textlin " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#$graph->title->Set("$graph_name");
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> title -> SetFont ( FF_FONT2 ,  FS_BOLD ,  10 );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> SetMarginColor ( " white " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> SetFrame ( false );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> SetMargin ( " 75 " ,  " 30 " ,  " 30 " ,  " 65 " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> legend -> SetFont ( FF_FONT1 ,  FS_NORMAL );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> legend -> SetLayout ( LEGEND_HOR );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> legend -> Pos ( " 0.52 " ,  " 0.91 " ,  " center " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> xaxis -> SetFont ( FF_FONT1 ,  FS_BOLD );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> xaxis -> SetPos ( 'min' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> xaxis -> SetTitleMargin ( 30 );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> xaxis -> SetTickLabels ( $ticklabels );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> xgrid -> Show ( true , true );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> xgrid -> SetColor ( '#e0e0e0' , '#efefef' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> yaxis -> SetFont ( FF_FONT1 );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> yaxis -> SetTitleMargin ( 50 );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> yaxis -> title -> SetFont ( FF_FONT1 ,  FS_NORMAL ,  10 );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> yaxis -> title -> Set ( " Bytes Transferred " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> yaxis -> SetLabelFormatCallback ( 'format_bytes_billing' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> ygrid -> SetFill ( true , '#EFEFEF@0.5' , '#FFFFFF@0.5' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Create the bar plots
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_tot  =  new  BarPlot ( $tot_data );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_tot -> SetLegend ( " Traffic total " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_tot -> SetColor ( 'darkgray' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_tot -> SetFillColor ( 'lightgray@0.4' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_tot -> value -> Show ();  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_tot -> value -> SetFormatCallback ( 'format_bytes_billing_short' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_in  =  new  BarPlot ( $in_data );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_in -> SetLegend ( " Traffic In " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_in -> SetColor ( 'darkgreen' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_in -> SetFillColor ( 'lightgreen@0.4' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_in -> SetWeight ( 1 );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_out  =  new  BarPlot ( $out_data );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_out -> SetLegend ( " Traffic Out " );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_out -> SetColor ( 'darkblue' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_out -> SetFillColor ( 'lightblue@0.4' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$barplot_out -> SetWeight ( 1 );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  ( $imgtype  ==  " historical " )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $barplot_over  =  new  BarPlot ( $overuse_data ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $barplot_over -> SetLegend ( " Traffic Overusage " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $barplot_over -> SetColor ( 'darkred' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $barplot_over -> SetFillColor ( 'lightred@0.4' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $barplot_over -> SetWeight ( 1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $lineplot_allow  =  new  LinePlot ( $allow_data ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $lineplot_allow -> SetLegend ( " Traffic Allowed " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $lineplot_allow -> SetColor ( 'black' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $lineplot_allow -> SetWeight ( 1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $gbplot  =  new  GroupBarPlot ( array ( $barplot_in ,  $barplot_tot ,  $barplot_out ,  $barplot_over )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  else  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $lineplot_allow  =  new  LinePlot ( $ave_data ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  //$lineplot_allow->SetLegend("Average per ".$imgtype);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $lineplot_allow -> SetLegend ( " Average " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $lineplot_allow -> SetColor ( 'black' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $lineplot_allow -> SetWeight ( 1 ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $gbplot  =  new  GroupBarPlot ( array ( $barplot_in ,  $barplot_tot ,  $barplot_out )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$graph -> Add ( $gbplot );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> Add ( $lineplot_allow );  
						 
					
						
							
								
									
										
										
										
											2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:10:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Display the graph
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$graph -> Stroke ();  
						 
					
						
							
								
									
										
										
										
											2011-11-30 12:45:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								?>