X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=modules.php;h=247d98cd48f0f7b4a63ed123f20d330aa01228f8;hp=7677838a0cb47d3b4362c032073cdb01f9938483;hb=9b8fe454a575a1f000b00bc7ca37eaad6d59d21a;hpb=57227d33e870ec5cd271209c4a978a52b45c2dd6 diff --git a/modules.php b/modules.php index 7677838a0c..247d98cd48 100644 --- a/modules.php +++ b/modules.php @@ -14,10 +14,9 @@ * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * + * Copyright (c) 2009 - 2011 by Mailer Developer Team * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -55,70 +54,81 @@ require('inc/config-global.php'); // Set content type setContentType('text/html'); -// Fix missing module to 'index' -if (!isGetRequestParameterSet('module')) { - // Set element - setGetRequestParameter('module', 'index'); - - // ... and module - setModule('index'); -} // END - if - // The header file loadIncludeOnce('inc/header.php'); // Modules are by default not valid! $isModuleValid = false; -$URL = ''; -$check = 'failed'; + +// Init module state as 'failed' (always failed first) +$moduleState = 'failed'; // Is the maintenance mode active or goes all well? -if ((isExtensionActive('maintenance')) && (getConfig('maintenance') == 'Y') && (!isAdmin()) && (getModule() != 'admin')) { +if ((isExtensionActive('maintenance')) && (isMaintenanceEnabled()) && (!isAdmin()) && (getModule() != 'admin')) { // Maintain mode is active and you are no admin - addFatalMessage(__FILE__, __LINE__, getMessage('LANG_DOWN_MAINTAINCE')); -} elseif ((SQL_IS_LINK_UP()) && (getTotalFatalErrors() == '0')) { + addFatalMessage(__FILE__, __LINE__, '{--MAILER_DOWN_FOR_MAINTENANCE--}'); +} elseif ((SQL_IS_LINK_UP()) && (!ifFatalErrorsDetected())) { // Construct module name $GLOBALS['module_inc'] = sprintf("inc/modules/%s.php", getModule()); // Check module permission (again) - $check = checkModulePermissions(); - switch ($check) { + $moduleState = checkModulePermissions(); + + // Which permission/error state do we have? + switch ($moduleState) { case 'cache_miss': // The cache is gone case 'admin_only': // Admin-only access case 'mem_only': // Member-only access case 'done': // All fine! // Does the module exists on local file system? - if ((isIncludeReadable($GLOBALS['module_inc'])) && (getTotalFatalErrors() == '0')) { + if ((isIncludeReadable($GLOBALS['module_inc'])) && (!ifFatalErrorsDetected())) { // Module is valid, active and located on the local disc... $isModuleValid = true; - } elseif (getTotalFatalErrors() == '0') { - // Module not found! - addFatalMessage(__FILE__, __LINE__, getMaskedMessage('LANG_MOD_REG_404', getModule())); + } elseif (!ifFatalErrorsDetected()) { + // Set HTTP status + setHttpStatus('404'); + + // Module not found + addFatalMessage(__FILE__, __LINE__, '{--MODULE_REGISTRY_404--}'); + + // Set module to error module (non-existent!) + setModule('error'); } break; case '404': - addFatalMessage(__FILE__, __LINE__, getMaskedMessage('LANG_MOD_REG_404', getModule())); + // Set HTTP status + setHttpStatus('404'); + + // Add fatal message + addFatalMessage(__FILE__, __LINE__, '{--MODULE_REGISTRY_404--}'); break; case 'locked': + // Set HTTP status + setHttpStatus('403 FORBIDDEN'); + if (!isIncludeReadable($GLOBALS['module_inc'])) { + // Set HTTP status again + setHttpStatus('404 NOT FOUND'); + // Module does addionally not exists - addFatalMessage(__FILE__, __LINE__, getMaskedMessage('LANG_MOD_REG_404', getModule())); + addFatalMessage(__FILE__, __LINE__, '{--MODULE_REGISTRY_404--}'); } // END - if // Add fatal message - addFatalMessage(__FILE__, __LINE__, getMaskedMessage('LANG_MOD_REG_LOCKED', getModule())); + addFatalMessage(__FILE__, __LINE__, '{--MODULE_REGISTRY_IS_LOCKED--}'); break; default: - logDebugMessage(__FILE__, __LINE__, sprintf("Unknown status %s return from module check. Module=%s", $check, getModule())); - addFatalMessage(__FILE__, __LINE__, getMaskedMessage('LANG_MOD_REG_UNKNOWN', $check)); + // Unknown module status + logDebugMessage(__FILE__, __LINE__, sprintf("Unknown status %s return from module check. Module=%s", $moduleState, getModule())); + addFatalMessage(__FILE__, __LINE__, getMaskedMessage('UNKNOWN_MODULE_STATUS', $moduleState)); break; } // END - switch -} elseif (getTotalFatalErrors() == '0') { - // MySQL problems! - addFatalMessage(__FILE__, __LINE__, getMessage('MYSQL_ERRORS')); +} elseif (!ifFatalErrorsDetected()) { + // SQL problems detected + addFatalMessage(__FILE__, __LINE__, '{--MYSQL_ERRORS--}'); } if (($isModuleValid === true) && (isset($GLOBALS['module_inc']))) {