?
Current File : /home/c/i/d/cideo/site_2015/application/modules/site/controllers/ErrorController.php
<?php
class ErrorController extends Zend_Controller_Action
{
    private $_exception;
    private static $errorMessage;
    private static $httpCode;

	public function init()
		{
		$session = Zend_Registry::get('session');
		$session->action = $this->_helper->getHelper('ParentController')->setParent();

		$this->view->controllerCourant = $this->view->layout()->controlleractif;

		header('Accept-Encoding: gzip, deflate');
    }

    public function preDispatch()
    {
    	$this->_exception = $this->_getParam('error_handler');

    	switch ($this->_exception->type) {
            case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
            case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
                self::$httpCode = 404;
                self::$errorMessage = 'Cette page n\'existe pas<br /> This page does not exist<br />';
            break;
            case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_OTHER:
            	switch (get_class($this->_exception->exception)) {
            		case 'Zend_View_Exception' :
            			self::$httpCode = 500;
            			self::$errorMessage = 'Erreur de traitement d\'une vue';
            		break;
            		case 'Zend_Db_Exception' :
            			self::$httpCode = 503;
            			self::$errorMessage = 'Erreur de traitement dans la base de données';
            		break;
            		case 'Metier_Exception' :
            			self::$httpCode = 200;
            			self::$errorMessage = $this->_exception->exception->getMessage();
            		break;
            		default:
            			self::$httpCode = 500;
            			self::$errorMessage = 'Erreur inconnue : '. $this->_exception->exception->getMessage();
            		break;
            	}
            break;
    	}


    }

    public function errorAction()
    {

		$session = Zend_Registry::get('session');
		$translate = Zend_Registry::get('translate');
        $this->view->translate = $translate;
		$ln = $this->_request->getParam('page');
		if(isset($ln))
		{
		$session->lang = $ln;
		$locale = new Zend_Locale($ln);
		$translate->setLocale($locale->getLanguage());
		}

		$this->view->actionCourante = "error";

		$this->_helper->layout()->setLayout('mainerror');
        $this->_helper->actionStack('header','header');
        $this->_helper->actionStack('nav','nav');
        $this->_helper->actionStack('footer','footer');
		$this->view->robots = "noindex, follows";
		$this->view->TitrePage = "Erreur";
		$this->view->DescPage  = "Erreur";;
		$this->view->langue = $session->lang;

    	$errors = $this->_getParam("error_handler");
    	$this->view->message = self::$errorMessage;
    	$this->view->httpCode = self::$httpCode;
    	$this->view->exception  = $errors->exception;
        $this->view->request    = $errors->request;
        $this->view->titrepage = $translate->_("nomsite")." - ERREUR PAGE ".self::$httpCode;

		$this->view->TitreArticle = "error";

    }

}