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

 $cpPosInfo
 
 $debug = "HTTP HEADERS:\n"
 
 $rcMaxAgeDays = $wgRCMaxAge / ( 3600 * 24 )
 
if( $wgServer===false) if( $wgCanonicalServer===false) $serverParts = wfParseUrl( $wgCanonicalServer )
 
 $wgCanonicalNamespaceNames = NamespaceInfo::CANONICAL_NAMES
 Definitions of the NS_ constants are in Defines.php. More...
 
 $wgContLang = MediaWikiServices::getInstance()->getContentLanguage()
 
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
 
if( $wgScript===false) if( $wgLoadScript===false) if( $wgRestPath===false) if( $wgArticlePath===false) if( $wgResourceBasePath===null) if( $wgStylePath===false) if( $wgLocalStylePath===false) if( $wgExtensionAssetsPath===false) if( $wgLogos !==false &&isset( $wgLogos['1x'])) if( $wgLogo===false) if( $wgUploadPath===false) if( $wgUploadDirectory===false) if( $wgReadOnlyFile===false) if( $wgFileCacheDirectory===false) if( $wgDeletedDirectory===false) if( $wgGitInfoCacheDirectory===false && $wgCacheDirectory !==false) if( $wgSharedPrefix===false) if( $wgSharedSchema===false) if( $wgMetaNamespace===false) $wgFileExtensions = array_values( array_diff( $wgFileExtensions, $wgFileBlacklist ) )
 Expand dynamic defaults and shortcuts. More...
 
foreach( $wgExtensionFunctions as $func) if(!defined( 'MW_NO_SESSION') &&! $wgCommandLineMode) if(! $wgCommandLineMode) $wgFullyInitialised = true
 
 $wgGalleryOptions
 Default parameters for the "<gallery>" tag. More...
 
 $wgInitialSessionId = null
 
 $wgLang = new StubUserLang
 
 $wgLockManagers []
 Initialise $wgLockManagers to include basic FS version. More...
 
 $wgMemc = ObjectCache::getLocalClusterInstance()
 
 $wgMinUploadChunkSize
 
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
 
if(! $wgDBerrorLogTZ) $wgRequest = RequestContext::getMain()->getRequest()
 
if(!defined( 'MEDIAWIKI')) $wgScopeTest = 'MediaWiki Setup.php scope test'
 Environment checks. More...
 
if( $wgServerName !==false) $wgServerName = $serverParts['host']
 
 $wgTitle = null
 
 $wgUseEnotif = false
 
 $wgUserEmailUseReplyTo = false
 
 $wgUsersNotifiedOnAllChanges = []
 
if(! $wgEmergencyContact) if(! $wgPasswordSender) if(! $wgNoReplyAddress) if( $wgSecureLogin &&substr( $wgServer, 0, 2) !=='//') $wgVirtualRestConfig ['global']['domain'] = $wgCanonicalServer
 
if(defined( 'MW_CONFIG_CALLBACK')) else
 Load LocalSettings.php. 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 is included by WebStart.php and doMaintenance.php.

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),
  • expand any dynamic site configuration defaults and shortcuts
  • 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)

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

◆ $cpPosInfo

$cpPosInfo
Initial value:
= LBFactory::getCPInfoFromCookieValue(
$wgRequest->getCookie( 'cpPosIndex', '' ),
time() - ChronologyProtector::POSITION_COOKIE_TTL
)

Definition at line 644 of file Setup.php.

◆ $debug

◆ $rcMaxAgeDays

$rcMaxAgeDays = $wgRCMaxAge / ( 3600 * 24 )

Definition at line 385 of file Setup.php.

◆ $serverParts

if ($wgServer===false) if ($wgCanonicalServer===false) $serverParts = wfParseUrl( $wgCanonicalServer )

Definition at line 555 of file Setup.php.

◆ $wgCanonicalNamespaceNames

$wgCanonicalNamespaceNames = NamespaceInfo::CANONICAL_NAMES

Definitions of the NS_ constants are in Defines.php.

Access:\n private

Definition at line 448 of file Setup.php.

Referenced by wfInstallerMain().

◆ $wgContLang

Language $wgContLang = MediaWikiServices::getInstance()->getContentLanguage()
Deprecated:
since 1.32, use the ContentLanguage service directly

Definition at line 694 of file Setup.php.

Referenced by WebInstaller\setupLanguage().

◆ $wgCookiePrefix

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

Definition at line 408 of file Setup.php.

◆ $wgDefaultUserOptions [1/3]

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

Definition at line 387 of file Setup.php.

◆ $wgDefaultUserOptions [2/3]

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

Definition at line 635 of file Setup.php.

◆ $wgDefaultUserOptions [3/3]

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

Definition at line 391 of file Setup.php.

◆ $wgDummyLanguageCodes

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

Definition at line 460 of file Setup.php.

◆ $wgEmailAuthentication

$wgEmailAuthentication = false

Definition at line 416 of file Setup.php.

◆ $wgEnableUserEmail

$wgEnableUserEmail = false

Definition at line 417 of file Setup.php.

◆ $wgEnotifFromEditor

$wgEnotifFromEditor = false

Definition at line 418 of file Setup.php.

◆ $wgEnotifImpersonal

$wgEnotifImpersonal = false

Definition at line 419 of file Setup.php.

◆ $wgEnotifMaxRecips

$wgEnotifMaxRecips = 0

