diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 3434216ec..c5451e817 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -1468,18 +1468,40 @@ class Context } else { - self::setBrowserTitle(self::getSiteTitle()); - $oMessageObject = getView('message'); - $oMessageObject->setHttpStatusCode(503); - $oMessageObject->setError(-1); - $oMessageObject->setMessage(_XE_SITELOCK_TITLE_); - $oMessageObject->dispMessage(); - $oModuleHandler = new ModuleHandler; - $oModuleHandler->displayContent($oMessageObject); + self::displayErrorPage(_XE_SITELOCK_TITLE_, _XE_SITELOCK_MESSAGE_, 503); } exit; } - + + /** + * Display a generic error page and exit. + * + * @param string $title + * @param string $message + * @return void + */ + public static function displayErrorPage($title = 'Error', $message = '', $status = 500) + { + // Change current directory to the Rhymix installation path. + chdir(\RX_BASEDIR); + + // Set the title. + self::setBrowserTitle(self::getSiteTitle()); + self::addBrowserTitle($title); + + // Set the message. + $oMessageObject = getView('message'); + $oMessageObject->setError(-1); + $oMessageObject->setHttpStatusCode($status); + $oMessageObject->setMessage($title); + $oMessageObject->dispMessage($message); + + // Display the message. + $oModuleHandler = new ModuleHandler; + $oModuleHandler->displayContent($oMessageObject); + exit; + } + /** * Return request method * @return string Request method type. (Optional - GET|POST|XMLRPC|JSON) diff --git a/modules/message/message.view.php b/modules/message/message.view.php index 7da104822..6360e4c0e 100644 --- a/modules/message/message.view.php +++ b/modules/message/message.view.php @@ -17,7 +17,7 @@ class messageView extends message /** * @brief Display messages */ - function dispMessage() + function dispMessage($detail = null) { // Get configurations (using module model object) $oModuleModel = getModel('module'); @@ -58,9 +58,10 @@ class messageView extends message { if(strncasecmp('https://', Context::getRequestUri(), 8) === 0) $ssl_mode = true; } - Context::set('ssl_mode',$ssl_mode); + Context::set('ssl_mode', $ssl_mode); Context::set('system_message', nl2br($this->getMessage())); + Context::set('system_message_detail', nl2br($detail)); $this->setTemplateFile('system_message'); } diff --git a/modules/message/skins/default/system_message.html b/modules/message/skins/default/system_message.html index 9a5536b7d..832d99fa2 100644 --- a/modules/message/skins/default/system_message.html +++ b/modules/message/skins/default/system_message.html @@ -8,7 +8,7 @@