- ADD_FATAL(LANG_DOWN_MAINTAINCE);
-}
- elseif (($link) && ($db) && (sizeof($FATAL) == 0))
-{
- // Did we found the module listed in allowed modules and are we successfully connected?
- $check = CHECK_MODULE($GLOBALS['module']);
- switch ($check)
- {
- case "admin_only":
- case "mem_only":
- case "done":
- // Construct module name
- define('__MODULE', sprintf("%sinc/modules/%s.php", PATH, $GLOBALS['module']));
-
- // Does the module exists on local file system?
- if (((file_exists(__MODULE)) || (!empty($URL))) && (sizeof($FATAL) == 0))
- {
- // Module is valid, active and located on the local disc...
- $MOD_VALID = true;
- }
- elseif (!empty($URL))
- {
- // An URL was specified so we load the de-referrer module
- include (PATH."inc/loader.php");
- }
- elseif (sizeof($FATAL) == 0)
- {
- ADD_FATAL(LANG_MOD_REG_404_1.$GLOBALS['module'].LANG_MOD_REG_404_2);
- }
- break;
-
- case "404":
- ADD_FATAL(LANG_MOD_REG_404_1.$GLOBALS['module'].LANG_MOD_REG_404_2);
- break;
-
- case "locked":
- if (!file_exists(PATH."inc/modules/".$GLOBALS['module'].".php"))
- {
- // Module does addionally not exists
- ADD_FATAL(LANG_MOD_REG_404_1.$GLOBALS['module'].LANG_MOD_REG_404_2);
- }
- ADD_FATAL(LANG_MOD_LOCKED_1.$GLOBALS['module'].LANG_MOD_LOCKED_2);
- break;
-
- default:
- ADD_FATAL(LANG_MOD_UNKNOWN_1.$check.LANG_MOD_UNKNOWN_2);
- break;
- }
-}
- elseif (sizeof($FATAL) == 0)
-{
- // MySQL problems!
- ADD_FATAL(MYSQL_ERRORS);
+ 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) {
+ 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'])) && (!ifFatalErrorsDetected())) {
+ // Module is valid, active and located on the local disc...
+ $isModuleValid = true;
+ } elseif (!ifFatalErrorsDetected()) {
+ // Set HTTP status
+ setHttpStatus('404');
+
+ // Module not found!
+ addFatalMessage(__FILE__, __LINE__, getMaskedMessage('MODULE_REGISTRY_404', getModule()));
+
+ // Set module to error module (non-existent!)
+ setModule('error');
+ }
+ break;
+
+ case '404':
+ // Set HTTP status
+ setHttpStatus('404');
+
+ // Add fatal message
+ addFatalMessage(__FILE__, __LINE__, getMaskedMessage('MODULE_REGISTRY_404', getModule()));
+ break;
+
+ case 'locked':
+ // Set HTTP status
+ setHttpStatus('403');
+
+ if (!isIncludeReadable($GLOBALS['module_inc'])) {
+ // Set HTTP status
+ setHttpStatus('404');
+
+ // Module does addionally not exists
+ addFatalMessage(__FILE__, __LINE__, getMaskedMessage('MODULE_REGISTRY_404', getModule()));
+ } // END - if
+
+ // Add fatal message
+ addFatalMessage(__FILE__, __LINE__, getMaskedMessage('MODULE_IS_LOCKED', getModule()));
+ break;
+
+ default:
+ // Unknown module status
+ logDebugMessage(__FILE__, __LINE__, sprintf("Unknown status %s return from module check. Module=%s", $check, getModule()));
+ addFatalMessage(__FILE__, __LINE__, getMaskedMessage('UNKNOWN_MODULE_STATUS', $check));
+ break;
+ } // END - switch
+} elseif (!ifFatalErrorsDetected()) {
+ // MySQL problems detected
+ addFatalMessage(__FILE__, __LINE__, '{--MYSQL_ERRORS--}');