mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			131 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			131 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
  $pagetitle[] = "Historical Usage";
 | 
						|
//  $detail      = (isset($vars['detail']) ? $vars['detail'] : "");
 | 
						|
//  $url         = $PHP_SELF."/bill/".$bill_id."/history/";
 | 
						|
  $i           = 0;
 | 
						|
 | 
						|
  $img['his']  = "<img src=\"bandwidth-graph.php?bill_id=".$bill_id;
 | 
						|
  $img['his'] .= "&type=historical";
 | 
						|
  $img['his'] .= "&x=1190&y=250";
 | 
						|
  $img['his'] .= "\" style=\"margin: 15px 5px 25px 5px;\" />";
 | 
						|
 | 
						|
  echo($img['his']);
 | 
						|
 | 
						|
  function showDetails($bill_id, $imgtype, $from, $to, $bittype = "Quota")
 | 
						|
  {
 | 
						|
    if ($imgtype == "bitrate") {
 | 
						|
      $res  = "<img src=\"billing-graph.php?bill_id=".$bill_id;
 | 
						|
      if ($bittype == "Quota")
 | 
						|
      {
 | 
						|
        $res .= "&ave=yes";
 | 
						|
      }
 | 
						|
      elseif ($bittype == "CDR") {
 | 
						|
        $res .= "&95th=yes";
 | 
						|
      }
 | 
						|
    } else
 | 
						|
    {
 | 
						|
      $res  = "<img src=\"bandwidth-graph.php?bill_id=".$bill_id;
 | 
						|
    }
 | 
						|
    //$res .= "&type=".$type;
 | 
						|
    $res .= "&type=".$imgtype;
 | 
						|
    $res .= "&x=1190&y=250";
 | 
						|
    $res .= "&from=".$from."&to=".$to;
 | 
						|
    $res .= "\" style=\"margin: 15px 5px 25px 5px;\" />";
 | 
						|
    return $res;
 | 
						|
  }
 | 
						|
 | 
						|
