MediaWiki  master
Setup.php File Reference

The setup for all MediaWiki processes (both web-based and CLI). More...

Go to the source code of this file.

Variables

 $rcMaxAgeDays = $wgRCMaxAge / ( 3600 * 24 )
 
 $serverParts = wfParseUrl( $wgCanonicalServer )
 
if(! $wgDBerrorLogTZ) $wgCanonicalNamespaceNames = NamespaceInfo::CANONICAL_NAMES
 Definitions of the NS_ constants are in Defines.php. More...
 
if(! $wgCookiePrefix) $wgCookiePrefix = strtr( $wgCookiePrefix, '=,; +."\'\\[', '__________' )
 
 $wgDefaultUserOptions ['rcdays']
 
if( $wgLocalTZoffset===null) $wgDefaultUserOptions ['timecorrection'] = "System|$wgLocalTZoffset"
 
 $wgDefaultUserOptions ['watchlistdays']
 
if(is_array( $wgExtraNamespaces)) if(count( $wgDummyLanguageCodes) !==0) $wgDummyLanguageCodes
 
 $wgEmailAuthentication = false
 
 $wgEnableUserEmail = false
 
 $wgEnotifFromEditor = false
 
 $wgEnotifImpersonal = false
 
 $wgEnotifMaxRecips = 0
 
 $wgEnotifMinorEdits = false
 
 $wgEnotifRevealEditorAddress = false
 
 $wgEnotifUseRealName = false
 
 $wgEnotifUserTalk = false
 
 $wgEnotifWatchlist = false
 
 $wgFileExtensions = array_values( array_diff( $wgFileExtensions, $wgProhibitedFileExtensions ) )
 
if(!defined( 'MW_NO_SESSION') &&! $wgCommandLineMode) if(! $wgCommandLineMode) $wgFullyInitialised = true
 
 $wgGalleryOptions
 Default parameters for the "<gallery>" tag. More...
 
if(MW_ENTRY_POINT==='index') MediaWiki Session SessionId null $wgInitialSessionId = null
 The persistent session ID (if any) loaded at startup. More...
 
 $wgLang = new StubUserLang
 
 $wgLockManagers []
 Initialise $wgLockManagers to include basic FS version. More...
 
if( $wgRightsIcon) if(isset( $wgFooterIcons['copyright']['copyright']) && $wgFooterIcons['copyright']['copyright']===[]) if(isset( $wgFooterIcons['poweredby']) &&isset( $wgFooterIcons['poweredby']['mediawiki']) && $wgFooterIcons['poweredby']['mediawiki']['src']===null) $wgNamespaceProtection [NS_MEDIAWIKI] = 'editinterface'
 Unconditional protection for NS_MEDIAWIKI since otherwise it's too easy for a sysadmin to set $wgNamespaceProtection incorrectly and leave the wiki insecure. More...
 
 $wgOut = RequestContext::getMain()->getOutput()
 
 $wgParser
 
 $wgRequest = RequestContext::getMain()->getRequest()
 
if(!defined( 'MEDIAWIKI')) $wgScopeTest = 'MediaWiki Setup.php scope test'
 Environment checks. More...
 
if( $wgServerName !==false) $wgServerName = $serverParts['host']
 
if(is_readable("$IP/vendor/autoload.php")) elseif(file_exists("$IP/vendor/autoload.php")) if(!interface_exists(LoggerInterface::class)) $wgSettings = new SettingsBuilder( $IP, new GlobalConfigBuilder( 'wg' ), new PhpIniSink() )
 
 $wgTitle = null
 
 $wgUseEnotif = false
 
 $wgUserEmailUseReplyTo = false
 
 $wgUsersNotifiedOnAllChanges = []
 
if( $wgServer===false) if( $wgCanonicalServer===false) $wgVirtualRestConfig ['global']['domain'] = $wgCanonicalServer
 
if(defined( 'MW_CONFIG_CALLBACK')) else
 Expand dynamic defaults and shortcuts. More...
 
if(ini_get( 'mbstring.func_overload')) if (!defined('MW_ENTRY_POINT'))
 Pre-config setup: Before loading LocalSettings.php. More...
 
const MW_SERVICE_BOOTSTRAP_COMPLETE 1
 

Detailed Description

The setup for all MediaWiki processes (both web-based and CLI).

This file must be included by all entry points (such as WebStart.php and doMaintenance.php).

  • The entry point MUST do these:
    • define the 'MEDIAWIKI' constant.
    • define the $IP global variable.
  • The entry point SHOULD do these:
    • define the 'MW_ENTRY_POINT' constant.
    • display an error if MW_CONFIG_CALLBACK is not defined and the file specified in MW_CONFIG_FILE (or the $IP/LocalSettings.php default) does not exist. The error should either be sent before and instead of the Setup.php inclusion, or (if it needs classes and dependencies from core) the error can be displayed via a MW_CONFIG_CALLBACK, which must then abort the process to prevent the rest of Setup.php from executing.

