* 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");
$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']);
-if (empty($_GET['module'])) $_GET['module'] = "index";
// Secure the module name (very important line!)
-$GLOBALS['module'] = htmlentities(strip_tags($_GET['module']), ENT_QUOTES);
+$GLOBALS['module'] = secureString($_GET['module']);
// Needed include files
require ("inc/config.php");
list($s, $f) = SQL_FETCHROW($result);
$username = $s." ".$f;
- // Update only cookies and no login data!
- UPDATE_LOGIN_DATA(false);
+ // Additionally admin?
+ if (IS_ADMIN()) {
+ // Add it
+ $username .= " ("._ADMIN_SHORT.")";
+ } // END - if
} else {
-
- // Hmmm, logged in and no valid cookies???
+ // Hmmm, logged in and no valid userid?
$username = "<I>"._UNKNOWN."</I>";
+
+ // Destroy session
+ destroy_user_session();
+
+ // Kill userid
+ $GLOBALS['userid'] = 0;
}
// Free memory
SQL_FREERESULT($result);
} elseif (IS_ADMIN()) {
+ // Admin is there
$username = _ADMIN;
} else {
// He's a guest, hello there... ;-)
case "mem_only":
case "done":
// Construct module name
- define('__MODULE', sprintf("%sinc/modules/%s.php", PATH, $GLOBALS['module']));
+ 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)) {
break;
case "locked":
- if (!FILE_READABLE(PATH."inc/modules/".$GLOBALS['module'].".php"))
- {
+ 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;
}
-}
- elseif (sizeof($FATAL) == 0)
-{
+} elseif (sizeof($FATAL) == 0) {
// MySQL problems!
ADD_FATAL(MYSQL_ERRORS);
}
//
// Everything is okay so we can load the module
include (__MODULE);
-}
+} // END - if
// Next-to-end add the footer
include (PATH."inc/footer.php");