From fed590c32562473dbbc066db0b95d34c5b13ef18 Mon Sep 17 00:00:00 2001 From: Deon George Date: Fri, 15 Mar 2019 13:36:03 +1100 Subject: [PATCH] Added VOIP --- .../classes/Controller/User/Search.php | 2 +- .../adsl/classes/Adsl/Billing/Exetelvisp.php | 27 +++++++++++++------ modules/adsl/classes/Model/ADSL/Supplier.php | 11 ++++++++ modules/adsl/views/adsl/reseller/billing.php | 8 +++--- .../service/admin/plugin/domain/edit.php | 0 5 files changed, 35 insertions(+), 13 deletions(-) create mode 100644 modules/domain/views/service/admin/plugin/domain/edit.php diff --git a/application/classes/Controller/User/Search.php b/application/classes/Controller/User/Search.php index 1d15eee0..673660e5 100644 --- a/application/classes/Controller/User/Search.php +++ b/application/classes/Controller/User/Search.php @@ -25,7 +25,7 @@ class Controller_User_Search extends Controller_Search { $result = Arr::merge($result,ORM::factory('Service')->list_autocomplete($this->request->query('term'),'url','id',array('SVC %s: %s'=>array('id','name()')),array(),array('urlprefix'=>URL::link('user','service/view/')))); $result = Arr::merge($result,ORM::factory('Invoice')->list_autocomplete($this->request->query('term'),'url','id',array('INV %s: %s'=>array('id','account->name()')),array(),array('urlprefix'=>URL::link('user','invoice/view/')))); - foreach (array('Service_Plugin_Adsl','Service_Plugin_Domain','Service_Plugin_Host') as $o) + foreach (array('Service_Plugin_Adsl','Service_Plugin_Domain','Service_Plugin_Host','Service_Plugin_Voip') as $o) $result = Arr::merge($result,ORM::factory($o)->list_autocomplete($this->request->query('term'),'url','service_id',array('SVC %s: %s'=>array('service_id','service->name()')),array(),array('urlprefix'=>URL::link('user','service/view/')))); } diff --git a/modules/adsl/classes/Adsl/Billing/Exetelvisp.php b/modules/adsl/classes/Adsl/Billing/Exetelvisp.php index eb8fa6a6..5f47adf3 100644 --- a/modules/adsl/classes/Adsl/Billing/Exetelvisp.php +++ b/modules/adsl/classes/Adsl/Billing/Exetelvisp.php @@ -119,16 +119,23 @@ class ADSL_Billing_Exetelvisp { $result[$service]['cost'] = str_replace('$','',$record[6]); $result[$service]['info'] = 'Other Service'; - } elseif (preg_match('/VOIP Monthly Charges/',$record[3])) { - list($service,$description) = explode(':',(preg_replace('/([0-9]+)\s+-\s+(.*)$/',"$1:$2",$record[3]))); - $result[$service]['cost'] = str_replace('$','',$record[6]); - $result[$service]['info'] = 'VOIP Service'; - } elseif (preg_match('/VISP Credit/',$record[4])) { list($service,$description) = explode(':',(preg_replace('/([0-9]+)\s+-\s+(.*)$/',"$1:$2",$record[4]))); $result[$service]['credit'] = str_replace('$','',$record[6]); - } elseif (preg_match('/Excess usage charges/',$record[4])) { + } elseif (preg_match('/Peak Excess Usage /',$record[4])) { + list($service,$description) = explode(':',(preg_replace('/([0-9]+)\s+-\s+(.*)$/',"$1:$2",$record[4]))); + $result[$service]['excess'] = str_replace('$','',$record[7]); + + } elseif (preg_match('/Residential VOIP Plan Monthly/',$record[4])) { + list($service,$description) = explode(':',(preg_replace('/([0-9]+)\s+-\s+(.*)$/',"$1:$2",$record[4]))); + $result[$service]['cost'] = str_replace('$','',$record[7]); + + } elseif (preg_match('/Virtual FAX Number Monthly Rental/',$record[4])) { + list($service,$description) = explode(':',(preg_replace('/([0-9]+)\s+-\s+(.*)$/',"$1:$2",$record[4]))); + $result[$service]['cost'] = str_replace('$','',$record[7]); + + } elseif (preg_match('/Residential VOIP Plan Excess Usage/',$record[4])) { list($service,$description) = explode(':',(preg_replace('/([0-9]+)\s+-\s+(.*)$/',"$1:$2",$record[4]))); $result[$service]['excess'] = str_replace('$','',$record[7]); @@ -148,8 +155,12 @@ class ADSL_Billing_Exetelvisp { $this->data_exception = $this->data = $result; // @todo This could be optimised better. - foreach ($aso->services(TRUE) as $so) - $this->haveService($so->plugin()->service_number,$so->plugin()->admin_plan()->supplier_plan->display('base_cost')); + foreach ($aso->services(TRUE) as $so) { + if ($so->plugin()->admin_plan() != 'VOIP') + $this->haveService($so->plugin()->service_number,$so->plugin()->admin_plan()->supplier_plan->display('base_cost')); + elseif ($so->plugin()->admin_plan() == 'VOIP') + $this->haveService($so->plugin()->service_number,10); + } return $this; } diff --git a/modules/adsl/classes/Model/ADSL/Supplier.php b/modules/adsl/classes/Model/ADSL/Supplier.php index ecae14bf..40067e59 100644 --- a/modules/adsl/classes/Model/ADSL/Supplier.php +++ b/modules/adsl/classes/Model/ADSL/Supplier.php @@ -71,6 +71,17 @@ class Model_ADSL_Supplier extends ORM { } } + // VOIP + $pos = ORM::factory('Product') + ->where('prod_plugin_file','=','VOIP') + ->list_active(); + + foreach ($pos as $po) { + foreach ($po->service->list_active() as $so) { + array_push($result,$so); + } + } + return $result; } } diff --git a/modules/adsl/views/adsl/reseller/billing.php b/modules/adsl/views/adsl/reseller/billing.php index 8903807a..ddef0212 100644 --- a/modules/adsl/views/adsl/reseller/billing.php +++ b/modules/adsl/views/adsl/reseller/billing.php @@ -18,8 +18,8 @@ plugin(); $po = $p->admin_plan(); $service_number = $p->service_number; ?> charge($service_number); $excess = $o->excess($service_number); $charge = Period::multiple($so->recur_schedule)*$so->price(TRUE)/12; ?> - supplier_plan->display('base_cost')) : ?> - + supplier_plan->display('base_cost')) : ?> + @@ -28,10 +28,10 @@ id),$so->id); ?> - supplier_plan->name().($p->provided_adsl_plan_id ? '*' : ''); ?> + supplier_plan->name().($p->provided_adsl_plan_id ? '*' : '')) : $so->name(); ?> contract_date_start(TRUE); ?> contract_date_end(TRUE); ?> - supplier_plan->display('base_cost'); ?> + supplier_plan->display('base_cost')) : ''; ?> diff --git a/modules/domain/views/service/admin/plugin/domain/edit.php b/modules/domain/views/service/admin/plugin/domain/edit.php new file mode 100644 index 00000000..e69de29b