diff --git a/library/NGNPro/Records/GatewayRules.php b/library/NGNPro/Records/GatewayRules.php index b9bfb6b..a8a117e 100644 --- a/library/NGNPro/Records/GatewayRules.php +++ b/library/NGNPro/Records/GatewayRules.php @@ -1,522 +1,570 @@ array('type'=>'integer','readonly' => true), - 'gateway_id' => array('type'=>'integer','name' => 'Gateway'), - 'prefix' => array('type'=>'string'), - 'strip' => array('type'=>'integer'), - 'prepend' => array('type'=>'string'), - 'minLength' => array('type'=>'integer'), - 'maxLength' => array('type'=>'integer') - ); + var $carriers = array(); + var $FieldsReadOnly = array( + 'reseller', + 'changeDate' + ); + + var $Fields = array( + 'id' => array('type'=>'integer','readonly' => true), + 'gateway_id' => array('type'=>'integer','name' => 'Gateway'), + 'prefix' => array('type'=>'string'), + 'strip' => array('type'=>'integer'), + 'prepend' => array('type'=>'string'), + 'minLength' => array('type'=>'integer'), + 'maxLength' => array('type'=>'integer') + ); public function __construct($SoapEngine) { $this->filters = array( 'id' => trim($_REQUEST['id_filter']), 'gateway_id' => trim($_REQUEST['gateway_id_filter']), 'carrier_id' => trim($_REQUEST['carrier_id_filter']), 'prefix' => trim($_REQUEST['prefix_filter']), ); - $this->sortElements=array( + $this->sortElements = array( 'changeDate' => 'Change date', 'gateway' => 'Gateway', 'carrier' => 'Carrier', 'prefix' => 'Prefix' ); parent::__construct($SoapEngine); } - function listRecords() { + function listRecords() + { $this->getCarriers(); $this->showSeachForm(); // Insert credetials $this->SoapEngine->soapclient->addHeader($this->SoapEngine->SoapAuth); // Filter - $filter=array('id' => intval($this->filters['id']), - 'gateway_id' => intval($this->filters['gateway_id']), - 'carrier_id' => intval($this->filters['carrier_id']), - 'prefix' => $this->filters['prefix'], - 'customer' => intval($this->filters['customer']), - 'reseller' => intval($this->filters['reseller']) - ); + $filter = array( + 'id' => intval($this->filters['id']), + 'gateway_id' => intval($this->filters['gateway_id']), + 'carrier_id' => intval($this->filters['carrier_id']), + 'prefix' => $this->filters['prefix'], + 'customer' => intval($this->filters['customer']), + 'reseller' => intval($this->filters['reseller']) + ); // Range - $range=array('start' => intval($this->next), - 'count' => intval($this->maxrowsperpage) - ); + $range = array( + 'start' => intval($this->next), + 'count' => intval($this->maxrowsperpage) + ); // Order if (!$this->sorting['sortBy']) $this->sorting['sortBy'] = 'changeDate'; if (!$this->sorting['sortOrder']) $this->sorting['sortOrder'] = 'ASC'; - $orderBy = array('attribute' => $this->sorting['sortBy'], - 'direction' => $this->sorting['sortOrder'] - ); + $orderBy = array( + 'attribute' => $this->sorting['sortBy'], + 'direction' => $this->sorting['sortOrder'] + ); // Compose query - $Query=array('filter' => $filter, - 'orderBy' => $orderBy, - 'range' => $range - ); + $Query = array( + 'filter' => $filter, + 'orderBy' => $orderBy, + 'range' => $range + ); $this->log_action('getGatewayRules'); - $result = $this->SoapEngine->soapclient->getGatewayRules($Query); - - if ((new PEAR)->isError($result)) { - $error_msg = $result->getMessage(); - $error_fault= $result->getFault(); - $error_code = $result->getCode(); - $log=sprintf("SOAP request error from %s: %s (%s): %s",$this->SoapEngine->SOAPurl,$error_msg, $error_fault->detail->exception->errorcode,$error_fault->detail->exception->errorstring); - syslog(LOG_NOTICE, $log); + $result = $this->SoapEngine->soapclient->getGatewayRules($Query); + + if ($this->checkLogSoapError($result, true)) { return false; } else { - $this->rows = $result->total; print " -
Owner | Rule | Carrier | Gateway | Prefix | Strip | Prepend | MinLength | MaxLength | Change date | Actions | |
---|---|---|---|---|---|---|---|---|---|---|---|
%s | -%s | -%s | -%s (%d) | -%s (%d) | -%s | -%s | -%s | -%s | -%s | -%s | -%s | -
%s | +%s | +%s | +%s (%d) | +%s (%d) | +%s | +%s | +%s | +%s | +%s | +%s | +%s | +
Create a gateway first"; + print "
Create a gateway first
"; return false; } - printf (" +END; } - function addRecord($dictionary=array()) { + function addRecord($dictionary = array()) + { if ($dictionary['gateway_id']) { $gateway_id = $dictionary['gateway_id']; } else { $gateway_id = trim($_REQUEST['gateway_id']); } if ($dictionary['prefix']) { $prefix = $dictionary['prefix']; } else { $prefix = trim($_REQUEST['prefix']); } if ($dictionary['strip']) { $strip = $dictionary['strip']; } else { $strip = trim($_REQUEST['strip']); } if ($dictionary['prepend']) { $prepend = $dictionary['prepend']; } else { $prepend = trim($_REQUEST['prepend']); } if ($dictionary['minLength']) { $minLength = $dictionary['minLength']; } else { $minLength = trim($_REQUEST['minLength']); } if ($dictionary['maxLength']) { $maxLength = $dictionary['maxLength']; } else { $maxLength = trim($_REQUEST['maxLength']); } if (!strlen($gateway_id)) { - printf ("Error: Missing gateway id"); + printf("
Error: Missing gateway id"); return false; } - $rule=array( - 'gateway_id' => intval($gateway_id), - 'prefix' => $prefix, - 'prepend' => $prepend, - 'strip' => intval($strip), - 'minLength' => intval($minLength), - 'maxLength' => intval($maxLength) - ); + $rule = array( + 'gateway_id' => intval($gateway_id), + 'prefix' => $prefix, + 'prepend' => $prepend, + 'strip' => intval($strip), + 'minLength' => intval($minLength), + 'maxLength' => intval($maxLength) + ); - $function=array('commit' => array('name' => 'addGatewayRule', - 'parameters' => array($rule), - 'logs' => array('success' => sprintf('Gateway rule has been added'))) - ); + $function = array( + 'commit' => array( + 'name' => 'addGatewayRule', + 'parameters' => array($rule), + 'logs' => array('success' => sprintf('Gateway rule has been added')) + ) + ); unset($this->filters); - return $this->SoapEngine->execute($function,$this->html); + return $this->SoapEngine->execute($function, $this->html); } - function deleteRecord($dictionary=array()) { + function deleteRecord($dictionary = array()) + { if (!$dictionary['confirm'] && !$_REQUEST['confirm']) { - print "
Please press on Confirm to confirm the delete. "; + print "
Please press on Confirm to confirm the delete.
"; return true; } if ($dictionary['id']) { $id = $dictionary['id']; } else { $id = trim($this->filters['id']); } if (!strlen($id)) { print "Error: missing rule id "; return false; } - $function=array('commit' => array('name' => 'deleteGatewayRule', - 'parameters' => array(intval($id)), - 'logs' => array('success' => sprintf('Gateway rule %d has been deleted',$id))) - ); + $function = array( + 'commit' => array( + 'name' => 'deleteGatewayRule', + 'parameters' => array(intval($id)), + 'logs' => array('success' => sprintf('Gateway rule %d has been deleted', $id)) + ) + ); unset($this->filters); - return $this->SoapEngine->execute($function,$this->html); - + return $this->SoapEngine->execute($function, $this->html); } - function showSeachFormCustom() { - printf ("
Updating rule ..."; if (!$_REQUEST['id_form'] || !strlen($_REQUEST['reseller_filter'])) { return; } if (!$rule = $this->getRecord($_REQUEST['id_form'])) { return false; } foreach (array_keys($this->Fields) as $item) { - $var_name=$item.'_form'; + $var_name = $item.'_form'; if ($this->Fields[$item]['type'] == 'integer') { $rule->$item = intval($_REQUEST[$var_name]); } else { $rule->$item = trim($_REQUEST[$var_name]); } } - $function=array('commit' => array('name' => 'updateGatewayRule', + $function = array('commit' => array('name' => 'updateGatewayRule', 'parameters' => array($rule), - 'logs' => array('success' => sprintf('Rule %d has been updated',$_REQUEST['id_form']))) + 'logs' => array('success' => sprintf('Rule %d has been updated', $_REQUEST['id_form']))) ); - $result = $this->SoapEngine->execute($function,$this->html); + $result = $this->SoapEngine->execute($function, $this->html); + dprint_r($result); - dprint_r($result) ; - if ((new PEAR)->isError($result)) { - $error_msg = $result->getMessage(); - $error_fault= $result->getFault(); - $error_code = $result->getCode(); - $log=sprintf("SOAP request error from %s: %s (%s): %s",$this->SoapEngine->SOAPurl,$error_msg, $error_fault->detail->exception->errorcode,$error_fault->detail->exception->errorstring); - syslog(LOG_NOTICE, $log); - return false; - } else { - return true; - } + return (bool)$result; } - function getRecord($id) { + function getRecord($id) + { // Insert credetials $this->SoapEngine->soapclient->addHeader($this->SoapEngine->SoapAuth); // Filter - $filter=array('id' => intval($id)); + $filter = array('id' => intval($id)); // Range - $range=array('start' => 0, + $range = array('start' => 0, 'count' => 1 ); // Order $this->sorting['sortBy'] = 'gateway'; $this->sorting['sortOrder'] = 'ASC'; $orderBy = array('attribute' => $this->sorting['sortBy'], 'direction' => $this->sorting['sortOrder'] ); // Compose query - $Query=array('filter' => $filter, + $Query = array('filter' => $filter, 'orderBy' => $orderBy, 'range' => $range ); // Call function - $this->log_action('getGatewayRules'); - $result = $this->SoapEngine->soapclient->getGatewayRules($Query); - - if ((new PEAR)->isError($result)) { - $error_msg = $result->getMessage(); - $error_fault= $result->getFault(); - $error_code = $result->getCode(); - $log=sprintf("SOAP request error from %s: %s (%s): %s",$this->SoapEngine->SOAPurl,$error_msg, $error_fault->detail->exception->errorcode,$error_fault->detail->exception->errorstring); - syslog(LOG_NOTICE, $log); + $this->log_action('getGatewayRules'); + $result = $this->SoapEngine->soapclient->getGatewayRules($Query); + + if ($this->checkLogSoapError($result, true)) { return false; } else { - if ($result->gateway_rules[0]){ + if ($result->gateway_rules[0]) { return $result->gateway_rules[0]; } else { return false; } } } } -