Files
moodle/lib/setup.php
T
martin 8223d27193 Widespread changes throughout Moodle to make sure it works on
servers that have register_globals turned off (this is the
default setting on newer version of PHP).

In fact it's partly a hack that globalises all GET, POST, FILES
AND COOKIE variables.  Unfortunately though the SESSION and
USER global session variables are only available as $_SESSION["USER"]
and $_SESSION["SESSION"], which is cumbersome to use.

So, for every request I now make a copy of these two session variables
into $USER and $SESSION.  Whenever I update them thoughout Moodle I
now have to call save_session("USER") which copies them back to the
session variable.  This seems to be working well now.

Because I'm using $_SESSION etc now this will raise
the required minimum version of PHP to 4.1.0
2002-08-06 17:23:45 +00:00

85 lines
2.5 KiB
PHP

<?PHP // $Id$
//
// setup.php
//
// Sets up sessions, connects to databases and so on
//
// Normally this is only called by the main config.php file
//
// Normally this file does not need to be edited.
//
// XXX this might need some rationalisation
//
//////////////////////////////////////////////////////////////
// Error reporting and bug hunting
error_reporting(7); // use 0=none 7=normal 15=all
// Default editing time for posts and the like (in seconds)
$CFG->maxeditingtime = 1800;
// Location of standard files
$CFG->templatedir = "$CFG->dirroot/templates";
$CFG->imagedir = "$CFG->wwwroot/images";
$CFG->wordlist = "$CFG->libdir/wordlist.txt";
$CFG->javascript = "$CFG->libdir/javascript.php";
$CFG->stylesheet = "$CFG->wwwroot/theme/$CFG->theme/styles.css";
$CFG->header = "$CFG->dirroot/theme/$CFG->theme/header.html";
$CFG->footer = "$CFG->dirroot/theme/$CFG->theme/footer.html";
// Set language/locale of printed times (must be supported by OS)
if ($CFG->locale) {
setlocale ("LC_TIME", $CFG->locale);
} else {
setlocale ("LC_TIME", $CFG->lang);
}
// The following is a big hack to get around the problem of PHP installations
// that have "register_globals" turned off (default since PHP 4.1.0).
// Eventually I'll go through and upgrade all the code to make this unnecessary
if (isset($_REQUEST)) {
extract($_REQUEST);
}
if (isset($_SERVER)) {
extract($_SERVER);
}
// Load up theme variables (colours etc)
require("$CFG->dirroot/theme/$CFG->theme/config.php");
// Load up standard libraries
require("$CFG->libdir/weblib.php"); // Standard web page functions
require("$CFG->libdir/adodb/adodb.inc.php"); // Database access functions
require("$CFG->libdir/adodb/tohtml.inc.php");// Database display functions
require("$CFG->libdir/moodlelib.php"); // Various Moodle functions
// Load up global environment variables
class object {};
session_start();
if (! isset($_SESSION["SESSION"])) { $_SESSION["SESSION"] = new object; }
if (! isset($_SESSION["USER"])) { $_SESSION["USER"] = new object; }
extract($_SESSION); // Makes $SESSION and $USER available for read-only access
$FULLME = qualified_me();
$ME = strip_querystring($FULLME);
// Connect to the database using adodb
ADOLoadCode($CFG->dbtype);
$db = &ADONewConnection();
$db->PConnect($CFG->dbhost,$CFG->dbuser,$CFG->dbpass,$CFG->dbname);
?>