Selaa lähdekoodia

bugfix count on null..

andre 1 vuosi sitten
vanhempi
commit
ee156bd85a

+ 6 - 6
app/Libs/Zimbra/Components/Api/Soap/Services/Create/CreateAccount.php

@@ -70,13 +70,13 @@ class CreateAccount extends ApiService
         $acc_add = $acc_addObj->qty ? $acc_addObj->qty : 0;
         $acc_add = $acc_addObj->qty ? $acc_addObj->qty : 0;
         $accountLimit = $this->productManager->get('acc_base') + $acc_add;
         $accountLimit = $this->productManager->get('acc_base') + $acc_add;
         $mailBoxes = $this->getMailboxes();
         $mailBoxes = $this->getMailboxes();
-
-        if(count($mailBoxes) >= $accountLimit && $accountLimit !== ProductParams::SIZE_UNLIMITED && 'editAccountForm' !== $this->getRequestValue('loadData'))
-        {
-            $this->setError('There are too many mailboxes');
-            return false;
+        if(is_countable($mailBoxes)){
+            if(count($mailBoxes) >= $accountLimit && $accountLimit !== ProductParams::SIZE_UNLIMITED && 'editAccountForm' !== $this->getRequestValue('loadData'))
+            {
+                $this->setError('There are too many mailboxes');
+                return false;
+            }
         }
         }
-
         /**
         /**
          *
          *
          */
          */

+ 7 - 6
app/Libs/Zimbra/Components/Api/Soap/Services/Create/CreateAccountAlias.php

@@ -2,7 +2,7 @@
 
 
 namespace ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Services\Create;
 namespace ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Services\Create;
 
 
-
+use Countable;
 use ModulesGarden\Servers\ZimbraEmail\App\Enums\ProductParams;
 use ModulesGarden\Servers\ZimbraEmail\App\Enums\ProductParams;
 use ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Interfaces\ApiService;
 use ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Interfaces\ApiService;
 use ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\AccountAlias;
 use ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\AccountAlias;
@@ -28,12 +28,13 @@ class CreateAccountAlias extends ApiService
         $limit = $this->productManager->get(ProductParams::ALIAS_LIMIT);
         $limit = $this->productManager->get(ProductParams::ALIAS_LIMIT);
         $createdAlias = $this->api->repository()->accounts->getAccountAliasesByDomainName($this->formData['domain']);
         $createdAlias = $this->api->repository()->accounts->getAccountAliasesByDomainName($this->formData['domain']);
 
 
-        if(count($createdAlias) >= $limit && $limit !== ProductParams::SIZE_UNLIMITED)
-        {
-            $this->setError('Account alias limit has been reached');
-            return false;
+        if(is_countable($createdAlias)){
+            if(count($createdAlias) >= $limit && $limit !== ProductParams::SIZE_UNLIMITED)
+            {
+                $this->setError('Account alias limit has been reached');
+                return false;
+            }
         }
         }
-
         return true;
         return true;
     }
     }
 
 

+ 6 - 6
app/Libs/Zimbra/Components/Api/Soap/Services/Create/CreateDistributionList.php

@@ -58,13 +58,13 @@ class CreateDistributionList extends ApiService
 
 
         $listLimit = $this->productManager->get('dist_list_limit');
         $listLimit = $this->productManager->get('dist_list_limit');
         $usages = $this->api->repository()->lists->getAllDistributionListsByDomain($this->formData['domain']);
         $usages = $this->api->repository()->lists->getAllDistributionListsByDomain($this->formData['domain']);
-
-        if($listLimit !== Size::UNLIMITED && count($usages) >= $listLimit)
-        {
-            $this->setError("Distribution list limit has been reached");
-            return false;
+        if(is_countable($usages)){
+            if($listLimit !== Size::UNLIMITED && count($usages) >= $listLimit)
+            {
+                $this->setError("Distribution list limit has been reached");
+                return false;
+            }
         }
         }
-
         return parent::isValid();
         return parent::isValid();
     }
     }
 
 

+ 6 - 6
app/Libs/Zimbra/Components/Api/Soap/Services/Create/CreateDomainAlias.php

@@ -49,13 +49,13 @@ class CreateDomainAlias extends ApiService
          * get created domains
          * get created domains
          */
          */
         $domainAliases = $this->api->repository()->domains->getAliases($this->formData['domain']);
         $domainAliases = $this->api->repository()->domains->getAliases($this->formData['domain']);
-
-        if(count($domainAliases) >= $domainAliasesLimit && $domainAliasesLimit !== ProductParams::SIZE_UNLIMITED)
-        {
-            $this->setError('Domain aliases limit has been reached');
-            return false;
+        if(is_countable($domainAliases)){
+            if(count($domainAliases) >= $domainAliasesLimit && $domainAliasesLimit !== ProductParams::SIZE_UNLIMITED)
+            {
+                $this->setError('Domain aliases limit has been reached');
+                return false;
+            }
         }
         }
-
         return true;
         return true;
     }
     }