* -------------------------------------------------------------------- *
* 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 *
// 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;
+// Init start time
$GLOBALS['startTime'] = microtime(true);
-$CSS = 0;
-$GLOBALS['what'] = ""; $GLOBALS['action'] = "";
-$GLOBALS['userid'] = 0;
-
-// Fix missing module to "index"
-if (empty($_GET['module'])) $_GET['module'] = "index";
-// Secure action/what if present
-if (!empty($_GET['action'])) $GLOBALS['action'] = secureString($_GET['action']);
-if (!empty($_GET['what'])) $GLOBALS['what'] = secureString($_GET['what']);
-
-// Secure the module name (very important line!)
-$GLOBALS['module'] = secureString($_GET['module']);
+// Init output mode and module
+$GLOBALS['output_mode'] = 0;
+$GLOBALS['module'] = '';
// Needed include files
-require("inc/config.php");
-
-// 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($GLOBALS['userid']), __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 = "<I>"._UNKNOWN."</I>";
-
- // Destroy session
- destroy_user_session();
-
- // Kill userid
- $GLOBALS['userid'] = 0;
- }
+require('inc/config-global.php');
- // Free memory
- SQL_FREERESULT($result);
-} elseif (IS_ADMIN()) {
- // Admin is there
- $username = _ADMIN;
-} else {
- // He's a guest, hello there... ;-)
- $username = _GUEST;
-}
+// Fix missing module to 'index'
+if (!REQUEST_ISSET_GET('module')) REQUEST_SET_GET('module', 'index');
// 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")) {
+$isModuleValid = false; $check = 'failed';
+
+// Is the maintenance mode active or goes all well?
+if ((getConfig('maintenance') == 'Y') && (!IS_ADMIN()) && (getModule() != '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
+ $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 = 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, SQL_ESCAPE($GLOBALS['module'])));
-
- // Does the module exists on local file system?
- if ((FILE_READABLE(__MODULE)) && (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
- LOAD_URL(DEREFERER($URL));
- } 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_READABLE(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);
- } // END - if
-
- // Add fatal message
- ADD_FATAL(LANG_MOD_LOCKED_1.$GLOBALS['module'].LANG_MOD_LOCKED_2);
- break;
-
- default:
- DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown status %s return from module check. Module=%s", $check, $GLOBALS['module']));
- ADD_FATAL(LANG_MOD_UNKNOWN_1.$check.LANG_MOD_UNKNOWN_2);
- 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 (sizeof($FATAL) == 0) {
+} elseif (getTotalFatalErrors() == 0) {
// MySQL problems!
- ADD_FATAL(MYSQL_ERRORS);
+ 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
- include (__MODULE);
+ loadIncludeOnce($GLOBALS['module_inc']);
} // END - if
// Next-to-end add the footer
-include (PATH."inc/footer.php");
+loadIncludeOnce('inc/footer.php');
//
?>