| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   $pagetitle[]        = "Bandwidth Graphs"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-06 22:17:37 +00:00
										 |  |  | #  $bill_data          = dbFetchRow("SELECT * FROM bills WHERE bill_id = ?", array($bill_id));
 | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-06 22:17:37 +00:00
										 |  |  | #  $today              = str_replace("-", "", dbFetchCell("SELECT CURDATE()"));
 | 
					
						
							|  |  |  | #  $tomorrow           = str_replace("-", "", dbFetchCell("SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY)"));
 | 
					
						
							|  |  |  | #  $last_month         = str_replace("-", "", dbFetchCell("SELECT DATE_SUB(CURDATE(), INTERVAL 1 MONTH)"));
 | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-06 22:17:37 +00:00
										 |  |  | #  $rightnow           = $today . date(His);
 | 
					
						
							|  |  |  | #  $before             = $yesterday . date(His);
 | 
					
						
							|  |  |  | #  $lastmonth          = $last_month . date(His);
 | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-06 22:17:37 +00:00
										 |  |  | #  $dayofmonth         = $bill_data['bill_day'];
 | 
					
						
							|  |  |  | #  $day_data           = getDates($dayofmonth);
 | 
					
						
							|  |  |  | #  $datefrom           = $day_data['0'];
 | 
					
						
							|  |  |  | #  $dateto             = $day_data['1'];
 | 
					
						
							|  |  |  | #  $lastfrom           = $day_data['2'];
 | 
					
						
							|  |  |  | #  $lastto             = $day_data['3'];
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #  print_r($bill_data);
 | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   $total_data         = $bill_data['total_data']; | 
					
						
							|  |  |  |   $in_data            = $bill_data['total_data_in']; | 
					
						
							|  |  |  |   $out_data           = $bill_data['total_data_out']; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   $fromtext           = dbFetchCell("SELECT DATE_FORMAT($datefrom, '%M %D %Y')"); | 
					
						
							|  |  |  |   $totext             = dbFetchCell("SELECT DATE_FORMAT($dateto, '%M %D %Y')"); | 
					
						
							|  |  |  |   $unixfrom           = dbFetchCell("SELECT UNIX_TIMESTAMP('$datefrom')"); | 
					
						
							|  |  |  |   $unixto             = dbFetchCell("SELECT UNIX_TIMESTAMP('$dateto')"); | 
					
						
							|  |  |  |   $unix_prev_from     = dbFetchCell("SELECT UNIX_TIMESTAMP('$lastfrom')"); | 
					
						
							|  |  |  |   $unix_prev_to       = dbFetchCell("SELECT UNIX_TIMESTAMP('$lastto')"); | 
					
						
							|  |  |  |   $lastmonth          = dbFetchCell("SELECT UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 MONTH))"); | 
					
						
							|  |  |  |   $yesterday          = dbFetchCell("SELECT UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 DAY))"); | 
					
						
							|  |  |  |   $rightnow           = date(U); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   echo("<h3>Billed Ports</h3>"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   foreach ($ports as $port) | 
					
						
							|  |  |  |   { | 
					
						
							|  |  |  |     echo(generate_port_link($port) . " on " . generate_device_link($port) . "<br />"); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   $cur_days           = date('d', (strtotime("now") - strtotime($datefrom))); | 
					
						
							|  |  |  |   $total_days         = date('d', (strtotime($dateto) - strtotime($datefrom))); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-06 22:17:37 +00:00
										 |  |  |   $total['data']      = format_bytes_billing($bill_data['total_data']); | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |   if ($bill_data['bill_type'] == "quota") { | 
					
						
							| 
									
										
										
										
											2011-12-06 22:17:37 +00:00
										 |  |  |     $total['allow']   = format_bytes_billing($bill_data['bill_quota']); | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |   } else { | 
					
						
							|  |  |  |     $total['allow']   = "-"; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2011-12-06 22:17:37 +00:00
										 |  |  |   $total['ave']       = format_bytes_billing($bill_data['total_data'] / $cur_days); | 
					
						
							|  |  |  |   $total['est']       = format_bytes_billing($bill_data['total_data'] / $cur_days * $total_days); | 
					
						
							|  |  |  |   $total['per']       = round(($bill_data['total_data'] / $bill_data['bill_quota'] * 100), 2); | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |   $total['bg']        = get_percentage_colours($total['per']); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-06 22:17:37 +00:00
										 |  |  |   $in['data']         = format_bytes_billing($bill_data['total_data_in']); | 
					
						
							|  |  |  |   $in['allow']        = $total['allow']; | 
					
						
							|  |  |  |   $in['ave']          = format_bytes_billing($bill_data['total_data_in'] / $cur_days); | 
					
						
							|  |  |  |   $in['est']          = format_bytes_billing($bill_data['total_data_in'] / $cur_days * $total_days); | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |   $in['per']          = round(($bill_data['total_data_in'] / $bill_data['total_data'] * 100), 2); | 
					
						
							|  |  |  |   $in['bg']           = get_percentage_colours($in['per']); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-07 13:52:46 +00:00
										 |  |  |   $out['data']        = format_bytes_billing($bill_data['total_data_out']); | 
					
						
							| 
									
										
										
										
											2011-12-06 22:17:37 +00:00
										 |  |  |   $out['allow']       = $total['allow']; | 
					
						
							|  |  |  |   $out['ave']         = format_bytes_billing($bill_data['total_data_out'] / $cur_days); | 
					
						
							|  |  |  |   $out['est']         = format_bytes_billing($bill_data['total_data_out'] / $cur_days * $total_days); | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |   $out['per']         = round(($bill_data['total_data_out'] / $bill_data['total_data'] * 100), 2); | 
					
						
							|  |  |  |   $out['bg']          = get_percentage_colours($out['per']); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-06 22:17:37 +00:00
										 |  |  |   $ousage['over']     = $bill_data['total_data'] - ($bill_data['bill_gb'] * $config['billing']['base']); | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |   $ousage['over']     = (($ousage['over'] < 0) ? "0" : $ousage['over']); | 
					
						
							| 
									
										
										
										
											2011-12-06 22:17:37 +00:00
										 |  |  |   $ousage['data']     = format_number($ousage['over'] , $config['billing']['base']); | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |   $ousage['allow']    = $total['allow']; | 
					
						
							| 
									
										
										
										
											2011-12-06 22:17:37 +00:00
										 |  |  |   $ousage['ave']      = format_bytes_billing($ousage['over'] / $cur_days ); | 
					
						
							|  |  |  |   $ousage['est']      = format_bytes_billing($ousage['over'] / $cur_days * $total_days); | 
					
						
							|  |  |  |   $ousage['per']      = round((($bill_data['total_data'] / $bill_data['bill_quota'] * 100) - 100), 2); | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |   $ousage['per']      = (($ousage['per'] < 0) ? "0" : $ousage['per']); | 
					
						
							|  |  |  |   $ousage['bg']       = get_percentage_colours($ousage['per']); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   function showPercent($per) { | 
					
						
							|  |  |  |     $background       = get_percentage_colours($per); | 
					
						
							|  |  |  |     $right_background = $background['right']; | 
					
						
							|  |  |  |     $left_background  = $background['left']; | 
					
						
							| 
									
										
										
										
											2011-12-07 13:52:46 +00:00
										 |  |  |     $res              = print_percentage_bar(350, 20, $per, NULL, "ffffff", $left_background, $per."%", "ffffff", $right_background); | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |     return $res; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   echo("<h3>Bill Summary</h3>"); | 
					
						
							|  |  |  |   echo("<h4>Quota Bill</h4>"); | 
					
						
							|  |  |  |   echo("<table cellpadding=\"5\" cellspacing=\"0\" border=\"0\" class=\"devicetable\">"); | 
					
						
							|  |  |  |   echo("  <tr><td colspan=\"7\">Billing Period from ".$fromtext." to ".$totext."</td></tr>"); | 
					
						
							|  |  |  |   echo("  <tr style=\"font-weight: bold;\">"); | 
					
						
							|  |  |  |   echo("    <td width=\"125\">Bandwidth</td>"); | 
					
						
							|  |  |  |   echo("    <td width=\"10\"></td>"); | 
					
						
							|  |  |  |   echo("    <td width=\"100\">Used</td>"); | 
					
						
							|  |  |  |   echo("    <td width=\"100\">Allowed</td>"); | 
					
						
							|  |  |  |   echo("    <td width=\"100\">Average</td>"); | 
					
						
							|  |  |  |   echo("    <td width=\"100\">Estimated</td>"); | 
					
						
							|  |  |  |   echo("    <td width=\"360\"></td>"); | 
					
						
							|  |  |  |   echo("  </tr>"); | 
					
						
							|  |  |  |   echo("  <tr style=\"background: ".$list_colour_b.";\">"); | 
					
						
							|  |  |  |   echo("    <td>Transferred</td>"); | 
					
						
							|  |  |  |   echo("    <td>:</td>"); | 
					
						
							|  |  |  |   echo("    <td>".$total['data']."</td>"); | 
					
						
							|  |  |  |   echo("    <td>".$total['allow']."</td>"); | 
					
						
							|  |  |  |   echo("    <td>".$total['ave']."</td>"); | 
					
						
							|  |  |  |   echo("    <td>".$total['est']."</td>"); | 
					
						
							|  |  |  |   echo("    <td width=\"360\">".showPercent($total['per'])."</td>"); | 
					
						
							|  |  |  |   echo("  </tr>"); | 
					
						
							| 
									
										
										
										
											2011-12-06 22:17:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |   echo("  <tr style=\"background: ".$list_colour_a.";\">"); | 
					
						
							|  |  |  |   echo("    <td>Inbound</td>"); | 
					
						
							|  |  |  |   echo("    <td>:</td>"); | 
					
						
							|  |  |  |   echo("    <td>".$in['data']."</td>"); | 
					
						
							|  |  |  |   echo("    <td>".$in['allow']."</td>"); | 
					
						
							|  |  |  |   echo("    <td>".$in['ave']."</td>"); | 
					
						
							|  |  |  |   echo("    <td>".$in['est']."</td>"); | 
					
						
							|  |  |  |   echo("    <td>".showPercent($in['per'])."</td>"); | 
					
						
							|  |  |  |   echo("  </tr>"); | 
					
						
							|  |  |  |   echo("  <tr style=\"background: ".$list_colour_b.";\">"); | 
					
						
							|  |  |  |   echo("    <td>Outbound</td>"); | 
					
						
							|  |  |  |   echo("    <td>:</td>"); | 
					
						
							|  |  |  |   echo("    <td>".$out['data']."</td>"); | 
					
						
							|  |  |  |   echo("    <td>".$out['allow']."</td>"); | 
					
						
							|  |  |  |   echo("    <td>".$out['ave']."</td>"); | 
					
						
							|  |  |  |   echo("    <td>".$out['est']."</td>"); | 
					
						
							|  |  |  |   echo("    <td>".showPercent($out['per'])."</td>"); | 
					
						
							|  |  |  |   echo("  </tr>"); | 
					
						
							|  |  |  |   if ($ousage['over'] > 0 && $bill_data['bill_type'] == "quota") { | 
					
						
							|  |  |  |     echo("  <tr style=\"background: ".$list_colour_a.";\">"); | 
					
						
							|  |  |  |     echo("    <td>Already overusage</td>"); | 
					
						
							|  |  |  |     echo("    <td>:</td>"); | 
					
						
							|  |  |  |     echo("    <td><span style=\"color: #".$total['bg']['left']."; font-weight: bold;\">".$ousage['data']."</span></td>"); | 
					
						
							|  |  |  |     echo("    <td>".$ousage['allow']."</td>"); | 
					
						
							|  |  |  |     echo("    <td>".$ousage['ave']."</td>"); | 
					
						
							|  |  |  |     echo("    <td>".$ousage['est']."</td>"); | 
					
						
							|  |  |  |     echo("    <td>".showPercent($ousage['per'])."</td>"); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   echo("</table>"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   $bi  =  "<img src='bandwidth-graph.php?bill_id=" . $bill_id . "&bill_code=" . $_GET['bill_code']; | 
					
						
							|  |  |  |   $bi .= "&from=" . $unixfrom .  "&to=" . $unixto; | 
					
						
							| 
									
										
										
										
											2011-12-02 15:53:50 +00:00
										 |  |  |   $bi .= "&type=day&imgbill=1"; | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |   $bi .= "&x=1190&y=250"; | 
					
						
							|  |  |  |   $bi .= "$type'>"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   $li  = "<img src='bandwidth-graph.php?bill_id=" . $bill_id . "&bill_code=" . $_GET['bill_code']; | 
					
						
							|  |  |  |   $li .= "&from=" . $unix_prev_from .  "&to=" . $unix_prev_to; | 
					
						
							| 
									
										
										
										
											2011-12-02 15:53:50 +00:00
										 |  |  |   $li .= "&type=day"; | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |   $li .= "&x=1190&y=250"; | 
					
						
							|  |  |  |   $li .= "$type'>"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   $di  = "<img src='bandwidth-graph.php?bill_id=" . $bill_id . "&bill_code=" . $_GET['bill_code']; | 
					
						
							|  |  |  |   $di .= "&from=" . $config['time']['day'] .  "&to=" . $config['time']['now']; | 
					
						
							| 
									
										
										
										
											2011-12-02 15:53:50 +00:00
										 |  |  |   $di .= "&type=hour"; | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |   $di .= "&x=1190&y=250"; | 
					
						
							|  |  |  |   $di .= "$type'>"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   $mi  = "<img src='bandwidth-graph.php?bill_id=" . $bill_id . "&bill_code=" . $_GET['bill_code']; | 
					
						
							|  |  |  |   $mi .= "&from=" . $lastmonth .  "&to=" . $rightnow; | 
					
						
							| 
									
										
										
										
											2011-12-02 15:53:50 +00:00
										 |  |  |   $mi .= "&&type=day"; | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  |   $mi .= "&x=1190&y=250"; | 
					
						
							|  |  |  |   $mi .= "$type'>"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-07 13:52:46 +00:00
										 |  |  |   echo("<h3>Billing Period View</h3>$bi"); | 
					
						
							|  |  |  |   echo("<h3>Rolling 24 Hour View</h3>$di"); | 
					
						
							|  |  |  |   echo("<h3>Rolling Monthly View</h3>$mi"); | 
					
						
							| 
									
										
										
										
											2011-11-30 12:45:46 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ?>
 |