setParams($params); $this->parseError(); return $this->resolveResponse(); } public function resolveResponse() { if ($this->getRequestValue('ajax') == '1') { return $this->resolveResponseAjax(); } return $this->responseResolver->setResponse(\ModulesGarden\Servers\ZimbraEmail\Core\Helper\view()) ->setTemplateName($this->getTemplateName()) ->setTemplateDir($this->getTemplateDir()) ->setPageController($this) ->resolve(); } public function parseError() { $err = $this->getParam('mgErrorDetails'); if (!$err) { return null; } if (!($err instanceof \ModulesGarden\Servers\ZimbraEmail\Core\HandlerError\Exceptions\Exception)) { $nErr = new \ModulesGarden\Servers\ZimbraEmail\Core\HandlerError\Exceptions\Exception(null, null, null, $err); $this->setParam('mgErrorDetails', $nErr); } $this->logError(); } public function logError() { $err = $this->getParam('mgErrorDetails'); /** * \ModulesGarden\Servers\ZimbraEmail\Core\HandlerError\WhmcsLogsHandler */ $logger = \ModulesGarden\Servers\ZimbraEmail\Core\ServiceLocator::call('whmcsLogger'); $logger->addModuleLogError($err); } public function resolveResponseAjax() { $err = $this->getParam('mgErrorDetails'); if (!$err) { return null; } $ajaxData = (new \ModulesGarden\Servers\ZimbraEmail\Core\UI\ResponseTemplates\DataJsonResponse($err->getDetailsToDisplay()))->setStatusError(); return $this->responseResolver->setResponse($ajaxData->getFormatedResponse()) ->setTemplateName($this->getTemplateName()) ->setTemplateDir($this->getTemplateDir()) ->setPageController($this) ->resolve(); } }