//  $url        = generate_url($vars, array('detail' => 'yes'));
 | 
						|
  $url        = $PHP_SELF."/bill/".$bill_id."/history/detail=all/";
 | 
						|
 | 
						|
  echo("<table border=0 cellspacing=0 cellpadding=5 class=devicetable width=100%>
 | 
						|
           <tr style=\"font-weight: bold; \">
 | 
						|
             <td width=\"7\"></td>
 | 
						|
             <td width=\"250\">Period</td>
 | 
						|
             <td>Type</td>
 | 
						|
             <td>Allowed</td>
 | 
						|
             <td>Inbound</td>
 | 
						|
             <td>Outbound</td>
 | 
						|
             <td>Total</td>
 | 
						|
             <td>95th %ile</td>
 | 
						|
             <td style=\"text-align: center;\">Overusage</td>
 | 
						|
             <td colspan=\"2\" style=\"text-align: right;\"><a href=\"".generate_url($vars, array('detail' => "all"))."\"><img src=\"images/16/chart_curve.png\" border=\"0\" align=\"absmiddle\" alt=\"Show details\" title=\"Show details\" /> Show all details</a></td>
 | 
						|
           </tr>");
 | 
						|
 | 
						|
  foreach (dbFetchRows("SELECT * FROM `bill_history` WHERE `bill_id` = ? ORDER BY `bill_datefrom` DESC LIMIT 24", array($bill_id)) as $history)
 | 
						|
  {
 | 
						|
    if (bill_permitted($history['bill_id']))
 | 
						|
    {
 | 
						|
      unset($class);
 | 
						|
      $datefrom       = $history['bill_datefrom'];
 | 
						|
      $dateto         = $history['bill_dateto'];
 | 
						|
      $type           = $history['bill_type'];
 | 
						|
      $percent        = $history['bill_percent'];
 | 
						|
      $dir_95th       = $history['dir_95th'];
 | 
						|
      $rate_95th      = formatRates($history['rate_95th']);
 | 
						|
      $total_data     = format_number($history['traf_total'], $config['billing']['base']);
 | 
						|
 | 
						|
      $background = get_percentage_colours($percent);
 | 
						|
      $row_colour = ((!is_integer($i/2)) ? $list_colour_a : $list_colour_b);
 | 
						|
 | 
						|
      if ($type == "CDR")
 | 
						|
      {
 | 
						|
         $allowed = formatRates($history['bill_allowed']);
 | 
						|
         $used    = formatRates($history['rate_95th']);
 | 
						|
         $in      = formatRates($history['rate_95th_in']);
 | 
						|
         $out     = formatRates($history['rate_95th_out']);
 | 
						|
         $overuse = (($history['bill_overuse'] <= 0) ? "-" : "<span style=\"color: #".$background['left']."; font-weight: bold;\">".formatRates($history['bill_overuse'])."</span>");
 | 
						|
      } elseif ($type == "Quota") {
 | 
						|
         $allowed = format_number($history['bill_allowed'], $config['billing']['base']);
 | 
						|
         $used    = format_number($history['total_data'], $config['billing']['base']);
 | 
						|
         $in      = format_number($history['traf_in'], $config['billing']['base']);
 | 
						|
         $out     = format_number($history['traf_out'], $config['billing']['base']);
 | 
						|
         $overuse = (($history['bill_overuse'] <= 0) ? "-" : "<span style=\"color: #".$background['left']."; font-weight: bold;\">".format_number($history['bill_overuse'], $config['billing']['base'])."B</span>");
 | 
						|
      }
 | 
						|
 | 
						|
      $total_data     = (($type == "Quota") ? "<b>".$total_data."</b>" : $total_data);
 | 
						|
      $rate_95th      = (($type == "CDR") ? "<b>".$rate_95th."</b>" : $rate_95th);
 | 
						|
 | 
						|
      $url            = generate_url($vars, array('detail' => $history['bill_hist_id']));
 | 
						|
 | 
						|
      echo("
 | 
						|
           <tr style=\"background: ".$row_colour.";\">
 | 
						|
             <td></td>
 | 
						|
             <td><span style=\"font-weight: bold;\" class=\"interface\">".strftime("%Y-%m-%d", strtotime($datefrom))." -> ".strftime("%Y-%m-%d", strtotime($dateto))."</span></td>
 | 
						|
             <td>$type</td>
 | 
						|
             <td>$allowed</td>
 | 
						|
             <td>$in</td>
 | 
						|
             <td>$out</td>
 | 
						|
             <td>$total_data</td>
 | 
						|
             <td>$rate_95th</td>
 | 
						|
             <td style=\"text-align: center;\">$overuse</td>
 | 
						|
             <td width=\"250\">".print_percentage_bar(250, 20, $perc, NULL, "ffffff", $background['left'], $percent."%", "ffffff", $background['right'])."</td>
 | 
						|
             <td>
 | 
						|
                <a href=\"".$url."\"><img src=\"images/16/chart_curve.png\" border=\"0\" align=\"absmiddle\" alt=\"Show details\" title=\"Show details\"/></a>
 | 
						|
             </td>
 | 
						|
           </tr>");
 | 
						|
 | 
						|
      if ($vars['detail'] == $history['bill_hist_id'] || $vars['detail'] == "all") {
 | 
						|
        $img['bitrate'] = showDetails($bill_id, "bitrate", strtotime($datefrom), strtotime($dateto), $type);
 | 
						|
        $img['bw_day']  = showDetails($bill_id, "day", strtotime($datefrom), strtotime($dateto));
 | 
						|
        $img['bw_hour'] = showDetails($bill_id, "hour", strtotime($datefrom), strtotime($dateto));
 | 
						|
        echo("
 | 
						|
           <tr style=\"background: #fff; border-top: 1px solid ".$row_colour."; border-bottom: 1px solid #ccc;\">
 | 
						|
             <td colspan=\"11\">
 | 
						|
               <!-- <b>Accuate Graph</b><br /> //-->
 | 
						|
               ".$img['bitrate']."<br />
 | 
						|
               <!-- <b>Bandwidth Graph per day</b><br /> //-->
 | 
						|
               ".$img['bw_day']."<br />
 | 
						|
               <!-- <b>Bandwidth Graph per hour</b><br /> //-->
 | 
						|
               ".$img['bw_hour']."
 | 
						|
             </td>
 | 
						|
           </tr>");
 | 
						|
      }
 | 
						|
 | 
						|
      $i++;
 | 
						|
    } // PERMITTED
 | 
						|
  }
 | 
						|
  echo("</table>");
 | 
						|
 | 
						|
?>
 |