X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=modules.php;h=4034faef7d39d43af39461c91a9ae1c640c3f240;hp=b8b9705bfe467c8eb0bbc23d48976bf4bedc1347;hb=82ba828dcdb063ea3292fad79008469d6423d223;hpb=3f51c40f4fede87228216f9285b745a339e3891d diff --git a/modules.php b/modules.php index b8b9705bfe..4034faef7d 100644 --- a/modules.php +++ b/modules.php @@ -17,7 +17,7 @@ * Needs to be in all Files and every File needs "svn propset * * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * - * Copyright (c) 2003 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -37,7 +37,7 @@ ************************************************************************/ // XDEBUG call -//xdebug_start_trace(); +//* DEBUG: */ xdebug_start_trace(); // Load security stuff here require('inc/libs/security_functions.php'); @@ -52,112 +52,76 @@ $GLOBALS['module'] = ''; // Needed include files require('inc/config-global.php'); +// Set content type +setContentType('text/html'); + // 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 - destroyUserSession(); - - // Kill userid - setUserId(0); - } - - // Free memory - SQL_FREERESULT($result); -} elseif (IS_ADMIN()) { - // Admin is there - $username = getMessage('_ADMIN'); -} else { - // He's a guest, hello there... ;-) - $username = getMessage('_GUEST'); -} +if (!isGetRequestElementSet('module')) setRequestGetElement('module', 'index'); // The header file 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; +$URL = ''; +$check = 'failed'; + +// Is the maintenance mode active or goes all well? +if ((isExtensionActive('maintenance')) && (getConfig('maintenance') == 'Y') && (!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)) { // Construct module name - define('__MODULE', sprintf("inc/modules/%s.php", SQL_ESCAPE($GLOBALS['module']))); + $GLOBALS['module_inc'] = sprintf("inc/modules/%s.php", getModule()); - // Did we found the module listed in allowed modules and are we successfully connected? - $check = checkModulePermissions($GLOBALS['module']); - switch ($check) - { + // 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 ((isFileReadable(constant('__MODULE'))) && (getTotalFatalErrors() == 0)) { + if ((isIncludeReadable($GLOBALS['module_inc'])) && (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 - redirectToUrl(DEREFERER($URL)); + $isModuleValid = true; } elseif (getTotalFatalErrors() == 0) { - addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), $GLOBALS['module'])); + // Module not found! + addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), getModule())); } break; case '404': - addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), $GLOBALS['module'])); + addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), getModule())); break; case 'locked': - if (!isFileReadable(constant('__MODULE'))) { + if (!isIncludeReadable($GLOBALS['module_inc'])) { // Module does addionally not exists - addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), $GLOBALS['module'])); + addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), getModule())); } // END - if // Add fatal message - addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_LOCKED'), $GLOBALS['module'])); + 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, $GLOBALS['module'])); + logDebugMessage(__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; - } + } // END - switch } elseif (getTotalFatalErrors() == 0) { // MySQL problems! addFatalMessage(__FILE__, __LINE__, getMessage('MYSQL_ERRORS')); } -if (($MOD_VALID) && (defined('__MODULE'))) { - ///////////////////////////////////////////// - // Main including line DO NOT REMOVE/EDIT! // - ///////////////////////////////////////////// - // +if (($isModuleValid === true) && (isset($GLOBALS['module_inc']))) { // Everything is okay so we can load the module - loadIncludeOnce(constant('__MODULE')); + loadIncludeOnce($GLOBALS['module_inc']); } // END - if -// Next-to-end add the footer +// Add the footer (this will call shutdown()) loadIncludeOnce('inc/footer.php'); -// +// [EOF] ?>