X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=modules.php;h=2eb272b2be3a3061a5afadc62d8a01efa6f47ad3;hp=f9ecc4756346533bde8646f7a1b9324550eb2d6a;hb=24d88ff55d8797b8624ed0efb6cdfb3cd1e2fa68;hpb=508228c85fba8448d00865b1639cb8cd7a69e457 diff --git a/modules.php b/modules.php index f9ecc47563..2eb272b2be 100644 --- a/modules.php +++ b/modules.php @@ -10,7 +10,7 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Hauptladedatei. Laedt alle benoetigten Dateien * * -------------------------------------------------------------------- * - * $Revision:: 856 $ * + * $Revision:: $ * * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * @@ -39,124 +39,90 @@ // XDEBUG call //xdebug_start_trace(); -// Load security stuff here (Oh, I hope this is not unsecure? Am I paranoia??? ;-) ) -require("inc/libs/security_functions.php"); +// Load security stuff here +require('inc/libs/security_functions.php'); -// Init "action" and "what" +// Init start time $GLOBALS['startTime'] = microtime(true); + +// Init output mode and module $GLOBALS['output_mode'] = 0; -$GLOBALS['what'] = ""; -$GLOBALS['action'] = ""; -$GLOBALS['module'] = ""; +$GLOBALS['module'] = ''; // Needed include files -require("inc/config.php"); - -// Fix missing module to "index" -if (!REQUEST_ISSET_GET(('module'))) REQUEST_SET_GET('module', "index"); - -// Check if logged in -if (IS_MEMBER()) { - // Is still logged in so we welcome him with his name - $result = SQL_QUERY_ESC("SELECT surname, family FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", - array(getUserId()), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) { - // Load surname and family's name and build the username - list($s, $f) = SQL_FETCHROW($result); - $username = $s." ".$f; - - // Additionally admin? - if (IS_ADMIN()) { - // Add it - $username .= " ({--_ADMIN_SHORT--})"; - } // END - if - } else { - // Hmmm, logged in and no valid userid? - $username = "{--_UNKNOWN--}"; - - // Destroy session - destroy_user_session(); - - // Kill userid - setUserId(0); - } +require('inc/config-global.php'); - // Free memory - SQL_FREERESULT($result); -} elseif (IS_ADMIN()) { - // Admin is there - $username = getMessage('_ADMIN'); -} else { - // He's a guest, hello there... ;-) - $username = getMessage('_GUEST'); -} +// Fix missing module to 'index' +if (!REQUEST_ISSET_GET('module')) REQUEST_SET_GET('module', 'index'); // The header file -LOAD_INC_ONCE("inc/header.php"); +loadIncludeOnce('inc/header.php'); // Modules are by default not valid! -$MOD_VALID = false; $check = "failed"; -if ((getConfig('maintenance') == "Y") && (!IS_ADMIN()) && ($GLOBALS['module'] != "admin")) { +$isModuleValid = false; $check = 'failed'; + +// Is the maintenance mode active or goes all well? +if ((EXT_IS_ACTIVE('maintenance')) && (getConfig('maintenance') == 'Y') && (!IS_ADMIN()) && (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)) { // Construct module name - define('__MODULE', sprintf("inc/modules/%s.php", SQL_ESCAPE($GLOBALS['module']))); + $GLOBALS['module_inc'] = sprintf("inc/modules/%s.php", SQL_ESCAPE(getModule())); // Did we found the module listed in allowed modules and are we successfully connected? - $check = checkModulePermissions($GLOBALS['module']); - switch ($check) - { - case "admin_only": - case "mem_only": - case "done": - // Does the module exists on local file system? - if ((FILE_READABLE(constant('__MODULE'))) && (getTotalFatalErrors() == 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 - LOAD_URL(DEREFERER($URL)); - } elseif (getTotalFatalErrors() == 0) { - addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), $GLOBALS['module'])); - } - break; - - case "404": - addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), $GLOBALS['module'])); - break; - - case "locked": - if (!FILE_READABLE(constant('__MODULE'))) { - // Module does addionally not exists - addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), $GLOBALS['module'])); - } // END - if - - // Add fatal message - addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_LOCKED'), $GLOBALS['module'])); - break; - - default: - DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown status %s return from module check. Module=%s", $check, $GLOBALS['module'])); - addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_UNKNOWN'), $check)); - break; + $check = checkModulePermissions(getModule()); + 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 ((isFileReadable($GLOBALS['module_inc'])) && (getTotalFatalErrors() == 0)) { + // Module is valid, active and located on the local disc... + $isModuleValid = true; + } elseif (!empty($URL)) { + // An URL was specified so we load the de-referrer module + redirectToUrl(DEREFERER($URL)); + } elseif (getTotalFatalErrors() == 0) { + addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), getModule())); + } + break; + + case '404': + addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), getModule())); + break; + + case 'locked': + if (!isFileReadable($GLOBALS['module_inc'])) { + // Module does addionally not exists + addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), getModule())); + } // END - if + + // Add fatal message + addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_LOCKED'), getModule())); + break; + + default: + DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown status %s return from module check. Module=%s", $check, getModule())); + addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_UNKNOWN'), $check)); + break; } } elseif (getTotalFatalErrors() == 0) { // MySQL problems! addFatalMessage(__FILE__, __LINE__, getMessage('MYSQL_ERRORS')); } -if (($MOD_VALID) && (defined('__MODULE'))) { +if (($isModuleValid === true) && (isset($GLOBALS['module_inc']))) { ///////////////////////////////////////////// // Main including line DO NOT REMOVE/EDIT! // ///////////////////////////////////////////// // // Everything is okay so we can load the module - LOAD_INC_ONCE(constant('__MODULE')); + loadIncludeOnce($GLOBALS['module_inc']); } // END - if // Next-to-end add the footer -LOAD_INC_ONCE("inc/footer.php"); +loadIncludeOnce('inc/footer.php'); // ?>