X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=modules.php;h=71a861f0cd1b0be15ef48d4a2cfc81bd0f39ef7d;hp=1019638b45a0e932a7e34e120ffb2c8e35ea7bd5;hb=5b37b49f283ef1c67015e626e483f21b837c36eb;hpb=c7f21c9eb494d8466447c1a199ec5621440d7ac8 diff --git a/modules.php b/modules.php index 1019638b45..71a861f0cd 100644 --- a/modules.php +++ b/modules.php @@ -10,7 +10,12 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Hauptladedatei. Laedt alle benoetigten Dateien * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $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 - 2008 by Roland Haeder * * For more information visit: http://www.mxchange.org * @@ -31,139 +36,127 @@ * MA 02110-1301 USA * ************************************************************************/ -// APD call (if you have this apache extension and want to debug this script for us) -//apd_set_pprof_trace(); +// XDEBUG call +//xdebug_start_trace(); -// Load security stuff here (Oh, I hope this is not unsecure? Am I paranoia??? ;-) ) -require_once ("inc/libs/security_functions.php"); +// Load security stuff here +require('inc/libs/security_functions.php'); // Init "action" and "what" -global $what, $action, $startTime; $GLOBALS['startTime'] = microtime(true); -$CSS = 0; -$GLOBALS['what'] = ""; $GLOBALS['action'] = ""; -$GLOBALS['userid'] = 0; - -if (!empty($_GET['action'])) $GLOBALS['action'] = secureString($_GET['action']); -if (!empty($_GET['what'])) $GLOBALS['what'] = secureString($_GET['what']); -if (empty($_GET['module'])) $_GET['module'] = "index"; - -// Secure the module name (very important line!) -$GLOBALS['module'] = htmlentities(strip_tags($_GET['module']), ENT_QUOTES); +$GLOBALS['output_mode'] = 0; +$GLOBALS['what'] = ''; +$GLOBALS['action'] = ''; +$GLOBALS['module'] = ''; // Needed include files -require ("inc/config.php"); +require('inc/config-global.php'); + +// Fix missing module to 'index' +if (!REQUEST_ISSET_GET('module')) REQUEST_SET_GET('module', 'index'); // Check if logged in -if (IS_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=%d LIMIT 1", - array($GLOBALS['userid']), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) - { + $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; - - // Update only cookies and no login data! - UPDATE_LOGIN_DATA(false); - } - else - { - - // Hmmm, logged in and no valid cookies??? - $username = ""._UNKNOWN.""; + $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()) -{ - $username = _ADMIN; -} - else -{ +} elseif (IS_ADMIN()) { + // Admin is there + $username = getMessage('_ADMIN'); +} else { // He's a guest, hello there... ;-) - $username = _GUEST; + $username = getMessage('_GUEST'); } // The header file -include (PATH."inc/header.php"); +loadIncludeOnce('inc/header.php'); // Modules are by default not valid! -$MOD_VALID = false; $check = "failed"; -if ((!empty($CONFIG['maintenance'])) && ($CONFIG['maintenance'] == 'Y') && (!IS_ADMIN()) && ($GLOBALS['module'] != "admin")) -{ +$MOD_VALID = false; $check = 'failed'; +if ((getConfig('maintenance') == 'Y') && (!IS_ADMIN()) && ($GLOBALS['module'] != 'admin')) { // Maintain mode is active and you are no admin - ADD_FATAL(LANG_DOWN_MAINTAINCE); -} - elseif (($link) && ($db) && (sizeof($FATAL) == 0)) -{ + 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']))); + // Did we found the module listed in allowed modules and are we successfully connected? - $check = CHECK_MODULE($GLOBALS['module']); + $check = checkModulePermissions($GLOBALS['module']); switch ($check) { - case "admin_only": - case "mem_only": - case "done": - // Construct module name - define('__MODULE', sprintf(PATH."inc/modules/%s.php", $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; + case 'admin_only': + case 'mem_only': + case 'done': + // Does the module exists on local file system? + if ((isFileReadable(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 + redirectToUrl(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 (!isFileReadable(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; } -} - elseif (sizeof($FATAL) == 0) -{ +} elseif (getTotalFatalErrors() == 0) { // MySQL problems! - ADD_FATAL(MYSQL_ERRORS); + addFatalMessage(__FILE__, __LINE__, getMessage('MYSQL_ERRORS')); } -if ($MOD_VALID) -{ +if (($MOD_VALID) && (defined('__MODULE'))) { ///////////////////////////////////////////// // Main including line DO NOT REMOVE/EDIT! // ///////////////////////////////////////////// // // Everything is okay so we can load the module - include (__MODULE); -} + loadIncludeOnce(constant('__MODULE')); +} // END - if // Next-to-end add the footer -include (PATH."inc/footer.php"); +loadIncludeOnce('inc/footer.php'); // ?>