checkExtensionOrThrowError(); /** * run kerio service */ $result = $this->kerioRunService($params); /** * return result */ return $result; }catch (\Exception $ex) { /** * return some crit error */ return $ex->getMessage(); } } /** * @param null $params * @return mixed|string */ protected function kerioRunService($params = null) { $api = new KerioWhmcs('whmcsKerioEmail', 'Thurdata', '1.0'); try { $api->login($params['serverhostname'], $params['serverusername'], $params['serverpassword']); $domainID = $api->getDomainId($params['domain']); } catch (KerioApiException $error) { logModuleCall( 'kerioEmail', __FUNCTION__, $error, 'Debug Error', $error->getMessage() ); return ['error' => $error->getMessage()]; } if ($domainID === FALSE) { return "Error: Domain $domain not found"; } try { $users = $api->getUsers(['id', 'loginName'], $domainID); } catch (KerioApiException $error) { logModuleCall( 'kerioEmail', __FUNCTION__, $error, 'Debug Error', $error->getMessage() ); return ['error' => $error->getMessage()]; } foreach($users as $user) { try { $api->modifyUser($user['id'], ['isEnabled' => TRUE]); } catch (KerioApiException $error) { logModuleCall( 'kerioEmail', __FUNCTION__, $error, 'Debug Error', $error->getMessage() ); return ['error' => $error->getMessage()]; } } $api->logout(); /** * return success response */ return Response::SUCCESS; } }