✏️ 正在编辑: ErrorController.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/application/controllers/ErrorController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class ErrorController extends Zend_Controller_Action { public function errorAction() { $this->_helper->getHelper('layout')->disableLayout(); $errors = $this->_getParam('error_handler'); if (!$errors || !$errors instanceof ArrayObject) { return; } $sendMail = true; switch ($errors->type) { case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE: case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER: // 404 error -- controller $this->getResponse()->setHttpResponseCode(404); $priority = Zend_Log::NOTICE; $errorInfo = 'Error report: Page not found '; break; case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION: // 404 error -- action not found $sendMail = false; break; default: // application error $this->getResponse()->setHttpResponseCode(500); $priority = Zend_Log::CRIT; $errorInfo = 'Error report: Application Error '; break; } $this->view->errorInfo = $errorInfo; $this->view->headers = $_SERVER; $this->view->params = $_REQUEST; $this->view->exception = $errors->exception; $this->view->trace = $errors->exception->getTraceAsString(); $this->view->user = Yuppie_Auth::getIdentity(); if(APPLICATION_ENV == 'development'){ echo $this->view->render('error/_trace.phtml'); die(); } if( $sendMail ){ $this->sendMail($this->view->render('error/_trace.phtml')); } } public function fatalErrorAction() { $this->_helper->flashMessenger(array('error' => "Um erro ocorreu na aplicação.")); $this->render('error'); } private function sendMail($errorInfo, $fileName = null) { $transport = new Zend_Mail_Transport_Smtp('email-smtp.us-east-1.amazonaws.com', array( 'auth' => 'login', 'username' => 'AKIAI2FUP4OG4LBEXHCQ', 'password' => 'AqiZMLZA1bjvUZGn8O9Lko4VtSSK9cIqTtkTYjK1Xc3g', 'ssl' => 'ssl', 'port' => '465', )); try { $mail = new Zend_Mail("UTF-8"); $mail->setDefaultTransport($transport); $mail->clearMessageId() ->clearRecipients() ->clearSubject(); if( $fileName ){ /** * @todo Verificar se quando o arquivo vem no POST o upload já foi feito */ $content = file_get_contents(PUBLIC_PATH . '/../public/uploads/' . $fileName, true); $attachment = new Zend_Mime_Part($content); $attachment->type = Zend_Mime::TYPE_OCTETSTREAM; $attachment->disposition = Zend_Mime::DISPOSITION_ATTACHMENT; $attachment->encoding = Zend_Mime::ENCODING_BASE64; $attachment->filename = $fileName; $mail->addAttachment($attachment); } $mail->setFrom("no-reply@yuppietech.com.br") ->addTo("desenvolvimento@yuppietech.com.br") ->addTo("noaldo@yuppietech.com.br") ->setSubject($this->view->errorInfo . ": " . $_SERVER['HTTP_HOST']) ->setBodyHtml($errorInfo); $mail->send(); } catch ( Exception $e ) { Yuppie_Log::write($e->getMessage(), $this, Zend_Log::ERR); } } }
💾 保存文件
← 返回文件管理器