2008-03-09 17:45:30 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-06 22:17:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  format_bytes_billing ( $value )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  global  $config ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:44:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-06 22:17:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  return  format_number ( $value ,  $config [ 'billing' ][ 'base' ]) . " B " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function  format_bytes_billing_short ( $value )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  global  $config ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:44:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-07 13:52:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  return  format_number ( $value ,  $config [ 'billing' ][ 'base' ],  2 ,  3 ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-12-06 22:17:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function  getDates ( $dayofmonth ,  $months = 0 )  
						 
					
						
							
								
									
										
										
										
											2011-03-15 15:39:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $dayofmonth  =  zeropad ( $dayofmonth ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-04-11 09:22:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $year  =  date ( 'Y' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $month  =  date ( 'm' ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-15 15:39:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-06 22:17:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  if  ( date ( 'd' )  >  $dayofmonth )  // Billing day is past, so it is next month
 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
									
										
										
										
											2011-12-06 22:17:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $date_end    =  date_create ( $year . '-' . $month . '-' . $dayofmonth ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $date_start  =  date_create ( $year . '-' . $month . '-' . $dayofmonth ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    date_add ( $date_end ,    date_interval_create_from_date_string ( '1 month' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }  else  {  // Billing day will happen this month, therefore started last month
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $date_end    =  date_create ( $year . '-' . $month . '-' . $dayofmonth ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $date_start  =  date_create ( $year . '-' . $month . '-' . $dayofmonth ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    date_sub ( $date_start ,  date_interval_create_from_date_string ( '1 month' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-05 17:09:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-05 16:44:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  if  ( $months  >  0 ) 
							 
						 
					
						
							
								
									
										
										
										
											2011-12-06 22:17:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    date_sub ( $date_start ,  date_interval_create_from_date_string ( $months . ' month' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    date_sub ( $date_end ,    date_interval_create_from_date_string ( $months . ' month' )); 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-05 17:09:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2008-03-09 17:45:30 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-06 22:17:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#  date_sub($date_start, date_interval_create_from_date_string('1 month'));
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  date_sub ( $date_end ,  date_interval_create_from_date_string ( '1 day' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $date_from  =  date_format ( $date_start ,  'Ymd' )  .  " 000000 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $date_to    =  date_format ( $date_end ,  'Ymd' )  .  " 235959 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  date_sub ( $date_start ,  date_interval_create_from_date_string ( '1 month' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  date_sub ( $date_end ,  date_interval_create_from_date_string ( '1 month' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $last_from  =  date_format ( $date_start ,  'Ymd' )  .  " 000000 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $last_to    =  date_format ( $date_end ,  'Ymd' )  .  " 235959 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $return [ '0' ]  =  $date_from ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $return [ '1' ]  =  $date_to ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $return [ '2' ]  =  $last_from ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $return [ '3' ]  =  $last_to ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-03-09 17:45:30 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  return ( $return ); 
							 
						 
					
						
							
								
									
										
										
										
											2008-03-09 17:45:30 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-03-22 12:09:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  getValue ( $host ,  $port ,  $id ,  $inout )  
						 
					
						
							
								
									
										
										
										
											2011-03-15 15:39:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  global  $config ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-15 15:39:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $oid   =  " IF-MIB::ifHC "  .  $inout  .  " Octets. "  .  $id ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-12 11:58:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $device  =  dbFetchRow ( " SELECT * from `devices` WHERE `hostname` = ' " . mres ( $host ) . " ' LIMIT 1 " ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $value  =  snmp_get ( $device ,  $oid ,  " -O qv " ); 
							 
						 
					
						
							
								
									
										
										
										
											2008-03-09 17:45:30 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  if  ( ! is_numeric ( $value )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $oid   =  " IF-MIB::if "  .  $inout  .  " Octets. "  .  $id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $value  =  snmp_get ( $device ,  $oid ,  " -Oqv " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-15 15:39:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  return  $value ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-03-09 17:45:30 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-03-15 15:39:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  getLastPortCounter ( $port_id , $inout )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2011-05-12 11:58:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $rows  =  dbFetchCell ( " SELECT count(counter) from `port_ "  .  mres ( $inout )  .  " _measurements` WHERE `port_id`=' "  .  mres ( $port_id ) . " ' " ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( $rows  >  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-12 11:58:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $row  =  dbFetchRow ( " SELECT counter,delta FROM `port_ " . mres ( $inout ) . " _measurements` WHERE `port_id`=' " . mres ( $port_id ) . " ' ORDER BY timestamp DESC " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $return [ counter ]  =  $row [ 'counter' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $return [ delta ]  =  $row [ 'delta' ]; 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $return [ state ]  =  " ok " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $return [ state ]  =  " failed " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return ( $return ); 
							 
						 
					
						
							
								
									
										
										
										
											2008-03-09 17:45:30 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-03-15 15:39:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  getLastMeasurement ( $bill_id )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2011-05-12 11:58:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $rows  =  dbFetchCell ( " SELECT count(delta) from bill_data WHERE bill_id=' " . mres ( $bill_id ) . " ' " ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( $rows  >  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-12 11:58:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $row  =  dbFetchRow ( " SELECT timestamp,delta,in_delta,out_delta FROM bill_data WHERE bill_id=' " . mres ( $bill_id ) . " ' ORDER BY timestamp DESC " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $return [ delta ]      =  $row [ 'delta' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $return [ delta_in ]   =  $row [ 'delta_in' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $return [ delta_out ]  =  $row [ 'delta_out' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $return [ timestamp ]  =  $row [ 'timestamp' ]; 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $return [ state ]  =  " ok " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $return [ state ]  =  " failed " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return ( $return ); 
							 
						 
					
						
							
								
									
										
										
										
											2008-03-09 17:45:30 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-03-15 15:39:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  get95thin ( $bill_id , $datefrom , $dateto )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2011-05-12 11:58:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $mq_sql  =  " SELECT count(delta) FROM bill_data WHERE bill_id = ' " . mres ( $bill_id ) . " ' " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $mq_sql  .=  "  AND timestamp > ' " . mres ( $datefrom ) . " ' AND timestamp <= ' " . mres ( $dateto ) . " ' " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $measurements  =  dbFetchCell ( $mq_sql ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $measurement_95th  =  round ( $measurements  / 100  *  95 )  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-06 22:17:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $q_95_sql  =  " SELECT (in_delta / period * 8) AS rate FROM bill_data  WHERE bill_id = ' " . mres ( $bill_id ) . " ' " ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-12-12 12:05:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $q_95_sql  .=  "  AND timestamp > ' " . mres ( $datefrom ) . " ' AND timestamp <= ' " . mres ( $dateto ) . " ' ORDER BY rate ASC " ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-12 11:58:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $a_95th  =  dbFetchColumn ( $q_95_sql ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $m_95th  =  $a_95th [ $measurement_95th ]; 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return ( round ( $m_95th ,  2 )); 
							 
						 
					
						
							
								
									
										
										
										
											2008-03-09 17:45:30 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-03-15 15:39:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  get95thout ( $bill_id , $datefrom , $dateto )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2011-05-12 11:58:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $mq_sql  =  " SELECT count(delta) FROM bill_data WHERE bill_id = ' " . mres ( $bill_id ) . " ' " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $mq_sql  .=  "  AND timestamp > ' " . mres ( $datefrom ) . " ' AND timestamp <= ' " . mres ( $dateto ) . " ' " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $measurements  =  dbFetchCell ( $mq_sql ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $measurement_95th  =  round ( $measurements  / 100  *  95 )  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-06 22:17:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $q_95_sql  =  " SELECT (out_delta / period * 8) AS rate FROM bill_data  WHERE bill_id = ' " . mres ( $bill_id ) . " ' " ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-12-12 12:05:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $q_95_sql  .=  "  AND timestamp > ' " . mres ( $datefrom ) . " ' AND timestamp <= ' " . mres ( $dateto ) . " ' ORDER BY rate ASC " ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-12 11:58:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $a_95th  =  dbFetchColumn ( $q_95_sql ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $m_95th  =  $a_95th [ $measurement_95th ]; 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return ( round ( $m_95th ,  2 )); 
							 
						 
					
						
							
								
									
										
										
										
											2008-03-09 17:45:30 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-03-15 15:39:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  getRates ( $bill_id , $datefrom , $dateto )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $mq_text  =  " SELECT count(delta) FROM bill_data  " ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-12 11:58:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $mq_text  .=  "  WHERE bill_id = ' " . mres ( $bill_id ) . " ' " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $mq_text  .=  "  AND timestamp > ' " . mres ( $datefrom ) . " ' AND timestamp <= ' " . mres ( $dateto ) . " ' " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $measurements  =  dbFetchCell ( $mq_sql ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $measurement_95th  =  round ( $measurements  / 100  *  95 )  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-05-12 11:58:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $q_95_sql  =  " SELECT delta FROM bill_data  WHERE bill_id = ' " . mres ( $bill_id ) . " ' " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $q_95_sql  .=  "  AND timestamp > ' " . mres ( $datefrom ) . " ' AND timestamp <= ' " . mres ( $dateto ) . " ' ORDER BY delta ASC " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $a_95th  =  dbFetchColumn ( $q_95_sql ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $m_95th  =  $a_95th [ $measurement_95th ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-11-05 14:55:08 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $sum_data  =  getSum ( $bill_id , $datefrom , $dateto ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $mtot  =  $sum_data [ 'total' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $mtot_in  =  $sum_data [ 'inbound' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $mtot_out  =  $sum_data [ 'outbound' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $ptot  =  $sum_data [ 'period' ]; 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-05 17:09:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $data [ 'rate_95th_in' ]  =  get95thIn ( $bill_id , $datefrom , $dateto ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $data [ 'rate_95th_out' ]  =  get95thOut ( $bill_id , $datefrom , $dateto ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( $data [ 'rate_95th_out' ]  >  $data [ 'rate_95th_in' ]) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $data [ 'rate_95th' ]  =  $data [ 'rate_95th_out' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $data [ 'dir_95th' ]  =  'out' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $data [ 'rate_95th' ]  =  $data [ 'rate_95th_in' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $data [ 'dir_95th' ]  =  'in' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-06 22:17:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $data [ 'total_data' ]       =  $mtot ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $data [ 'total_data_in' ]    =  $mtot_in ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $data [ 'total_data_out' ]   =  $mtot_out ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $data [ 'rate_average' ]     =  $mtot  /  $ptot  *  8 ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-05 17:09:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  print_r($data);
  
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return ( $data ); 
							 
						 
					
						
							
								
									
										
										
										
											2008-03-09 17:45:30 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-03-15 15:39:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  getTotal ( $bill_id , $datefrom , $dateto )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2011-05-12 11:58:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $mtot  =  dbFetchCell ( " SELECT SUM(delta) FROM bill_data WHERE bill_id = ' " . mres ( $bill_id ) . " ' AND timestamp > ' " . mres ( $datefrom ) . " ' AND timestamp <= ' " . mres ( $dateto ) . " ' " ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-23 09:54:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  return ( $mtot ); 
							 
						 
					
						
							
								
									
										
										
										
											2008-03-09 17:45:30 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-11-05 14:55:08 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  getSum ( $bill_id , $datefrom , $dateto )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $sum  =  dbFetchRow ( " SELECT SUM(period) as period, SUM(delta) as total, SUM(in_delta) as inbound, SUM(out_delta) as outbound FROM bill_data WHERE bill_id = ' " . mres ( $bill_id ) . " ' AND timestamp > ' " . mres ( $datefrom ) . " ' AND timestamp <= ' " . mres ( $dateto ) . " ' " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return ( $sum ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-09-05 17:09:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  getPeriod ( $bill_id , $datefrom , $dateto )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $ptot  =  dbFetchCell ( " SELECT SUM(period) FROM bill_data WHERE bill_id = ' " . mres ( $bill_id ) . " ' AND timestamp > ' " . mres ( $datefrom ) . " ' AND timestamp <= ' " . mres ( $dateto ) . " ' " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return ( $ptot ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-05-12 11:58:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								?>