2003-04-14 23:10:40 +00:00
|
|
|
<?
|
|
|
|
|
# The main wiki script and things like database
|
|
|
|
|
# conversion and maintenance scripts all share a
|
|
|
|
|
# common setup of including lots of classes and
|
|
|
|
|
# setting up a few globals.
|
|
|
|
|
#
|
|
|
|
|
|
2003-10-25 08:01:33 +00:00
|
|
|
if( !isset( $wgProfiling ) )
|
|
|
|
|
$wgProfiling = false;
|
|
|
|
|
|
2003-11-18 23:49:11 +00:00
|
|
|
if ( $wgProfiling and (0 == rand() % $wgProfileSampleRate ) ) {
|
2003-11-17 03:00:18 +00:00
|
|
|
include_once( "Profiling.php" );
|
2003-10-25 08:01:33 +00:00
|
|
|
} else {
|
|
|
|
|
function wfProfileIn( $fn ) {}
|
|
|
|
|
function wfProfileOut( $fn = "" ) {}
|
|
|
|
|
function wfGetProfilingOutput( $s, $e ) {}
|
|
|
|
|
function wfProfileClose() {}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$fname = "Setup.php";
|
|
|
|
|
wfProfileIn( $fname );
|
2003-11-20 13:40:30 +00:00
|
|
|
global $wgUseDynamicDates;
|
2003-10-25 08:01:33 +00:00
|
|
|
wfProfileIn( "$fname-includes" );
|
|
|
|
|
|
|
|
|
|
# Only files which are used on every invocation should be included here
|
|
|
|
|
# Otherwise, include them conditionally [TS]
|
2003-11-17 03:00:18 +00:00
|
|
|
include_once( "GlobalFunctions.php" );
|
|
|
|
|
include_once( "Namespace.php" );
|
|
|
|
|
include_once( "Skin.php" );
|
|
|
|
|
include_once( "OutputPage.php" );
|
|
|
|
|
include_once( "User.php" );
|
|
|
|
|
include_once( "LinkCache.php" );
|
|
|
|
|
include_once( "Title.php" );
|
|
|
|
|
include_once( "Article.php" );
|
|
|
|
|
include_once( "MagicWord.php" );
|
|
|
|
|
include_once( "MemCachedClient.inc.php" );
|
|
|
|
|
include_once( "Block.php" );
|
|
|
|
|
include_once( "SearchEngine.php" );
|
|
|
|
|
include_once( "DifferenceEngine.php" );
|
2003-08-11 13:53:20 +00:00
|
|
|
|
2003-10-25 08:01:33 +00:00
|
|
|
wfProfileOut( "$fname-includes" );
|
|
|
|
|
wfProfileIn( "$fname-memcached" );
|
2003-04-14 23:10:40 +00:00
|
|
|
global $wgUser, $wgLang, $wgOut, $wgTitle;
|
|
|
|
|
global $wgArticle, $wgDeferredUpdateList, $wgLinkCache;
|
2003-10-20 13:39:40 +00:00
|
|
|
global $wgMemc, $wgMagicWords, $wgMwRedir, $wgDebugLogFile;
|
2003-08-11 13:53:20 +00:00
|
|
|
|
|
|
|
|
class MemCachedClientforWiki extends MemCachedClient {
|
|
|
|
|
function _debug( $text ) {
|
|
|
|
|
wfDebug( "memcached: $text\n" );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$wgMemc = new MemCachedClientforWiki();
|
|
|
|
|
if( $wgUseMemCached ) {
|
|
|
|
|
$wgMemc->set_servers( $wgMemCachedServers );
|
2003-08-13 11:11:50 +00:00
|
|
|
$wgMemc->set_debug( $wgMemCachedDebug );
|
2003-10-20 13:39:40 +00:00
|
|
|
|
|
|
|
|
# Test it to see if it's working
|
2003-10-21 13:01:49 +00:00
|
|
|
# This is necessary because otherwise wfMsg would be extremely inefficient
|
|
|
|
|
if ( !$wgMemc->set( "test", "", 0 ) ) {
|
2003-10-20 13:39:40 +00:00
|
|
|
wfDebug( "Memcached error: " . $wgMemc->error_string() . "\n" );
|
2003-10-21 13:01:49 +00:00
|
|
|
$wgUseMemCached = false;
|
2003-10-20 13:39:40 +00:00
|
|
|
}
|
2003-08-11 13:53:20 +00:00
|
|
|
}
|
2003-11-21 02:43:12 +00:00
|
|
|
|
2003-10-25 08:01:33 +00:00
|
|
|
wfProfileOut( "$fname-memcached" );
|
|
|
|
|
wfProfileIn( "$fname-misc" );
|
2003-04-14 23:10:40 +00:00
|
|
|
|
2003-11-17 03:00:18 +00:00
|
|
|
include_once( "Language.php" );
|
2003-08-30 09:39:34 +00:00
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
$wgOut = new OutputPage();
|
2003-08-31 09:46:37 +00:00
|
|
|
wfDebug( "\n\n" );
|
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
$wgLangClass = "Language" . ucfirst( $wgLanguageCode );
|
|
|
|
|
if( ! class_exists( $wgLangClass ) ) {
|
2003-11-17 03:00:18 +00:00
|
|
|
include_once( "LanguageUtf8.php" );
|
2003-04-14 23:10:40 +00:00
|
|
|
$wgLangClass = "LanguageUtf8";
|
|
|
|
|
}
|
|
|
|
|
$wgLang = new $wgLangClass();
|
|
|
|
|
|
2003-11-21 02:43:12 +00:00
|
|
|
if ( $wgUseDynamicDates ) {
|
|
|
|
|
include_once( "DateFormatter.php" );
|
|
|
|
|
global $wgDateFormatter;
|
|
|
|
|
$wgDateFormatter = new DateFormatter;
|
|
|
|
|
}
|
|
|
|
|
|
2003-11-12 10:21:28 +00:00
|
|
|
if( !$wgCommandLineMode ) {
|
|
|
|
|
if( $wgSessionsInMemcached ) {
|
2003-11-17 03:00:18 +00:00
|
|
|
include_once( "MemcachedSessions.php" );
|
2003-11-12 10:21:28 +00:00
|
|
|
}
|
|
|
|
|
session_set_cookie_params( 0, $wgCookiePath, $wgCookieDomain );
|
|
|
|
|
session_cache_limiter( "private, must-revalidate" );
|
|
|
|
|
session_start();
|
2003-11-23 22:46:01 +00:00
|
|
|
global $wsUserID, $wsUserName, $wsUserPassword, $wsUploadFiles;
|
|
|
|
|
# Reaad back session variables
|
|
|
|
|
$wsUserID = $_SESSION["wsUserID"];
|
|
|
|
|
$wsUserName = $_SESSION["wsUserName"];
|
|
|
|
|
$wsUserPassword = $_SESSION["wsUserPassword"];
|
|
|
|
|
$wsUploadFiles = $_SESSION["wsUploadFiles"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2003-11-12 10:21:28 +00:00
|
|
|
}
|
|
|
|
|
|
2003-08-11 13:53:20 +00:00
|
|
|
$wgUser = User::loadFromSession();
|
2003-04-14 23:10:40 +00:00
|
|
|
$wgDeferredUpdateList = array();
|
|
|
|
|
$wgLinkCache = new LinkCache();
|
2003-08-31 09:46:37 +00:00
|
|
|
$wgMagicWords = array();
|
|
|
|
|
$wgMwRedir =& MagicWord::get( MAG_REDIRECT );
|
2003-10-25 08:01:33 +00:00
|
|
|
|
|
|
|
|
wfProfileOut( "$fname-misc" );
|
|
|
|
|
wfProfileOut( $fname );
|
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
?>
|