_getParam('error_handler'); switch ($errors->type) { case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE: case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER: case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION: // 404 error -- controller or action not found $this->getResponse()->setHttpResponseCode(404); $this->view->message = 'Page not found'; break; default: // application error $this->getResponse()->setHttpResponseCode(500); $this->view->message = 'Application error'; break; } $auth = Zend_Auth::getInstance(); $identity = $auth->getIdentity(); //Envoyer les erreurs par mail $message = ''; $message.= 'Erreur Applicative : '; $message.= "\n"; $message.= 'Message : '.$errors->exception->getMessage(); $message.= "\n"; $message.= 'Utilisateur : '.$identity->username; $message.= "\n"; $message.= "File :".$errors->exception->getFile().", Ligne : ".$errors->exception->getLine(); $message.= "\n"; $message.= "Detail :\n".$errors->exception->getTraceAsString(); $message.= "\n\n"; $message.= "Request Parameters :\n ".print_r($this->getRequest()->getParams(), true)."\n"; $message.= "Referer : ".$_SERVER['HTTP_REFERER']."\n"; $c = Zend_Registry::get('config'); require_once 'Scores/Mail.php'; $mail = new Mail(); $mail->setSubject('[ERREUR APPLICATIVE] - '.$c->profil->server->name.' -'.date('Ymd')); $mail->setBodyTexte($message); $mail->setFrom('supportdev'); $mail->addToKey('supportdev'); $mail->send(); // Log exception, if logger available if ($log = $this->getLog()) { $log->crit($this->view->message, $errors->exception); } // conditionally display exceptions if ($this->getInvokeArg('displayExceptions') == true) { $this->view->exception = $errors->exception; } $this->view->request = $errors->request; } public function getLog() { $bootstrap = $this->getInvokeArg('bootstrap'); if (!$bootstrap->hasPluginResource('Log')) { return false; } $log = $bootstrap->getResource('Log'); return $log; } }