$wgEnotifMaxRecips = 0;
$wgEnotifMinorEdits = false;
$wgEnotifRevealEditorAddress = false;
- $wgEnotifUseJobQ = false;
$wgEnotifUseRealName = false;
$wgEnotifUserTalk = false;
$wgEnotifWatchlist = false;
$wgPasswordPolicy['policies']['default']['MaximalPasswordLength'] = $wgMaximalPasswordLength;
}
-// Backwards compatibility warning
-if ( !$wgSessionsInObjectCache && !$wgSessionsInMemcached ) {
- wfDeprecated( '$wgSessionsInObjectCache = false', '1.27' );
- if ( $wgSessionHandler ) {
- wfDeprecated( '$wgSessionsHandler', '1.27' );
- }
- $cacheType = get_class( ObjectCache::getInstance( $wgSessionCacheType ) );
- wfDebugLog(
- "Session data will be stored in \"$cacheType\" cache with " .
- "expiry $wgObjectCacheSessionExpiry seconds"
- );
-}
-$wgSessionsInObjectCache = true;
-
-if ( $wgPHPSessionHandling !== 'enable' &&
- $wgPHPSessionHandling !== 'warn' &&
- $wgPHPSessionHandling !== 'disable'
-) {
- $wgPHPSessionHandling = 'warn';
+// Backwards compatibility with deprecated alias
+// Must be before call to wfSetupSession()
+if ( $wgSessionsInMemcached ) {
+ $wgSessionsInObjectCache = true;
}
Profiler::instance()->scopedProfileOut( $ps_default );
// Most of the config is out, some might want to run hooks here.
Hooks::run( 'SetupAfterCache' );
+$ps_session = Profiler::instance()->scopedProfileIn( $fname . '-session' );
+
+if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) {
+ // If session.auto_start is there, we can't touch session name
+ if ( !wfIniGetBool( 'session.auto_start' ) ) {
+ session_name( $wgSessionName ? $wgSessionName : $wgCookiePrefix . '_session' );
+ }
+
+ if ( $wgRequest->checkSessionCookie() || isset( $_COOKIE[$wgCookiePrefix . 'Token'] ) ) {
+ wfSetupSession();
+ }
+}
+
+Profiler::instance()->scopedProfileOut( $ps_session );
$ps_globals = Profiler::instance()->scopedProfileIn( $fname . '-globals' );
/**
// Now that variant lists may be available...
$wgRequest->interpolateTitle();
-if ( !is_object( $wgAuth ) ) {
- $wgAuth = new AuthPlugin;
- Hooks::run( 'AuthPluginSetup', array( &$wgAuth ) );
-}
-
-// Set up the session
-$ps_session = Profiler::instance()->scopedProfileIn( $fname . '-session' );
-/**
- * @var MediaWiki\\Session\\SessionId|null $wgInitialSessionId The persistent
- * session ID (if any) loaded at startup
- */
-$wgInitialSessionId = null;
-if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) {
- // If session.auto_start is there, we can't touch session name
- if ( $wgPHPSessionHandling !== 'disable' && !wfIniGetBool( 'session.auto_start' ) ) {
- session_name( $wgSessionName ? $wgSessionName : $wgCookiePrefix . '_session' );
- }
-
- // Create the SessionManager singleton and set up our session handler
- MediaWiki\Session\PHPSessionHandler::install(
- MediaWiki\Session\SessionManager::singleton()
- );
-
- // Initialize the session
- try {
- $session = MediaWiki\Session\SessionManager::getGlobalSession();
- } catch ( OverflowException $ex ) {
- if ( isset( $ex->sessionInfos ) && count( $ex->sessionInfos ) >= 2 ) {
- // The exception is because the request had multiple possible
- // sessions tied for top priority. Report this to the user.
- $list = array();
- foreach ( $ex->sessionInfos as $info ) {
- $list[] = $info->getProvider()->describe( $wgContLang );
- }
- $list = $wgContLang->listToText( $list );
- throw new HttpError( 400,
- Message::newFromKey( 'sessionmanager-tie', $list )->inLanguage( $wgContLang )->plain()
- );
- }
-
- // Not the one we want, rethrow
- throw $ex;
- }
-
- if ( $session->isPersistent() ) {
- $wgInitialSessionId = $session->getSessionId();
- }
-
- $session->renew();
- if ( MediaWiki\Session\PHPSessionHandler::isEnabled() &&
- ( $session->isPersistent() || $session->shouldRememberUser() )
- ) {
- // Start the PHP-session for backwards compatibility
- session_id( $session->getId() );
- MediaWiki\quietCall( 'session_cache_limiter', 'private, must-revalidate' );
- MediaWiki\quietCall( 'session_start' );
- }
-}
-Profiler::instance()->scopedProfileOut( $ps_session );
-
/**
* @var User $wgUser
*/
*/
$wgParser = new StubObject( 'wgParser', $wgParserConf['class'], array( $wgParserConf ) );
+if ( !is_object( $wgAuth ) ) {
+ $wgAuth = new AuthPlugin;
+ Hooks::run( 'AuthPluginSetup', array( &$wgAuth ) );
+}
+
/**
* @var Title $wgTitle
*/
Profiler::instance()->scopedProfileOut( $ps_ext_func );
}
-// If the session user has a 0 id but a valid name, that means we need to
-// autocreate it.
-$sessionUser = MediaWiki\Session\SessionManager::getGlobalSession()->getUser();
-if ( $sessionUser->getId() === 0 && User::isValidUserName( $sessionUser->getName() ) ) {
- $ps_autocreate = Profiler::instance()->scopedProfileIn( $fname . '-autocreate' );
- MediaWiki\Session\SessionManager::autoCreateUser( $sessionUser );
- Profiler::instance()->scopedProfileOut( $ps_autocreate );
-}
-unset( $sessionUser );
-
wfDebug( "Fully initialised\n" );
$wgFullyInitialised = true;