From b85152c4d671910727465bc0be6c9d7b02b60270 Mon Sep 17 00:00:00 2001 From: Colin Campbell Date: Thu, 25 Feb 2016 13:47:25 -0500 Subject: [PATCH] Bugfix for get_balance SRS was not accepting empty attributes as an array. Updated the to xml conversion process to use an associated array instead. Moved GetBalance outside of domains/lookup to a more appropriate accounts namespace. Preserved existing lookupGetBalance function name for backwards compatability. --- demo/GetBalance.php | 3 +-- opensrs/Ops.php | 8 ++++++++ opensrs/RequestFactory.php | 3 ++- opensrs/{domains/lookup => account}/GetBalance.php | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) rename opensrs/{domains/lookup => account}/GetBalance.php (94%) diff --git a/demo/GetBalance.php b/demo/GetBalance.php index 920245ef..02d6ea65 100644 --- a/demo/GetBalance.php +++ b/demo/GetBalance.php @@ -1,8 +1,7 @@ 'lookupGetBalance', - + 'func' => 'accountGetBalance', 'data' => array(), ); diff --git a/opensrs/Ops.php b/opensrs/Ops.php index e2b7570f..56598afc 100644 --- a/opensrs/Ops.php +++ b/opensrs/Ops.php @@ -315,6 +315,14 @@ public function _quoteXMLChars($string) */ public function _is_assoc(&$array) { + /* + * Empty array should default to associative + * SRS was having issues with empty attribute arrays + */ + if (empty($array)) { + return true; + } + if (is_array($array)) { foreach ($array as $k => $v) { if (!is_int($k)) { diff --git a/opensrs/RequestFactory.php b/opensrs/RequestFactory.php index 1c930d1e..c06dc591 100644 --- a/opensrs/RequestFactory.php +++ b/opensrs/RequestFactory.php @@ -8,7 +8,7 @@ class RequestFactory 'premiumdomain' => 'domains\lookup\PremiumDomain', 'lookupdomain' => 'domains\lookup\LookupDomain', 'lookupgetdomain' => 'domains\lookup\GetDomain', - 'lookupgetbalance' => 'domains\lookup\GetBalance', + 'lookupgetbalance' => 'account\GetBalance', 'lookupgetdeleteddomains' => 'domains\lookup\GetDeletedDomains', 'lookupgetdomansbyexpiry' => 'domains\lookup\GetDomansByExpiry', 'lookupgetdomainscontacts' => 'domains\lookup\GetDomainsContacts', @@ -131,6 +131,7 @@ class RequestFactory 'mailsetdomainblocklist' => 'mail\SetDomainBlockList', 'mailsetdomaindisabledstatus' => 'mail\SetDomainDisabledStatus', 'mailsetdomainmailboxlimits' => 'mail\SetDomainMailboxLimits', + 'accountgetbalance' => 'account\GetBalance' ); public static function build($func, $type, $dataObject) diff --git a/opensrs/domains/lookup/GetBalance.php b/opensrs/account/GetBalance.php similarity index 94% rename from opensrs/domains/lookup/GetBalance.php rename to opensrs/account/GetBalance.php index d0c86d7c..66fab228 100644 --- a/opensrs/domains/lookup/GetBalance.php +++ b/opensrs/account/GetBalance.php @@ -1,6 +1,6 @@