login($params['serverhostname'], $params['serverusername'], $params['serverpassword']); $domains = $api->getDomains(['id','name']); } catch (KerioApiException $error) { logModuleCall( 'kerioEmail', __FUNCTION__, $error, 'Debug Error', $error->getMessage() ); return ['error' => $error->getMessage()]; } foreach ($domains as $domain) { try { $domainName = $domain['name']; $domainID = $domain['id']; $fields = array( 'loginName', 'fullName', 'consumedSize' ); $users = $api->getUsers($fields,$domainID); $mailboxes = $users['totalItems']; $totalUsage = 0; if ($users['totalItems'] > 0) { foreach ($users['list'] as $user) { $usage = $user['consumedSize']['value']; $totalUsage += $usage; } } $storage = $totalUsage == 0 ? 0 : round($totalUsage/1024/1024); $serverId =$params['serverid']; Whmcs\Hosting::where('server', $serverId)->where('domain', $domainName)->update(['bwusage' => $mailboxes]); Whmcs\Hosting::where('server', $serverId)->where('domain', $domainName)->update(['diskusage' => $storage]); logModuleCall( 'kerioEmail', __FUNCTION__, $mailboxes, 'Debug UsageUpdate', $storage ); usleep(5000); } catch (\Exception $ex) { } } } }