It does:

  • run-time environment checks,
  • load autoloaders, constants, default settings, and global functions,
  • load the site configuration (e.g. LocalSettings.php),
  • load the enabled extensions (via ExtensionRegistry),
  • trivial expansion of site configuration defaults and shortcuts (no calls to MediaWikiServices or other parts of MediaWiki),
  • initialization of:
    • PHP run-time (setlocale, memory limit, default date timezone)
    • the debug logger (MWDebug)
    • the service container (MediaWikiServices)
    • the exception handler (MWExceptionHandler)
    • the session manager (SessionManager)
  • complex expansion of site configuration defaults (those that require calling into MediaWikiServices, global functions, or other classes.).

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. http://www.gnu.org/copyleft/gpl.html

Definition in file Setup.php.

Variable Documentation

◆ $rcMaxAgeDays

$rcMaxAgeDays = $wgRCMaxAge / ( 3600 * 24 )

Definition at line 459 of file Setup.php.

◆ $serverParts

$serverParts = wfParseUrl( $wgCanonicalServer )

Definition at line 671 of file Setup.php.

◆ $wgCanonicalNamespaceNames

if (! $wgDBerrorLogTZ) $wgCanonicalNamespaceNames = NamespaceInfo::CANONICAL_NAMES

Definitions of the NS_ constants are in Defines.php.

Access: internal

Definition at line 526 of file Setup.php.

◆ $wgCookiePrefix

if (! $wgCookiePrefix) $wgCookiePrefix = strtr( $wgCookiePrefix, '=,; +."\'\\[', '__________' )

Definition at line 482 of file Setup.php.

◆ $wgDefaultUserOptions [1/3]

$wgDefaultUserOptions[ 'rcdays']
Initial value:
= min(
ceil( $rcMaxAgeDays )
)

Definition at line 461 of file Setup.php.

◆ $wgDefaultUserOptions [2/3]

if ($wgLocalTZoffset===null) $wgDefaultUserOptions[ 'timecorrection'] = "System|$wgLocalTZoffset"

Definition at line 516 of file Setup.php.

◆ $wgDefaultUserOptions [3/3]

$wgDefaultUserOptions[ 'watchlistdays']
Initial value:
= min(
$wgDefaultUserOptions['watchlistdays'],
ceil( $rcMaxAgeDays )
)

Definition at line 465 of file Setup.php.

◆ $wgDummyLanguageCodes

