X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FAutoLoader.php;h=03510171459b53d1b8cfd531f6a9aa7b7473e265;hb=75b58962c6b1fa158c31019e8b7d13453d11dddd;hp=fbd01a127ba9bdbc0647803eb7cb9e84636d1d42;hpb=d4ad5a8dbe1a18525797782607b24ae2d5d413f8;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/AutoLoader.php b/includes/AutoLoader.php index fbd01a127b..0351017145 100644 --- a/includes/AutoLoader.php +++ b/includes/AutoLoader.php @@ -4,373 +4,534 @@ ini_set('unserialize_callback_func', '__autoload' ); -function __autoload($className) { - global $wgAutoloadClasses; +# Locations of core classes +# Extension classes are specified with $wgAutoloadClasses +# This array is a global instead of a static member of AutoLoader to work around a bug in APC +global $wgAutoloadLocalClasses; +$wgAutoloadLocalClasses = array( + # Includes + 'AjaxDispatcher' => 'includes/AjaxDispatcher.php', + 'AjaxResponse' => 'includes/AjaxResponse.php', + 'AlphabeticPager' => 'includes/Pager.php', + 'APCBagOStuff' => 'includes/BagOStuff.php', + 'ArrayDiffFormatter' => 'includes/DifferenceEngine.php', + 'Article' => 'includes/Article.php', + 'AtomFeed' => 'includes/Feed.php', + 'AuthPlugin' => 'includes/AuthPlugin.php', + 'Autopromote' => 'includes/Autopromote.php', + 'BagOStuff' => 'includes/BagOStuff.php', + 'Block' => 'includes/Block.php', + 'CacheDependency' => 'includes/CacheDependency.php', + 'Category' => 'includes/Category.php', + 'Categoryfinder' => 'includes/Categoryfinder.php', + 'CategoryPage' => 'includes/CategoryPage.php', + 'CategoryViewer' => 'includes/CategoryPage.php', + 'ChangesList' => 'includes/ChangesList.php', + 'ChangesFeed' => 'includes/ChangesFeed.php', + 'ChannelFeed' => 'includes/Feed.php', + 'ConcatenatedGzipHistoryBlob' => 'includes/HistoryBlob.php', + 'ConstantDependency' => 'includes/CacheDependency.php', + 'DBABagOStuff' => 'includes/BagOStuff.php', + 'DependencyWrapper' => 'includes/CacheDependency.php', + '_DiffEngine' => 'includes/DifferenceEngine.php', + 'DifferenceEngine' => 'includes/DifferenceEngine.php', + 'DiffFormatter' => 'includes/DifferenceEngine.php', + 'Diff' => 'includes/DifferenceEngine.php', + '_DiffOp_Add' => 'includes/DifferenceEngine.php', + '_DiffOp_Change' => 'includes/DifferenceEngine.php', + '_DiffOp_Copy' => 'includes/DifferenceEngine.php', + '_DiffOp_Delete' => 'includes/DifferenceEngine.php', + '_DiffOp' => 'includes/DifferenceEngine.php', + 'DjVuImage' => 'includes/DjVuImage.php', + 'DoubleReplacer' => 'includes/StringUtils.php', + 'DoubleRedirectJob' => 'includes/DoubleRedirectJob.php', + 'Dump7ZipOutput' => 'includes/Export.php', + 'DumpBZip2Output' => 'includes/Export.php', + 'DumpFileOutput' => 'includes/Export.php', + 'DumpFilter' => 'includes/Export.php', + 'DumpGZipOutput' => 'includes/Export.php', + 'DumpLatestFilter' => 'includes/Export.php', + 'DumpMultiWriter' => 'includes/Export.php', + 'DumpNamespaceFilter' => 'includes/Export.php', + 'DumpNotalkFilter' => 'includes/Export.php', + 'DumpOutput' => 'includes/Export.php', + 'DumpPipeOutput' => 'includes/Export.php', + 'eAccelBagOStuff' => 'includes/BagOStuff.php', + 'EditPage' => 'includes/EditPage.php', + 'EmaillingJob' => 'includes/EmaillingJob.php', + 'EmailNotification' => 'includes/UserMailer.php', + 'EnhancedChangesList' => 'includes/ChangesList.php', + 'EnotifNotifyJob' => 'includes/EnotifNotifyJob.php', + 'ErrorPageError' => 'includes/Exception.php', + 'Exif' => 'includes/Exif.php', + 'ExternalEdit' => 'includes/ExternalEdit.php', + 'ExternalStoreDB' => 'includes/ExternalStoreDB.php', + 'ExternalStoreHttp' => 'includes/ExternalStoreHttp.php', + 'ExternalStore' => 'includes/ExternalStore.php', + 'FatalError' => 'includes/Exception.php', + 'FakeTitle' => 'includes/FakeTitle.php', + 'FauxRequest' => 'includes/WebRequest.php', + 'FeedItem' => 'includes/Feed.php', + 'FeedUtils' => 'includes/FeedUtils.php', + 'FileDeleteForm' => 'includes/FileDeleteForm.php', + 'FileDependency' => 'includes/CacheDependency.php', + 'FileRevertForm' => 'includes/FileRevertForm.php', + 'FileStore' => 'includes/FileStore.php', + 'FormatExif' => 'includes/Exif.php', + 'FormOptions' => 'includes/FormOptions.php', + 'FSException' => 'includes/FileStore.php', + 'FSTransaction' => 'includes/FileStore.php', + 'GlobalDependency' => 'includes/CacheDependency.php', + 'HashBagOStuff' => 'includes/BagOStuff.php', + 'HashtableReplacer' => 'includes/StringUtils.php', + 'HistoryBlobCurStub' => 'includes/HistoryBlob.php', + 'HistoryBlob' => 'includes/HistoryBlob.php', + 'HistoryBlobStub' => 'includes/HistoryBlob.php', + 'HTMLCacheUpdate' => 'includes/HTMLCacheUpdate.php', + 'HTMLCacheUpdateJob' => 'includes/HTMLCacheUpdate.php', + 'HTMLFileCache' => 'includes/HTMLFileCache.php', + 'Http' => 'includes/HttpFunctions.php', + '_HWLDF_WordAccumulator' => 'includes/DifferenceEngine.php', + 'ImageGallery' => 'includes/ImageGallery.php', + 'ImageHistoryList' => 'includes/ImagePage.php', + 'ImagePage' => 'includes/ImagePage.php', + 'ImageQueryPage' => 'includes/ImageQueryPage.php', + 'IncludableSpecialPage' => 'includes/SpecialPage.php', + 'IndexPager' => 'includes/Pager.php', + 'IP' => 'includes/IP.php', + 'Job' => 'includes/JobQueue.php', + 'License' => 'includes/Licenses.php', + 'Licenses' => 'includes/Licenses.php', + 'LinkBatch' => 'includes/LinkBatch.php', + 'LinkCache' => 'includes/LinkCache.php', + 'Linker' => 'includes/Linker.php', + 'LinkFilter' => 'includes/LinkFilter.php', + 'LinksUpdate' => 'includes/LinksUpdate.php', + 'LogPage' => 'includes/LogPage.php', + 'LogPager' => 'includes/LogEventsList.php', + 'LogEventsList' => 'includes/LogEventsList.php', + 'LogReader' => 'includes/LogEventsList.php', + 'LogViewer' => 'includes/LogEventsList.php', + 'MacBinary' => 'includes/MacBinary.php', + 'MagicWordArray' => 'includes/MagicWord.php', + 'MagicWord' => 'includes/MagicWord.php', + 'MailAddress' => 'includes/UserMailer.php', + 'MappedDiff' => 'includes/DifferenceEngine.php', + 'MathRenderer' => 'includes/Math.php', + 'MediaTransformError' => 'includes/MediaTransformOutput.php', + 'MediaTransformOutput' => 'includes/MediaTransformOutput.php', + 'MediaWikiBagOStuff' => 'includes/BagOStuff.php', + 'MediaWiki_I18N' => 'includes/SkinTemplate.php', + 'MediaWiki' => 'includes/Wiki.php', + 'memcached' => 'includes/memcached-client.php', + 'MessageCache' => 'includes/MessageCache.php', + 'MimeMagic' => 'includes/MimeMagic.php', + 'MWException' => 'includes/Exception.php', + 'MWNamespace' => 'includes/Namespace.php', + 'MySQLSearchResultSet' => 'includes/SearchMySQL.php', + 'Namespace' => 'includes/NamespaceCompat.php', // Compat + 'OldChangesList' => 'includes/ChangesList.php', + 'OracleSearchResultSet' => 'includes/SearchOracle.php', + 'OutputPage' => 'includes/OutputPage.php', + 'PageHistory' => 'includes/PageHistory.php', + 'PageHistoryPager' => 'includes/PageHistory.php', + 'PageQueryPage' => 'includes/PageQueryPage.php', + 'Pager' => 'includes/Pager.php', + 'PasswordError' => 'includes/User.php', + 'PatrolLog' => 'includes/PatrolLog.php', + 'PostgresSearchResult' => 'includes/SearchPostgres.php', + 'PostgresSearchResultSet' => 'includes/SearchPostgres.php', + 'PrefixSearch' => 'includes/PrefixSearch.php', + 'Profiler' => 'includes/Profiler.php', + 'ProfilerSimple' => 'includes/ProfilerSimple.php', + 'ProfilerSimpleText' => 'includes/ProfilerSimpleText.php', + 'ProfilerSimpleUDP' => 'includes/ProfilerSimpleUDP.php', + 'ProtectionForm' => 'includes/ProtectionForm.php', + 'QueryPage' => 'includes/QueryPage.php', + 'QuickTemplate' => 'includes/SkinTemplate.php', + 'RawPage' => 'includes/RawPage.php', + 'RCCacheEntry' => 'includes/ChangesList.php', + 'RecentChange' => 'includes/RecentChange.php', + 'RefreshLinksJob' => 'includes/RefreshLinksJob.php', + 'RegexlikeReplacer' => 'includes/StringUtils.php', + 'ReplacementArray' => 'includes/StringUtils.php', + 'Replacer' => 'includes/StringUtils.php', + 'ReverseChronologicalPager' => 'includes/Pager.php', + 'Revision' => 'includes/Revision.php', + 'RSSFeed' => 'includes/Feed.php', + 'Sanitizer' => 'includes/Sanitizer.php', + 'SearchEngineDummy' => 'includes/SearchEngine.php', + 'SearchEngine' => 'includes/SearchEngine.php', + 'SearchHighlighter' => 'includes/SearchEngine.php', + 'SearchMySQL4' => 'includes/SearchMySQL4.php', + 'SearchMySQL' => 'includes/SearchMySQL.php', + 'SearchOracle' => 'includes/SearchOracle.php', + 'SearchPostgres' => 'includes/SearchPostgres.php', + 'SearchResult' => 'includes/SearchEngine.php', + 'SearchResultSet' => 'includes/SearchEngine.php', + 'SearchResultTooMany' => 'includes/SearchEngine.php', + 'SearchUpdate' => 'includes/SearchUpdate.php', + 'SearchUpdateMyISAM' => 'includes/SearchUpdate.php', + 'SiteConfiguration' => 'includes/SiteConfiguration.php', + 'SiteStats' => 'includes/SiteStats.php', + 'SiteStatsUpdate' => 'includes/SiteStats.php', + 'Skin' => 'includes/Skin.php', + 'SkinTemplate' => 'includes/SkinTemplate.php', + 'SpecialMycontributions' => 'includes/SpecialPage.php', + 'SpecialMypage' => 'includes/SpecialPage.php', + 'SpecialMytalk' => 'includes/SpecialPage.php', + 'SpecialPage' => 'includes/SpecialPage.php', + 'SpecialRedirectToSpecial' => 'includes/SpecialPage.php', + 'SqlBagOStuff' => 'includes/BagOStuff.php', + 'SquidUpdate' => 'includes/SquidUpdate.php', + 'Status' => 'includes/Status.php', + 'StringUtils' => 'includes/StringUtils.php', + 'TableDiffFormatter' => 'includes/DifferenceEngine.php', + 'TablePager' => 'includes/Pager.php', + 'ThumbnailImage' => 'includes/MediaTransformOutput.php', + 'TitleDependency' => 'includes/CacheDependency.php', + 'Title' => 'includes/Title.php', + 'TitleArray' => 'includes/TitleArray.php', + 'TitleListDependency' => 'includes/CacheDependency.php', + 'TransformParameterError' => 'includes/MediaTransformOutput.php', + 'TurckBagOStuff' => 'includes/BagOStuff.php', + 'UnifiedDiffFormatter' => 'includes/DifferenceEngine.php', + 'UnlistedSpecialPage' => 'includes/SpecialPage.php', + 'User' => 'includes/User.php', + 'UserArray' => 'includes/UserArray.php', + 'UserArrayFromResult' => 'includes/UserArray.php', + 'UserMailer' => 'includes/UserMailer.php', + 'UserRightsProxy' => 'includes/UserRightsProxy.php', + 'WatchedItem' => 'includes/WatchedItem.php', + 'WatchlistEditor' => 'includes/WatchlistEditor.php', + 'WebRequest' => 'includes/WebRequest.php', + 'WebResponse' => 'includes/WebResponse.php', + 'WikiError' => 'includes/WikiError.php', + 'WikiErrorMsg' => 'includes/WikiError.php', + 'WikiExporter' => 'includes/Export.php', + 'WikiXmlError' => 'includes/WikiError.php', + 'WordLevelDiff' => 'includes/DifferenceEngine.php', + 'XCacheBagOStuff' => 'includes/BagOStuff.php', + 'XmlDumpWriter' => 'includes/Export.php', + 'Xml' => 'includes/Xml.php', + 'XmlSelect' => 'includes/Xml.php', + 'XmlTypeCheck' => 'includes/XmlTypeCheck.php', + 'ZhClient' => 'includes/ZhClient.php', - static $localClasses = array( - # Includes - 'AjaxDispatcher' => 'includes/AjaxDispatcher.php', - 'AjaxCachePolicy' => 'includes/AjaxFunctions.php', - 'AjaxResponse' => 'includes/AjaxResponse.php', - 'AlphabeticPager' => 'includes/Pager.php', - 'Article' => 'includes/Article.php', - 'AuthPlugin' => 'includes/AuthPlugin.php', - 'BagOStuff' => 'includes/BagOStuff.php', - 'HashBagOStuff' => 'includes/BagOStuff.php', - 'SqlBagOStuff' => 'includes/BagOStuff.php', - 'MediaWikiBagOStuff' => 'includes/BagOStuff.php', - 'TurckBagOStuff' => 'includes/BagOStuff.php', - 'APCBagOStuff' => 'includes/BagOStuff.php', - 'eAccelBagOStuff' => 'includes/BagOStuff.php', - 'XCacheBagOStuff' => 'includes/BagOStuff.php', - 'DBABagOStuff' => 'includes/BagOStuff.php', - 'Block' => 'includes/Block.php', - 'HTMLFileCache' => 'includes/HTMLFileCache.php', - 'DependencyWrapper' => 'includes/CacheDependency.php', - 'FileDependency' => 'includes/CacheDependency.php', - 'TitleDependency' => 'includes/CacheDependency.php', - 'TitleListDependency' => 'includes/CacheDependency.php', - 'CategoryPage' => 'includes/CategoryPage.php', - 'CategoryViewer' => 'includes/CategoryPage.php', - 'Categoryfinder' => 'includes/Categoryfinder.php', - 'RCCacheEntry' => 'includes/ChangesList.php', - 'ChangesList' => 'includes/ChangesList.php', - 'OldChangesList' => 'includes/ChangesList.php', - 'EnhancedChangesList' => 'includes/ChangesList.php', - 'CoreParserFunctions' => 'includes/CoreParserFunctions.php', - 'DBObject' => 'includes/Database.php', - 'Database' => 'includes/Database.php', - 'DatabaseMysql' => 'includes/Database.php', - 'ResultWrapper' => 'includes/Database.php', - 'DatabasePostgres' => 'includes/DatabasePostgres.php', - 'DatabaseOracle' => 'includes/DatabaseOracle.php', - 'DateFormatter' => 'includes/DateFormatter.php', - 'DifferenceEngine' => 'includes/DifferenceEngine.php', - '_DiffOp' => 'includes/DifferenceEngine.php', - '_DiffOp_Copy' => 'includes/DifferenceEngine.php', - '_DiffOp_Delete' => 'includes/DifferenceEngine.php', - '_DiffOp_Add' => 'includes/DifferenceEngine.php', - '_DiffOp_Change' => 'includes/DifferenceEngine.php', - '_DiffEngine' => 'includes/DifferenceEngine.php', - 'Diff' => 'includes/DifferenceEngine.php', - 'MappedDiff' => 'includes/DifferenceEngine.php', - 'DiffFormatter' => 'includes/DifferenceEngine.php', - 'DjVuImage' => 'includes/DjVuImage.php', - '_HWLDF_WordAccumulator' => 'includes/DifferenceEngine.php', - 'WordLevelDiff' => 'includes/DifferenceEngine.php', - 'TableDiffFormatter' => 'includes/DifferenceEngine.php', - 'EditPage' => 'includes/EditPage.php', - 'MWException' => 'includes/Exception.php', - 'Exif' => 'includes/Exif.php', - 'FormatExif' => 'includes/Exif.php', - 'WikiExporter' => 'includes/Export.php', - 'XmlDumpWriter' => 'includes/Export.php', - 'DumpOutput' => 'includes/Export.php', - 'DumpFileOutput' => 'includes/Export.php', - 'DumpPipeOutput' => 'includes/Export.php', - 'DumpGZipOutput' => 'includes/Export.php', - 'DumpBZip2Output' => 'includes/Export.php', - 'Dump7ZipOutput' => 'includes/Export.php', - 'DumpFilter' => 'includes/Export.php', - 'DumpNotalkFilter' => 'includes/Export.php', - 'DumpNamespaceFilter' => 'includes/Export.php', - 'DumpLatestFilter' => 'includes/Export.php', - 'DumpMultiWriter' => 'includes/Export.php', - 'ExternalEdit' => 'includes/ExternalEdit.php', - 'ExternalStore' => 'includes/ExternalStore.php', - 'ExternalStoreDB' => 'includes/ExternalStoreDB.php', - 'ExternalStoreHttp' => 'includes/ExternalStoreHttp.php', - 'FakeTitle' => 'includes/FakeTitle.php', - 'FeedItem' => 'includes/Feed.php', - 'ChannelFeed' => 'includes/Feed.php', - 'RSSFeed' => 'includes/Feed.php', - 'AtomFeed' => 'includes/Feed.php', - 'FileStore' => 'includes/FileStore.php', - 'FSException' => 'includes/FileStore.php', - 'FSTransaction' => 'includes/FileStore.php', - 'HTMLForm' => 'includes/HTMLForm.php', - 'HistoryBlob' => 'includes/HistoryBlob.php', - 'ConcatenatedGzipHistoryBlob' => 'includes/HistoryBlob.php', - 'HistoryBlobStub' => 'includes/HistoryBlob.php', - 'HistoryBlobCurStub' => 'includes/HistoryBlob.php', - 'HTMLCacheUpdate' => 'includes/HTMLCacheUpdate.php', - 'Http' => 'includes/HttpFunctions.php', - 'IP' => 'includes/IP.php', - 'ThumbnailImage' => 'includes/Image.php', - 'ImageGallery' => 'includes/ImageGallery.php', - 'ImagePage' => 'includes/ImagePage.php', - 'ImageHistoryList' => 'includes/ImagePage.php', - 'ImageRemote' => 'includes/ImageRemote.php', - 'Job' => 'includes/JobQueue.php', - 'EmaillingJob' => 'includes/EmaillingJob.php', - 'EnotifNotifyJob' => 'includes/EnotifNotifyJob.php', - 'HTMLCacheUpdateJob' => 'includes/HTMLCacheUpdate.php', - 'RefreshLinksJob' => 'includes/RefreshLinksJob.php', - 'Licenses' => 'includes/Licenses.php', - 'License' => 'includes/Licenses.php', - 'LinkBatch' => 'includes/LinkBatch.php', - 'LinkCache' => 'includes/LinkCache.php', - 'LinkFilter' => 'includes/LinkFilter.php', - 'Linker' => 'includes/Linker.php', - 'LinksUpdate' => 'includes/LinksUpdate.php', - 'LoadBalancer' => 'includes/LoadBalancer.php', - 'LogPage' => 'includes/LogPage.php', - 'MacBinary' => 'includes/MacBinary.php', - 'MagicWord' => 'includes/MagicWord.php', - 'MathRenderer' => 'includes/Math.php', - 'MediaTransformOutput' => 'includes/MediaTransformOutput.php', - 'ThumbnailImage' => 'includes/MediaTransformOutput.php', - 'MediaTransformError' => 'includes/MediaTransformOutput.php', - 'TransformParameterError' => 'includes/MediaTransformOutput.php', - 'MessageCache' => 'includes/MessageCache.php', - 'MimeMagic' => 'includes/MimeMagic.php', - 'Namespace' => 'includes/Namespace.php', - 'FakeMemCachedClient' => 'includes/ObjectCache.php', - 'OutputPage' => 'includes/OutputPage.php', - 'PageHistory' => 'includes/PageHistory.php', - 'IndexPager' => 'includes/Pager.php', - 'ReverseChronologicalPager' => 'includes/Pager.php', - 'TablePager' => 'includes/Pager.php', - 'Parser' => 'includes/Parser.php', - 'ParserOutput' => 'includes/ParserOutput.php', - 'ParserOptions' => 'includes/ParserOptions.php', - 'ParserCache' => 'includes/ParserCache.php', - 'PatrolLog' => 'includes/PatrolLog.php', - 'ProfilerSimple' => 'includes/ProfilerSimple.php', - 'ProfilerSimpleUDP' => 'includes/ProfilerSimpleUDP.php', - 'Profiler' => 'includes/Profiler.php', - 'ProxyTools' => 'includes/ProxyTools.php', - 'ProtectionForm' => 'includes/ProtectionForm.php', - 'QueryPage' => 'includes/QueryPage.php', - 'PageQueryPage' => 'includes/PageQueryPage.php', - 'ImageQueryPage' => 'includes/ImageQueryPage.php', - 'RawPage' => 'includes/RawPage.php', - 'RecentChange' => 'includes/RecentChange.php', - 'Revision' => 'includes/Revision.php', - 'Sanitizer' => 'includes/Sanitizer.php', - 'SearchEngine' => 'includes/SearchEngine.php', - 'SearchResultSet' => 'includes/SearchEngine.php', - 'SearchResult' => 'includes/SearchEngine.php', - 'SearchEngineDummy' => 'includes/SearchEngine.php', - 'SearchMySQL' => 'includes/SearchMySQL.php', - 'MySQLSearchResultSet' => 'includes/SearchMySQL.php', - 'SearchMySQL4' => 'includes/SearchMySQL4.php', - 'SearchPostgres' => 'includes/SearchPostgres.php', - 'SearchUpdate' => 'includes/SearchUpdate.php', - 'SearchUpdateMyISAM' => 'includes/SearchUpdate.php', - 'SearchOracle' => 'includes/SearchOracle.php', - 'SiteConfiguration' => 'includes/SiteConfiguration.php', - 'SiteStats' => 'includes/SiteStats.php', - 'SiteStatsUpdate' => 'includes/SiteStats.php', - 'Skin' => 'includes/Skin.php', - 'MediaWiki_I18N' => 'includes/SkinTemplate.php', - 'SkinTemplate' => 'includes/SkinTemplate.php', - 'QuickTemplate' => 'includes/SkinTemplate.php', - 'SpecialAllpages' => 'includes/SpecialAllpages.php', - 'AncientPagesPage' => 'includes/SpecialAncientpages.php', - 'IPBlockForm' => 'includes/SpecialBlockip.php', - 'SpecialBookSources' => 'includes/SpecialBooksources.php', - 'BrokenRedirectsPage' => 'includes/SpecialBrokenRedirects.php', - 'EmailConfirmation' => 'includes/SpecialConfirmemail.php', - 'ContributionsPage' => 'includes/SpecialContributions.php', - 'DeadendPagesPage' => 'includes/SpecialDeadendpages.php', - 'DisambiguationsPage' => 'includes/SpecialDisambiguations.php', - 'DoubleRedirectsPage' => 'includes/SpecialDoubleRedirects.php', - 'EmailUserForm' => 'includes/SpecialEmailuser.php', - 'WikiRevision' => 'includes/SpecialImport.php', - 'WikiImporter' => 'includes/SpecialImport.php', - 'ImportStringSource' => 'includes/SpecialImport.php', - 'ImportStreamSource' => 'includes/SpecialImport.php', - 'IPUnblockForm' => 'includes/SpecialIpblocklist.php', - 'ListredirectsPage' => 'includes/SpecialListredirects.php', - 'DBLockForm' => 'includes/SpecialLockdb.php', - 'LogReader' => 'includes/SpecialLog.php', - 'LogViewer' => 'includes/SpecialLog.php', - 'LonelyPagesPage' => 'includes/SpecialLonelypages.php', - 'LongPagesPage' => 'includes/SpecialLongpages.php', - 'MIMEsearchPage' => 'includes/SpecialMIMEsearch.php', - 'MostcategoriesPage' => 'includes/SpecialMostcategories.php', - 'MostimagesPage' => 'includes/SpecialMostimages.php', - 'MostlinkedPage' => 'includes/SpecialMostlinked.php', - 'MostlinkedCategoriesPage' => 'includes/SpecialMostlinkedcategories.php', - 'SpecialMostlinkedtemplates' => 'includes/SpecialMostlinkedtemplates.php', - 'MostrevisionsPage' => 'includes/SpecialMostrevisions.php', - 'FewestrevisionsPage' => 'includes/SpecialFewestrevisions.php', - 'MovePageForm' => 'includes/SpecialMovepage.php', - 'NewbieContributionsPage' => 'includes/SpecialNewbieContributions.php', - 'NewPagesPage' => 'includes/SpecialNewpages.php', - 'SpecialPage' => 'includes/SpecialPage.php', - 'UnlistedSpecialPage' => 'includes/SpecialPage.php', - 'IncludableSpecialPage' => 'includes/SpecialPage.php', - 'PopularPagesPage' => 'includes/SpecialPopularpages.php', - 'PreferencesForm' => 'includes/SpecialPreferences.php', - 'SpecialPrefixindex' => 'includes/SpecialPrefixindex.php', - 'PasswordResetForm' => 'includes/SpecialResetpass.php', - 'RevisionDeleteForm' => 'includes/SpecialRevisiondelete.php', - 'RevisionDeleter' => 'includes/SpecialRevisiondelete.php', - 'SpecialSearch' => 'includes/SpecialSearch.php', - 'ShortPagesPage' => 'includes/SpecialShortpages.php', - 'UncategorizedCategoriesPage' => 'includes/SpecialUncategorizedcategories.php', - 'UncategorizedPagesPage' => 'includes/SpecialUncategorizedpages.php', - 'UncategorizedTemplatesPage' => 'includes/SpecialUncategorizedtemplates.php', - 'PageArchive' => 'includes/SpecialUndelete.php', - 'UndeleteForm' => 'includes/SpecialUndelete.php', - 'DBUnlockForm' => 'includes/SpecialUnlockdb.php', - 'UnusedCategoriesPage' => 'includes/SpecialUnusedcategories.php', - 'UnusedimagesPage' => 'includes/SpecialUnusedimages.php', - 'UnusedtemplatesPage' => 'includes/SpecialUnusedtemplates.php', - 'UnwatchedpagesPage' => 'includes/SpecialUnwatchedpages.php', - 'UploadForm' => 'includes/SpecialUpload.php', - 'UploadFormMogile' => 'includes/SpecialUploadMogile.php', - 'LoginForm' => 'includes/SpecialUserlogin.php', - 'UserrightsForm' => 'includes/SpecialUserrights.php', - 'SpecialVersion' => 'includes/SpecialVersion.php', - 'WantedCategoriesPage' => 'includes/SpecialWantedcategories.php', - 'WantedPagesPage' => 'includes/SpecialWantedpages.php', - 'WhatLinksHerePage' => 'includes/SpecialWhatlinkshere.php', - 'WithoutInterwikiPage' => 'includes/SpecialWithoutinterwiki.php', - 'SquidUpdate' => 'includes/SquidUpdate.php', - 'ReplacementArray' => 'includes/StringUtils.php', - 'Replacer' => 'includes/StringUtils.php', - 'RegexlikeReplacer' => 'includes/StringUtils.php', - 'DoubleReplacer' => 'includes/StringUtils.php', - 'HashtableReplacer' => 'includes/StringUtils.php', - 'StringUtils' => 'includes/StringUtils.php', - 'Title' => 'includes/Title.php', - 'User' => 'includes/User.php', - 'MailAddress' => 'includes/UserMailer.php', - 'EmailNotification' => 'includes/UserMailer.php', - 'WatchedItem' => 'includes/WatchedItem.php', - 'WebRequest' => 'includes/WebRequest.php', - 'WebResponse' => 'includes/WebResponse.php', - 'FauxRequest' => 'includes/WebRequest.php', - 'MediaWiki' => 'includes/Wiki.php', - 'WikiError' => 'includes/WikiError.php', - 'WikiErrorMsg' => 'includes/WikiError.php', - 'WikiXmlError' => 'includes/WikiError.php', - 'Xml' => 'includes/Xml.php', - 'ZhClient' => 'includes/ZhClient.php', - 'memcached' => 'includes/memcached-client.php', - 'EmaillingJob' => 'includes/JobQueue.php', + # includes/api + 'ApiBase' => 'includes/api/ApiBase.php', + 'ApiBlock' => 'includes/api/ApiBlock.php', + 'ApiDelete' => 'includes/api/ApiDelete.php', + 'ApiEditPage' => 'includes/api/ApiEditPage.php', + 'ApiEmailUser' => 'includes/api/ApiEmailUser.php', + 'ApiExpandTemplates' => 'includes/api/ApiExpandTemplates.php', + 'ApiFeedWatchlist' => 'includes/api/ApiFeedWatchlist.php', + 'ApiFormatBase' => 'includes/api/ApiFormatBase.php', + 'ApiFormatDbg' => 'includes/api/ApiFormatDbg.php', + 'ApiFormatFeedWrapper' => 'includes/api/ApiFormatBase.php', + 'ApiFormatJson' => 'includes/api/ApiFormatJson.php', + 'ApiFormatPhp' => 'includes/api/ApiFormatPhp.php', + 'ApiFormatTxt' => 'includes/api/ApiFormatTxt.php', + 'ApiFormatWddx' => 'includes/api/ApiFormatWddx.php', + 'ApiFormatXml' => 'includes/api/ApiFormatXml.php', + 'ApiFormatYaml' => 'includes/api/ApiFormatYaml.php', + 'ApiHelp' => 'includes/api/ApiHelp.php', + 'ApiLogin' => 'includes/api/ApiLogin.php', + 'ApiLogout' => 'includes/api/ApiLogout.php', + 'ApiMain' => 'includes/api/ApiMain.php', + 'ApiMove' => 'includes/api/ApiMove.php', + 'ApiOpenSearch' => 'includes/api/ApiOpenSearch.php', + 'ApiPageSet' => 'includes/api/ApiPageSet.php', + 'ApiParamInfo' => 'includes/api/ApiParamInfo.php', + 'ApiParse' => 'includes/api/ApiParse.php', + 'ApiProtect' => 'includes/api/ApiProtect.php', + 'ApiQuery' => 'includes/api/ApiQuery.php', + 'ApiQueryAllCategories' => 'includes/api/ApiQueryAllCategories.php', + 'ApiQueryAllimages' => 'includes/api/ApiQueryAllimages.php', + 'ApiQueryAllLinks' => 'includes/api/ApiQueryAllLinks.php', + 'ApiQueryAllUsers' => 'includes/api/ApiQueryAllUsers.php', + 'ApiQueryAllmessages' => 'includes/api/ApiQueryAllmessages.php', + 'ApiQueryAllpages' => 'includes/api/ApiQueryAllpages.php', + 'ApiQueryBacklinks' => 'includes/api/ApiQueryBacklinks.php', + 'ApiQueryBase' => 'includes/api/ApiQueryBase.php', + 'ApiQueryBlocks' => 'includes/api/ApiQueryBlocks.php', + 'ApiQueryCategories' => 'includes/api/ApiQueryCategories.php', + 'ApiQueryCategoryInfo' => 'includes/api/ApiQueryCategoryInfo.php', + 'ApiQueryCategoryMembers' => 'includes/api/ApiQueryCategoryMembers.php', + 'ApiQueryContributions' => 'includes/api/ApiQueryUserContributions.php', + 'ApiQueryDeletedrevs' => 'includes/api/ApiQueryDeletedrevs.php', + 'ApiQueryExtLinksUsage' => 'includes/api/ApiQueryExtLinksUsage.php', + 'ApiQueryExternalLinks' => 'includes/api/ApiQueryExternalLinks.php', + 'ApiQueryGeneratorBase' => 'includes/api/ApiQueryBase.php', + 'ApiQueryImageInfo' => 'includes/api/ApiQueryImageInfo.php', + 'ApiQueryImages' => 'includes/api/ApiQueryImages.php', + 'ApiQueryInfo' => 'includes/api/ApiQueryInfo.php', + 'ApiQueryLangLinks' => 'includes/api/ApiQueryLangLinks.php', + 'ApiQueryLinks' => 'includes/api/ApiQueryLinks.php', + 'ApiQueryLogEvents' => 'includes/api/ApiQueryLogEvents.php', + 'ApiQueryRandom' => 'includes/api/ApiQueryRandom.php', + 'ApiQueryRecentChanges'=> 'includes/api/ApiQueryRecentChanges.php', + 'ApiQueryRevisions' => 'includes/api/ApiQueryRevisions.php', + 'ApiQuerySearch' => 'includes/api/ApiQuerySearch.php', + 'ApiQuerySiteinfo' => 'includes/api/ApiQuerySiteinfo.php', + 'ApiQueryUserInfo' => 'includes/api/ApiQueryUserInfo.php', + 'ApiQueryUsers' => 'includes/api/ApiQueryUsers.php', + 'ApiQueryWatchlist' => 'includes/api/ApiQueryWatchlist.php', + 'ApiResult' => 'includes/api/ApiResult.php', + 'ApiRollback' => 'includes/api/ApiRollback.php', + 'ApiUnblock' => 'includes/api/ApiUnblock.php', + 'ApiUndelete' => 'includes/api/ApiUndelete.php', + 'Services_JSON' => 'includes/api/ApiFormatJson_json.php', + 'Services_JSON_Error' => 'includes/api/ApiFormatJson_json.php', + 'Spyc' => 'includes/api/ApiFormatYaml_spyc.php', + 'UsageException' => 'includes/api/ApiMain.php', + 'YAMLNode' => 'includes/api/ApiFormatYaml_spyc.php', - # filerepo - 'ArchivedFile' => 'includes/filerepo/ArchivedFile.php', - 'File' => 'includes/filerepo/File.php', - 'FileRepo' => 'includes/filerepo/FileRepo.php', - 'ForeignDBFile' => 'includes/filerepo/ForeignDBFile.php', - 'ForeignDBRepo' => 'includes/filerepo/ForeignDBRepo.php', - 'FSRepo' => 'includes/filerepo/FSRepo.php', - 'Image' => 'includes/filerepo/LocalFile.php', - 'LocalFile' => 'includes/filerepo/LocalFile.php', - 'LocalRepo' => 'includes/filerepo/LocalRepo.php', - 'OldLocalFile' => 'includes/filerepo/OldLocalFile.php', - 'RepoGroup' => 'includes/filerepo/RepoGroup.php', - 'UnregisteredLocalFile' => 'includes/filerepo/UnregisteredLocalFile.php', + # includes/db + 'Blob' => 'includes/db/Database.php', + 'ChronologyProtector' => 'includes/db/LBFactory.php', + 'Database' => 'includes/db/Database.php', + 'DatabaseMssql' => 'includes/db/DatabaseMssql.php', + 'DatabaseMysql' => 'includes/db/Database.php', + 'DatabaseOracle' => 'includes/db/DatabaseOracle.php', + 'DatabasePostgres' => 'includes/db/DatabasePostgres.php', + 'DatabaseSqlite' => 'includes/db/DatabaseSqlite.php', + 'DBConnectionError' => 'includes/db/Database.php', + 'DBError' => 'includes/db/Database.php', + 'DBObject' => 'includes/db/Database.php', + 'DBQueryError' => 'includes/db/Database.php', + 'DBUnexpectedError' => 'includes/db/Database.php', + 'LBFactory' => 'includes/db/LBFactory.php', + 'LBFactory_Multi' => 'includes/db/LBFactory_Multi.php', + 'LBFactory_Simple' => 'includes/db/LBFactory.php', + 'LoadBalancer' => 'includes/db/LoadBalancer.php', + 'LoadMonitor' => 'includes/db/LoadMonitor.php', + 'LoadMonitor_MySQL' => 'includes/db/LoadMonitor.php', + 'MSSQLField' => 'includes/db/DatabaseMssql.php', + 'MySQLField' => 'includes/db/Database.php', + 'MySQLMasterPos' => 'includes/db/Database.php', + 'ORABlob' => 'includes/db/DatabaseOracle.php', + 'ORAResult' => 'includes/db/DatabaseOracle.php', + 'PostgresField' => 'includes/db/DatabasePostgres.php', + 'ResultWrapper' => 'includes/db/Database.php', + 'SQLiteField' => 'includes/db/DatabaseSqlite.php', - # Media - 'BitmapHandler' => 'includes/media/Bitmap.php', - 'BmpHandler' => 'includes/media/BMP.php', - 'DjVuHandler' => 'includes/media/DjVu.php', - 'MediaHandler' => 'includes/media/Generic.php', - 'ImageHandler' => 'includes/media/Generic.php', - 'SvgHandler' => 'includes/media/SVG.php', + # includes/filerepo + 'ArchivedFile' => 'includes/filerepo/ArchivedFile.php', + 'File' => 'includes/filerepo/File.php', + 'FileRepo' => 'includes/filerepo/FileRepo.php', + 'FileRepoStatus' => 'includes/filerepo/FileRepoStatus.php', + 'ForeignAPIFile' => 'includes/filerepo/ForeignAPIFile.php', + 'ForeignAPIRepo' => 'includes/filerepo/ForeignAPIRepo.php', + 'ForeignDBFile' => 'includes/filerepo/ForeignDBFile.php', + 'ForeignDBRepo' => 'includes/filerepo/ForeignDBRepo.php', + 'ForeignDBViaLBRepo' => 'includes/filerepo/ForeignDBViaLBRepo.php', + 'FSRepo' => 'includes/filerepo/FSRepo.php', + 'Image' => 'includes/filerepo/Image.php', + 'LocalFile' => 'includes/filerepo/LocalFile.php', + 'LocalFileDeleteBatch' => 'includes/filerepo/LocalFile.php', + 'LocalFileMoveBatch' => 'includes/filerepo/LocalFile.php', + 'LocalFileRestoreBatch' => 'includes/filerepo/LocalFile.php', + 'LocalRepo' => 'includes/filerepo/LocalRepo.php', + 'OldLocalFile' => 'includes/filerepo/OldLocalFile.php', + 'RepoGroup' => 'includes/filerepo/RepoGroup.php', + 'UnregisteredLocalFile' => 'includes/filerepo/UnregisteredLocalFile.php', - # Normal - 'UtfNormal' => 'includes/normal/UtfNormal.php', + # includes/media + 'BitmapHandler' => 'includes/media/Bitmap.php', + 'BmpHandler' => 'includes/media/BMP.php', + 'DjVuHandler' => 'includes/media/DjVu.php', + 'ImageHandler' => 'includes/media/Generic.php', + 'MediaHandler' => 'includes/media/Generic.php', + 'SvgHandler' => 'includes/media/SVG.php', - # Templates - 'UsercreateTemplate' => 'includes/templates/Userlogin.php', - 'UserloginTemplate' => 'includes/templates/Userlogin.php', + # includes/normal + 'UtfNormal' => 'includes/normal/UtfNormal.php', - # Languages - 'Language' => 'languages/Language.php', - 'RandomPage' => 'includes/SpecialRandompage.php', + # includes/parser + 'CoreParserFunctions' => 'includes/parser/CoreParserFunctions.php', + 'DateFormatter' => 'includes/parser/DateFormatter.php', + 'OnlyIncludeReplacer' => 'includes/parser/Parser.php', + 'PPDAccum_Hash' => 'includes/parser/Preprocessor_Hash.php', + 'PPDPart' => 'includes/parser/Preprocessor_DOM.php', + 'PPDPart_Hash' => 'includes/parser/Preprocessor_Hash.php', + 'PPDStack' => 'includes/parser/Preprocessor_DOM.php', + 'PPDStackElement' => 'includes/parser/Preprocessor_DOM.php', + 'PPDStackElement_Hash' => 'includes/parser/Preprocessor_Hash.php', + 'PPDStack_Hash' => 'includes/parser/Preprocessor_Hash.php', + 'PPFrame' => 'includes/parser/Preprocessor.php', + 'PPFrame_DOM' => 'includes/parser/Preprocessor_DOM.php', + 'PPFrame_Hash' => 'includes/parser/Preprocessor_Hash.php', + 'PPNode' => 'includes/parser/Preprocessor.php', + 'PPNode_DOM' => 'includes/parser/Preprocessor_DOM.php', + 'PPNode_Hash_Array' => 'includes/parser/Preprocessor_Hash.php', + 'PPNode_Hash_Attr' => 'includes/parser/Preprocessor_Hash.php', + 'PPNode_Hash_Text' => 'includes/parser/Preprocessor_Hash.php', + 'PPNode_Hash_Tree' => 'includes/parser/Preprocessor_Hash.php', + 'PPTemplateFrame_DOM' => 'includes/parser/Preprocessor_DOM.php', + 'PPTemplateFrame_Hash' => 'includes/parser/Preprocessor_Hash.php', + 'Parser' => 'includes/parser/Parser.php', + 'ParserCache' => 'includes/parser/ParserCache.php', + 'ParserOptions' => 'includes/parser/ParserOptions.php', + 'ParserOutput' => 'includes/parser/ParserOutput.php', + 'Parser_DiffTest' => 'includes/parser/Parser_DiffTest.php', + 'Parser_OldPP' => 'includes/parser/Parser_OldPP.php', + 'Preprocessor' => 'includes/parser/Preprocessor.php', + 'Preprocessor_DOM' => 'includes/parser/Preprocessor_DOM.php', + 'Preprocessor_Hash' => 'includes/parser/Preprocessor_Hash.php', + 'StripState' => 'includes/parser/Parser.php', - # API - 'ApiBase' => 'includes/api/ApiBase.php', - 'ApiFormatFeedWrapper' => 'includes/api/ApiFormatBase.php', - 'ApiFeedWatchlist' => 'includes/api/ApiFeedWatchlist.php', - 'ApiFormatBase' => 'includes/api/ApiFormatBase.php', - 'Services_JSON' => 'includes/api/ApiFormatJson_json.php', - 'ApiFormatJson' => 'includes/api/ApiFormatJson.php', - 'ApiFormatPhp' => 'includes/api/ApiFormatPhp.php', - 'ApiFormatWddx' => 'includes/api/ApiFormatWddx.php', - 'ApiFormatXml' => 'includes/api/ApiFormatXml.php', - 'Spyc' => 'includes/api/ApiFormatYaml_spyc.php', - 'ApiFormatYaml' => 'includes/api/ApiFormatYaml.php', - 'ApiHelp' => 'includes/api/ApiHelp.php', - 'ApiLogin' => 'includes/api/ApiLogin.php', - 'ApiMain' => 'includes/api/ApiMain.php', - 'ApiOpenSearch' => 'includes/api/ApiOpenSearch.php', - 'ApiPageSet' => 'includes/api/ApiPageSet.php', - 'ApiQuery' => 'includes/api/ApiQuery.php', - 'ApiQueryAllpages' => 'includes/api/ApiQueryAllpages.php', - 'ApiQueryBase' => 'includes/api/ApiQueryBase.php', - 'ApiQueryGeneratorBase' => 'includes/api/ApiQueryBase.php', - 'ApiQueryBacklinks' => 'includes/api/ApiQueryBacklinks.php', - 'ApiQueryCategories' => 'includes/api/ApiQueryCategories.php', - 'ApiQueryCategoryMembers' => 'includes/api/ApiQueryCategoryMembers.php', - 'ApiQueryContributions' => 'includes/api/ApiQueryUserContributions.php', - 'ApiQueryExternalLinks' => 'includes/api/ApiQueryExternalLinks.php', - 'ApiQueryImages' => 'includes/api/ApiQueryImages.php', - 'ApiQueryInfo' => 'includes/api/ApiQueryInfo.php', - 'ApiQueryLangLinks' => 'includes/api/ApiQueryLangLinks.php', - 'ApiQueryLinks' => 'includes/api/ApiQueryLinks.php', - 'ApiQueryLogEvents' => 'includes/api/ApiQueryLogEvents.php', - 'ApiQueryRecentChanges'=> 'includes/api/ApiQueryRecentChanges.php', - 'ApiQueryRevisions' => 'includes/api/ApiQueryRevisions.php', - 'ApiQuerySiteinfo' => 'includes/api/ApiQuerySiteinfo.php', - 'ApiQueryWatchlist' => 'includes/api/ApiQueryWatchlist.php', - 'ApiResult' => 'includes/api/ApiResult.php', - ); - - wfProfileIn( __METHOD__ ); - if ( isset( $localClasses[$className] ) ) { - $filename = $localClasses[$className]; - } elseif ( isset( $wgAutoloadClasses[$className] ) ) { - $filename = $wgAutoloadClasses[$className]; - } else { - # Try a different capitalisation - # The case can sometimes be wrong when unserializing PHP 4 objects - $filename = false; - $lowerClass = strtolower( $className ); - foreach ( $localClasses as $class2 => $file2 ) { - if ( strtolower( $class2 ) == $lowerClass ) { - $filename = $file2; + # includes/specials + 'AncientPagesPage' => 'includes/specials/SpecialAncientpages.php', + 'BrokenRedirectsPage' => 'includes/specials/SpecialBrokenRedirects.php', + 'ContribsPager' => 'includes/specials/SpecialContributions.php', + 'DBLockForm' => 'includes/specials/SpecialLockdb.php', + 'DBUnlockForm' => 'includes/specials/SpecialUnlockdb.php', + 'DeadendPagesPage' => 'includes/specials/SpecialDeadendpages.php', + 'DisambiguationsPage' => 'includes/specials/SpecialDisambiguations.php', + 'DoubleRedirectsPage' => 'includes/specials/SpecialDoubleRedirects.php', + 'EmailConfirmation' => 'includes/specials/SpecialConfirmemail.php', + 'EmailInvalidation' => 'includes/specials/SpecialConfirmemail.php', + 'EmailUserForm' => 'includes/specials/SpecialEmailuser.php', + 'FewestrevisionsPage' => 'includes/specials/SpecialFewestrevisions.php', + 'FileDuplicateSearchPage' => 'includes/specials/SpecialFileDuplicateSearch.php', + 'IPBlockForm' => 'includes/specials/SpecialBlockip.php', + 'IPBlocklistPager' => 'includes/specials/SpecialIpblocklist.php', + 'IPUnblockForm' => 'includes/specials/SpecialIpblocklist.php', + 'ImportReporter' => 'includes/specials/SpecialImport.php', + 'ImportStreamSource' => 'includes/specials/SpecialImport.php', + 'ImportStringSource' => 'includes/specials/SpecialImport.php', + 'ListredirectsPage' => 'includes/specials/SpecialListredirects.php', + 'LoginForm' => 'includes/specials/SpecialUserlogin.php', + 'LonelyPagesPage' => 'includes/specials/SpecialLonelypages.php', + 'LongPagesPage' => 'includes/specials/SpecialLongpages.php', + 'MIMEsearchPage' => 'includes/specials/SpecialMIMEsearch.php', + 'MostcategoriesPage' => 'includes/specials/SpecialMostcategories.php', + 'MostimagesPage' => 'includes/specials/SpecialMostimages.php', + 'MostlinkedCategoriesPage' => 'includes/specials/SpecialMostlinkedcategories.php', + 'MostlinkedPage' => 'includes/specials/SpecialMostlinked.php', + 'MostrevisionsPage' => 'includes/specials/SpecialMostrevisions.php', + 'MovePageForm' => 'includes/specials/SpecialMovepage.php', + 'SpecialNewpages' => 'includes/specials/SpecialNewpages.php', + 'NewPagesPager' => 'includes/specials/SpecialNewpages.php', + 'PageArchive' => 'includes/specials/SpecialUndelete.php', + 'PasswordResetForm' => 'includes/specials/SpecialResetpass.php', + 'PopularPagesPage' => 'includes/specials/SpecialPopularpages.php', + 'PreferencesForm' => 'includes/specials/SpecialPreferences.php', + 'RandomPage' => 'includes/specials/SpecialRandompage.php', + 'RevisionDeleteForm' => 'includes/specials/SpecialRevisiondelete.php', + 'RevisionDeleter' => 'includes/specials/SpecialRevisiondelete.php', + 'ShortPagesPage' => 'includes/specials/SpecialShortpages.php', + 'SpecialAllpages' => 'includes/specials/SpecialAllpages.php', + 'SpecialBookSources' => 'includes/specials/SpecialBooksources.php', + 'SpecialListGroupRights' => 'includes/specials/SpecialListgrouprights.php', + 'SpecialMostlinkedtemplates' => 'includes/specials/SpecialMostlinkedtemplates.php', + 'SpecialPrefixindex' => 'includes/specials/SpecialPrefixindex.php', + 'SpecialRandomredirect' => 'includes/specials/SpecialRandomredirect.php', + 'SpecialRecentchanges' => 'includes/specials/SpecialRecentchanges.php', + 'SpecialRecentchangeslinked' => 'includes/specials/SpecialRecentchangeslinked.php', + 'SpecialSearch' => 'includes/specials/SpecialSearch.php', + 'SpecialVersion' => 'includes/specials/SpecialVersion.php', + 'UncategorizedCategoriesPage' => 'includes/specials/SpecialUncategorizedcategories.php', + 'UncategorizedPagesPage' => 'includes/specials/SpecialUncategorizedpages.php', + 'UncategorizedTemplatesPage' => 'includes/specials/SpecialUncategorizedtemplates.php', + 'UndeleteForm' => 'includes/specials/SpecialUndelete.php', + 'UnusedCategoriesPage' => 'includes/specials/SpecialUnusedcategories.php', + 'UnusedimagesPage' => 'includes/specials/SpecialUnusedimages.php', + 'UnusedtemplatesPage' => 'includes/specials/SpecialUnusedtemplates.php', + 'UnwatchedpagesPage' => 'includes/specials/SpecialUnwatchedpages.php', + 'UploadForm' => 'includes/specials/SpecialUpload.php', + 'UploadFormMogile' => 'includes/specials/SpecialUploadMogile.php', + 'UserrightsPage' => 'includes/specials/SpecialUserrights.php', + 'UsersPager' => 'includes/specials/SpecialListusers.php', + 'WantedCategoriesPage' => 'includes/specials/SpecialWantedcategories.php', + 'WantedPagesPage' => 'includes/specials/SpecialWantedpages.php', + 'WhatLinksHerePage' => 'includes/specials/SpecialWhatlinkshere.php', + 'WikiImporter' => 'includes/specials/SpecialImport.php', + 'WikiRevision' => 'includes/specials/SpecialImport.php', + 'WithoutInterwikiPage' => 'includes/specials/SpecialWithoutinterwiki.php', + + # includes/templates + 'UsercreateTemplate' => 'includes/templates/Userlogin.php', + 'UserloginTemplate' => 'includes/templates/Userlogin.php', + + # languages + 'Language' => 'languages/Language.php', + 'FakeConverter' => 'languages/Language.php', + + # maintenance/language + 'statsOutput' => 'maintenance/language/StatOutputs.php', + 'wikiStatsOutput' => 'maintenance/language/StatOutputs.php', + 'metawikiStatsOutput' => 'maintenance/language/StatOutputs.php', + 'textStatsOutput' => 'maintenance/language/StatOutputs.php', + 'csvStatsOutput' => 'maintenance/language/StatOutputs.php', + +); + +class AutoLoader { + /** + * autoload - take a class name and attempt to load it + * + * @param string $className Name of class we're looking for. + * @return bool Returning false is important on failure as + * it allows Zend to try and look in other registered autoloaders + * as well. + */ + static function autoload( $className ) { + global $wgAutoloadClasses, $wgAutoloadLocalClasses; + + wfProfileIn( __METHOD__ ); + if ( isset( $wgAutoloadLocalClasses[$className] ) ) { + $filename = $wgAutoloadLocalClasses[$className]; + } elseif ( isset( $wgAutoloadClasses[$className] ) ) { + $filename = $wgAutoloadClasses[$className]; + } else { + # Try a different capitalisation + # The case can sometimes be wrong when unserializing PHP 4 objects + $filename = false; + $lowerClass = strtolower( $className ); + foreach ( $wgAutoloadLocalClasses as $class2 => $file2 ) { + if ( strtolower( $class2 ) == $lowerClass ) { + $filename = $file2; + } + } + if ( !$filename ) { + # Give up + wfProfileOut( __METHOD__ ); + return false; } } - if ( !$filename ) { - # Give up - wfProfileOut( __METHOD__ ); - return; + + # Make an absolute path, this improves performance by avoiding some stat calls + if ( substr( $filename, 0, 1 ) != '/' && substr( $filename, 1, 1 ) != ':' ) { + global $IP; + $filename = "$IP/$filename"; } + require( $filename ); + wfProfileOut( __METHOD__ ); + return true; } - # Make an absolute path, this improves performance by avoiding some stat calls - if ( substr( $filename, 0, 1 ) != '/' && substr( $filename, 1, 1 ) != ':' ) { - global $IP; - $filename = "$IP/$filename"; + static function loadAllExtensions() { + global $wgAutoloadClasses; + + foreach( $wgAutoloadClasses as $class => $file ) { + if( !( class_exists( $class ) || interface_exists( $class ) ) ) { + require( $file ); + } + } } - require( $filename ); - wfProfileOut( __METHOD__ ); } function wfLoadAllExtensions() { - global $wgAutoloadClasses; + AutoLoader::loadAllExtensions(); +} - # It is crucial that SpecialPage.php is included before any special page - # extensions are loaded. Otherwise the parent class will not be available - # when APC loads the early-bound extension class. Normally this is - # guaranteed by entering special pages via SpecialPage members such as - # executePath(), but here we have to take a more explicit measure. - - require_once( dirname(__FILE__) . '/SpecialPage.php' ); - - foreach( $wgAutoloadClasses as $class => $file ) { - if( !( class_exists( $class ) || interface_exists( $class ) ) ) { - require( $file ); - } +if ( function_exists( 'spl_autoload_register' ) ) { + spl_autoload_register( array( 'AutoLoader', 'autoload' ) ); +} else { + function __autoload( $class ) { + AutoLoader::autoload( $class ); } } -