This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
khosb/modules/adsl/classes/Task/Adsl/Traffictrim.php

45 lines
1.3 KiB
PHP

<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* Trim ADSL Traffic Records, truncating any zeros
*
* @package ADSL
* @category Tasks
* @author Deon George
* @copyright (c) 2009-2013 Open Source Billing
* @license http://dev.osbill.net/license.html
*/
class Task_Adsl_Traffictrim extends Task_Adsl_Trafficget {
protected function _execute(array $params) {
$t = ORM::factory('Service_Plugin_Adsl_Traffic')
->select('service,supplier_id')
->group_by('service,supplier_id');
foreach ($t->find_all() as $group) {
$zerorow = FALSE;
foreach (ORM::factory('Service_Plugin_Adsl_Traffic')->where('service','=',$group->service)->where('supplier_id','=',$group->supplier_id)->order_by('date')->order_by('time')->find_all() as $spato)
if ($spato->total() === 0) {
if ($zerorow) {
// Cant use delete(), as our primary key is not used in this table.
$db = DB::query(Database::DELETE,DB::delete($spato->table_name())
->where('service','=',$group->service)
->where('supplier_id','=',$group->supplier_id)
->where('date','=',$spato->date)
->where('time','=',$spato->time));
$db->execute();
}
$zerorow = TRUE;
} else
$zerorow = FALSE;
// An attempt to free some memory.
$spato = NULL;
}
}
}
?>