if (is_array($wgExtraNamespaces)) if (count($wgDummyLanguageCodes) !==0) $wgDummyLanguageCodes
Initial value:
= [
'qqq' => 'qqq',
'qqx' => 'qqx',

Definition at line 538 of file Setup.php.

◆ $wgEmailAuthentication

$wgEmailAuthentication = false

Definition at line 490 of file Setup.php.

◆ $wgEnableUserEmail

$wgEnableUserEmail = false

Definition at line 491 of file Setup.php.

◆ $wgEnotifFromEditor

$wgEnotifFromEditor = false

Definition at line 492 of file Setup.php.

◆ $wgEnotifImpersonal

$wgEnotifImpersonal = false

Definition at line 493 of file Setup.php.

◆ $wgEnotifMaxRecips

$wgEnotifMaxRecips = 0

Definition at line 494 of file Setup.php.

◆ $wgEnotifMinorEdits

$wgEnotifMinorEdits = false

Definition at line 495 of file Setup.php.

◆ $wgEnotifRevealEditorAddress

$wgEnotifRevealEditorAddress = false

Definition at line 496 of file Setup.php.

◆ $wgEnotifUseRealName

$wgEnotifUseRealName = false

Definition at line 497 of file Setup.php.

◆ $wgEnotifUserTalk

$wgEnotifUserTalk = false

Definition at line 498 of file Setup.php.

◆ $wgEnotifWatchlist

$wgEnotifWatchlist = false

Definition at line 499 of file Setup.php.

◆ $wgFileExtensions

$wgFileExtensions = array_values( array_diff( $wgFileExtensions, $wgProhibitedFileExtensions ) )

Definition at line 301 of file Setup.php.

◆ $wgFullyInitialised

if (!defined('MW_NO_SESSION') &&! $wgCommandLineMode) if (! $wgCommandLineMode) $wgFullyInitialised = true

◆ $wgGalleryOptions

$wgGalleryOptions
Initial value:
= [
'imagesPerRow' => 0,
'imageWidth' => 120,
'imageHeight' => 120,
'captionLength' => true,
'showBytes' => true,
'showDimensions' => true,
'mode' => 'traditional',
]

Default parameters for the "<gallery>" tag.

See also
DefaultSettings.php for description of the fields.

Definition at line 361 of file Setup.php.

◆ $wgInitialSessionId

if (MW_ENTRY_POINT==='index') MediaWiki Session SessionId null $wgInitialSessionId = null

The persistent session ID (if any) loaded at startup.

Definition at line 770 of file Setup.php.

Referenced by LoginSignupSpecialPage\hasSessionCookie().

◆ $wgLang

◆ $wgLockManagers

$wgLockManagers[]
Initial value:
= [
'name' => 'fsLockManager',
'class' => FSLockManager::class,
'lockDirectory' => "{$wgUploadDirectory}/lockdir",
]

Initialise $wgLockManagers to include basic FS version.

Definition at line 347 of file Setup.php.

◆ $wgNamespaceProtection

if ($wgRightsIcon) if (isset($wgFooterIcons[ 'copyright'][ 'copyright']) &&$wgFooterIcons[ 'copyright'][ 'copyright']===[]) if (isset($wgFooterIcons[ 'poweredby']) &&isset($wgFooterIcons[ 'poweredby'][ 'mediawiki']) &&$wgFooterIcons[ 'poweredby'][ 'mediawiki'][ 'src']===null) $wgNamespaceProtection[NS_MEDIAWIKI] = 'editinterface'

Unconditional protection for NS_MEDIAWIKI since otherwise it's too easy for a sysadmin to set $wgNamespaceProtection incorrectly and leave the wiki insecure.

Note that this is the definition of editinterface and it can be granted to all users if desired.

Definition at line 342 of file Setup.php.

◆ $wgOut

◆ $wgParser

Parser $wgParser
Initial value:
= new DeprecatedGlobal( 'wgParser', static function () {
return MediaWikiServices::getInstance()->getParser();
}, '1.32' )
Deprecated:
since 1.32, use MediaWikiServices::getInstance()->getParser() instead

Definition at line 862 of file Setup.php.

◆ $wgRequest

◆ $wgScopeTest

if (!defined('MEDIAWIKI')) $wgScopeTest = 'MediaWiki Setup.php scope test'

Environment checks.

These are inline checks done before we include any source files, and thus these conditions may be assumed by all source code.

Definition at line 75 of file Setup.php.

◆ $wgServerName

if ($wgServerName !==false) $wgServerName = $serverParts['host']

Definition at line 676 of file Setup.php.

◆ $wgSettings

if (is_readable("$IP/vendor/autoload.php")) elseif (file_exists("$IP/vendor/autoload.php")) if (!interface_exists(LoggerInterface::class)) $wgSettings = new SettingsBuilder( $IP, new GlobalConfigBuilder( 'wg' ), new PhpIniSink() )

Definition at line 130 of file Setup.php.

◆ $wgTitle

◆ $wgUseEnotif

$wgUseEnotif = false

Definition at line 501 of file Setup.php.

Referenced by RecentChange\save().

◆ $wgUserEmailUseReplyTo

$wgUserEmailUseReplyTo = false

Definition at line 502 of file Setup.php.

◆ $wgUsersNotifiedOnAllChanges

$wgUsersNotifiedOnAllChanges = []

Definition at line 503 of file Setup.php.

◆ $wgVirtualRestConfig

if ($wgServer===false) if ($wgCanonicalServer===false) $wgVirtualRestConfig[ 'global'][ 'domain'] = $wgCanonicalServer

Definition at line 669 of file Setup.php.

◆ else

if (!defined('MW_NO_SESSION') &&! $wgCommandLineMode) else
Initial value:
{
if ( !defined( 'MW_CONFIG_FILE' ) ) {
define( 'MW_CONFIG_FILE', "$IP/LocalSettings.php" );
}
require_once MW_CONFIG_FILE

Expand dynamic defaults and shortcuts.

Definition at line 150 of file Setup.php.

◆ if

◆ MW_SERVICE_BOOTSTRAP_COMPLETE

const MW_SERVICE_BOOTSTRAP_COMPLETE 1

Definition at line 648 of file Setup.php.

LanguageCode\getDeprecatedCodeMapping
static getDeprecatedCodeMapping()
Returns a mapping of deprecated language codes that were used in previous versions of MediaWiki to up...
Definition: LanguageCode.php:124
$wgDefaultUserOptions
$wgDefaultUserOptions['rcdays']
Definition: Setup.php:461
$wgProhibitedFileExtensions
$wgProhibitedFileExtensions
Files with these extensions will never be allowed as uploads.
Definition: DefaultSettings.php:1119
$rcMaxAgeDays
$rcMaxAgeDays
Definition: Setup.php:459
DeprecatedGlobal
Class to allow throwing wfDeprecated warnings when people use globals that we do not want them to.
Definition: DeprecatedGlobal.php:27
$wgExtraLanguageCodes
$wgExtraLanguageCodes
List of mappings from one language code to another.
Definition: DefaultSettings.php:3503