Index: core/admin_templates/error_fatal.tpl =================================================================== --- core/admin_templates/error_fatal.tpl +++ core/admin_templates/error_fatal.tpl @@ -0,0 +1,59 @@ + + + + + + + + + + + + +
+ + +
+ +
+
+ + + +

+
+
+
+
+ + +
+
+ + Index: core/install/english.lang =================================================================== --- core/install/english.lang +++ core/install/english.lang @@ -1363,6 +1363,7 @@ UGxlYXNlIG1ha2Ugc3VyZSB0byBCQUNLVVAgeW91ciBkYXRhYmFzZShzKSBiZWZvcmUgcnVubmluZyB0aGlzIHV0aWxpdHkh RWRpdA== RW1haWw= + T3Bwcywgc29tZXRoaW5nIHdlbnQgd3JvbmcgLi4u Rm9sbG93aW5nIGxpbmVzIHdlcmUgTk9UIGltcG9ydGVk RnJvbnQtRW5kIE9ubHk= R2VuZXJhbA== @@ -1394,6 +1395,7 @@ TW9kdWxlIFJvb3QgU2VjdGlvbg== U2F2ZQ== U2VsZWN0 + T3Bwcywgc29tZXRoaW5nIHdlbnQgd3JvbmcgLi4u U2Vzc2lvbiBFeHBpcmVk U2ltcGxl U29ydA== @@ -1558,6 +1560,7 @@ U2VuZCBFLW1haWw= U2VuZGluZyBQcmVwYXJlZCBFLW1haWxz TWFpbCBoYXMgYmVlbiBzZW50IFN1Y2Nlc3NmdWxseQ== + U2VydmVyIEVycm9y U2l0ZSBEb21haW5z U1BBTSBSZXBvcnRz U3BlbGxpbmcgRGljdGlvbmFyeQ== Index: core/install/install_data.sql =================================================================== --- core/install/install_data.sql +++ core/install/install_data.sql @@ -37,14 +37,15 @@ INSERT INTO SystemSettings VALUES(DEFAULT, 'ForceModRewriteUrlEnding', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_ForceModRewriteUrlEnding', 'checkbox', '', NULL, 10.012, 0, 0, 'hint:la_config_ForceModRewriteUrlEnding'); INSERT INTO SystemSettings VALUES(DEFAULT, 'UseContentLanguageNegotiation', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_UseContentLanguageNegotiation', 'checkbox', '', '', 10.013, 0, 0, NULL); INSERT INTO SystemSettings VALUES(DEFAULT, 'cms_DefaultDesign', '#default_design#', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_DefaultDesignTemplate', 'text', NULL, NULL, 10.02, 0, 0, NULL); -INSERT INTO SystemSettings VALUES(DEFAULT, 'ErrorTemplate', 'error_notfound', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_error_template', 'text', '', '', 10.03, 0, 0, NULL); +INSERT INTO SystemSettings VALUES(DEFAULT, 'NotFoundErrorTemplate', 'error_notfound', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_error_template', 'text', '', '', 10.03, 0, 0, NULL); INSERT INTO SystemSettings VALUES(DEFAULT, 'NoPermissionTemplate', 'no_permission', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_nopermission_template', 'text', '', '', 10.04, 0, 0, NULL); -INSERT INTO SystemSettings VALUES(DEFAULT, 'UsePageHitCounter', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_UsePageHitCounter', 'checkbox', '', '', 10.05, 0, 0, NULL); -INSERT INTO SystemSettings VALUES(DEFAULT, 'ForceImageMagickResize', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_ForceImageMagickResize', 'checkbox', '', '', 10.06, 0, 0, NULL); -INSERT INTO SystemSettings VALUES(DEFAULT, 'CheckStopWords', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_CheckStopWords', 'checkbox', '', '', 10.07, 0, 0, NULL); -INSERT INTO SystemSettings VALUES(DEFAULT, 'UseVisitorTracking', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_UseVisitorTracking', 'checkbox', '', '', 10.08, 0, 0, NULL); -INSERT INTO SystemSettings VALUES(DEFAULT, 'cms_DefaultTrackingCode', '', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_DefaultTrackingCode', 'textarea', NULL, 'COLS=40 ROWS=5', 10.09, 0, 0, NULL); -INSERT INTO SystemSettings VALUES(DEFAULT, 'PerformExactSearch', '1', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_PerformExactSearch', 'checkbox', '', '', '10.10', 0, 0, 'hint:la_config_PerformExactSearch'); +INSERT INTO SystemSettings VALUES(DEFAULT, 'FatalErrorTemplate', 'error_fatal', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_FatalErrorTemplate', 'text', '', '', 10.05, 0, 0, null); +INSERT INTO SystemSettings VALUES(DEFAULT, 'UsePageHitCounter', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_UsePageHitCounter', 'checkbox', '', '', 10.06, 0, 0, NULL); +INSERT INTO SystemSettings VALUES(DEFAULT, 'ForceImageMagickResize', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_ForceImageMagickResize', 'checkbox', '', '', 10.07, 0, 0, NULL); +INSERT INTO SystemSettings VALUES(DEFAULT, 'CheckStopWords', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_CheckStopWords', 'checkbox', '', '', 10.08, 0, 0, NULL); +INSERT INTO SystemSettings VALUES(DEFAULT, 'UseVisitorTracking', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_UseVisitorTracking', 'checkbox', '', '', 10.09, 0, 0, NULL); +INSERT INTO SystemSettings VALUES(DEFAULT, 'cms_DefaultTrackingCode', '', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_DefaultTrackingCode', 'textarea', NULL, 'COLS=40 ROWS=5', '10.10', 0, 0, NULL); +INSERT INTO SystemSettings VALUES(DEFAULT, 'PerformExactSearch', '1', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_PerformExactSearch', 'checkbox', '', '', 10.11, 0, 0, 'hint:la_config_PerformExactSearch'); INSERT INTO SystemSettings VALUES(DEFAULT, 'MaintenanceMessageFront', 'Website is currently undergoing the upgrades. Please come back shortly!', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsMaintenance', 'la_config_MaintenanceMessageFront', 'textarea', '', 'style="width: 100%; height: 100px;"', '15.01', 0, 0, 'hint:la_config_MaintenanceMessageFront'); INSERT INTO SystemSettings VALUES(DEFAULT, 'MaintenanceMessageAdmin', 'Website is currently undergoing the upgrades. Please come back shortly!', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsMaintenance', 'la_config_MaintenanceMessageAdmin', 'textarea', '', 'style="width: 100%; height: 100px;"', '15.02', 0, 0, 'hint:la_config_MaintenanceMessageAdmin'); INSERT INTO SystemSettings VALUES(DEFAULT, 'SoftMaintenanceTemplate', 'maintenance', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsMaintenance', 'la_config_SoftMaintenanceTemplate', 'text', '', 'style="width: 200px;"', '15.03', 0, 0, 'hint:la_config_SoftMaintenanceTemplate'); @@ -1040,4 +1041,4 @@ INSERT INTO PromoBlockGroups VALUES (DEFAULT, 'Default Group', UNIX_TIMESTAMP(), '1', '7.00', '0.60', '1', 'fade', ''); INSERT INTO Modules VALUES ('Core', 'core/', 'Intechnic\\InPortal\\Core', 'adm', DEFAULT, 1, 1, '', 0, NULL); -INSERT INTO Modules VALUES ('In-Portal', 'core/', 'Intechnic\\InPortal\\Core', 'm', DEFAULT, 1, 0, '', 0, NULL); \ No newline at end of file +INSERT INTO Modules VALUES ('In-Portal', 'core/', 'Intechnic\\InPortal\\Core', 'm', DEFAULT, 1, 0, '', 0, NULL); Index: core/install/upgrades.sql =================================================================== --- core/install/upgrades.sql +++ core/install/upgrades.sql @@ -3021,4 +3021,14 @@ ALTER TABLE SiteDomains CHANGE SSLUrl SSLDomainName VARCHAR(255) NOT NULL DEFAULT '', CHANGE SSLUrlUsesRegExp SSLDomainNameUsesRegExp TINYINT(4) NOT NULL DEFAULT '0'; -DELETE FROM UserPersistentSessionData WHERE VariableName = 'site-domain[Default]columns_.'; \ No newline at end of file +DELETE FROM UserPersistentSessionData WHERE VariableName = 'site-domain[Default]columns_.'; + +UPDATE SystemSettings +SET VariableName = 'NotFoundErrorTemplate' +WHERE VariableName = 'ErrorTemplate'; + +UPDATE SystemSettings +SET DisplayOrder = ROUND(DisplayOrder + 0.01, 2) +WHERE Section = 'in-portal:configure_advanced' and Heading = 'la_section_SettingsWebsite' AND DisplayOrder > 10.04; + +INSERT INTO SystemSettings VALUES (DEFAULT, 'FatalErrorTemplate', 'error_fatal', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_FatalErrorTemplate', 'text', '', '', 10.05, 0, 0, null); Index: core/kernel/managers/url_manager.php =================================================================== --- core/kernel/managers/url_manager.php +++ core/kernel/managers/url_manager.php @@ -492,7 +492,7 @@ $theme_id = $this->Application->GetVar('m_theme'); } - $not_found = $this->Application->ConfigValue('ErrorTemplate'); + $not_found = $this->Application->ConfigValue('NotFoundErrorTemplate'); $vars['t'] = $not_found ? $not_found : 'error_notfound'; $themes_helper = $this->Application->recallObject('ThemesHelper'); @@ -524,4 +524,4 @@ $this->Application->Done(); exit; } -} \ No newline at end of file +} Index: core/kernel/utility/logger.php =================================================================== --- core/kernel/utility/logger.php +++ core/kernel/utility/logger.php @@ -212,6 +212,13 @@ protected $_ignoreInTrace = Array ('logger.php', 'db_connection.php', 'db_load_balancer.php'); /** + * True when application is going to shutdown. + * + * @var boolean + */ + public $applicationShutdown = false; + + /** * Create event log * * @param Array $methods_to_call List of invokable kLogger class method with their parameters (if any) @@ -767,6 +774,7 @@ */ public function catchLastError() { + $this->applicationShutdown = true; $this->write(); $last_error = error_get_last(); @@ -1150,10 +1158,29 @@ protected function _displayFatalError($errno) { $errno = $this->_getFatalErrorTitle($errno); + $message = $this->_logger->toString($errno); - $margin = $this->Application->isAdmin ? '8px' : 'auto'; - echo '
' . $this->_logger->toString($errno) . '
'; + if ( PHP_SAPI == 'cli' || $this->_logger->applicationShutdown || $this->Application->isDebugMode(false) ) { + $css_properties = array( + 'background-color: #FEFFBF', + 'margin: ' . ($this->Application->isAdmin ? '8px' : 'auto'), + 'padding: 10px', + 'border: 2px solid red', + 'text-align: center', + ); + echo '
' . $message . '
'; - exit; + exit; + } + else { + $this->Application->StoreVar('FatalErrorMessage', $message); + + if ( $this->Application->isAdmin ) { + $this->Application->Redirect('error_fatal'); + } + else { + $this->Application->Redirect($this->Application->ConfigValue('FatalErrorTemplate')); + } + } } /** @@ -1364,4 +1391,4 @@ return $res; } -} \ No newline at end of file +} Index: core/units/admin/admin_config.php =================================================================== --- core/units/admin/admin_config.php +++ core/units/admin/admin_config.php @@ -14,79 +14,80 @@ defined('FULL_PATH') or die('restricted access!'); -$config = Array ( +$config = array( 'Prefix' => 'adm', - 'ItemClass' => Array ('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'), - 'EventHandlerClass' => Array ('class' => 'AdminEventsHandler', 'file' => 'admin_events_handler.php', 'build_event' => 'OnBuild'), - 'TagProcessorClass' => Array ('class' => 'AdminTagProcessor', 'file' => 'admin_tag_processor.php', 'build_event' => 'OnBuild'), + 'ItemClass' => array('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'), + 'EventHandlerClass' => array('class' => 'AdminEventsHandler', 'file' => 'admin_events_handler.php', 'build_event' => 'OnBuild'), + 'TagProcessorClass' => array('class' => 'AdminTagProcessor', 'file' => 'admin_tag_processor.php', 'build_event' => 'OnBuild'), 'AutoLoad' => false, // because defaults to `true` - 'QueryString' => Array ( + 'QueryString' => array( 1 => 'event', ), - 'ScheduledTasks' => Array ( - 'optimize_performance' => Array ('EventName' => 'OnOptimizePerformance', 'RunSchedule' => '0 0 * * *'), - 'pre_resize_images' => Array ('EventName' => 'OnPreResizeImages', 'RunSchedule' => '0 * * * *'), + 'ScheduledTasks' => array( + 'optimize_performance' => array('EventName' => 'OnOptimizePerformance', 'RunSchedule' => '0 0 * * *'), + 'pre_resize_images' => array('EventName' => 'OnPreResizeImages', 'RunSchedule' => '0 * * * *'), ), - 'TitlePresets' => Array ( - 'tree_root' => Array ('format' => '!la_section_overview!'), - 'tree_reports' => Array ('format' => '!la_section_overview!'), - 'tree_system' => Array ('format' => '!la_section_overview!'), - 'tree_tools' => Array ('format' => '!la_section_overview!'), - 'system_tools' => Array ('format' => '!la_title_SystemTools!'), + 'TitlePresets' => array( + 'tree_root' => array('format' => '!la_section_overview!'), + 'tree_reports' => array('format' => '!la_section_overview!'), + 'tree_system' => array('format' => '!la_section_overview!'), + 'tree_tools' => array('format' => '!la_section_overview!'), + 'system_tools' => array('format' => '!la_title_SystemTools!'), - 'backup' => Array ('format' => '!la_performing_backup! - !la_Step! '), - 'import' => Array ('format' => '!la_performing_import! - !la_Step! '), - 'restore' => Array ('format' => '!la_performing_restore! - !la_Step! '), - 'server_info' => Array ('format' => '!la_tab_ServerInfo!'), - 'sql_query' => Array ('format' => '!la_tab_QueryDB!'), + 'backup' => array('format' => '!la_performing_backup! - !la_Step! '), + 'import' => array('format' => '!la_performing_import! - !la_Step! '), + 'restore' => array('format' => '!la_performing_restore! - !la_Step! '), + 'server_info' => array('format' => '!la_tab_ServerInfo!'), + 'sql_query' => array('format' => '!la_tab_QueryDB!'), - 'no_permissions' => Array ('format' => '!la_title_NoPermissions!'), + 'no_permissions' => array('format' => '!la_title_NoPermissions!'), + 'error_fatal' => array('format' => '!la_title_ServerError!'), - 'column_picker' => Array ('format' => '!la_title_ColumnPicker!'), - 'csv_export' => Array ('format' => '!la_title_CSVExport!'), - 'csv_import' => Array ('format' => '!la_title_CSVImport!'), + 'column_picker' => array('format' => '!la_title_ColumnPicker!'), + 'csv_export' => array('format' => '!la_title_CSVExport!'), + 'csv_import' => array('format' => '!la_title_CSVImport!'), ), - 'PermSection' => Array ('main' => 'in-portal:service'), + 'PermSection' => array('main' => 'in-portal:service'), - 'Sections' => Array ( - 'in-portal:root' => Array ( + 'Sections' => array( + 'in-portal:root' => array( 'parent' => null, 'icon' => 'site', 'label' => 'SITE_NAME', - 'url' => Array ('t' => 'index', 'pass' => 'm'), - 'permissions' => Array ('view'), + 'url' => array('t' => 'index', 'pass' => 'm'), + 'permissions' => array('view'), 'priority' => 0, 'container' => true, 'type' => stTREE, 'icon_module' => 'core', ), - 'in-portal:service' => Array ( + 'in-portal:service' => array( 'parent' => 'in-portal:tools', 'icon' => 'service', 'label' => 'la_tab_Service', - 'url' => Array ('t' => 'tools/system_tools', 'pass' => 'm'), - 'permissions' => Array ('view', 'edit'), + 'url' => array('t' => 'tools/system_tools', 'pass' => 'm'), + 'permissions' => array('view', 'edit'), 'priority' => 6, 'type' => stTREE, ), ), - 'ListSQLs' => Array ( - '' => '', // to prevent warning + 'ListSQLs' => array( + '' => '', // To prevent warning. ), - 'Fields' => Array (), // we need empty array because kernel doesn't use virtual fields else - 'VirtualFields' => Array ( - 'ImportFile' => Array ( + 'Fields' => array(), // We need empty array because kernel doesn't use virtual fields else. + 'VirtualFields' => array( + 'ImportFile' => array( 'type' => 'string', 'formatter' => 'kUploadFormatter', 'max_size' => MAX_UPLOAD_SIZE, // in Bytes ! - 'error_msgs' => Array ( + 'error_msgs' => array( 'cant_open_file' => '!la_error_CantOpenFile!', 'no_matching_columns' => '!la_error_NoMatchingColumns!', ), @@ -96,6 +97,6 @@ 'default' => null, ), - 'Content' => Array ('type' => 'string', 'default' => ''), + 'Content' => array('type' => 'string', 'default' => ''), ), -); \ No newline at end of file +); Index: core/units/categories/categories_event_handler.php =================================================================== --- core/units/categories/categories_event_handler.php +++ core/units/categories/categories_event_handler.php @@ -1781,7 +1781,7 @@ } } else { - $not_found = $this->Application->ConfigValue('ErrorTemplate'); + $not_found = $this->Application->ConfigValue('NotFoundErrorTemplate'); $real_t = $not_found ? $not_found : 'error_notfound'; $themes_helper = $this->Application->recallObject('ThemesHelper'); Index: themes/advanced/_install/english.lang =================================================================== --- themes/advanced/_install/english.lang +++ themes/advanced/_install/english.lang @@ -307,6 +307,7 @@ Q2xpY2sgaGVyZSBpZiB5b3VyIGJyb3dzZXIgZG9lcyBub3QgYXV0b21hdGljYWxseSByZWRpcmVjdCB5b3Uu VGhhbmsgeW91IGZvciByZWdpc3RlcmluZyBvbiBvdXIgd2Vic2l0ZS4gWW91IGNhbiBhY3RpdmF0ZSB5b3VyIHJlZ2lzdHJhdGlvbiB1c2luZyBsaW5rIHNlbnQgdG8geW91IGJ5IGVtYWlsLg== VGhhbmsgeW91IGZvciByZWdpc3RlcmluZyBvbiBvdXIgd2Vic2l0ZS4gWW91ciByZWdpc3RyYXRpb24gaXMgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4gWW91IHdpbGwgZ2V0IGEgc2VwYXJhdGUgZW1haWwgb25jZSBpdCdzIGFjdGl2YXRlZC4= + T3Bwcywgc29tZXRoaW5nIHdlbnQgd3JvbmcgLi4u VGhhbmsgeW91IGZvciBzdWdnZXN0aW5nIHlvdXIgY2F0ZWdvcnku U3VnZ2VzdGVkIGNhdGVnb3J5IGlzIHBlbmRpbmcgZm9yIEFkbWluaXN0cmF0aXZlIGFwcHJvdmFsIA== VGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHlvdXIgcmVxdWVzdC4= @@ -354,6 +355,7 @@ Q29tbWVudHM= U2VhcmNoIEJveA== U2VhcmNoIFJlc3VsdHM= + U2VydmVyIEVycm9y U2l0ZSBtYXA= U3Vic2NyaXB0aW9uIENvbmZpcm1hdGlvbg== U3Vic2NyaXB0aW9uIENvbmZpcm1lZA== @@ -390,4 +392,4 @@ WklQIENvZGU= - \ No newline at end of file + Index: themes/advanced/error_fatal.tpl =================================================================== --- themes/advanced/error_fatal.tpl +++ themes/advanced/error_fatal.tpl @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+ + + + +

+ +

+
+
+
+
+ + + + + Index: themes/default/_install/english.lang =================================================================== --- themes/default/_install/english.lang +++ themes/default/_install/english.lang @@ -15,10 +15,12 @@ SG9tZQ== TGFuZ3VhZ2Ugc2VsZWN0aW9uOg== JnF1b3Q7SW4tUG9ydGFsIC0gU2V0dGluZyBFeGNlbGxlbmNlPGJyLz4NCmluIENvbnRlbnQgTWFuYWdlbWVudCZxdW90Ow== + T3Bwcywgc29tZXRoaW5nIHdlbnQgd3JvbmcgLi4u VGhhbmsgeW91IGZvciBjb250YWN0aW5nIHdpdGggdXMh QWRkcmVzcw== TWFpbnRlbmFuY2UgTW9kZQ== SW5mb3JtYXRpb24gUmVxdWVzdCBGb3Jt + U2VydmVyIEVycm9y - \ No newline at end of file + Index: themes/default/error_fatal.tpl =================================================================== --- themes/default/error_fatal.tpl +++ themes/default/error_fatal.tpl @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + Index: themes/simple/_install/english.lang =================================================================== --- themes/simple/_install/english.lang +++ themes/simple/_install/english.lang @@ -304,8 +304,9 @@ NDA0LiBQYWdlIG5vdCBmb3VuZCBvbiB0aGUgc2VydmVyLg== UGxlYXNlIGNvbmZpcm0gdGhhdCB5b3Ugd2FudCB0byByZXNldCB5b3VyIHBhc3N3b3JkLg== VGhhbmsgeW91IGZvciByZWdpc3RlcmluZyBvbiBvdXIgd2Vic2l0ZS4gWW91IGNhbiBhY3RpdmF0ZSB5b3VyIHJlZ2lzdHJhdGlvbiB1c2luZyBsaW5rIHNlbnQgdG8geW91IGJ5IGVtYWlsLg== - VGhhbmsgeW91IGZvciByZWdpc3RlcmluZyBvbiBvdXIgd2Vic2l0ZS4gWW91ciByZWdpc3RyYXRpb24gaXMgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4gWW91IHdpbGwgZ2V0IGEgc2VwYXJhdGUgZW1haWwgb25jZSBpdCdzIGFjdGl2YXRlZC4= - VGhhbmsgeW91IGZvciBzdWdnZXN0aW5nIHlvdXIgY2F0ZWdvcnku + VGhhbmsgeW91IGZvciByZWdpc3RlcmluZyBvbiBvdXIgd2Vic2l0ZS4gWW91ciByZWdpc3RyYXRpb24gaXMgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4gWW91IHdpbGwgZ2V0IGEgc2VwYXJhdGUgZW1haWwgb25jZSBpdCdzIGFjdGl2YXRlZC4= + T3Bwcywgc29tZXRoaW5nIHdlbnQgd3JvbmcgLi4u + VGhhbmsgeW91IGZvciBzdWdnZXN0aW5nIHlvdXIgY2F0ZWdvcnku U3VnZ2VzdGVkIGNhdGVnb3J5IGlzIHBlbmRpbmcgZm9yIEFkbWluaXN0cmF0aXZlIGFwcHJvdmFsIA== VGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHlvdXIgcmVxdWVzdC4= VGhhbmsgeW91IGZvciBzdWJzY3JpYmluZyB0byBvdXIgbWFpbGluZyBsaXN0 @@ -348,6 +349,7 @@ UmVsYXRlZCBTZWFyY2hlcw== U2VhcmNoIEJveA== U2VhcmNoIFJlc3VsdHM= + U2VydmVyIEVycm9y U2l0ZSBtYXA= U3Vic2NyaXB0aW9uIENvbmZpcm1hdGlvbg== U3Vic2NyaXB0aW9uIENvbmZpcm1lZA== @@ -387,4 +389,4 @@ WklQIENvZGU= - \ No newline at end of file + Index: themes/simple/error_fatal.tpl =================================================================== --- themes/simple/error_fatal.tpl +++ themes/simple/error_fatal.tpl @@ -0,0 +1,30 @@ + + + + + + + + +
+ +
+
+
+

+ +
+
+
+ +
+
+ + + + +