getRequest()->getParams(); $unknow = array('MSOffice', '_vti_bin', 'crossdomain.xml'); if (in_array($params['controller'], $unknow)){ $this->_helper->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); echo ''; } else { $errors = $this->_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; } require_once 'Scores/Utilisateur.php'; $user = new Utilisateur(); //Envoyer les erreurs par mail $message = ''; $message.= 'Erreur Applicative : '; $message.= "\n"; $message.= 'Message : '.$errors->exception->getMessage(); $message.= "\n"; $message.= 'Utilisateur : '.$user->getLogin(); $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"; $configuration = Zend_Registry::get('configuration'); require_once 'Scores/Mail.php'; $mail = new Mail(); $mail->setSubject('[ERREUR APPLICATIVE] - '.$configuration->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 soapAction(){} public function permsAction(){} public function paramsAction(){} public function getLog() { $bootstrap = $this->getInvokeArg('bootstrap'); if (!$bootstrap->hasPluginResource('Log')) { return false; } $log = $bootstrap->getResource('Log'); return $log; } }