moduleParams = $params; $domains =(new ZimbraManager()) ->getApiByServer($this->moduleParams['serverid']) ->soap ->repository() ->domains() ->getAll(); foreach ($domains as $domain) { try { $domainName = $domain->getName(); $storage = $this->getDomainUsage($domainName); $storage = $storage == 0 ? 0 : round($storage/1024/1024); $serverId =$params['serverid']; Whmcs\Hosting::where('server', $serverId)->where('domain', $domainName)->update(['diskusage' => $storage]); usleep(5000); } catch (\Exception $ex) { } } } private function getDomainUsage($tenant) { $accounts =(new ZimbraManager()) ->getApiByServer($this->moduleParams['serverid']) ->soap ->repository() ->accounts ->getUsages($tenant); $totalUsage = 0; foreach ($accounts as $account) { $usage = $account->getUsed(); $totalUsage += $usage; } return $totalUsage; } }