Work on Service Reports
This commit is contained in:
60
modules/adsl/classes/Controller/Admin/Service/Adsl.php
Normal file
60
modules/adsl/classes/Controller/Admin/Service/Adsl.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php defined('SYSPATH') or die('No direct access allowed.');
|
||||
|
||||
/**
|
||||
* This class provides Admin ADSL Service functions
|
||||
*
|
||||
* @package ADSL
|
||||
* @category Controllers/Admin
|
||||
* @author Deon George
|
||||
* @copyright (c) 2009-2013 Open Source Billing
|
||||
* @license http://dev.osbill.net/license.html
|
||||
*/
|
||||
class Controller_Admin_Service_Adsl extends Controller_Service {
|
||||
protected $secure_actions = array(
|
||||
'stat'=>TRUE,
|
||||
);
|
||||
|
||||
public function action_stat() {
|
||||
// @todo This needs to be configurable.
|
||||
$traffic = array(1000,2000,5000,10000,25000,50000,75000,100000);
|
||||
|
||||
$svs = ORM::factory('Service')->list_bylistgroup('ADSL');
|
||||
$stats = array();
|
||||
$output = '';
|
||||
$ts = 0;
|
||||
|
||||
foreach ($svs as $a=>$so) {
|
||||
// Number of services
|
||||
if (! isset($stats[$so->product->plugin()->adsl_supplier_plan->speed]['c']))
|
||||
$stats[$so->product->plugin()->adsl_supplier_plan->speed]['c'] = 0;
|
||||
|
||||
$stats[$so->product->plugin()->adsl_supplier_plan->speed]['c']++;
|
||||
$ts++;
|
||||
|
||||
// Amount of traffic
|
||||
$t = array_sum($so->plugin()->traffic_lastmonth(FALSE));
|
||||
$a = 0;
|
||||
foreach (array_reverse($traffic) as $i) {
|
||||
if ($i < $t)
|
||||
break;
|
||||
$a = $i;
|
||||
}
|
||||
|
||||
if (! isset($stats[$so->product->plugin()->adsl_supplier_plan->speed]['d'][$a]))
|
||||
$stats[$so->product->plugin()->adsl_supplier_plan->speed]['d'][$a] = 0;
|
||||
|
||||
$stats[$so->product->plugin()->adsl_supplier_plan->speed]['d'][$a]++;
|
||||
}
|
||||
|
||||
Block::factory()
|
||||
->title('ADSL Traffic Summary Stats - Last Month')
|
||||
->title_icon('icon-list')
|
||||
->body(
|
||||
View::factory('service/admin/adslstat')
|
||||
->set('stats',$stats)
|
||||
->set('traffic',$traffic)
|
||||
->set('ts',$ts)
|
||||
);
|
||||
}
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user