Definition at line 420 of file Setup.php.

◆ $wgEnotifMinorEdits

$wgEnotifMinorEdits = false

Definition at line 421 of file Setup.php.

◆ $wgEnotifRevealEditorAddress

$wgEnotifRevealEditorAddress = false

Definition at line 422 of file Setup.php.

◆ $wgEnotifUseRealName

$wgEnotifUseRealName = false

Definition at line 423 of file Setup.php.

◆ $wgEnotifUserTalk

$wgEnotifUserTalk = false

Definition at line 424 of file Setup.php.

◆ $wgEnotifWatchlist

$wgEnotifWatchlist = false

Definition at line 425 of file Setup.php.

◆ $wgFileExtensions

if ($wgScript===false) if ($wgLoadScript===false) if ($wgRestPath===false) if ($wgArticlePath===false) if ($wgResourceBasePath===null) if ($wgStylePath===false) if ($wgLocalStylePath===false) if ($wgExtensionAssetsPath===false) if ($wgLogos !==false &&isset($wgLogos[ '1x'])) if ($wgLogo===false) if ($wgUploadPath===false) if ($wgUploadDirectory===false) if ($wgReadOnlyFile===false) if ($wgFileCacheDirectory===false) if ($wgDeletedDirectory===false) if ($wgGitInfoCacheDirectory===false &&$wgCacheDirectory !==false) if ($wgSharedPrefix===false) if ($wgSharedSchema===false) if ($wgMetaNamespace===false) $wgFileExtensions = array_values( array_diff( $wgFileExtensions, $wgFileBlacklist ) )

Expand dynamic defaults and shortcuts.

Definition at line 229 of file Setup.php.

◆ $wgFullyInitialised

foreach ($wgExtensionFunctions as $func) if (!defined('MW_NO_SESSION') &&! $wgCommandLineMode) if (! $wgCommandLineMode) $wgFullyInitialised = true

Definition at line 827 of file Setup.php.

Referenced by User\clearInstanceCache(), User\isSafeToLoad(), and User\load().

◆ $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 289 of file Setup.php.

◆ $wgInitialSessionId

$wgInitialSessionId = null

Definition at line 703 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 275 of file Setup.php.

◆ $wgMemc

Deprecated:
since 1.35, use the LocalServerObjectCache service instead

Definition at line 685 of file Setup.php.

Referenced by Installer\__construct().

◆ $wgMinUploadChunkSize

$wgMinUploadChunkSize
Initial value:
= min(
UploadBase::getMaxUploadSize( 'file' ),
UploadBase::getMaxPhpUploadSize(),
ini_get( 'post_max_size' ),
PHP_INT_MAX
) ?: PHP_INT_MAX ) - 1024
)

Definition at line 434 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 270 of file Setup.php.

◆ $wgOut

◆ $wgParser

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

Definition at line 787 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 55 of file Setup.php.

◆ $wgServerName

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

Definition at line 560 of file Setup.php.

◆ $wgTitle

$wgTitle = null

Definition at line 794 of file Setup.php.

◆ $wgUseEnotif

$wgUseEnotif = false

◆ $wgUserEmailUseReplyTo

$wgUserEmailUseReplyTo = false

Definition at line 428 of file Setup.php.

◆ $wgUsersNotifiedOnAllChanges

$wgUsersNotifiedOnAllChanges = []

Definition at line 429 of file Setup.php.

◆ $wgVirtualRestConfig

if (! $wgEmergencyContact) if (! $wgPasswordSender) if (! $wgNoReplyAddress) if ($wgSecureLogin &&substr($wgServer, 0, 2) !=='//') $wgVirtualRestConfig[ 'global'][ 'domain'] = $wgCanonicalServer

Definition at line 582 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

Load LocalSettings.php.

Definition at line 125 of file Setup.php.

◆ if

if
Initial value:

Pre-config setup: Before loading LocalSettings.php.

These are changes and additions to runtime that don't vary on site configuration.

Definition at line 71 of file Setup.php.

Referenced by TitleValue\__toString(), ApiQueryAllUsers\execute(), ApiQueryUserContribs\extractRowInfo(), ApiPageSet\initFromQueryResult(), User\loadFromRow(), JSMinPlus\parseTree(), ApiPageSet\processDbRow(), and ApiQueryRecentChanges\run().

◆ MW_SERVICE_BOOTSTRAP_COMPLETE

const MW_SERVICE_BOOTSTRAP_COMPLETE 1

Definition at line 537 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:387
StubObject
Class to implement stub globals, which are globals that delay loading the their associated module cod...
Definition: StubObject.php:45
$rcMaxAgeDays
$rcMaxAgeDays
Definition: Setup.php:385
$wgAllowHTMLEmail
$wgAllowHTMLEmail
For parts of the system that have been updated to provide HTML email content, send both text and HTML...
Definition: DefaultSettings.php:1811
$wgMinUploadChunkSize
$wgMinUploadChunkSize
Definition: Setup.php:434
wfShorthandToInteger
wfShorthandToInteger( $string='', $default=-1)
Converts shorthand byte notation to integer form.
Definition: GlobalFunctions.php:2743
$wgRequest
if(! $wgDBerrorLogTZ) $wgRequest
Definition: Setup.php:642
$wgExtraLanguageCodes
$wgExtraLanguageCodes
List of mappings from one language code to another.
Definition: DefaultSettings.php:3069