2014-09-26 23:13:23 +00:00
|
|
|
<?php
|
2014-11-14 19:00:36 +00:00
|
|
|
// This file is generated by maintenance/generateLocalAutoload.php, do not adjust manually
|
2015-03-16 18:06:13 +00:00
|
|
|
// @codingStandardsIgnoreFile
|
2014-09-26 23:13:23 +00:00
|
|
|
global $wgAutoloadLocalClasses;
|
|
|
|
|
|
2016-02-17 21:08:07 +00:00
|
|
|
$wgAutoloadLocalClasses = [
|
2015-02-25 08:22:50 +00:00
|
|
|
'APCBagOStuff' => __DIR__ . '/includes/libs/objectcache/APCBagOStuff.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'AbstractContent' => __DIR__ . '/includes/content/AbstractContent.php',
|
|
|
|
|
'Action' => __DIR__ . '/includes/actions/Action.php',
|
2016-03-24 11:25:40 +00:00
|
|
|
'ActiveUsersPager' => __DIR__ . '/includes/specials/pagers/ActiveUsersPager.php',
|
2015-05-13 18:23:52 +00:00
|
|
|
'ActivityUpdateJob' => __DIR__ . '/includes/jobqueue/jobs/ActivityUpdateJob.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'AjaxDispatcher' => __DIR__ . '/includes/AjaxDispatcher.php',
|
|
|
|
|
'AjaxResponse' => __DIR__ . '/includes/AjaxResponse.php',
|
2016-03-24 11:25:40 +00:00
|
|
|
'AllMessagesTablePager' => __DIR__ . '/includes/specials/pagers/AllMessagesTablePager.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'AllTrans' => __DIR__ . '/maintenance/language/alltrans.php',
|
|
|
|
|
'AlphabeticPager' => __DIR__ . '/includes/pager/AlphabeticPager.php',
|
|
|
|
|
'AlterSharedConstraints' => __DIR__ . '/maintenance/oracle/alterSharedConstraints.php',
|
|
|
|
|
'AncientPagesPage' => __DIR__ . '/includes/specials/SpecialAncientpages.php',
|
|
|
|
|
'AnsiTermColorer' => __DIR__ . '/maintenance/term/MWTerm.php',
|
2016-01-11 18:20:22 +00:00
|
|
|
'ApiAMCreateAccount' => __DIR__ . '/includes/api/ApiAMCreateAccount.php',
|
|
|
|
|
'ApiAuthManagerHelper' => __DIR__ . '/includes/api/ApiAuthManagerHelper.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiBase' => __DIR__ . '/includes/api/ApiBase.php',
|
|
|
|
|
'ApiBlock' => __DIR__ . '/includes/api/ApiBlock.php',
|
2016-07-08 22:52:20 +00:00
|
|
|
'ApiCSPReport' => __DIR__ . '/includes/api/ApiCSPReport.php',
|
2016-01-11 18:20:22 +00:00
|
|
|
'ApiChangeAuthenticationData' => __DIR__ . '/includes/api/ApiChangeAuthenticationData.php',
|
2015-01-29 20:14:40 +00:00
|
|
|
'ApiCheckToken' => __DIR__ . '/includes/api/ApiCheckToken.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiClearHasMsg' => __DIR__ . '/includes/api/ApiClearHasMsg.php',
|
2016-01-11 18:20:22 +00:00
|
|
|
'ApiClientLogin' => __DIR__ . '/includes/api/ApiClientLogin.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiComparePages' => __DIR__ . '/includes/api/ApiComparePages.php',
|
API: Overhaul ApiResult, make format=xml not throw, and add json formatversion
ApiResult was a mess: some methods could only be used with an array
reference instead of manipulating the stored data, methods that had both
array-ref and internal-data versions had names that didn't at all
correspond, some methods that worked on an array reference were
annoyingly non-static, and then the whole mess with setIndexedTagName.
ApiFormatXml is also entirely annoying to deal with, as it liked to
throw exceptions if certain metadata wasn't provided that no other
formatter required. Its legacy also means we have this silly convention
of using empty-string rather than boolean true, annoying restrictions on
keys (leading to things that should be hashes being arrays of key-value
object instead), '*' used as a key all over the place, and so on.
So, changes here:
* ApiResult is no longer an ApiBase or a ContextSource.
* Wherever sensible, ApiResult provides a static method working on an
arrayref and a non-static method working on internal data.
* Metadata is now always added to ApiResult's internal data structure.
Formatters are responsible for stripping it if necessary. "raw mode"
is deprecated.
* New metadata to replace the '*' key, solve the array() => '[]' vs '{}'
question, and so on.
* New class for formatting warnings and errors using i18n messages, and
support for multiple errors and a more machine-readable format for
warnings. For the moment, though, the actual output will not be changing
yet (see T47843 for future plans).
* New formatversion parameter for format=json and format=php, to select
between BC mode and the modern output.
* In BC mode, booleans will be converted to empty-string presence style;
modules currently returning booleans will need to use
ApiResult::META_BC_BOOLS to preserve their current output.
Actual changes to the API modules' output (e.g. actually returning
booleans for the new formatversion) beyond the use of
ApiResult::setContentValue() are left for a future change.
Bug: T76728
Bug: T57371
Bug: T33629
Change-Id: I7b37295e8862b188d1f3b0cd07f66ac34629678f
2014-12-03 22:14:22 +00:00
|
|
|
'ApiContinuationManager' => __DIR__ . '/includes/api/ApiContinuationManager.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiCreateAccount' => __DIR__ . '/includes/api/ApiCreateAccount.php',
|
|
|
|
|
'ApiDelete' => __DIR__ . '/includes/api/ApiDelete.php',
|
|
|
|
|
'ApiDisabled' => __DIR__ . '/includes/api/ApiDisabled.php',
|
|
|
|
|
'ApiEditPage' => __DIR__ . '/includes/api/ApiEditPage.php',
|
|
|
|
|
'ApiEmailUser' => __DIR__ . '/includes/api/ApiEmailUser.php',
|
API: Overhaul ApiResult, make format=xml not throw, and add json formatversion
ApiResult was a mess: some methods could only be used with an array
reference instead of manipulating the stored data, methods that had both
array-ref and internal-data versions had names that didn't at all
correspond, some methods that worked on an array reference were
annoyingly non-static, and then the whole mess with setIndexedTagName.
ApiFormatXml is also entirely annoying to deal with, as it liked to
throw exceptions if certain metadata wasn't provided that no other
formatter required. Its legacy also means we have this silly convention
of using empty-string rather than boolean true, annoying restrictions on
keys (leading to things that should be hashes being arrays of key-value
object instead), '*' used as a key all over the place, and so on.
So, changes here:
* ApiResult is no longer an ApiBase or a ContextSource.
* Wherever sensible, ApiResult provides a static method working on an
arrayref and a non-static method working on internal data.
* Metadata is now always added to ApiResult's internal data structure.
Formatters are responsible for stripping it if necessary. "raw mode"
is deprecated.
* New metadata to replace the '*' key, solve the array() => '[]' vs '{}'
question, and so on.
* New class for formatting warnings and errors using i18n messages, and
support for multiple errors and a more machine-readable format for
warnings. For the moment, though, the actual output will not be changing
yet (see T47843 for future plans).
* New formatversion parameter for format=json and format=php, to select
between BC mode and the modern output.
* In BC mode, booleans will be converted to empty-string presence style;
modules currently returning booleans will need to use
ApiResult::META_BC_BOOLS to preserve their current output.
Actual changes to the API modules' output (e.g. actually returning
booleans for the new formatversion) beyond the use of
ApiResult::setContentValue() are left for a future change.
Bug: T76728
Bug: T57371
Bug: T33629
Change-Id: I7b37295e8862b188d1f3b0cd07f66ac34629678f
2014-12-03 22:14:22 +00:00
|
|
|
'ApiErrorFormatter' => __DIR__ . '/includes/api/ApiErrorFormatter.php',
|
|
|
|
|
'ApiErrorFormatter_BackCompat' => __DIR__ . '/includes/api/ApiErrorFormatter.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiExpandTemplates' => __DIR__ . '/includes/api/ApiExpandTemplates.php',
|
|
|
|
|
'ApiFeedContributions' => __DIR__ . '/includes/api/ApiFeedContributions.php',
|
|
|
|
|
'ApiFeedRecentChanges' => __DIR__ . '/includes/api/ApiFeedRecentChanges.php',
|
|
|
|
|
'ApiFeedWatchlist' => __DIR__ . '/includes/api/ApiFeedWatchlist.php',
|
|
|
|
|
'ApiFileRevert' => __DIR__ . '/includes/api/ApiFileRevert.php',
|
|
|
|
|
'ApiFormatBase' => __DIR__ . '/includes/api/ApiFormatBase.php',
|
|
|
|
|
'ApiFormatFeedWrapper' => __DIR__ . '/includes/api/ApiFormatFeedWrapper.php',
|
|
|
|
|
'ApiFormatJson' => __DIR__ . '/includes/api/ApiFormatJson.php',
|
|
|
|
|
'ApiFormatNone' => __DIR__ . '/includes/api/ApiFormatNone.php',
|
|
|
|
|
'ApiFormatPhp' => __DIR__ . '/includes/api/ApiFormatPhp.php',
|
|
|
|
|
'ApiFormatRaw' => __DIR__ . '/includes/api/ApiFormatRaw.php',
|
|
|
|
|
'ApiFormatXml' => __DIR__ . '/includes/api/ApiFormatXml.php',
|
|
|
|
|
'ApiFormatXmlRsd' => __DIR__ . '/includes/api/ApiRsd.php',
|
|
|
|
|
'ApiHelp' => __DIR__ . '/includes/api/ApiHelp.php',
|
2014-11-07 23:57:14 +00:00
|
|
|
'ApiHelpParamValueMessage' => __DIR__ . '/includes/api/ApiHelpParamValueMessage.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiImageRotate' => __DIR__ . '/includes/api/ApiImageRotate.php',
|
|
|
|
|
'ApiImport' => __DIR__ . '/includes/api/ApiImport.php',
|
|
|
|
|
'ApiImportReporter' => __DIR__ . '/includes/api/ApiImport.php',
|
2016-01-11 18:20:22 +00:00
|
|
|
'ApiLinkAccount' => __DIR__ . '/includes/api/ApiLinkAccount.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiLogin' => __DIR__ . '/includes/api/ApiLogin.php',
|
|
|
|
|
'ApiLogout' => __DIR__ . '/includes/api/ApiLogout.php',
|
|
|
|
|
'ApiMain' => __DIR__ . '/includes/api/ApiMain.php',
|
2015-02-04 11:32:00 +00:00
|
|
|
'ApiManageTags' => __DIR__ . '/includes/api/ApiManageTags.php',
|
2015-12-30 04:53:34 +00:00
|
|
|
'ApiMergeHistory' => __DIR__ . '/includes/api/ApiMergeHistory.php',
|
API: Overhaul ApiResult, make format=xml not throw, and add json formatversion
ApiResult was a mess: some methods could only be used with an array
reference instead of manipulating the stored data, methods that had both
array-ref and internal-data versions had names that didn't at all
correspond, some methods that worked on an array reference were
annoyingly non-static, and then the whole mess with setIndexedTagName.
ApiFormatXml is also entirely annoying to deal with, as it liked to
throw exceptions if certain metadata wasn't provided that no other
formatter required. Its legacy also means we have this silly convention
of using empty-string rather than boolean true, annoying restrictions on
keys (leading to things that should be hashes being arrays of key-value
object instead), '*' used as a key all over the place, and so on.
So, changes here:
* ApiResult is no longer an ApiBase or a ContextSource.
* Wherever sensible, ApiResult provides a static method working on an
arrayref and a non-static method working on internal data.
* Metadata is now always added to ApiResult's internal data structure.
Formatters are responsible for stripping it if necessary. "raw mode"
is deprecated.
* New metadata to replace the '*' key, solve the array() => '[]' vs '{}'
question, and so on.
* New class for formatting warnings and errors using i18n messages, and
support for multiple errors and a more machine-readable format for
warnings. For the moment, though, the actual output will not be changing
yet (see T47843 for future plans).
* New formatversion parameter for format=json and format=php, to select
between BC mode and the modern output.
* In BC mode, booleans will be converted to empty-string presence style;
modules currently returning booleans will need to use
ApiResult::META_BC_BOOLS to preserve their current output.
Actual changes to the API modules' output (e.g. actually returning
booleans for the new formatversion) beyond the use of
ApiResult::setContentValue() are left for a future change.
Bug: T76728
Bug: T57371
Bug: T33629
Change-Id: I7b37295e8862b188d1f3b0cd07f66ac34629678f
2014-12-03 22:14:22 +00:00
|
|
|
'ApiMessage' => __DIR__ . '/includes/api/ApiMessage.php',
|
2016-02-11 20:58:33 +00:00
|
|
|
'ApiMessageTrait' => __DIR__ . '/includes/api/ApiMessage.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiModuleManager' => __DIR__ . '/includes/api/ApiModuleManager.php',
|
|
|
|
|
'ApiMove' => __DIR__ . '/includes/api/ApiMove.php',
|
|
|
|
|
'ApiOpenSearch' => __DIR__ . '/includes/api/ApiOpenSearch.php',
|
2015-04-30 19:39:16 +00:00
|
|
|
'ApiOpenSearchFormatJson' => __DIR__ . '/includes/api/ApiOpenSearch.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiOptions' => __DIR__ . '/includes/api/ApiOptions.php',
|
|
|
|
|
'ApiPageSet' => __DIR__ . '/includes/api/ApiPageSet.php',
|
|
|
|
|
'ApiParamInfo' => __DIR__ . '/includes/api/ApiParamInfo.php',
|
|
|
|
|
'ApiParse' => __DIR__ . '/includes/api/ApiParse.php',
|
|
|
|
|
'ApiPatrol' => __DIR__ . '/includes/api/ApiPatrol.php',
|
|
|
|
|
'ApiProtect' => __DIR__ . '/includes/api/ApiProtect.php',
|
|
|
|
|
'ApiPurge' => __DIR__ . '/includes/api/ApiPurge.php',
|
|
|
|
|
'ApiQuery' => __DIR__ . '/includes/api/ApiQuery.php',
|
|
|
|
|
'ApiQueryAllCategories' => __DIR__ . '/includes/api/ApiQueryAllCategories.php',
|
|
|
|
|
'ApiQueryAllDeletedRevisions' => __DIR__ . '/includes/api/ApiQueryAllDeletedRevisions.php',
|
|
|
|
|
'ApiQueryAllImages' => __DIR__ . '/includes/api/ApiQueryAllImages.php',
|
|
|
|
|
'ApiQueryAllLinks' => __DIR__ . '/includes/api/ApiQueryAllLinks.php',
|
|
|
|
|
'ApiQueryAllMessages' => __DIR__ . '/includes/api/ApiQueryAllMessages.php',
|
|
|
|
|
'ApiQueryAllPages' => __DIR__ . '/includes/api/ApiQueryAllPages.php',
|
2015-09-27 19:43:05 +00:00
|
|
|
'ApiQueryAllRevisions' => __DIR__ . '/includes/api/ApiQueryAllRevisions.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiQueryAllUsers' => __DIR__ . '/includes/api/ApiQueryAllUsers.php',
|
2016-01-11 18:20:22 +00:00
|
|
|
'ApiQueryAuthManagerInfo' => __DIR__ . '/includes/api/ApiQueryAuthManagerInfo.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiQueryBacklinks' => __DIR__ . '/includes/api/ApiQueryBacklinks.php',
|
|
|
|
|
'ApiQueryBacklinksprop' => __DIR__ . '/includes/api/ApiQueryBacklinksprop.php',
|
|
|
|
|
'ApiQueryBase' => __DIR__ . '/includes/api/ApiQueryBase.php',
|
|
|
|
|
'ApiQueryBlocks' => __DIR__ . '/includes/api/ApiQueryBlocks.php',
|
|
|
|
|
'ApiQueryCategories' => __DIR__ . '/includes/api/ApiQueryCategories.php',
|
|
|
|
|
'ApiQueryCategoryInfo' => __DIR__ . '/includes/api/ApiQueryCategoryInfo.php',
|
|
|
|
|
'ApiQueryCategoryMembers' => __DIR__ . '/includes/api/ApiQueryCategoryMembers.php',
|
|
|
|
|
'ApiQueryContributions' => __DIR__ . '/includes/api/ApiQueryUserContributions.php',
|
|
|
|
|
'ApiQueryContributors' => __DIR__ . '/includes/api/ApiQueryContributors.php',
|
|
|
|
|
'ApiQueryDeletedRevisions' => __DIR__ . '/includes/api/ApiQueryDeletedRevisions.php',
|
|
|
|
|
'ApiQueryDeletedrevs' => __DIR__ . '/includes/api/ApiQueryDeletedrevs.php',
|
|
|
|
|
'ApiQueryDisabled' => __DIR__ . '/includes/api/ApiQueryDisabled.php',
|
|
|
|
|
'ApiQueryDuplicateFiles' => __DIR__ . '/includes/api/ApiQueryDuplicateFiles.php',
|
|
|
|
|
'ApiQueryExtLinksUsage' => __DIR__ . '/includes/api/ApiQueryExtLinksUsage.php',
|
|
|
|
|
'ApiQueryExternalLinks' => __DIR__ . '/includes/api/ApiQueryExternalLinks.php',
|
|
|
|
|
'ApiQueryFileRepoInfo' => __DIR__ . '/includes/api/ApiQueryFileRepoInfo.php',
|
|
|
|
|
'ApiQueryFilearchive' => __DIR__ . '/includes/api/ApiQueryFilearchive.php',
|
2015-12-20 09:41:34 +00:00
|
|
|
'ApiQueryGeneratorBase' => __DIR__ . '/includes/api/ApiQueryGeneratorBase.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiQueryIWBacklinks' => __DIR__ . '/includes/api/ApiQueryIWBacklinks.php',
|
|
|
|
|
'ApiQueryIWLinks' => __DIR__ . '/includes/api/ApiQueryIWLinks.php',
|
|
|
|
|
'ApiQueryImageInfo' => __DIR__ . '/includes/api/ApiQueryImageInfo.php',
|
|
|
|
|
'ApiQueryImages' => __DIR__ . '/includes/api/ApiQueryImages.php',
|
|
|
|
|
'ApiQueryInfo' => __DIR__ . '/includes/api/ApiQueryInfo.php',
|
|
|
|
|
'ApiQueryLangBacklinks' => __DIR__ . '/includes/api/ApiQueryLangBacklinks.php',
|
|
|
|
|
'ApiQueryLangLinks' => __DIR__ . '/includes/api/ApiQueryLangLinks.php',
|
|
|
|
|
'ApiQueryLinks' => __DIR__ . '/includes/api/ApiQueryLinks.php',
|
|
|
|
|
'ApiQueryLogEvents' => __DIR__ . '/includes/api/ApiQueryLogEvents.php',
|
2016-01-20 18:17:07 +00:00
|
|
|
'ApiQueryMyStashedFiles' => __DIR__ . '/includes/api/ApiQueryMyStashedFiles.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiQueryPagePropNames' => __DIR__ . '/includes/api/ApiQueryPagePropNames.php',
|
|
|
|
|
'ApiQueryPageProps' => __DIR__ . '/includes/api/ApiQueryPageProps.php',
|
|
|
|
|
'ApiQueryPagesWithProp' => __DIR__ . '/includes/api/ApiQueryPagesWithProp.php',
|
|
|
|
|
'ApiQueryPrefixSearch' => __DIR__ . '/includes/api/ApiQueryPrefixSearch.php',
|
|
|
|
|
'ApiQueryProtectedTitles' => __DIR__ . '/includes/api/ApiQueryProtectedTitles.php',
|
|
|
|
|
'ApiQueryQueryPage' => __DIR__ . '/includes/api/ApiQueryQueryPage.php',
|
|
|
|
|
'ApiQueryRandom' => __DIR__ . '/includes/api/ApiQueryRandom.php',
|
|
|
|
|
'ApiQueryRecentChanges' => __DIR__ . '/includes/api/ApiQueryRecentChanges.php',
|
|
|
|
|
'ApiQueryRevisions' => __DIR__ . '/includes/api/ApiQueryRevisions.php',
|
|
|
|
|
'ApiQueryRevisionsBase' => __DIR__ . '/includes/api/ApiQueryRevisionsBase.php',
|
|
|
|
|
'ApiQuerySearch' => __DIR__ . '/includes/api/ApiQuerySearch.php',
|
|
|
|
|
'ApiQuerySiteinfo' => __DIR__ . '/includes/api/ApiQuerySiteinfo.php',
|
|
|
|
|
'ApiQueryStashImageInfo' => __DIR__ . '/includes/api/ApiQueryStashImageInfo.php',
|
|
|
|
|
'ApiQueryTags' => __DIR__ . '/includes/api/ApiQueryTags.php',
|
|
|
|
|
'ApiQueryTokens' => __DIR__ . '/includes/api/ApiQueryTokens.php',
|
|
|
|
|
'ApiQueryUserInfo' => __DIR__ . '/includes/api/ApiQueryUserInfo.php',
|
|
|
|
|
'ApiQueryUsers' => __DIR__ . '/includes/api/ApiQueryUsers.php',
|
|
|
|
|
'ApiQueryWatchlist' => __DIR__ . '/includes/api/ApiQueryWatchlist.php',
|
|
|
|
|
'ApiQueryWatchlistRaw' => __DIR__ . '/includes/api/ApiQueryWatchlistRaw.php',
|
API: Overhaul ApiResult, make format=xml not throw, and add json formatversion
ApiResult was a mess: some methods could only be used with an array
reference instead of manipulating the stored data, methods that had both
array-ref and internal-data versions had names that didn't at all
correspond, some methods that worked on an array reference were
annoyingly non-static, and then the whole mess with setIndexedTagName.
ApiFormatXml is also entirely annoying to deal with, as it liked to
throw exceptions if certain metadata wasn't provided that no other
formatter required. Its legacy also means we have this silly convention
of using empty-string rather than boolean true, annoying restrictions on
keys (leading to things that should be hashes being arrays of key-value
object instead), '*' used as a key all over the place, and so on.
So, changes here:
* ApiResult is no longer an ApiBase or a ContextSource.
* Wherever sensible, ApiResult provides a static method working on an
arrayref and a non-static method working on internal data.
* Metadata is now always added to ApiResult's internal data structure.
Formatters are responsible for stripping it if necessary. "raw mode"
is deprecated.
* New metadata to replace the '*' key, solve the array() => '[]' vs '{}'
question, and so on.
* New class for formatting warnings and errors using i18n messages, and
support for multiple errors and a more machine-readable format for
warnings. For the moment, though, the actual output will not be changing
yet (see T47843 for future plans).
* New formatversion parameter for format=json and format=php, to select
between BC mode and the modern output.
* In BC mode, booleans will be converted to empty-string presence style;
modules currently returning booleans will need to use
ApiResult::META_BC_BOOLS to preserve their current output.
Actual changes to the API modules' output (e.g. actually returning
booleans for the new formatversion) beyond the use of
ApiResult::setContentValue() are left for a future change.
Bug: T76728
Bug: T57371
Bug: T33629
Change-Id: I7b37295e8862b188d1f3b0cd07f66ac34629678f
2014-12-03 22:14:22 +00:00
|
|
|
'ApiRawMessage' => __DIR__ . '/includes/api/ApiMessage.php',
|
2016-01-11 18:20:22 +00:00
|
|
|
'ApiRemoveAuthenticationData' => __DIR__ . '/includes/api/ApiRemoveAuthenticationData.php',
|
|
|
|
|
'ApiResetPassword' => __DIR__ . '/includes/api/ApiResetPassword.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiResult' => __DIR__ . '/includes/api/ApiResult.php',
|
|
|
|
|
'ApiRevisionDelete' => __DIR__ . '/includes/api/ApiRevisionDelete.php',
|
|
|
|
|
'ApiRollback' => __DIR__ . '/includes/api/ApiRollback.php',
|
|
|
|
|
'ApiRsd' => __DIR__ . '/includes/api/ApiRsd.php',
|
API: Overhaul ApiResult, make format=xml not throw, and add json formatversion
ApiResult was a mess: some methods could only be used with an array
reference instead of manipulating the stored data, methods that had both
array-ref and internal-data versions had names that didn't at all
correspond, some methods that worked on an array reference were
annoyingly non-static, and then the whole mess with setIndexedTagName.
ApiFormatXml is also entirely annoying to deal with, as it liked to
throw exceptions if certain metadata wasn't provided that no other
formatter required. Its legacy also means we have this silly convention
of using empty-string rather than boolean true, annoying restrictions on
keys (leading to things that should be hashes being arrays of key-value
object instead), '*' used as a key all over the place, and so on.
So, changes here:
* ApiResult is no longer an ApiBase or a ContextSource.
* Wherever sensible, ApiResult provides a static method working on an
arrayref and a non-static method working on internal data.
* Metadata is now always added to ApiResult's internal data structure.
Formatters are responsible for stripping it if necessary. "raw mode"
is deprecated.
* New metadata to replace the '*' key, solve the array() => '[]' vs '{}'
question, and so on.
* New class for formatting warnings and errors using i18n messages, and
support for multiple errors and a more machine-readable format for
warnings. For the moment, though, the actual output will not be changing
yet (see T47843 for future plans).
* New formatversion parameter for format=json and format=php, to select
between BC mode and the modern output.
* In BC mode, booleans will be converted to empty-string presence style;
modules currently returning booleans will need to use
ApiResult::META_BC_BOOLS to preserve their current output.
Actual changes to the API modules' output (e.g. actually returning
booleans for the new formatversion) beyond the use of
ApiResult::setContentValue() are left for a future change.
Bug: T76728
Bug: T57371
Bug: T33629
Change-Id: I7b37295e8862b188d1f3b0cd07f66ac34629678f
2014-12-03 22:14:22 +00:00
|
|
|
'ApiSerializable' => __DIR__ . '/includes/api/ApiSerializable.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiSetNotificationTimestamp' => __DIR__ . '/includes/api/ApiSetNotificationTimestamp.php',
|
2014-11-20 00:33:51 +00:00
|
|
|
'ApiStashEdit' => __DIR__ . '/includes/api/ApiStashEdit.php',
|
2015-04-15 01:33:08 +00:00
|
|
|
'ApiTag' => __DIR__ . '/includes/api/ApiTag.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ApiTokens' => __DIR__ . '/includes/api/ApiTokens.php',
|
|
|
|
|
'ApiUnblock' => __DIR__ . '/includes/api/ApiUnblock.php',
|
|
|
|
|
'ApiUndelete' => __DIR__ . '/includes/api/ApiUndelete.php',
|
|
|
|
|
'ApiUpload' => __DIR__ . '/includes/api/ApiUpload.php',
|
|
|
|
|
'ApiUserrights' => __DIR__ . '/includes/api/ApiUserrights.php',
|
|
|
|
|
'ApiWatch' => __DIR__ . '/includes/api/ApiWatch.php',
|
|
|
|
|
'ArchivedFile' => __DIR__ . '/includes/filerepo/file/ArchivedFile.php',
|
|
|
|
|
'ArrayDiffFormatter' => __DIR__ . '/includes/diff/ArrayDiffFormatter.php',
|
|
|
|
|
'ArrayUtils' => __DIR__ . '/includes/libs/ArrayUtils.php',
|
|
|
|
|
'Article' => __DIR__ . '/includes/page/Article.php',
|
|
|
|
|
'AssembleUploadChunksJob' => __DIR__ . '/includes/jobqueue/jobs/AssembleUploadChunksJob.php',
|
|
|
|
|
'AtomFeed' => __DIR__ . '/includes/Feed.php',
|
2016-01-13 16:54:48 +00:00
|
|
|
'AtomicSectionUpdate' => __DIR__ . '/includes/deferred/AtomicSectionUpdate.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'AttachLatest' => __DIR__ . '/maintenance/attachLatest.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'AuthManagerSpecialPage' => __DIR__ . '/includes/specialpage/AuthManagerSpecialPage.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'AuthPlugin' => __DIR__ . '/includes/AuthPlugin.php',
|
|
|
|
|
'AuthPluginUser' => __DIR__ . '/includes/AuthPlugin.php',
|
|
|
|
|
'AutoLoader' => __DIR__ . '/includes/AutoLoader.php',
|
|
|
|
|
'AutoloadGenerator' => __DIR__ . '/includes/utils/AutoloadGenerator.php',
|
|
|
|
|
'Autopromote' => __DIR__ . '/includes/Autopromote.php',
|
Produce monolog messages through kafka+avro
This allows a logging channel to be configured to write
directly to kafka. Logs can be serialized either to json
blobs or the more compact apache avro format.
The Kafka handler for monolog needs a list of one of more
kafka servers to query cluster metadata from. This should be
able to use any monolog formatter, although some like
JsonFormatter require you to disable formatBatch as Kafka
protocol would prefer to encode each record independently in
the protocol. This requires the nmred/kafka-php library,
version >= 1.3.0.
Adds a new formatter which serializes to the apache avro
format. This is a compact binary format which uses pre-
defined schemas. This initial implementation is very simple
and takes the plain schemas as a constructor argument.
Adds a new option to MonologSpi to wrap handlers in a
BufferHandler. This doesn't flush until the request shuts
down and prevents any network requests in the logger from
adding latency to web requests.
Related mediawiki/vendor update: Ibfe4bd2036ae8e998e2973f07bd9a6f057691578
The necessary config is something like:
array(
'loggers' => array(
'CirrusSearchRequests' => array(
'handlers' => array( 'kafka' ),
),
),
'handlers' => array(
'kafka' => array(
'factory' => '\\MediaWiki\\Logger\\Monolog\\KafkaHandler::factory',
'args' => array( 'localhost:9092' ),
'formatter' => 'avro',
'buffer' => true,
),
),
'formatters' => array(
'avro' => array(
'class' => '\\MediaWiki\\Logger\\Monolog\\AvroFormatter',
'args' => array(
array(
'CirrusSearchRequests' => array(
'type' => 'record',
'name' => 'CirrusSearchRequests'
'fields' => array( ... )
),
),
),
),
),
)
Bug: T106256
Change-Id: I6ee744b3e5306af0bed70811b558a543eed22840
2015-08-04 18:02:47 +00:00
|
|
|
'AvroValidator' => __DIR__ . '/includes/utils/AvroValidator.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'BacklinkCache' => __DIR__ . '/includes/cache/BacklinkCache.php',
|
|
|
|
|
'BacklinkJobUtils' => __DIR__ . '/includes/jobqueue/utils/BacklinkJobUtils.php',
|
|
|
|
|
'BackupDumper' => __DIR__ . '/maintenance/backup.inc',
|
|
|
|
|
'BackupReader' => __DIR__ . '/maintenance/importDump.php',
|
2016-05-17 21:22:05 +00:00
|
|
|
'BadRequestError' => __DIR__ . '/includes/exception/BadRequestError.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'BadTitleError' => __DIR__ . '/includes/exception/BadTitleError.php',
|
2015-02-25 08:22:50 +00:00
|
|
|
'BagOStuff' => __DIR__ . '/includes/libs/objectcache/BagOStuff.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'BaseDump' => __DIR__ . '/maintenance/backupPrefetch.inc',
|
|
|
|
|
'BaseTemplate' => __DIR__ . '/includes/skins/BaseTemplate.php',
|
2015-07-30 22:09:11 +00:00
|
|
|
'BatchRowIterator' => __DIR__ . '/includes/utils/BatchRowIterator.php',
|
|
|
|
|
'BatchRowUpdate' => __DIR__ . '/includes/utils/BatchRowUpdate.php',
|
|
|
|
|
'BatchRowWriter' => __DIR__ . '/includes/utils/BatchRowWriter.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'BatchedQueryRunner' => __DIR__ . '/maintenance/runBatchedQuery.php',
|
|
|
|
|
'BcryptPassword' => __DIR__ . '/includes/password/BcryptPassword.php',
|
|
|
|
|
'BenchHttpHttps' => __DIR__ . '/maintenance/benchmarks/bench_HTTP_HTTPS.php',
|
|
|
|
|
'BenchIfSwitch' => __DIR__ . '/maintenance/benchmarks/bench_if_switch.php',
|
|
|
|
|
'BenchStrtrStrReplace' => __DIR__ . '/maintenance/benchmarks/bench_strtr_str_replace.php',
|
|
|
|
|
'BenchUtf8TitleCheck' => __DIR__ . '/maintenance/benchmarks/bench_utf8_title_check.php',
|
|
|
|
|
'BenchWfIsWindows' => __DIR__ . '/maintenance/benchmarks/bench_wfIsWindows.php',
|
2015-11-30 22:02:53 +00:00
|
|
|
'BenchWikimediaBaseConvert' => __DIR__ . '/maintenance/benchmarks/bench_Wikimedia_base_convert.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'BenchmarkDeleteTruncate' => __DIR__ . '/maintenance/benchmarks/bench_delete_truncate.php',
|
|
|
|
|
'BenchmarkHooks' => __DIR__ . '/maintenance/benchmarks/benchmarkHooks.php',
|
|
|
|
|
'BenchmarkParse' => __DIR__ . '/maintenance/benchmarks/benchmarkParse.php',
|
|
|
|
|
'BenchmarkPurge' => __DIR__ . '/maintenance/benchmarks/benchmarkPurge.php',
|
|
|
|
|
'Benchmarker' => __DIR__ . '/maintenance/benchmarks/Benchmarker.php',
|
|
|
|
|
'BitmapHandler' => __DIR__ . '/includes/media/Bitmap.php',
|
|
|
|
|
'BitmapHandler_ClientOnly' => __DIR__ . '/includes/media/Bitmap_ClientOnly.php',
|
|
|
|
|
'BitmapMetadataHandler' => __DIR__ . '/includes/media/BitmapMetadataHandler.php',
|
|
|
|
|
'Blob' => __DIR__ . '/includes/db/DatabaseUtility.php',
|
|
|
|
|
'Block' => __DIR__ . '/includes/Block.php',
|
2016-05-06 02:56:37 +00:00
|
|
|
'BlockLevelPass' => __DIR__ . '/includes/parser/BlockLevelPass.php',
|
2016-03-24 11:25:40 +00:00
|
|
|
'BlockListPager' => __DIR__ . '/includes/specials/pagers/BlockListPager.php',
|
2014-08-04 21:12:53 +00:00
|
|
|
'BlockLogFormatter' => __DIR__ . '/includes/logging/BlockLogFormatter.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'BmpHandler' => __DIR__ . '/includes/media/BMP.php',
|
2016-02-01 20:44:03 +00:00
|
|
|
'BotPassword' => __DIR__ . '/includes/user/BotPassword.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'BrokenRedirectsPage' => __DIR__ . '/includes/specials/SpecialBrokenRedirects.php',
|
2016-04-02 09:22:00 +00:00
|
|
|
'BufferingStatsdDataFactory' => __DIR__ . '/includes/libs/stats/BufferingStatsdDataFactory.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'CLIParser' => __DIR__ . '/maintenance/parse.php',
|
|
|
|
|
'CSSMin' => __DIR__ . '/includes/libs/CSSMin.php',
|
|
|
|
|
'CacheDependency' => __DIR__ . '/includes/cache/CacheDependency.php',
|
|
|
|
|
'CacheHelper' => __DIR__ . '/includes/cache/CacheHelper.php',
|
|
|
|
|
'CacheTime' => __DIR__ . '/includes/parser/CacheTime.php',
|
|
|
|
|
'CachedAction' => __DIR__ . '/includes/actions/CachedAction.php',
|
2016-01-30 01:09:57 +00:00
|
|
|
'CachedBagOStuff' => __DIR__ . '/includes/libs/objectcache/CachedBagOStuff.php',
|
2015-02-06 02:00:26 +00:00
|
|
|
'CachingSiteStore' => __DIR__ . '/includes/site/CachingSiteStore.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'CapsCleanup' => __DIR__ . '/maintenance/cleanupCaps.php',
|
|
|
|
|
'Category' => __DIR__ . '/includes/Category.php',
|
|
|
|
|
'CategoryFinder' => __DIR__ . '/includes/CategoryFinder.php',
|
2015-09-17 09:51:25 +00:00
|
|
|
'CategoryMembershipChange' => __DIR__ . '/includes/changes/CategoryMembershipChange.php',
|
2015-11-15 02:29:37 +00:00
|
|
|
'CategoryMembershipChangeJob' => __DIR__ . '/includes/jobqueue/jobs/CategoryMembershipChangeJob.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'CategoryPage' => __DIR__ . '/includes/page/CategoryPage.php',
|
2016-03-24 11:25:40 +00:00
|
|
|
'CategoryPager' => __DIR__ . '/includes/specials/pagers/CategoryPager.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'CategoryViewer' => __DIR__ . '/includes/CategoryViewer.php',
|
2015-06-27 19:54:40 +00:00
|
|
|
'CdbException' => __DIR__ . '/includes/compat/CdbCompat.php',
|
|
|
|
|
'CdbReader' => __DIR__ . '/includes/compat/CdbCompat.php',
|
|
|
|
|
'CdbWriter' => __DIR__ . '/includes/compat/CdbCompat.php',
|
2015-12-09 18:05:59 +00:00
|
|
|
'CdnCacheUpdate' => __DIR__ . '/includes/deferred/CdnCacheUpdate.php',
|
2015-11-13 06:41:37 +00:00
|
|
|
'CdnPurgeJob' => __DIR__ . '/includes/jobqueue/jobs/CdnPurgeJob.php',
|
2015-11-12 23:21:19 +00:00
|
|
|
'CentralIdLookup' => __DIR__ . '/includes/user/CentralIdLookup.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'CgzCopyTransaction' => __DIR__ . '/maintenance/storage/recompressTracked.php',
|
|
|
|
|
'ChangePassword' => __DIR__ . '/maintenance/changePassword.php',
|
2015-04-16 17:40:04 +00:00
|
|
|
'ChangeTags' => __DIR__ . '/includes/changetags/ChangeTags.php',
|
2015-04-15 01:31:53 +00:00
|
|
|
'ChangeTagsList' => __DIR__ . '/includes/changetags/ChangeTagsList.php',
|
|
|
|
|
'ChangeTagsLogItem' => __DIR__ . '/includes/changetags/ChangeTagsLogItem.php',
|
|
|
|
|
'ChangeTagsLogList' => __DIR__ . '/includes/changetags/ChangeTagsLogList.php',
|
|
|
|
|
'ChangeTagsRevisionItem' => __DIR__ . '/includes/changetags/ChangeTagsRevisionItem.php',
|
|
|
|
|
'ChangeTagsRevisionList' => __DIR__ . '/includes/changetags/ChangeTagsRevisionList.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ChangesFeed' => __DIR__ . '/includes/changes/ChangesFeed.php',
|
|
|
|
|
'ChangesList' => __DIR__ . '/includes/changes/ChangesList.php',
|
|
|
|
|
'ChangesListSpecialPage' => __DIR__ . '/includes/specialpage/ChangesListSpecialPage.php',
|
|
|
|
|
'ChannelFeed' => __DIR__ . '/includes/Feed.php',
|
|
|
|
|
'CheckBadRedirects' => __DIR__ . '/maintenance/checkBadRedirects.php',
|
2014-12-08 20:08:52 +00:00
|
|
|
'CheckComposerLockUpToDate' => __DIR__ . '/maintenance/checkComposerLockUpToDate.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'CheckExtensionsCLI' => __DIR__ . '/maintenance/language/checkLanguage.inc',
|
|
|
|
|
'CheckImages' => __DIR__ . '/maintenance/checkImages.php',
|
|
|
|
|
'CheckLanguageCLI' => __DIR__ . '/maintenance/language/checkLanguage.inc',
|
|
|
|
|
'CheckLess' => __DIR__ . '/maintenance/checkLess.php',
|
|
|
|
|
'CheckStorage' => __DIR__ . '/maintenance/storage/checkStorage.php',
|
|
|
|
|
'CheckSyntax' => __DIR__ . '/maintenance/checkSyntax.php',
|
|
|
|
|
'CheckUsernames' => __DIR__ . '/maintenance/checkUsernames.php',
|
|
|
|
|
'ChronologyProtector' => __DIR__ . '/includes/db/ChronologyProtector.php',
|
2016-04-04 03:26:24 +00:00
|
|
|
'ClassCollector' => __DIR__ . '/includes/utils/AutoloadGenerator.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'CleanupAncientTables' => __DIR__ . '/maintenance/cleanupAncientTables.php',
|
|
|
|
|
'CleanupBlocks' => __DIR__ . '/maintenance/cleanupBlocks.php',
|
2016-07-13 15:30:37 +00:00
|
|
|
'CleanupEmptyCategories' => __DIR__ . '/maintenance/cleanupEmptyCategories.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'CleanupPreferences' => __DIR__ . '/maintenance/cleanupPreferences.php',
|
|
|
|
|
'CleanupRemovedModules' => __DIR__ . '/maintenance/cleanupRemovedModules.php',
|
|
|
|
|
'CleanupSpam' => __DIR__ . '/maintenance/cleanupSpam.php',
|
|
|
|
|
'ClearInterwikiCache' => __DIR__ . '/maintenance/clearInterwikiCache.php',
|
|
|
|
|
'CliInstaller' => __DIR__ . '/includes/installer/CliInstaller.php',
|
|
|
|
|
'CloneDatabase' => __DIR__ . '/includes/db/CloneDatabase.php',
|
|
|
|
|
'CodeContentHandler' => __DIR__ . '/includes/content/CodeContentHandler.php',
|
2016-04-03 08:23:20 +00:00
|
|
|
'Collation' => __DIR__ . '/includes/collation/Collation.php',
|
|
|
|
|
'CollationCkb' => __DIR__ . '/includes/collation/CollationCkb.php',
|
|
|
|
|
'CollationEt' => __DIR__ . '/includes/collation/CollationEt.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'CommandLineInc' => __DIR__ . '/maintenance/commandLine.inc',
|
|
|
|
|
'CommandLineInstaller' => __DIR__ . '/maintenance/install.php',
|
|
|
|
|
'CompareParserCache' => __DIR__ . '/maintenance/compareParserCache.php',
|
|
|
|
|
'CompareParsers' => __DIR__ . '/maintenance/compareParsers.php',
|
|
|
|
|
'ComposerHookHandler' => __DIR__ . '/includes/composer/ComposerHookHandler.php',
|
2015-10-25 23:55:47 +00:00
|
|
|
'ComposerInstalled' => __DIR__ . '/includes/libs/composer/ComposerInstalled.php',
|
2014-12-08 20:08:52 +00:00
|
|
|
'ComposerJson' => __DIR__ . '/includes/libs/composer/ComposerJson.php',
|
|
|
|
|
'ComposerLock' => __DIR__ . '/includes/libs/composer/ComposerLock.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ComposerPackageModifier' => __DIR__ . '/includes/composer/ComposerPackageModifier.php',
|
|
|
|
|
'ComposerVersionNormalizer' => __DIR__ . '/includes/composer/ComposerVersionNormalizer.php',
|
|
|
|
|
'CompressOld' => __DIR__ . '/maintenance/storage/compressOld.php',
|
|
|
|
|
'ConcatenatedGzipHistoryBlob' => __DIR__ . '/includes/HistoryBlob.php',
|
|
|
|
|
'Config' => __DIR__ . '/includes/config/Config.php',
|
|
|
|
|
'ConfigException' => __DIR__ . '/includes/config/ConfigException.php',
|
|
|
|
|
'ConfigFactory' => __DIR__ . '/includes/config/ConfigFactory.php',
|
|
|
|
|
'ConstantDependency' => __DIR__ . '/includes/cache/CacheDependency.php',
|
|
|
|
|
'Content' => __DIR__ . '/includes/content/Content.php',
|
|
|
|
|
'ContentHandler' => __DIR__ . '/includes/content/ContentHandler.php',
|
2015-03-29 03:36:01 +00:00
|
|
|
'ContentModelLogFormatter' => __DIR__ . '/includes/logging/ContentModelLogFormatter.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ContextSource' => __DIR__ . '/includes/context/ContextSource.php',
|
2016-03-24 11:25:40 +00:00
|
|
|
'ContribsPager' => __DIR__ . '/includes/specials/pagers/ContribsPager.php',
|
Implement extension registration from an extension.json file
Introduces wfLoadExtension()/wfLoadSkin() which should be used in
LocalSettings.php rather than require-ing a PHP entry point.
Extensions and skins would add "extension.json" or "skin.json" files
in their root, which contains all the information typically
present in PHP entry point files (classes to autoload, special pages,
API modules, etc.) A full schema can be found at
docs/extension.schema.json, and a script to validate these to the
schema is provided. An additional script is provided to convert
typical PHP entry point files into their JSON equivalents.
The basic flow of loading an extension goes like:
* Get the ExtensionRegistry singleton instance
* ExtensionRegistry takes a filename, reads the file or tries
to get the parsed JSON from APC if possible.
* The JSON is run through a Processor instance,
which registers things with the appropriate
global settings.
* The output of the processor is cached in APC if possible.
* The extension/skin is marked as loaded in the
ExtensionRegistry and a callback function is executed
if one was specified.
For ideal performance, a batch loading method is also provided:
* The absolute path name to the JSON file is queued
in the ExtensionRegistry instance.
* When loadFromQueue() is called, it constructs a hash
unique to the members of the current queue, and sees
if the queue has been cached in APC. If not, it processes
each file individually, and combines the result of each
Processor into one giant array, which is cached in APC.
* The giant array then sets various global settings,
defines constants, and calls callbacks.
To invalidate the cached processed info, by default the mtime
of each JSON file is checked. However that can be slow if you
have a large number of extensions, so you can set $wgExtensionInfoMTime
to the mtime of one file, and `touch` it whenever you update
your extensions.
Change-Id: I7074b65d07c5c7d4e3f1fb0755d74a0b07ed4596
2014-10-15 00:31:15 +00:00
|
|
|
'ConvertExtensionToRegistration' => __DIR__ . '/maintenance/convertExtensionToRegistration.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ConvertLinks' => __DIR__ . '/maintenance/convertLinks.php',
|
|
|
|
|
'ConvertUserOptions' => __DIR__ . '/maintenance/convertUserOptions.php',
|
|
|
|
|
'ConverterRule' => __DIR__ . '/languages/ConverterRule.php',
|
|
|
|
|
'Cookie' => __DIR__ . '/includes/libs/Cookie.php',
|
2016-04-03 08:46:36 +00:00
|
|
|
'CookieJar' => __DIR__ . '/includes/libs/CookieJar.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'CopyFileBackend' => __DIR__ . '/maintenance/copyFileBackend.php',
|
|
|
|
|
'CopyFileOp' => __DIR__ . '/includes/filebackend/FileOp.php',
|
|
|
|
|
'CopyJobQueue' => __DIR__ . '/maintenance/copyJobQueue.php',
|
|
|
|
|
'CoreParserFunctions' => __DIR__ . '/includes/parser/CoreParserFunctions.php',
|
|
|
|
|
'CoreTagHooks' => __DIR__ . '/includes/parser/CoreTagHooks.php',
|
2015-05-14 05:51:55 +00:00
|
|
|
'CoreVersionChecker' => __DIR__ . '/includes/registration/CoreVersionChecker.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'CreateAndPromote' => __DIR__ . '/maintenance/createAndPromote.php',
|
|
|
|
|
'CreateFileOp' => __DIR__ . '/includes/filebackend/FileOp.php',
|
|
|
|
|
'CreditsAction' => __DIR__ . '/includes/actions/CreditsAction.php',
|
|
|
|
|
'CssContent' => __DIR__ . '/includes/content/CssContent.php',
|
|
|
|
|
'CssContentHandler' => __DIR__ . '/includes/content/CssContentHandler.php',
|
|
|
|
|
'CsvStatsOutput' => __DIR__ . '/maintenance/language/StatOutputs.php',
|
|
|
|
|
'CurlHttpRequest' => __DIR__ . '/includes/HttpFunctions.php',
|
|
|
|
|
'DBAccessBase' => __DIR__ . '/includes/dao/DBAccessBase.php',
|
2015-09-24 20:00:12 +00:00
|
|
|
'DBAccessError' => __DIR__ . '/includes/db/loadbalancer/LBFactory.php',
|
2015-07-14 19:11:32 +00:00
|
|
|
'DBAccessObjectUtils' => __DIR__ . '/includes/dao/DBAccessObjectUtils.php',
|
2015-04-24 17:00:22 +00:00
|
|
|
'DBConnRef' => __DIR__ . '/includes/db/DBConnRef.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DBConnectionError' => __DIR__ . '/includes/db/DatabaseError.php',
|
|
|
|
|
'DBError' => __DIR__ . '/includes/db/DatabaseError.php',
|
|
|
|
|
'DBExpectedError' => __DIR__ . '/includes/db/DatabaseError.php',
|
|
|
|
|
'DBFileJournal' => __DIR__ . '/includes/filebackend/filejournal/DBFileJournal.php',
|
|
|
|
|
'DBLockManager' => __DIR__ . '/includes/filebackend/lockmanager/DBLockManager.php',
|
|
|
|
|
'DBMasterPos' => __DIR__ . '/includes/db/DatabaseUtility.php',
|
|
|
|
|
'DBQueryError' => __DIR__ . '/includes/db/DatabaseError.php',
|
2015-10-05 05:15:33 +00:00
|
|
|
'DBReadOnlyError' => __DIR__ . '/includes/db/DatabaseError.php',
|
2015-12-22 19:21:27 +00:00
|
|
|
'DBReplicationWaitError' => __DIR__ . '/includes/db/loadbalancer/LBFactory.php',
|
2015-02-06 02:00:26 +00:00
|
|
|
'DBSiteStore' => __DIR__ . '/includes/site/DBSiteStore.php',
|
2015-10-24 10:22:41 +00:00
|
|
|
'DBTransactionError' => __DIR__ . '/includes/db/DatabaseError.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DBUnexpectedError' => __DIR__ . '/includes/db/DatabaseError.php',
|
|
|
|
|
'DataUpdate' => __DIR__ . '/includes/deferred/DataUpdate.php',
|
2015-10-04 19:17:57 +00:00
|
|
|
'Database' => __DIR__ . '/includes/db/Database.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DatabaseBase' => __DIR__ . '/includes/db/Database.php',
|
|
|
|
|
'DatabaseInstaller' => __DIR__ . '/includes/installer/DatabaseInstaller.php',
|
|
|
|
|
'DatabaseLag' => __DIR__ . '/maintenance/lag.php',
|
|
|
|
|
'DatabaseLogEntry' => __DIR__ . '/includes/logging/LogEntry.php',
|
|
|
|
|
'DatabaseMssql' => __DIR__ . '/includes/db/DatabaseMssql.php',
|
|
|
|
|
'DatabaseMysql' => __DIR__ . '/includes/db/DatabaseMysql.php',
|
|
|
|
|
'DatabaseMysqlBase' => __DIR__ . '/includes/db/DatabaseMysqlBase.php',
|
|
|
|
|
'DatabaseMysqli' => __DIR__ . '/includes/db/DatabaseMysqli.php',
|
|
|
|
|
'DatabaseOracle' => __DIR__ . '/includes/db/DatabaseOracle.php',
|
|
|
|
|
'DatabasePostgres' => __DIR__ . '/includes/db/DatabasePostgres.php',
|
|
|
|
|
'DatabaseSqlite' => __DIR__ . '/includes/db/DatabaseSqlite.php',
|
|
|
|
|
'DatabaseUpdater' => __DIR__ . '/includes/installer/DatabaseUpdater.php',
|
|
|
|
|
'DateFormats' => __DIR__ . '/maintenance/language/date-formats.php',
|
|
|
|
|
'DateFormatter' => __DIR__ . '/includes/parser/DateFormatter.php',
|
|
|
|
|
'DeadendPagesPage' => __DIR__ . '/includes/specials/SpecialDeadendpages.php',
|
2015-11-30 22:02:53 +00:00
|
|
|
'DeferrableUpdate' => __DIR__ . '/includes/deferred/DeferrableUpdate.php',
|
2015-01-11 01:52:37 +00:00
|
|
|
'DeferredStringifier' => __DIR__ . '/includes/libs/DeferredStringifier.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DeferredUpdates' => __DIR__ . '/includes/deferred/DeferredUpdates.php',
|
|
|
|
|
'DeleteAction' => __DIR__ . '/includes/actions/DeleteAction.php',
|
|
|
|
|
'DeleteArchivedFiles' => __DIR__ . '/maintenance/deleteArchivedFiles.php',
|
|
|
|
|
'DeleteArchivedRevisions' => __DIR__ . '/maintenance/deleteArchivedRevisions.php',
|
|
|
|
|
'DeleteBatch' => __DIR__ . '/maintenance/deleteBatch.php',
|
|
|
|
|
'DeleteDefaultMessages' => __DIR__ . '/maintenance/deleteDefaultMessages.php',
|
|
|
|
|
'DeleteEqualMessages' => __DIR__ . '/maintenance/deleteEqualMessages.php',
|
|
|
|
|
'DeleteFileOp' => __DIR__ . '/includes/filebackend/FileOp.php',
|
2015-09-22 19:07:05 +00:00
|
|
|
'DeleteLinksJob' => __DIR__ . '/includes/jobqueue/jobs/DeleteLinksJob.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DeleteLogFormatter' => __DIR__ . '/includes/logging/DeleteLogFormatter.php',
|
|
|
|
|
'DeleteOldRevisions' => __DIR__ . '/maintenance/deleteOldRevisions.php',
|
|
|
|
|
'DeleteOrphanedRevisions' => __DIR__ . '/maintenance/deleteOrphanedRevisions.php',
|
|
|
|
|
'DeleteRevision' => __DIR__ . '/maintenance/deleteRevision.php',
|
|
|
|
|
'DeleteSelfExternals' => __DIR__ . '/maintenance/deleteSelfExternals.php',
|
2016-03-24 11:25:40 +00:00
|
|
|
'DeletedContribsPager' => __DIR__ . '/includes/specials/pagers/DeletedContribsPager.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DeletedContributionsPage' => __DIR__ . '/includes/specials/SpecialDeletedContributions.php',
|
|
|
|
|
'DependencyWrapper' => __DIR__ . '/includes/cache/CacheDependency.php',
|
|
|
|
|
'DeprecatedGlobal' => __DIR__ . '/includes/DeprecatedGlobal.php',
|
2015-12-21 10:32:48 +00:00
|
|
|
'DeprecatedInterfaceFinder' => __DIR__ . '/maintenance/findDeprecated.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DerivativeContext' => __DIR__ . '/includes/context/DerivativeContext.php',
|
2016-01-04 13:55:15 +00:00
|
|
|
'DerivativeRequest' => __DIR__ . '/includes/DerivativeRequest.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DerivativeResourceLoaderContext' => __DIR__ . '/includes/resourceloader/DerivativeResourceLoaderContext.php',
|
|
|
|
|
'DescribeFileOp' => __DIR__ . '/includes/filebackend/FileOp.php',
|
|
|
|
|
'Diff' => __DIR__ . '/includes/diff/DairikiDiff.php',
|
2016-04-26 22:59:21 +00:00
|
|
|
'DiffEngine' => __DIR__ . '/includes/diff/DiffEngine.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DiffFormatter' => __DIR__ . '/includes/diff/DiffFormatter.php',
|
|
|
|
|
'DiffHistoryBlob' => __DIR__ . '/includes/HistoryBlob.php',
|
|
|
|
|
'DiffOp' => __DIR__ . '/includes/diff/DairikiDiff.php',
|
|
|
|
|
'DiffOpAdd' => __DIR__ . '/includes/diff/DairikiDiff.php',
|
|
|
|
|
'DiffOpChange' => __DIR__ . '/includes/diff/DairikiDiff.php',
|
|
|
|
|
'DiffOpCopy' => __DIR__ . '/includes/diff/DairikiDiff.php',
|
|
|
|
|
'DiffOpDelete' => __DIR__ . '/includes/diff/DairikiDiff.php',
|
|
|
|
|
'DifferenceEngine' => __DIR__ . '/includes/diff/DifferenceEngine.php',
|
|
|
|
|
'Digit2Html' => __DIR__ . '/maintenance/language/digit2html.php',
|
|
|
|
|
'DjVuHandler' => __DIR__ . '/includes/media/DjVu.php',
|
|
|
|
|
'DjVuImage' => __DIR__ . '/includes/media/DjVuImage.php',
|
|
|
|
|
'DoubleRedirectJob' => __DIR__ . '/includes/jobqueue/jobs/DoubleRedirectJob.php',
|
|
|
|
|
'DoubleRedirectsPage' => __DIR__ . '/includes/specials/SpecialDoubleRedirects.php',
|
2015-01-29 04:42:25 +00:00
|
|
|
'DoubleReplacer' => __DIR__ . '/includes/libs/replacers/DoubleReplacer.php',
|
2016-04-20 07:48:48 +00:00
|
|
|
'DummyLinker' => __DIR__ . '/includes/DummyLinker.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DummyTermColorer' => __DIR__ . '/maintenance/term/MWTerm.php',
|
2015-12-28 22:23:22 +00:00
|
|
|
'Dump7ZipOutput' => __DIR__ . '/includes/export/Dump7ZipOutput.php',
|
|
|
|
|
'DumpBZip2Output' => __DIR__ . '/includes/export/DumpBZip2Output.php',
|
2015-12-31 09:46:54 +00:00
|
|
|
'DumpBackup' => __DIR__ . '/maintenance/dumpBackup.php',
|
|
|
|
|
'DumpDBZip2Output' => __DIR__ . '/includes/export/DumpDBZip2Output.php',
|
2015-12-28 22:23:22 +00:00
|
|
|
'DumpFileOutput' => __DIR__ . '/includes/export/DumpFileOutput.php',
|
|
|
|
|
'DumpFilter' => __DIR__ . '/includes/export/DumpFilter.php',
|
|
|
|
|
'DumpGZipOutput' => __DIR__ . '/includes/export/DumpGZipOutput.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DumpIterator' => __DIR__ . '/maintenance/dumpIterator.php',
|
2015-12-28 22:23:22 +00:00
|
|
|
'DumpLatestFilter' => __DIR__ . '/includes/export/DumpLatestFilter.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DumpLinks' => __DIR__ . '/maintenance/dumpLinks.php',
|
|
|
|
|
'DumpMessages' => __DIR__ . '/maintenance/language/dumpMessages.php',
|
2015-12-28 22:23:22 +00:00
|
|
|
'DumpMultiWriter' => __DIR__ . '/includes/export/DumpMultiWriter.php',
|
|
|
|
|
'DumpNamespaceFilter' => __DIR__ . '/includes/export/DumpNamespaceFilter.php',
|
|
|
|
|
'DumpNotalkFilter' => __DIR__ . '/includes/export/DumpNotalkFilter.php',
|
|
|
|
|
'DumpOutput' => __DIR__ . '/includes/export/DumpOutput.php',
|
|
|
|
|
'DumpPipeOutput' => __DIR__ . '/includes/export/DumpPipeOutput.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DumpRenderer' => __DIR__ . '/maintenance/renderDump.php',
|
|
|
|
|
'DumpRev' => __DIR__ . '/maintenance/storage/dumpRev.php',
|
2016-07-08 20:22:27 +00:00
|
|
|
'DumpStringOutput' => __DIR__ . '/includes/export/DumpStringOutput.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'DuplicateJob' => __DIR__ . '/includes/jobqueue/jobs/DuplicateJob.php',
|
|
|
|
|
'EditAction' => __DIR__ . '/includes/actions/EditAction.php',
|
|
|
|
|
'EditCLI' => __DIR__ . '/maintenance/edit.php',
|
|
|
|
|
'EditPage' => __DIR__ . '/includes/EditPage.php',
|
|
|
|
|
'EditWatchlistCheckboxSeriesField' => __DIR__ . '/includes/specials/SpecialEditWatchlist.php',
|
|
|
|
|
'EditWatchlistNormalHTMLForm' => __DIR__ . '/includes/specials/SpecialEditWatchlist.php',
|
|
|
|
|
'EmailConfirmation' => __DIR__ . '/includes/specials/SpecialConfirmemail.php',
|
2016-01-04 18:00:50 +00:00
|
|
|
'EmailInvalidation' => __DIR__ . '/includes/specials/SpecialEmailInvalidate.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'EmailNotification' => __DIR__ . '/includes/mail/EmailNotification.php',
|
|
|
|
|
'EmaillingJob' => __DIR__ . '/includes/jobqueue/jobs/EmaillingJob.php',
|
2015-02-25 08:22:50 +00:00
|
|
|
'EmptyBagOStuff' => __DIR__ . '/includes/libs/objectcache/EmptyBagOStuff.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'EncryptedPassword' => __DIR__ . '/includes/password/EncryptedPassword.php',
|
|
|
|
|
'EnhancedChangesList' => __DIR__ . '/includes/changes/EnhancedChangesList.php',
|
|
|
|
|
'EnotifNotifyJob' => __DIR__ . '/includes/jobqueue/jobs/EnotifNotifyJob.php',
|
2015-03-04 21:53:40 +00:00
|
|
|
'EnqueueJob' => __DIR__ . '/includes/jobqueue/jobs/EnqueueJob.php',
|
2015-09-22 18:43:33 +00:00
|
|
|
'EnqueueableDataUpdate' => __DIR__ . '/includes/deferred/DataUpdate.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'EraseArchivedFile' => __DIR__ . '/maintenance/eraseArchivedFile.php',
|
|
|
|
|
'ErrorPageError' => __DIR__ . '/includes/exception/ErrorPageError.php',
|
2015-04-27 19:35:58 +00:00
|
|
|
'EventRelayer' => __DIR__ . '/includes/libs/eventrelayer/EventRelayer.php',
|
2015-12-29 19:45:23 +00:00
|
|
|
'EventRelayerGroup' => __DIR__ . '/includes/EventRelayerGroup.php',
|
2016-04-15 21:01:23 +00:00
|
|
|
'EventRelayerKafka' => __DIR__ . '/includes/libs/eventrelayer/EventRelayerKafka.php',
|
2016-04-03 08:47:52 +00:00
|
|
|
'EventRelayerNull' => __DIR__ . '/includes/libs/eventrelayer/EventRelayerNull.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'Exif' => __DIR__ . '/includes/media/Exif.php',
|
|
|
|
|
'ExifBitmapHandler' => __DIR__ . '/includes/media/ExifBitmap.php',
|
2015-01-29 04:59:50 +00:00
|
|
|
'ExplodeIterator' => __DIR__ . '/includes/libs/ExplodeIterator.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ExportProgressFilter' => __DIR__ . '/maintenance/backup.inc',
|
2015-02-25 18:16:13 +00:00
|
|
|
'ExportSites' => __DIR__ . '/maintenance/exportSites.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ExtensionLanguages' => __DIR__ . '/maintenance/language/languages.inc',
|
Implement extension registration from an extension.json file
Introduces wfLoadExtension()/wfLoadSkin() which should be used in
LocalSettings.php rather than require-ing a PHP entry point.
Extensions and skins would add "extension.json" or "skin.json" files
in their root, which contains all the information typically
present in PHP entry point files (classes to autoload, special pages,
API modules, etc.) A full schema can be found at
docs/extension.schema.json, and a script to validate these to the
schema is provided. An additional script is provided to convert
typical PHP entry point files into their JSON equivalents.
The basic flow of loading an extension goes like:
* Get the ExtensionRegistry singleton instance
* ExtensionRegistry takes a filename, reads the file or tries
to get the parsed JSON from APC if possible.
* The JSON is run through a Processor instance,
which registers things with the appropriate
global settings.
* The output of the processor is cached in APC if possible.
* The extension/skin is marked as loaded in the
ExtensionRegistry and a callback function is executed
if one was specified.
For ideal performance, a batch loading method is also provided:
* The absolute path name to the JSON file is queued
in the ExtensionRegistry instance.
* When loadFromQueue() is called, it constructs a hash
unique to the members of the current queue, and sees
if the queue has been cached in APC. If not, it processes
each file individually, and combines the result of each
Processor into one giant array, which is cached in APC.
* The giant array then sets various global settings,
defines constants, and calls callbacks.
To invalidate the cached processed info, by default the mtime
of each JSON file is checked. However that can be slow if you
have a large number of extensions, so you can set $wgExtensionInfoMTime
to the mtime of one file, and `touch` it whenever you update
your extensions.
Change-Id: I7074b65d07c5c7d4e3f1fb0755d74a0b07ed4596
2014-10-15 00:31:15 +00:00
|
|
|
'ExtensionProcessor' => __DIR__ . '/includes/registration/ExtensionProcessor.php',
|
|
|
|
|
'ExtensionRegistry' => __DIR__ . '/includes/registration/ExtensionRegistry.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ExternalStore' => __DIR__ . '/includes/externalstore/ExternalStore.php',
|
|
|
|
|
'ExternalStoreDB' => __DIR__ . '/includes/externalstore/ExternalStoreDB.php',
|
|
|
|
|
'ExternalStoreHttp' => __DIR__ . '/includes/externalstore/ExternalStoreHttp.php',
|
|
|
|
|
'ExternalStoreMedium' => __DIR__ . '/includes/externalstore/ExternalStoreMedium.php',
|
|
|
|
|
'ExternalStoreMwstore' => __DIR__ . '/includes/externalstore/ExternalStoreMwstore.php',
|
|
|
|
|
'FSFile' => __DIR__ . '/includes/filebackend/FSFile.php',
|
|
|
|
|
'FSFileBackend' => __DIR__ . '/includes/filebackend/FSFileBackend.php',
|
|
|
|
|
'FSFileBackendDirList' => __DIR__ . '/includes/filebackend/FSFileBackend.php',
|
|
|
|
|
'FSFileBackendFileList' => __DIR__ . '/includes/filebackend/FSFileBackend.php',
|
|
|
|
|
'FSFileBackendList' => __DIR__ . '/includes/filebackend/FSFileBackend.php',
|
|
|
|
|
'FSFileOpHandle' => __DIR__ . '/includes/filebackend/FSFileBackend.php',
|
|
|
|
|
'FSLockManager' => __DIR__ . '/includes/filebackend/lockmanager/FSLockManager.php',
|
|
|
|
|
'FSRepo' => __DIR__ . '/includes/filerepo/FSRepo.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'FakeAuthTemplate' => __DIR__ . '/includes/specialpage/LoginSignupSpecialPage.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'FakeConverter' => __DIR__ . '/languages/FakeConverter.php',
|
|
|
|
|
'FakeMaintenance' => __DIR__ . '/maintenance/Maintenance.php',
|
|
|
|
|
'FakeResultWrapper' => __DIR__ . '/includes/db/DatabaseUtility.php',
|
|
|
|
|
'FatalError' => __DIR__ . '/includes/exception/FatalError.php',
|
2016-01-04 13:55:15 +00:00
|
|
|
'FauxRequest' => __DIR__ . '/includes/FauxRequest.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'FauxResponse' => __DIR__ . '/includes/WebResponse.php',
|
|
|
|
|
'FeedItem' => __DIR__ . '/includes/Feed.php',
|
|
|
|
|
'FeedUtils' => __DIR__ . '/includes/FeedUtils.php',
|
|
|
|
|
'FetchText' => __DIR__ . '/maintenance/fetchText.php',
|
|
|
|
|
'FewestrevisionsPage' => __DIR__ . '/includes/specials/SpecialFewestrevisions.php',
|
|
|
|
|
'Field' => __DIR__ . '/includes/db/DatabaseUtility.php',
|
|
|
|
|
'File' => __DIR__ . '/includes/filerepo/file/File.php',
|
2015-12-21 10:32:48 +00:00
|
|
|
'FileAwareNodeVisitor' => __DIR__ . '/maintenance/findDeprecated.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'FileBackend' => __DIR__ . '/includes/filebackend/FileBackend.php',
|
2015-03-10 13:26:14 +00:00
|
|
|
'FileBackendDBRepoWrapper' => __DIR__ . '/includes/filerepo/FileBackendDBRepoWrapper.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'FileBackendError' => __DIR__ . '/includes/filebackend/FileBackend.php',
|
|
|
|
|
'FileBackendException' => __DIR__ . '/includes/filebackend/FileBackend.php',
|
|
|
|
|
'FileBackendGroup' => __DIR__ . '/includes/filebackend/FileBackendGroup.php',
|
|
|
|
|
'FileBackendMultiWrite' => __DIR__ . '/includes/filebackend/FileBackendMultiWrite.php',
|
|
|
|
|
'FileBackendStore' => __DIR__ . '/includes/filebackend/FileBackendStore.php',
|
|
|
|
|
'FileBackendStoreOpHandle' => __DIR__ . '/includes/filebackend/FileBackendStore.php',
|
|
|
|
|
'FileBackendStoreShardDirIterator' => __DIR__ . '/includes/filebackend/FileBackendStore.php',
|
|
|
|
|
'FileBackendStoreShardFileIterator' => __DIR__ . '/includes/filebackend/FileBackendStore.php',
|
|
|
|
|
'FileBackendStoreShardListIterator' => __DIR__ . '/includes/filebackend/FileBackendStore.php',
|
2015-02-06 02:00:26 +00:00
|
|
|
'FileBasedSiteLookup' => __DIR__ . '/includes/site/FileBasedSiteLookup.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'FileCacheBase' => __DIR__ . '/includes/cache/FileCacheBase.php',
|
2015-09-25 01:27:28 +00:00
|
|
|
'FileContentsHasher' => __DIR__ . '/includes/utils/FileContentsHasher.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'FileDeleteForm' => __DIR__ . '/includes/FileDeleteForm.php',
|
|
|
|
|
'FileDependency' => __DIR__ . '/includes/cache/CacheDependency.php',
|
|
|
|
|
'FileDuplicateSearchPage' => __DIR__ . '/includes/specials/SpecialFileDuplicateSearch.php',
|
|
|
|
|
'FileJournal' => __DIR__ . '/includes/filebackend/filejournal/FileJournal.php',
|
|
|
|
|
'FileOp' => __DIR__ . '/includes/filebackend/FileOp.php',
|
|
|
|
|
'FileOpBatch' => __DIR__ . '/includes/filebackend/FileOpBatch.php',
|
|
|
|
|
'FileRepo' => __DIR__ . '/includes/filerepo/FileRepo.php',
|
|
|
|
|
'FileRepoStatus' => __DIR__ . '/includes/filerepo/FileRepoStatus.php',
|
2015-12-21 10:32:48 +00:00
|
|
|
'FindDeprecated' => __DIR__ . '/maintenance/findDeprecated.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'FindHooks' => __DIR__ . '/maintenance/findHooks.php',
|
|
|
|
|
'FindMissingFiles' => __DIR__ . '/maintenance/findMissingFiles.php',
|
2015-10-28 20:01:50 +00:00
|
|
|
'FindOrphanedFiles' => __DIR__ . '/maintenance/findOrphanedFiles.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'FixBug20757' => __DIR__ . '/maintenance/storage/fixBug20757.php',
|
2015-10-21 05:44:33 +00:00
|
|
|
'FixDefaultJsonContentPages' => __DIR__ . '/maintenance/fixDefaultJsonContentPages.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'FixDoubleRedirects' => __DIR__ . '/maintenance/fixDoubleRedirects.php',
|
|
|
|
|
'FixExtLinksProtocolRelative' => __DIR__ . '/maintenance/fixExtLinksProtocolRelative.php',
|
|
|
|
|
'FixTimestamps' => __DIR__ . '/maintenance/fixTimestamps.php',
|
|
|
|
|
'FixUserRegistration' => __DIR__ . '/maintenance/fixUserRegistration.php',
|
|
|
|
|
'ForeignAPIFile' => __DIR__ . '/includes/filerepo/file/ForeignAPIFile.php',
|
|
|
|
|
'ForeignAPIRepo' => __DIR__ . '/includes/filerepo/ForeignAPIRepo.php',
|
|
|
|
|
'ForeignDBFile' => __DIR__ . '/includes/filerepo/file/ForeignDBFile.php',
|
|
|
|
|
'ForeignDBRepo' => __DIR__ . '/includes/filerepo/ForeignDBRepo.php',
|
|
|
|
|
'ForeignDBViaLBRepo' => __DIR__ . '/includes/filerepo/ForeignDBViaLBRepo.php',
|
2014-12-10 11:24:47 +00:00
|
|
|
'ForeignTitle' => __DIR__ . '/includes/title/ForeignTitle.php',
|
|
|
|
|
'ForeignTitleFactory' => __DIR__ . '/includes/title/ForeignTitleFactory.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ForkController' => __DIR__ . '/includes/ForkController.php',
|
|
|
|
|
'FormAction' => __DIR__ . '/includes/actions/FormAction.php',
|
|
|
|
|
'FormOptions' => __DIR__ . '/includes/FormOptions.php',
|
|
|
|
|
'FormSpecialPage' => __DIR__ . '/includes/specialpage/FormSpecialPage.php',
|
|
|
|
|
'FormatJson' => __DIR__ . '/includes/json/FormatJson.php',
|
|
|
|
|
'FormatMetadata' => __DIR__ . '/includes/media/FormatMetadata.php',
|
|
|
|
|
'FormlessAction' => __DIR__ . '/includes/actions/FormlessAction.php',
|
|
|
|
|
'GIFHandler' => __DIR__ . '/includes/media/GIF.php',
|
|
|
|
|
'GIFMetadataExtractor' => __DIR__ . '/includes/media/GIFMetadataExtractor.php',
|
|
|
|
|
'GanConverter' => __DIR__ . '/languages/classes/LanguageGan.php',
|
|
|
|
|
'GenderCache' => __DIR__ . '/includes/cache/GenderCache.php',
|
|
|
|
|
'GenerateCollationData' => __DIR__ . '/maintenance/language/generateCollationData.php',
|
2015-12-09 18:05:59 +00:00
|
|
|
'GenerateCommonPassword' => __DIR__ . '/maintenance/createCommonPasswordCdb.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'GenerateJsonI18n' => __DIR__ . '/maintenance/generateJsonI18n.php',
|
|
|
|
|
'GenerateNormalizerDataAr' => __DIR__ . '/maintenance/language/generateNormalizerDataAr.php',
|
|
|
|
|
'GenerateNormalizerDataMl' => __DIR__ . '/maintenance/language/generateNormalizerDataMl.php',
|
|
|
|
|
'GenerateSitemap' => __DIR__ . '/maintenance/generateSitemap.php',
|
|
|
|
|
'GenericArrayObject' => __DIR__ . '/includes/libs/GenericArrayObject.php',
|
|
|
|
|
'GetConfiguration' => __DIR__ . '/maintenance/getConfiguration.php',
|
|
|
|
|
'GetLagTimes' => __DIR__ . '/maintenance/getLagTimes.php',
|
|
|
|
|
'GetSlaveServer' => __DIR__ . '/maintenance/getSlaveServer.php',
|
|
|
|
|
'GetTextMaint' => __DIR__ . '/maintenance/getText.php',
|
|
|
|
|
'GitInfo' => __DIR__ . '/includes/GitInfo.php',
|
|
|
|
|
'GlobalDependency' => __DIR__ . '/includes/cache/CacheDependency.php',
|
|
|
|
|
'GlobalVarConfig' => __DIR__ . '/includes/config/GlobalVarConfig.php',
|
|
|
|
|
'HTMLApiField' => __DIR__ . '/includes/htmlform/HTMLApiField.php',
|
|
|
|
|
'HTMLAutoCompleteSelectField' => __DIR__ . '/includes/htmlform/HTMLAutoCompleteSelectField.php',
|
|
|
|
|
'HTMLButtonField' => __DIR__ . '/includes/htmlform/HTMLButtonField.php',
|
|
|
|
|
'HTMLCacheUpdate' => __DIR__ . '/includes/deferred/HTMLCacheUpdate.php',
|
|
|
|
|
'HTMLCacheUpdateJob' => __DIR__ . '/includes/jobqueue/jobs/HTMLCacheUpdateJob.php',
|
|
|
|
|
'HTMLCheckField' => __DIR__ . '/includes/htmlform/HTMLCheckField.php',
|
|
|
|
|
'HTMLCheckMatrix' => __DIR__ . '/includes/htmlform/HTMLCheckMatrix.php',
|
2015-11-08 15:21:58 +00:00
|
|
|
'HTMLComboboxField' => __DIR__ . '/includes/htmlform/HTMLComboboxField.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'HTMLEditTools' => __DIR__ . '/includes/htmlform/HTMLEditTools.php',
|
|
|
|
|
'HTMLFileCache' => __DIR__ . '/includes/cache/HTMLFileCache.php',
|
|
|
|
|
'HTMLFloatField' => __DIR__ . '/includes/htmlform/HTMLFloatField.php',
|
|
|
|
|
'HTMLForm' => __DIR__ . '/includes/htmlform/HTMLForm.php',
|
|
|
|
|
'HTMLFormField' => __DIR__ . '/includes/htmlform/HTMLFormField.php',
|
|
|
|
|
'HTMLFormFieldCloner' => __DIR__ . '/includes/htmlform/HTMLFormFieldCloner.php',
|
|
|
|
|
'HTMLFormFieldRequiredOptionsException' => __DIR__ . '/includes/htmlform/HTMLFormFieldRequiredOptionsException.php',
|
2015-07-01 20:23:54 +00:00
|
|
|
'HTMLFormFieldWithButton' => __DIR__ . '/includes/htmlform/HTMLFormFieldWithButton.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'HTMLHiddenField' => __DIR__ . '/includes/htmlform/HTMLHiddenField.php',
|
|
|
|
|
'HTMLInfoField' => __DIR__ . '/includes/htmlform/HTMLInfoField.php',
|
|
|
|
|
'HTMLIntField' => __DIR__ . '/includes/htmlform/HTMLIntField.php',
|
|
|
|
|
'HTMLMultiSelectField' => __DIR__ . '/includes/htmlform/HTMLMultiSelectField.php',
|
|
|
|
|
'HTMLNestedFilterable' => __DIR__ . '/includes/htmlform/HTMLNestedFilterable.php',
|
|
|
|
|
'HTMLRadioField' => __DIR__ . '/includes/htmlform/HTMLRadioField.php',
|
|
|
|
|
'HTMLSelectAndOtherField' => __DIR__ . '/includes/htmlform/HTMLSelectAndOtherField.php',
|
|
|
|
|
'HTMLSelectField' => __DIR__ . '/includes/htmlform/HTMLSelectField.php',
|
|
|
|
|
'HTMLSelectLimitField' => __DIR__ . '/includes/htmlform/HTMLSelectLimitField.php',
|
|
|
|
|
'HTMLSelectNamespace' => __DIR__ . '/includes/htmlform/HTMLSelectNamespace.php',
|
2015-04-17 16:56:32 +00:00
|
|
|
'HTMLSelectNamespaceWithButton' => __DIR__ . '/includes/htmlform/HTMLSelectNamespaceWithButton.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'HTMLSelectOrOtherField' => __DIR__ . '/includes/htmlform/HTMLSelectOrOtherField.php',
|
|
|
|
|
'HTMLSubmitField' => __DIR__ . '/includes/htmlform/HTMLSubmitField.php',
|
|
|
|
|
'HTMLTagFilter' => __DIR__ . '/includes/htmlform/HTMLTagFilter.php',
|
|
|
|
|
'HTMLTextAreaField' => __DIR__ . '/includes/htmlform/HTMLTextAreaField.php',
|
|
|
|
|
'HTMLTextField' => __DIR__ . '/includes/htmlform/HTMLTextField.php',
|
2015-04-17 16:56:32 +00:00
|
|
|
'HTMLTextFieldWithButton' => __DIR__ . '/includes/htmlform/HTMLTextFieldWithButton.php',
|
2015-07-01 05:27:23 +00:00
|
|
|
'HTMLTitleTextField' => __DIR__ . '/includes/htmlform/HTMLTitleTextField.php',
|
2015-07-17 22:04:02 +00:00
|
|
|
'HTMLUserTextField' => __DIR__ . '/includes/htmlform/HTMLUserTextField.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'HWLDFWordAccumulator' => __DIR__ . '/includes/diff/DairikiDiff.php',
|
2015-02-25 08:22:50 +00:00
|
|
|
'HashBagOStuff' => __DIR__ . '/includes/libs/objectcache/HashBagOStuff.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'HashConfig' => __DIR__ . '/includes/config/HashConfig.php',
|
|
|
|
|
'HashRing' => __DIR__ . '/includes/libs/HashRing.php',
|
2015-02-26 14:53:08 +00:00
|
|
|
'HashSiteStore' => __DIR__ . '/includes/site/HashSiteStore.php',
|
2015-01-29 04:42:25 +00:00
|
|
|
'HashtableReplacer' => __DIR__ . '/includes/libs/replacers/HashtableReplacer.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'HistoryAction' => __DIR__ . '/includes/actions/HistoryAction.php',
|
|
|
|
|
'HistoryBlob' => __DIR__ . '/includes/HistoryBlob.php',
|
|
|
|
|
'HistoryBlobCurStub' => __DIR__ . '/includes/HistoryBlob.php',
|
|
|
|
|
'HistoryBlobStub' => __DIR__ . '/includes/HistoryBlob.php',
|
|
|
|
|
'HistoryPager' => __DIR__ . '/includes/actions/HistoryAction.php',
|
|
|
|
|
'Hooks' => __DIR__ . '/includes/Hooks.php',
|
|
|
|
|
'Html' => __DIR__ . '/includes/Html.php',
|
Add LinkRenderer (rewrite of Linker::link())
This is a rewrite of Linker::link() to a non-static, LinkTarget-based
interface. Users of plain Linker::link() with no options can use the
LinkRenderer instance provided by MediaWikiServices. Others that
have specific options should create and configure their own instance,
which can be used to create as many links as necessary.
The main entrypoints for making links are:
* ->makeLink( $target, $text, $attribs, $query );
* ->makeKnownLink( $target, $text, $attribs, $query );
* ->makeBrokenLink( $target, $text, $attribs, $query );
The order of the parameters are the same as Linker::link(), except
$options are now part of the LinkRenderer instance, and
known/broken status requires calling the function explicitly.
Additionally, instead of passing in raw $html for the link text, the
$text parameter will automatically be escaped unless it is specially
marked as safe HTML using the MediaWiki\Linker\HtmlArmor class.
The LinkBegin and LinkEnd hooks are now deprecated, but still function
for backwards-compatability. Clients should migrate to the nearly-
equivalent LinkRendererBegin and LinkRendererEnd hooks.
The main differences between the hooks are:
* Passing HtmlPageLinkRenderer object instead of deprecated DummyLinker
* Using LinkTarget instead of Title
* Begin hook can no longer change known/broken status of link. Use the
TitleIsAlwaysKnown hook for that.
* $options are no longer passed, they can be read (but shouldn't be
modified!) from the LinkRenderer object.
Bug: T469
Change-Id: I057cc86ae6404a080aa3c8e0e956ecbb10a897d5
2016-04-21 20:13:21 +00:00
|
|
|
'HtmlArmor' => __DIR__ . '/includes/libs/HtmlArmor.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'HtmlFormatter' => __DIR__ . '/includes/HtmlFormatter.php',
|
|
|
|
|
'Http' => __DIR__ . '/includes/HttpFunctions.php',
|
|
|
|
|
'HttpError' => __DIR__ . '/includes/exception/HttpError.php',
|
|
|
|
|
'HttpStatus' => __DIR__ . '/includes/libs/HttpStatus.php',
|
API: Overhaul ApiResult, make format=xml not throw, and add json formatversion
ApiResult was a mess: some methods could only be used with an array
reference instead of manipulating the stored data, methods that had both
array-ref and internal-data versions had names that didn't at all
correspond, some methods that worked on an array reference were
annoyingly non-static, and then the whole mess with setIndexedTagName.
ApiFormatXml is also entirely annoying to deal with, as it liked to
throw exceptions if certain metadata wasn't provided that no other
formatter required. Its legacy also means we have this silly convention
of using empty-string rather than boolean true, annoying restrictions on
keys (leading to things that should be hashes being arrays of key-value
object instead), '*' used as a key all over the place, and so on.
So, changes here:
* ApiResult is no longer an ApiBase or a ContextSource.
* Wherever sensible, ApiResult provides a static method working on an
arrayref and a non-static method working on internal data.
* Metadata is now always added to ApiResult's internal data structure.
Formatters are responsible for stripping it if necessary. "raw mode"
is deprecated.
* New metadata to replace the '*' key, solve the array() => '[]' vs '{}'
question, and so on.
* New class for formatting warnings and errors using i18n messages, and
support for multiple errors and a more machine-readable format for
warnings. For the moment, though, the actual output will not be changing
yet (see T47843 for future plans).
* New formatversion parameter for format=json and format=php, to select
between BC mode and the modern output.
* In BC mode, booleans will be converted to empty-string presence style;
modules currently returning booleans will need to use
ApiResult::META_BC_BOOLS to preserve their current output.
Actual changes to the API modules' output (e.g. actually returning
booleans for the new formatversion) beyond the use of
ApiResult::setContentValue() are left for a future change.
Bug: T76728
Bug: T57371
Bug: T33629
Change-Id: I7b37295e8862b188d1f3b0cd07f66ac34629678f
2014-12-03 22:14:22 +00:00
|
|
|
'IApiMessage' => __DIR__ . '/includes/api/ApiMessage.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ICacheHelper' => __DIR__ . '/includes/cache/CacheHelper.php',
|
|
|
|
|
'IContextSource' => __DIR__ . '/includes/context/IContextSource.php',
|
|
|
|
|
'IDBAccessObject' => __DIR__ . '/includes/dao/IDBAccessObject.php',
|
2015-07-01 20:23:54 +00:00
|
|
|
'IDatabase' => __DIR__ . '/includes/db/IDatabase.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'IEContentAnalyzer' => __DIR__ . '/includes/libs/IEContentAnalyzer.php',
|
|
|
|
|
'IEUrlExtension' => __DIR__ . '/includes/libs/IEUrlExtension.php',
|
2015-10-19 17:52:19 +00:00
|
|
|
'IExpiringStore' => __DIR__ . '/includes/libs/objectcache/IExpiringStore.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'IJobSpecification' => __DIR__ . '/includes/jobqueue/JobSpecification.php',
|
|
|
|
|
'IP' => __DIR__ . '/includes/utils/IP.php',
|
2015-06-26 19:26:46 +00:00
|
|
|
'IPSet' => __DIR__ . '/includes/compat/IPSetCompat.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'IPTC' => __DIR__ . '/includes/media/IPTC.php',
|
|
|
|
|
'IRCColourfulRCFeedFormatter' => __DIR__ . '/includes/rcfeed/IRCColourfulRCFeedFormatter.php',
|
2016-04-03 08:23:20 +00:00
|
|
|
'IcuCollation' => __DIR__ . '/includes/collation/IcuCollation.php',
|
|
|
|
|
'IdentityCollation' => __DIR__ . '/includes/collation/IdentityCollation.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ImageBuilder' => __DIR__ . '/maintenance/rebuildImages.php',
|
|
|
|
|
'ImageCleanup' => __DIR__ . '/maintenance/cleanupImages.php',
|
|
|
|
|
'ImageGallery' => __DIR__ . '/includes/gallery/TraditionalImageGallery.php',
|
|
|
|
|
'ImageGalleryBase' => __DIR__ . '/includes/gallery/ImageGalleryBase.php',
|
|
|
|
|
'ImageHandler' => __DIR__ . '/includes/media/ImageHandler.php',
|
2016-02-03 12:26:01 +00:00
|
|
|
'ImageHistoryList' => __DIR__ . '/includes/page/ImageHistoryList.php',
|
|
|
|
|
'ImageHistoryPseudoPager' => __DIR__ . '/includes/page/ImageHistoryPseudoPager.php',
|
2016-03-24 11:25:40 +00:00
|
|
|
'ImageListPager' => __DIR__ . '/includes/specials/pagers/ImageListPager.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ImagePage' => __DIR__ . '/includes/page/ImagePage.php',
|
|
|
|
|
'ImageQueryPage' => __DIR__ . '/includes/specialpage/ImageQueryPage.php',
|
2015-11-10 18:56:19 +00:00
|
|
|
'ImportLogFormatter' => __DIR__ . '/includes/logging/ImportLogFormatter.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ImportReporter' => __DIR__ . '/includes/specials/SpecialImport.php',
|
|
|
|
|
'ImportSiteScripts' => __DIR__ . '/maintenance/importSiteScripts.php',
|
2015-02-25 18:16:13 +00:00
|
|
|
'ImportSites' => __DIR__ . '/maintenance/importSites.php',
|
2015-12-28 22:27:48 +00:00
|
|
|
'ImportSource' => __DIR__ . '/includes/import/ImportSource.php',
|
|
|
|
|
'ImportStreamSource' => __DIR__ . '/includes/import/ImportStreamSource.php',
|
|
|
|
|
'ImportStringSource' => __DIR__ . '/includes/import/ImportStringSource.php',
|
2016-01-07 03:09:47 +00:00
|
|
|
'ImportTextFiles' => __DIR__ . '/maintenance/importTextFiles.php',
|
2014-12-10 11:24:47 +00:00
|
|
|
'ImportTitleFactory' => __DIR__ . '/includes/title/ImportTitleFactory.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'IncludableSpecialPage' => __DIR__ . '/includes/specialpage/IncludableSpecialPage.php',
|
|
|
|
|
'IndexPager' => __DIR__ . '/includes/pager/IndexPager.php',
|
|
|
|
|
'InfoAction' => __DIR__ . '/includes/actions/InfoAction.php',
|
|
|
|
|
'InitEditCount' => __DIR__ . '/maintenance/initEditCount.php',
|
|
|
|
|
'InitSiteStats' => __DIR__ . '/maintenance/initSiteStats.php',
|
|
|
|
|
'InstallDocFormatter' => __DIR__ . '/includes/installer/InstallDocFormatter.php',
|
|
|
|
|
'Installer' => __DIR__ . '/includes/installer/Installer.php',
|
2016-05-19 00:40:56 +00:00
|
|
|
'InstallerOverrides' => __DIR__ . '/includes/installer/InstallerOverrides.php',
|
2016-02-10 10:04:28 +00:00
|
|
|
'InstallerSessionProvider' => __DIR__ . '/includes/installer/InstallerSessionProvider.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'Interwiki' => __DIR__ . '/includes/interwiki/Interwiki.php',
|
|
|
|
|
'InvalidPassword' => __DIR__ . '/includes/password/InvalidPassword.php',
|
2016-06-29 11:35:24 +00:00
|
|
|
'InvalidateUserSesssions' => __DIR__ . '/maintenance/invalidateUserSessions.php',
|
2015-07-30 22:09:11 +00:00
|
|
|
'IteratorDecorator' => __DIR__ . '/includes/utils/iterators/IteratorDecorator.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'IuConverter' => __DIR__ . '/languages/classes/LanguageIu.php',
|
|
|
|
|
'JSCompilerContext' => __DIR__ . '/includes/libs/jsminplus.php',
|
|
|
|
|
'JSMinPlus' => __DIR__ . '/includes/libs/jsminplus.php',
|
|
|
|
|
'JSNode' => __DIR__ . '/includes/libs/jsminplus.php',
|
|
|
|
|
'JSONRCFeedFormatter' => __DIR__ . '/includes/rcfeed/JSONRCFeedFormatter.php',
|
|
|
|
|
'JSParseHelper' => __DIR__ . '/maintenance/jsparse.php',
|
|
|
|
|
'JSParser' => __DIR__ . '/includes/libs/jsminplus.php',
|
|
|
|
|
'JSToken' => __DIR__ . '/includes/libs/jsminplus.php',
|
|
|
|
|
'JSTokenizer' => __DIR__ . '/includes/libs/jsminplus.php',
|
|
|
|
|
'JavaScriptContent' => __DIR__ . '/includes/content/JavaScriptContent.php',
|
|
|
|
|
'JavaScriptContentHandler' => __DIR__ . '/includes/content/JavaScriptContentHandler.php',
|
|
|
|
|
'JavaScriptMinifier' => __DIR__ . '/includes/libs/JavaScriptMinifier.php',
|
|
|
|
|
'Job' => __DIR__ . '/includes/jobqueue/Job.php',
|
|
|
|
|
'JobQueue' => __DIR__ . '/includes/jobqueue/JobQueue.php',
|
|
|
|
|
'JobQueueAggregator' => __DIR__ . '/includes/jobqueue/aggregator/JobQueueAggregator.php',
|
2015-02-16 22:41:31 +00:00
|
|
|
'JobQueueAggregatorNull' => __DIR__ . '/includes/jobqueue/aggregator/JobQueueAggregator.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'JobQueueAggregatorRedis' => __DIR__ . '/includes/jobqueue/aggregator/JobQueueAggregatorRedis.php',
|
|
|
|
|
'JobQueueConnectionError' => __DIR__ . '/includes/jobqueue/JobQueue.php',
|
|
|
|
|
'JobQueueDB' => __DIR__ . '/includes/jobqueue/JobQueueDB.php',
|
|
|
|
|
'JobQueueError' => __DIR__ . '/includes/jobqueue/JobQueue.php',
|
|
|
|
|
'JobQueueFederated' => __DIR__ . '/includes/jobqueue/JobQueueFederated.php',
|
|
|
|
|
'JobQueueGroup' => __DIR__ . '/includes/jobqueue/JobQueueGroup.php',
|
2016-01-13 05:51:09 +00:00
|
|
|
'JobQueueMemory' => __DIR__ . '/includes/jobqueue/JobQueueMemory.php',
|
2016-03-25 19:52:39 +00:00
|
|
|
'JobQueueReadOnlyError' => __DIR__ . '/includes/jobqueue/JobQueue.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'JobQueueRedis' => __DIR__ . '/includes/jobqueue/JobQueueRedis.php',
|
|
|
|
|
'JobRunner' => __DIR__ . '/includes/jobqueue/JobRunner.php',
|
|
|
|
|
'JobSpecification' => __DIR__ . '/includes/jobqueue/JobSpecification.php',
|
|
|
|
|
'JpegHandler' => __DIR__ . '/includes/media/Jpeg.php',
|
|
|
|
|
'JpegMetadataExtractor' => __DIR__ . '/includes/media/JpegMetadataExtractor.php',
|
|
|
|
|
'JsonContent' => __DIR__ . '/includes/content/JsonContent.php',
|
|
|
|
|
'JsonContentHandler' => __DIR__ . '/includes/content/JsonContentHandler.php',
|
|
|
|
|
'KkConverter' => __DIR__ . '/languages/classes/LanguageKk.php',
|
|
|
|
|
'KuConverter' => __DIR__ . '/languages/classes/LanguageKu.php',
|
2015-09-24 20:00:12 +00:00
|
|
|
'LBFactory' => __DIR__ . '/includes/db/loadbalancer/LBFactory.php',
|
2016-05-05 17:12:58 +00:00
|
|
|
'LBFactoryFake' => __DIR__ . '/includes/db/loadbalancer/LBFactoryFake.php',
|
2015-09-24 20:00:12 +00:00
|
|
|
'LBFactoryMulti' => __DIR__ . '/includes/db/loadbalancer/LBFactoryMulti.php',
|
|
|
|
|
'LBFactorySimple' => __DIR__ . '/includes/db/loadbalancer/LBFactorySimple.php',
|
|
|
|
|
'LBFactorySingle' => __DIR__ . '/includes/db/loadbalancer/LBFactorySingle.php',
|
2016-03-21 11:51:16 +00:00
|
|
|
'LCStore' => __DIR__ . '/includes/cache/localisation/LCStore.php',
|
|
|
|
|
'LCStoreCDB' => __DIR__ . '/includes/cache/localisation/LCStoreCDB.php',
|
|
|
|
|
'LCStoreDB' => __DIR__ . '/includes/cache/localisation/LCStoreDB.php',
|
|
|
|
|
'LCStoreNull' => __DIR__ . '/includes/cache/localisation/LCStoreNull.php',
|
|
|
|
|
'LCStoreStaticArray' => __DIR__ . '/includes/cache/localisation/LCStoreStaticArray.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'LangMemUsage' => __DIR__ . '/maintenance/language/langmemusage.php',
|
|
|
|
|
'Language' => __DIR__ . '/languages/Language.php',
|
|
|
|
|
'LanguageAr' => __DIR__ . '/languages/classes/LanguageAr.php',
|
|
|
|
|
'LanguageAz' => __DIR__ . '/languages/classes/LanguageAz.php',
|
|
|
|
|
'LanguageBe_tarask' => __DIR__ . '/languages/classes/LanguageBe_tarask.php',
|
|
|
|
|
'LanguageBg' => __DIR__ . '/languages/classes/LanguageBg.php',
|
|
|
|
|
'LanguageBs' => __DIR__ . '/languages/classes/LanguageBs.php',
|
|
|
|
|
'LanguageConverter' => __DIR__ . '/languages/LanguageConverter.php',
|
|
|
|
|
'LanguageCu' => __DIR__ . '/languages/classes/LanguageCu.php',
|
|
|
|
|
'LanguageDsb' => __DIR__ . '/languages/classes/LanguageDsb.php',
|
|
|
|
|
'LanguageEs' => __DIR__ . '/languages/classes/LanguageEs.php',
|
|
|
|
|
'LanguageEt' => __DIR__ . '/languages/classes/LanguageEt.php',
|
|
|
|
|
'LanguageFi' => __DIR__ . '/languages/classes/LanguageFi.php',
|
|
|
|
|
'LanguageGa' => __DIR__ . '/languages/classes/LanguageGa.php',
|
|
|
|
|
'LanguageGan' => __DIR__ . '/languages/classes/LanguageGan.php',
|
|
|
|
|
'LanguageHe' => __DIR__ . '/languages/classes/LanguageHe.php',
|
|
|
|
|
'LanguageHsb' => __DIR__ . '/languages/classes/LanguageHsb.php',
|
|
|
|
|
'LanguageHu' => __DIR__ . '/languages/classes/LanguageHu.php',
|
|
|
|
|
'LanguageHy' => __DIR__ . '/languages/classes/LanguageHy.php',
|
|
|
|
|
'LanguageIu' => __DIR__ . '/languages/classes/LanguageIu.php',
|
|
|
|
|
'LanguageJa' => __DIR__ . '/languages/classes/LanguageJa.php',
|
|
|
|
|
'LanguageKaa' => __DIR__ . '/languages/classes/LanguageKaa.php',
|
|
|
|
|
'LanguageKk' => __DIR__ . '/languages/classes/LanguageKk.php',
|
|
|
|
|
'LanguageKk_cyrl' => __DIR__ . '/languages/classes/LanguageKk_cyrl.php',
|
|
|
|
|
'LanguageKm' => __DIR__ . '/languages/classes/LanguageKm.php',
|
|
|
|
|
'LanguageKsh' => __DIR__ . '/languages/classes/LanguageKsh.php',
|
|
|
|
|
'LanguageKu' => __DIR__ . '/languages/classes/LanguageKu.php',
|
|
|
|
|
'LanguageKu_ku' => __DIR__ . '/languages/classes/LanguageKu_ku.php',
|
|
|
|
|
'LanguageLa' => __DIR__ . '/languages/classes/LanguageLa.php',
|
|
|
|
|
'LanguageMl' => __DIR__ . '/languages/classes/LanguageMl.php',
|
|
|
|
|
'LanguageMy' => __DIR__ . '/languages/classes/LanguageMy.php',
|
|
|
|
|
'LanguageOs' => __DIR__ . '/languages/classes/LanguageOs.php',
|
|
|
|
|
'LanguagePl' => __DIR__ . '/languages/classes/LanguagePl.php',
|
|
|
|
|
'LanguageQqx' => __DIR__ . '/languages/classes/LanguageQqx.php',
|
|
|
|
|
'LanguageRu' => __DIR__ . '/languages/classes/LanguageRu.php',
|
|
|
|
|
'LanguageShi' => __DIR__ . '/languages/classes/LanguageShi.php',
|
|
|
|
|
'LanguageSl' => __DIR__ . '/languages/classes/LanguageSl.php',
|
|
|
|
|
'LanguageSr' => __DIR__ . '/languages/classes/LanguageSr.php',
|
|
|
|
|
'LanguageTg' => __DIR__ . '/languages/classes/LanguageTg.php',
|
|
|
|
|
'LanguageTr' => __DIR__ . '/languages/classes/LanguageTr.php',
|
|
|
|
|
'LanguageTyv' => __DIR__ . '/languages/classes/LanguageTyv.php',
|
|
|
|
|
'LanguageUk' => __DIR__ . '/languages/classes/LanguageUk.php',
|
|
|
|
|
'LanguageUz' => __DIR__ . '/languages/classes/LanguageUz.php',
|
|
|
|
|
'LanguageWa' => __DIR__ . '/languages/classes/LanguageWa.php',
|
|
|
|
|
'LanguageYue' => __DIR__ . '/languages/classes/LanguageYue.php',
|
|
|
|
|
'LanguageZh' => __DIR__ . '/languages/classes/LanguageZh.php',
|
|
|
|
|
'LanguageZh_hans' => __DIR__ . '/languages/classes/LanguageZh_hans.php',
|
|
|
|
|
'Languages' => __DIR__ . '/maintenance/language/languages.inc',
|
|
|
|
|
'LayeredParameterizedPassword' => __DIR__ . '/includes/password/LayeredParameterizedPassword.php',
|
|
|
|
|
'LegacyLogFormatter' => __DIR__ . '/includes/logging/LogFormatter.php',
|
|
|
|
|
'License' => __DIR__ . '/includes/Licenses.php',
|
|
|
|
|
'Licenses' => __DIR__ . '/includes/Licenses.php',
|
|
|
|
|
'LikeMatch' => __DIR__ . '/includes/db/DatabaseUtility.php',
|
|
|
|
|
'LinkBatch' => __DIR__ . '/includes/cache/LinkBatch.php',
|
|
|
|
|
'LinkCache' => __DIR__ . '/includes/cache/LinkCache.php',
|
|
|
|
|
'LinkFilter' => __DIR__ . '/includes/LinkFilter.php',
|
|
|
|
|
'LinkHolderArray' => __DIR__ . '/includes/parser/LinkHolderArray.php',
|
|
|
|
|
'LinkSearchPage' => __DIR__ . '/includes/specials/SpecialLinkSearch.php',
|
|
|
|
|
'Linker' => __DIR__ . '/includes/Linker.php',
|
2015-09-22 18:07:47 +00:00
|
|
|
'LinksDeletionUpdate' => __DIR__ . '/includes/deferred/LinksDeletionUpdate.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'LinksUpdate' => __DIR__ . '/includes/deferred/LinksUpdate.php',
|
|
|
|
|
'ListDuplicatedFilesPage' => __DIR__ . '/includes/specials/SpecialListDuplicatedFiles.php',
|
2016-01-19 01:42:14 +00:00
|
|
|
'ListToggle' => __DIR__ . '/includes/ListToggle.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ListVariants' => __DIR__ . '/maintenance/language/listVariants.php',
|
|
|
|
|
'ListredirectsPage' => __DIR__ . '/includes/specials/SpecialListredirects.php',
|
2015-09-24 20:00:12 +00:00
|
|
|
'LoadBalancer' => __DIR__ . '/includes/db/loadbalancer/LoadBalancer.php',
|
|
|
|
|
'LoadBalancerSingle' => __DIR__ . '/includes/db/loadbalancer/LBFactorySingle.php',
|
|
|
|
|
'LoadMonitor' => __DIR__ . '/includes/db/loadbalancer/LoadMonitor.php',
|
|
|
|
|
'LoadMonitorMySQL' => __DIR__ . '/includes/db/loadbalancer/LoadMonitorMySQL.php',
|
|
|
|
|
'LoadMonitorNull' => __DIR__ . '/includes/db/loadbalancer/LoadMonitor.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'LocalFile' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
|
|
|
|
|
'LocalFileDeleteBatch' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
|
2016-04-19 15:58:49 +00:00
|
|
|
'LocalFileLockError' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'LocalFileMoveBatch' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
|
|
|
|
|
'LocalFileRestoreBatch' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
|
2015-11-12 23:21:19 +00:00
|
|
|
'LocalIdLookup' => __DIR__ . '/includes/user/LocalIdLookup.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'LocalRepo' => __DIR__ . '/includes/filerepo/LocalRepo.php',
|
|
|
|
|
'LocalSettingsGenerator' => __DIR__ . '/includes/installer/LocalSettingsGenerator.php',
|
2016-03-21 11:51:16 +00:00
|
|
|
'LocalisationCache' => __DIR__ . '/includes/cache/localisation/LocalisationCache.php',
|
2016-04-04 03:27:50 +00:00
|
|
|
'LocalisationCacheBulkLoad' => __DIR__ . '/includes/cache/localisation/LocalisationCacheBulkLoad.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'LockManager' => __DIR__ . '/includes/filebackend/lockmanager/LockManager.php',
|
|
|
|
|
'LockManagerGroup' => __DIR__ . '/includes/filebackend/lockmanager/LockManagerGroup.php',
|
|
|
|
|
'LogEntry' => __DIR__ . '/includes/logging/LogEntry.php',
|
|
|
|
|
'LogEntryBase' => __DIR__ . '/includes/logging/LogEntry.php',
|
|
|
|
|
'LogEventsList' => __DIR__ . '/includes/logging/LogEventsList.php',
|
|
|
|
|
'LogFormatter' => __DIR__ . '/includes/logging/LogFormatter.php',
|
|
|
|
|
'LogPage' => __DIR__ . '/includes/logging/LogPage.php',
|
|
|
|
|
'LogPager' => __DIR__ . '/includes/logging/LogPager.php',
|
2016-02-01 20:44:03 +00:00
|
|
|
'LoggedOutEditToken' => __DIR__ . '/includes/user/LoggedOutEditToken.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'LoggedUpdateMaintenance' => __DIR__ . '/maintenance/Maintenance.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'LoginForm' => __DIR__ . '/includes/specialpage/LoginSignupSpecialPage.php',
|
|
|
|
|
'LoginFormAuthManager' => __DIR__ . '/includes/specialpage/LoginSignupSpecialPage.php',
|
|
|
|
|
'LoginFormPreAuthManager' => __DIR__ . '/includes/specials/pre-authmanager/SpecialUserlogin.php',
|
|
|
|
|
'LoginHelper' => __DIR__ . '/includes/specials/helpers/LoginHelper.php',
|
|
|
|
|
'LoginSignupSpecialPage' => __DIR__ . '/includes/specialpage/LoginSignupSpecialPage.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'LonelyPagesPage' => __DIR__ . '/includes/specials/SpecialLonelypages.php',
|
|
|
|
|
'LongPagesPage' => __DIR__ . '/includes/specials/SpecialLongpages.php',
|
|
|
|
|
'MIMEsearchPage' => __DIR__ . '/includes/specials/SpecialMIMEsearch.php',
|
|
|
|
|
'MWCallableUpdate' => __DIR__ . '/includes/deferred/CallableUpdate.php',
|
|
|
|
|
'MWContentSerializationException' => __DIR__ . '/includes/content/ContentHandler.php',
|
|
|
|
|
'MWCryptHKDF' => __DIR__ . '/includes/utils/MWCryptHKDF.php',
|
2014-08-26 17:09:54 +00:00
|
|
|
'MWCryptHash' => __DIR__ . '/includes/utils/MWCryptHash.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MWCryptRand' => __DIR__ . '/includes/utils/MWCryptRand.php',
|
|
|
|
|
'MWDebug' => __DIR__ . '/includes/debug/MWDebug.php',
|
|
|
|
|
'MWDocGen' => __DIR__ . '/maintenance/mwdocgen.php',
|
|
|
|
|
'MWException' => __DIR__ . '/includes/exception/MWException.php',
|
|
|
|
|
'MWExceptionHandler' => __DIR__ . '/includes/exception/MWExceptionHandler.php',
|
2015-12-02 17:10:26 +00:00
|
|
|
'MWGrants' => __DIR__ . '/includes/utils/MWGrants.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MWHttpRequest' => __DIR__ . '/includes/HttpFunctions.php',
|
2015-11-10 03:20:08 +00:00
|
|
|
'MWMemcached' => __DIR__ . '/includes/compat/MemcachedClientCompat.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MWMessagePack' => __DIR__ . '/includes/libs/MWMessagePack.php',
|
|
|
|
|
'MWNamespace' => __DIR__ . '/includes/MWNamespace.php',
|
|
|
|
|
'MWOldPassword' => __DIR__ . '/includes/password/MWOldPassword.php',
|
2015-12-02 17:10:26 +00:00
|
|
|
'MWRestrictions' => __DIR__ . '/includes/utils/MWRestrictions.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MWSaltedPassword' => __DIR__ . '/includes/password/MWSaltedPassword.php',
|
|
|
|
|
'MWTidy' => __DIR__ . '/includes/parser/MWTidy.php',
|
|
|
|
|
'MWTimestamp' => __DIR__ . '/includes/MWTimestamp.php',
|
2015-10-10 08:51:20 +00:00
|
|
|
'MWUnknownContentModelException' => __DIR__ . '/includes/content/ContentHandler.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MachineReadableRCFeedFormatter' => __DIR__ . '/includes/rcfeed/MachineReadableRCFeedFormatter.php',
|
|
|
|
|
'MagicWord' => __DIR__ . '/includes/MagicWord.php',
|
2016-03-01 10:49:29 +00:00
|
|
|
'MagicWordArray' => __DIR__ . '/includes/MagicWordArray.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MailAddress' => __DIR__ . '/includes/mail/MailAddress.php',
|
2016-05-13 19:27:06 +00:00
|
|
|
'MainConfigDependency' => __DIR__ . '/includes/cache/CacheDependency.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'Maintenance' => __DIR__ . '/maintenance/Maintenance.php',
|
|
|
|
|
'MaintenanceFormatInstallDoc' => __DIR__ . '/maintenance/formatInstallDoc.php',
|
2015-12-18 22:33:55 +00:00
|
|
|
'MakeTestEdits' => __DIR__ . '/maintenance/makeTestEdits.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MalformedTitleException' => __DIR__ . '/includes/title/MalformedTitleException.php',
|
|
|
|
|
'ManualLogEntry' => __DIR__ . '/includes/logging/LogEntry.php',
|
|
|
|
|
'MapCacheLRU' => __DIR__ . '/includes/libs/MapCacheLRU.php',
|
|
|
|
|
'MappedIterator' => __DIR__ . '/includes/libs/MappedIterator.php',
|
|
|
|
|
'MarkpatrolledAction' => __DIR__ . '/includes/actions/MarkpatrolledAction.php',
|
|
|
|
|
'McTest' => __DIR__ . '/maintenance/mctest.php',
|
|
|
|
|
'MediaHandler' => __DIR__ . '/includes/media/MediaHandler.php',
|
|
|
|
|
'MediaStatisticsPage' => __DIR__ . '/includes/specials/SpecialMediaStatistics.php',
|
|
|
|
|
'MediaTransformError' => __DIR__ . '/includes/media/MediaTransformOutput.php',
|
2015-02-05 02:16:06 +00:00
|
|
|
'MediaTransformInvalidParametersException' => __DIR__ . '/includes/media/MediaTransformInvalidParametersException.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MediaTransformOutput' => __DIR__ . '/includes/media/MediaTransformOutput.php',
|
|
|
|
|
'MediaWiki' => __DIR__ . '/includes/MediaWiki.php',
|
|
|
|
|
'MediaWikiI18N' => __DIR__ . '/includes/skins/MediaWikiI18N.php',
|
|
|
|
|
'MediaWikiSite' => __DIR__ . '/includes/site/MediaWikiSite.php',
|
|
|
|
|
'MediaWikiTitleCodec' => __DIR__ . '/includes/title/MediaWikiTitleCodec.php',
|
|
|
|
|
'MediaWikiVersionFetcher' => __DIR__ . '/includes/MediaWikiVersionFetcher.php',
|
2015-11-22 20:17:00 +00:00
|
|
|
'MediaWiki\\Auth\\AbstractAuthenticationProvider' => __DIR__ . '/includes/auth/AbstractAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\AbstractPasswordPrimaryAuthenticationProvider' => __DIR__ . '/includes/auth/AbstractPasswordPrimaryAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\AbstractPreAuthenticationProvider' => __DIR__ . '/includes/auth/AbstractPreAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\AbstractPrimaryAuthenticationProvider' => __DIR__ . '/includes/auth/AbstractPrimaryAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\AbstractSecondaryAuthenticationProvider' => __DIR__ . '/includes/auth/AbstractSecondaryAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\AuthManager' => __DIR__ . '/includes/auth/AuthManager.php',
|
|
|
|
|
'MediaWiki\\Auth\\AuthManagerAuthPlugin' => __DIR__ . '/includes/auth/AuthManagerAuthPlugin.php',
|
|
|
|
|
'MediaWiki\\Auth\\AuthManagerAuthPluginUser' => __DIR__ . '/includes/auth/AuthManagerAuthPlugin.php',
|
|
|
|
|
'MediaWiki\\Auth\\AuthPluginPrimaryAuthenticationProvider' => __DIR__ . '/includes/auth/AuthPluginPrimaryAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\AuthenticationProvider' => __DIR__ . '/includes/auth/AuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\AuthenticationRequest' => __DIR__ . '/includes/auth/AuthenticationRequest.php',
|
|
|
|
|
'MediaWiki\\Auth\\AuthenticationResponse' => __DIR__ . '/includes/auth/AuthenticationResponse.php',
|
|
|
|
|
'MediaWiki\\Auth\\ButtonAuthenticationRequest' => __DIR__ . '/includes/auth/ButtonAuthenticationRequest.php',
|
|
|
|
|
'MediaWiki\\Auth\\CheckBlocksSecondaryAuthenticationProvider' => __DIR__ . '/includes/auth/CheckBlocksSecondaryAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\ConfirmLinkAuthenticationRequest' => __DIR__ . '/includes/auth/ConfirmLinkAuthenticationRequest.php',
|
|
|
|
|
'MediaWiki\\Auth\\ConfirmLinkSecondaryAuthenticationProvider' => __DIR__ . '/includes/auth/ConfirmLinkSecondaryAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\CreateFromLoginAuthenticationRequest' => __DIR__ . '/includes/auth/CreateFromLoginAuthenticationRequest.php',
|
|
|
|
|
'MediaWiki\\Auth\\CreatedAccountAuthenticationRequest' => __DIR__ . '/includes/auth/CreatedAccountAuthenticationRequest.php',
|
|
|
|
|
'MediaWiki\\Auth\\CreationReasonAuthenticationRequest' => __DIR__ . '/includes/auth/CreationReasonAuthenticationRequest.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'MediaWiki\\Auth\\EmailNotificationSecondaryAuthenticationProvider' => __DIR__ . '/includes/auth/EmailNotificationSecondaryAuthenticationProvider.php',
|
2015-11-22 20:17:00 +00:00
|
|
|
'MediaWiki\\Auth\\LegacyHookPreAuthenticationProvider' => __DIR__ . '/includes/auth/LegacyHookPreAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\LocalPasswordPrimaryAuthenticationProvider' => __DIR__ . '/includes/auth/LocalPasswordPrimaryAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\PasswordAuthenticationRequest' => __DIR__ . '/includes/auth/PasswordAuthenticationRequest.php',
|
|
|
|
|
'MediaWiki\\Auth\\PasswordDomainAuthenticationRequest' => __DIR__ . '/includes/auth/PasswordDomainAuthenticationRequest.php',
|
|
|
|
|
'MediaWiki\\Auth\\PreAuthenticationProvider' => __DIR__ . '/includes/auth/PreAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\PrimaryAuthenticationProvider' => __DIR__ . '/includes/auth/PrimaryAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\RememberMeAuthenticationRequest' => __DIR__ . '/includes/auth/RememberMeAuthenticationRequest.php',
|
|
|
|
|
'MediaWiki\\Auth\\ResetPasswordSecondaryAuthenticationProvider' => __DIR__ . '/includes/auth/ResetPasswordSecondaryAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\SecondaryAuthenticationProvider' => __DIR__ . '/includes/auth/SecondaryAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\TemporaryPasswordAuthenticationRequest' => __DIR__ . '/includes/auth/TemporaryPasswordAuthenticationRequest.php',
|
|
|
|
|
'MediaWiki\\Auth\\TemporaryPasswordPrimaryAuthenticationProvider' => __DIR__ . '/includes/auth/TemporaryPasswordPrimaryAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\ThrottlePreAuthenticationProvider' => __DIR__ . '/includes/auth/ThrottlePreAuthenticationProvider.php',
|
|
|
|
|
'MediaWiki\\Auth\\Throttler' => __DIR__ . '/includes/auth/Throttler.php',
|
|
|
|
|
'MediaWiki\\Auth\\UserDataAuthenticationRequest' => __DIR__ . '/includes/auth/UserDataAuthenticationRequest.php',
|
|
|
|
|
'MediaWiki\\Auth\\UsernameAuthenticationRequest' => __DIR__ . '/includes/auth/UsernameAuthenticationRequest.php',
|
2016-04-27 01:10:26 +00:00
|
|
|
'MediaWiki\\Diff\\ComplexityException' => __DIR__ . '/includes/diff/ComplexityException.php',
|
2016-04-26 18:57:44 +00:00
|
|
|
'MediaWiki\\Diff\\WordAccumulator' => __DIR__ . '/includes/diff/WordAccumulator.php',
|
2016-05-21 23:25:41 +00:00
|
|
|
'MediaWiki\\Interwiki\\ClassicInterwikiLookup' => __DIR__ . '/includes/interwiki/ClassicInterwikiLookup.php',
|
|
|
|
|
'MediaWiki\\Interwiki\\InterwikiLookup' => __DIR__ . '/includes/interwiki/InterwikiLookup.php',
|
2016-01-29 05:19:58 +00:00
|
|
|
'MediaWiki\\Languages\\Data\\Names' => __DIR__ . '/languages/data/Names.php',
|
|
|
|
|
'MediaWiki\\Languages\\Data\\ZhConversion' => __DIR__ . '/languages/data/ZhConversion.php',
|
Add LinkRenderer (rewrite of Linker::link())
This is a rewrite of Linker::link() to a non-static, LinkTarget-based
interface. Users of plain Linker::link() with no options can use the
LinkRenderer instance provided by MediaWikiServices. Others that
have specific options should create and configure their own instance,
which can be used to create as many links as necessary.
The main entrypoints for making links are:
* ->makeLink( $target, $text, $attribs, $query );
* ->makeKnownLink( $target, $text, $attribs, $query );
* ->makeBrokenLink( $target, $text, $attribs, $query );
The order of the parameters are the same as Linker::link(), except
$options are now part of the LinkRenderer instance, and
known/broken status requires calling the function explicitly.
Additionally, instead of passing in raw $html for the link text, the
$text parameter will automatically be escaped unless it is specially
marked as safe HTML using the MediaWiki\Linker\HtmlArmor class.
The LinkBegin and LinkEnd hooks are now deprecated, but still function
for backwards-compatability. Clients should migrate to the nearly-
equivalent LinkRendererBegin and LinkRendererEnd hooks.
The main differences between the hooks are:
* Passing HtmlPageLinkRenderer object instead of deprecated DummyLinker
* Using LinkTarget instead of Title
* Begin hook can no longer change known/broken status of link. Use the
TitleIsAlwaysKnown hook for that.
* $options are no longer passed, they can be read (but shouldn't be
modified!) from the LinkRenderer object.
Bug: T469
Change-Id: I057cc86ae6404a080aa3c8e0e956ecbb10a897d5
2016-04-21 20:13:21 +00:00
|
|
|
'MediaWiki\\Linker\\LinkRenderer' => __DIR__ . '/includes/linker/LinkRenderer.php',
|
|
|
|
|
'MediaWiki\\Linker\\LinkRendererFactory' => __DIR__ . '/includes/linker/LinkRendererFactory.php',
|
2016-04-20 08:29:21 +00:00
|
|
|
'MediaWiki\\Linker\\LinkTarget' => __DIR__ . '/includes/linker/LinkTarget.php',
|
2015-03-23 00:53:24 +00:00
|
|
|
'MediaWiki\\Logger\\LegacyLogger' => __DIR__ . '/includes/debug/logger/LegacyLogger.php',
|
|
|
|
|
'MediaWiki\\Logger\\LegacySpi' => __DIR__ . '/includes/debug/logger/LegacySpi.php',
|
|
|
|
|
'MediaWiki\\Logger\\LoggerFactory' => __DIR__ . '/includes/debug/logger/LoggerFactory.php',
|
|
|
|
|
'MediaWiki\\Logger\\MonologSpi' => __DIR__ . '/includes/debug/logger/MonologSpi.php',
|
Produce monolog messages through kafka+avro
This allows a logging channel to be configured to write
directly to kafka. Logs can be serialized either to json
blobs or the more compact apache avro format.
The Kafka handler for monolog needs a list of one of more
kafka servers to query cluster metadata from. This should be
able to use any monolog formatter, although some like
JsonFormatter require you to disable formatBatch as Kafka
protocol would prefer to encode each record independently in
the protocol. This requires the nmred/kafka-php library,
version >= 1.3.0.
Adds a new formatter which serializes to the apache avro
format. This is a compact binary format which uses pre-
defined schemas. This initial implementation is very simple
and takes the plain schemas as a constructor argument.
Adds a new option to MonologSpi to wrap handlers in a
BufferHandler. This doesn't flush until the request shuts
down and prevents any network requests in the logger from
adding latency to web requests.
Related mediawiki/vendor update: Ibfe4bd2036ae8e998e2973f07bd9a6f057691578
The necessary config is something like:
array(
'loggers' => array(
'CirrusSearchRequests' => array(
'handlers' => array( 'kafka' ),
),
),
'handlers' => array(
'kafka' => array(
'factory' => '\\MediaWiki\\Logger\\Monolog\\KafkaHandler::factory',
'args' => array( 'localhost:9092' ),
'formatter' => 'avro',
'buffer' => true,
),
),
'formatters' => array(
'avro' => array(
'class' => '\\MediaWiki\\Logger\\Monolog\\AvroFormatter',
'args' => array(
array(
'CirrusSearchRequests' => array(
'type' => 'record',
'name' => 'CirrusSearchRequests'
'fields' => array( ... )
),
),
),
),
),
)
Bug: T106256
Change-Id: I6ee744b3e5306af0bed70811b558a543eed22840
2015-08-04 18:02:47 +00:00
|
|
|
'MediaWiki\\Logger\\Monolog\\AvroFormatter' => __DIR__ . '/includes/debug/logger/monolog/AvroFormatter.php',
|
|
|
|
|
'MediaWiki\\Logger\\Monolog\\BufferHandler' => __DIR__ . '/includes/debug/logger/monolog/BufferHandler.php',
|
|
|
|
|
'MediaWiki\\Logger\\Monolog\\KafkaHandler' => __DIR__ . '/includes/debug/logger/monolog/KafkaHandler.php',
|
2015-03-23 00:53:24 +00:00
|
|
|
'MediaWiki\\Logger\\Monolog\\LegacyFormatter' => __DIR__ . '/includes/debug/logger/monolog/LegacyFormatter.php',
|
|
|
|
|
'MediaWiki\\Logger\\Monolog\\LegacyHandler' => __DIR__ . '/includes/debug/logger/monolog/LegacyHandler.php',
|
2015-07-30 19:02:35 +00:00
|
|
|
'MediaWiki\\Logger\\Monolog\\LineFormatter' => __DIR__ . '/includes/debug/logger/monolog/LineFormatter.php',
|
2015-03-23 00:53:24 +00:00
|
|
|
'MediaWiki\\Logger\\Monolog\\SyslogHandler' => __DIR__ . '/includes/debug/logger/monolog/SyslogHandler.php',
|
|
|
|
|
'MediaWiki\\Logger\\Monolog\\WikiProcessor' => __DIR__ . '/includes/debug/logger/monolog/WikiProcessor.php',
|
|
|
|
|
'MediaWiki\\Logger\\NullSpi' => __DIR__ . '/includes/debug/logger/NullSpi.php',
|
|
|
|
|
'MediaWiki\\Logger\\Spi' => __DIR__ . '/includes/debug/logger/Spi.php',
|
2016-05-05 17:12:58 +00:00
|
|
|
'MediaWiki\\MediaWikiServices' => __DIR__ . '/includes/MediaWikiServices.php',
|
|
|
|
|
'MediaWiki\\Services\\CannotReplaceActiveServiceException' => __DIR__ . '/includes/Services/CannotReplaceActiveServiceException.php',
|
|
|
|
|
'MediaWiki\\Services\\ContainerDisabledException' => __DIR__ . '/includes/Services/ContainerDisabledException.php',
|
2016-05-01 19:29:11 +00:00
|
|
|
'MediaWiki\\Services\\DestructibleService' => __DIR__ . '/includes/Services/DestructibleService.php',
|
|
|
|
|
'MediaWiki\\Services\\NoSuchServiceException' => __DIR__ . '/includes/Services/NoSuchServiceException.php',
|
2016-05-21 23:25:41 +00:00
|
|
|
'MediaWiki\\Services\\SalvageableService' => __DIR__ . '/includes/Services/SalvageableService.php',
|
2016-05-01 19:29:11 +00:00
|
|
|
'MediaWiki\\Services\\ServiceAlreadyDefinedException' => __DIR__ . '/includes/Services/ServiceAlreadyDefinedException.php',
|
2016-05-05 17:12:58 +00:00
|
|
|
'MediaWiki\\Services\\ServiceContainer' => __DIR__ . '/includes/Services/ServiceContainer.php',
|
2016-05-01 19:29:11 +00:00
|
|
|
'MediaWiki\\Services\\ServiceDisabledException' => __DIR__ . '/includes/Services/ServiceDisabledException.php',
|
2016-02-01 20:44:03 +00:00
|
|
|
'MediaWiki\\Session\\BotPasswordSessionProvider' => __DIR__ . '/includes/session/BotPasswordSessionProvider.php',
|
|
|
|
|
'MediaWiki\\Session\\CookieSessionProvider' => __DIR__ . '/includes/session/CookieSessionProvider.php',
|
|
|
|
|
'MediaWiki\\Session\\ImmutableSessionProviderWithCookie' => __DIR__ . '/includes/session/ImmutableSessionProviderWithCookie.php',
|
2016-02-11 16:55:37 +00:00
|
|
|
'MediaWiki\\Session\\MetadataMergeException' => __DIR__ . '/includes/session/MetadataMergeException.php',
|
2016-02-01 20:44:03 +00:00
|
|
|
'MediaWiki\\Session\\PHPSessionHandler' => __DIR__ . '/includes/session/PHPSessionHandler.php',
|
|
|
|
|
'MediaWiki\\Session\\Session' => __DIR__ . '/includes/session/Session.php',
|
|
|
|
|
'MediaWiki\\Session\\SessionBackend' => __DIR__ . '/includes/session/SessionBackend.php',
|
|
|
|
|
'MediaWiki\\Session\\SessionId' => __DIR__ . '/includes/session/SessionId.php',
|
|
|
|
|
'MediaWiki\\Session\\SessionInfo' => __DIR__ . '/includes/session/SessionInfo.php',
|
|
|
|
|
'MediaWiki\\Session\\SessionManager' => __DIR__ . '/includes/session/SessionManager.php',
|
|
|
|
|
'MediaWiki\\Session\\SessionManagerInterface' => __DIR__ . '/includes/session/SessionManagerInterface.php',
|
|
|
|
|
'MediaWiki\\Session\\SessionProvider' => __DIR__ . '/includes/session/SessionProvider.php',
|
|
|
|
|
'MediaWiki\\Session\\SessionProviderInterface' => __DIR__ . '/includes/session/SessionProviderInterface.php',
|
|
|
|
|
'MediaWiki\\Session\\Token' => __DIR__ . '/includes/session/Token.php',
|
|
|
|
|
'MediaWiki\\Session\\UserInfo' => __DIR__ . '/includes/session/UserInfo.php',
|
2015-12-20 21:00:20 +00:00
|
|
|
'MediaWiki\\Site\\MediaWikiPageNameNormalizer' => __DIR__ . '/includes/site/MediaWikiPageNameNormalizer.php',
|
2016-03-15 19:13:43 +00:00
|
|
|
'MediaWiki\\Tidy\\BalanceActiveFormattingElements' => __DIR__ . '/includes/tidy/Balancer.php',
|
|
|
|
|
'MediaWiki\\Tidy\\BalanceElement' => __DIR__ . '/includes/tidy/Balancer.php',
|
2016-07-04 05:15:18 +00:00
|
|
|
'MediaWiki\\Tidy\\BalanceMarker' => __DIR__ . '/includes/tidy/Balancer.php',
|
2016-03-15 19:13:43 +00:00
|
|
|
'MediaWiki\\Tidy\\BalanceSets' => __DIR__ . '/includes/tidy/Balancer.php',
|
|
|
|
|
'MediaWiki\\Tidy\\BalanceStack' => __DIR__ . '/includes/tidy/Balancer.php',
|
|
|
|
|
'MediaWiki\\Tidy\\Balancer' => __DIR__ . '/includes/tidy/Balancer.php',
|
2015-09-03 04:46:48 +00:00
|
|
|
'MediaWiki\\Tidy\\Html5Depurate' => __DIR__ . '/includes/tidy/Html5Depurate.php',
|
2016-06-14 21:59:20 +00:00
|
|
|
'MediaWiki\\Tidy\\Html5Internal' => __DIR__ . '/includes/tidy/Html5Internal.php',
|
2015-08-31 04:42:55 +00:00
|
|
|
'MediaWiki\\Tidy\\RaggettBase' => __DIR__ . '/includes/tidy/RaggettBase.php',
|
|
|
|
|
'MediaWiki\\Tidy\\RaggettExternal' => __DIR__ . '/includes/tidy/RaggettExternal.php',
|
|
|
|
|
'MediaWiki\\Tidy\\RaggettInternalHHVM' => __DIR__ . '/includes/tidy/RaggettInternalHHVM.php',
|
|
|
|
|
'MediaWiki\\Tidy\\RaggettInternalPHP' => __DIR__ . '/includes/tidy/RaggettInternalPHP.php',
|
|
|
|
|
'MediaWiki\\Tidy\\RaggettWrapper' => __DIR__ . '/includes/tidy/RaggettWrapper.php',
|
|
|
|
|
'MediaWiki\\Tidy\\TidyDriverBase' => __DIR__ . '/includes/tidy/TidyDriverBase.php',
|
2015-08-11 15:12:36 +00:00
|
|
|
'MediaWiki\\Widget\\ComplexNamespaceInputWidget' => __DIR__ . '/includes/widget/ComplexNamespaceInputWidget.php',
|
2015-01-16 22:42:54 +00:00
|
|
|
'MediaWiki\\Widget\\ComplexTitleInputWidget' => __DIR__ . '/includes/widget/ComplexTitleInputWidget.php',
|
2015-07-14 20:30:06 +00:00
|
|
|
'MediaWiki\\Widget\\NamespaceInputWidget' => __DIR__ . '/includes/widget/NamespaceInputWidget.php',
|
2015-11-25 20:01:58 +00:00
|
|
|
'MediaWiki\\Widget\\SearchInputWidget' => __DIR__ . '/includes/widget/SearchInputWidget.php',
|
2015-05-25 09:54:29 +00:00
|
|
|
'MediaWiki\\Widget\\TitleInputWidget' => __DIR__ . '/includes/widget/TitleInputWidget.php',
|
2015-07-17 22:04:02 +00:00
|
|
|
'MediaWiki\\Widget\\UserInputWidget' => __DIR__ . '/includes/widget/UserInputWidget.php',
|
2015-11-10 03:20:08 +00:00
|
|
|
'MemCachedClientforWiki' => __DIR__ . '/includes/compat/MemcachedClientCompat.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MemcLockManager' => __DIR__ . '/includes/filebackend/lockmanager/MemcLockManager.php',
|
2015-10-24 21:54:10 +00:00
|
|
|
'MemcachedBagOStuff' => __DIR__ . '/includes/libs/objectcache/MemcachedBagOStuff.php',
|
2015-11-10 03:20:08 +00:00
|
|
|
'MemcachedClient' => __DIR__ . '/includes/libs/objectcache/MemcachedClient.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MemcachedPeclBagOStuff' => __DIR__ . '/includes/objectcache/MemcachedPeclBagOStuff.php',
|
2015-10-24 21:54:10 +00:00
|
|
|
'MemcachedPhpBagOStuff' => __DIR__ . '/includes/libs/objectcache/MemcachedPhpBagOStuff.php',
|
2015-10-05 23:10:56 +00:00
|
|
|
'MemoizedCallable' => __DIR__ . '/includes/libs/MemoizedCallable.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MemoryFileBackend' => __DIR__ . '/includes/filebackend/MemoryFileBackend.php',
|
2015-12-30 04:53:34 +00:00
|
|
|
'MergeHistory' => __DIR__ . '/includes/MergeHistory.php',
|
2016-03-24 11:25:40 +00:00
|
|
|
'MergeHistoryPager' => __DIR__ . '/includes/specials/pagers/MergeHistoryPager.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MergeLogFormatter' => __DIR__ . '/includes/logging/MergeLogFormatter.php',
|
|
|
|
|
'MergeMessageFileList' => __DIR__ . '/maintenance/mergeMessageFileList.php',
|
2015-11-30 23:26:45 +00:00
|
|
|
'MergeableUpdate' => __DIR__ . '/includes/deferred/MergeableUpdate.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'Message' => __DIR__ . '/includes/Message.php',
|
2015-04-16 03:36:03 +00:00
|
|
|
'MessageBlobStore' => __DIR__ . '/includes/cache/MessageBlobStore.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MessageCache' => __DIR__ . '/includes/cache/MessageCache.php',
|
|
|
|
|
'MessageContent' => __DIR__ . '/includes/content/MessageContent.php',
|
2015-01-21 01:23:21 +00:00
|
|
|
'MessageSpecifier' => __DIR__ . '/includes/libs/MessageSpecifier.php',
|
2015-03-10 13:26:14 +00:00
|
|
|
'MigrateFileRepoLayout' => __DIR__ . '/maintenance/migrateFileRepoLayout.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MigrateUserGroup' => __DIR__ . '/maintenance/migrateUserGroup.php',
|
|
|
|
|
'MimeMagic' => __DIR__ . '/includes/MimeMagic.php',
|
|
|
|
|
'MinifyScript' => __DIR__ . '/maintenance/minify.php',
|
|
|
|
|
'MostcategoriesPage' => __DIR__ . '/includes/specials/SpecialMostcategories.php',
|
|
|
|
|
'MostimagesPage' => __DIR__ . '/includes/specials/SpecialMostimages.php',
|
|
|
|
|
'MostinterwikisPage' => __DIR__ . '/includes/specials/SpecialMostinterwikis.php',
|
|
|
|
|
'MostlinkedCategoriesPage' => __DIR__ . '/includes/specials/SpecialMostlinkedcategories.php',
|
|
|
|
|
'MostlinkedPage' => __DIR__ . '/includes/specials/SpecialMostlinked.php',
|
|
|
|
|
'MostlinkedTemplatesPage' => __DIR__ . '/includes/specials/SpecialMostlinkedtemplates.php',
|
|
|
|
|
'MostrevisionsPage' => __DIR__ . '/includes/specials/SpecialMostrevisions.php',
|
|
|
|
|
'MoveBatch' => __DIR__ . '/maintenance/moveBatch.php',
|
|
|
|
|
'MoveFileOp' => __DIR__ . '/includes/filebackend/FileOp.php',
|
|
|
|
|
'MoveLogFormatter' => __DIR__ . '/includes/logging/MoveLogFormatter.php',
|
|
|
|
|
'MovePage' => __DIR__ . '/includes/MovePage.php',
|
|
|
|
|
'MovePageForm' => __DIR__ . '/includes/specials/SpecialMovepage.php',
|
|
|
|
|
'MssqlBlob' => __DIR__ . '/includes/db/DatabaseMssql.php',
|
|
|
|
|
'MssqlField' => __DIR__ . '/includes/db/DatabaseMssql.php',
|
|
|
|
|
'MssqlInstaller' => __DIR__ . '/includes/installer/MssqlInstaller.php',
|
|
|
|
|
'MssqlResultWrapper' => __DIR__ . '/includes/db/DatabaseMssql.php',
|
|
|
|
|
'MssqlUpdater' => __DIR__ . '/includes/installer/MssqlUpdater.php',
|
|
|
|
|
'MultiConfig' => __DIR__ . '/includes/config/MultiConfig.php',
|
|
|
|
|
'MultiHttpClient' => __DIR__ . '/includes/libs/MultiHttpClient.php',
|
2015-10-24 07:48:40 +00:00
|
|
|
'MultiWriteBagOStuff' => __DIR__ . '/includes/libs/objectcache/MultiWriteBagOStuff.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MutableConfig' => __DIR__ . '/includes/config/MutableConfig.php',
|
2014-07-21 09:13:23 +00:00
|
|
|
'MutableContext' => __DIR__ . '/includes/context/MutableContext.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'MwSql' => __DIR__ . '/maintenance/sql.php',
|
|
|
|
|
'MySQLField' => __DIR__ . '/includes/db/DatabaseMysqlBase.php',
|
|
|
|
|
'MySQLMasterPos' => __DIR__ . '/includes/db/DatabaseMysqlBase.php',
|
|
|
|
|
'MySqlLockManager' => __DIR__ . '/includes/filebackend/lockmanager/DBLockManager.php',
|
|
|
|
|
'MysqlInstaller' => __DIR__ . '/includes/installer/MysqlInstaller.php',
|
|
|
|
|
'MysqlUpdater' => __DIR__ . '/includes/installer/MysqlUpdater.php',
|
2014-12-10 11:24:47 +00:00
|
|
|
'NaiveForeignTitleFactory' => __DIR__ . '/includes/title/NaiveForeignTitleFactory.php',
|
|
|
|
|
'NaiveImportTitleFactory' => __DIR__ . '/includes/title/NaiveImportTitleFactory.php',
|
|
|
|
|
'NamespaceAwareForeignTitleFactory' => __DIR__ . '/includes/title/NamespaceAwareForeignTitleFactory.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'NamespaceConflictChecker' => __DIR__ . '/maintenance/namespaceDupes.php',
|
2014-12-10 11:24:47 +00:00
|
|
|
'NamespaceImportTitleFactory' => __DIR__ . '/includes/title/NamespaceImportTitleFactory.php',
|
2016-03-24 11:25:40 +00:00
|
|
|
'NewFilesPager' => __DIR__ . '/includes/specials/pagers/NewFilesPager.php',
|
|
|
|
|
'NewPagesPager' => __DIR__ . '/includes/specials/pagers/NewPagesPager.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'NewUsersLogFormatter' => __DIR__ . '/includes/logging/NewUsersLogFormatter.php',
|
|
|
|
|
'NolinesImageGallery' => __DIR__ . '/includes/gallery/NolinesImageGallery.php',
|
2015-07-30 22:09:11 +00:00
|
|
|
'NotRecursiveIterator' => __DIR__ . '/includes/utils/iterators/NotRecursiveIterator.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'NukeNS' => __DIR__ . '/maintenance/nukeNS.php',
|
|
|
|
|
'NukePage' => __DIR__ . '/maintenance/nukePage.php',
|
|
|
|
|
'NullFileJournal' => __DIR__ . '/includes/filebackend/filejournal/FileJournal.php',
|
|
|
|
|
'NullFileOp' => __DIR__ . '/includes/filebackend/FileOp.php',
|
2016-05-13 00:10:52 +00:00
|
|
|
'NullIndexField' => __DIR__ . '/includes/search/NullIndexField.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'NullJob' => __DIR__ . '/includes/jobqueue/jobs/NullJob.php',
|
|
|
|
|
'NullLockManager' => __DIR__ . '/includes/filebackend/lockmanager/LockManager.php',
|
|
|
|
|
'NullRepo' => __DIR__ . '/includes/filerepo/NullRepo.php',
|
2016-04-02 09:22:00 +00:00
|
|
|
'NullStatsdDataFactory' => __DIR__ . '/includes/libs/stats/NullStatsdDataFactory.php',
|
2015-06-08 05:27:24 +00:00
|
|
|
'OOUIHTMLForm' => __DIR__ . '/includes/htmlform/OOUIHTMLForm.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ORAField' => __DIR__ . '/includes/db/DatabaseOracle.php',
|
|
|
|
|
'ORAResult' => __DIR__ . '/includes/db/DatabaseOracle.php',
|
|
|
|
|
'ObjectCache' => __DIR__ . '/includes/objectcache/ObjectCache.php',
|
|
|
|
|
'ObjectFactory' => __DIR__ . '/includes/libs/ObjectFactory.php',
|
|
|
|
|
'ObjectFileCache' => __DIR__ . '/includes/cache/ObjectFileCache.php',
|
|
|
|
|
'OldChangesList' => __DIR__ . '/includes/changes/OldChangesList.php',
|
|
|
|
|
'OldLocalFile' => __DIR__ . '/includes/filerepo/file/OldLocalFile.php',
|
|
|
|
|
'OracleInstaller' => __DIR__ . '/includes/installer/OracleInstaller.php',
|
|
|
|
|
'OracleUpdater' => __DIR__ . '/includes/installer/OracleUpdater.php',
|
|
|
|
|
'OrphanStats' => __DIR__ . '/maintenance/storage/orphanStats.php',
|
|
|
|
|
'Orphans' => __DIR__ . '/maintenance/orphans.php',
|
|
|
|
|
'OutputPage' => __DIR__ . '/includes/OutputPage.php',
|
|
|
|
|
'PNGHandler' => __DIR__ . '/includes/media/PNG.php',
|
|
|
|
|
'PNGMetadataExtractor' => __DIR__ . '/includes/media/PNGMetadataExtractor.php',
|
|
|
|
|
'PPCustomFrame_DOM' => __DIR__ . '/includes/parser/Preprocessor_DOM.php',
|
|
|
|
|
'PPCustomFrame_Hash' => __DIR__ . '/includes/parser/Preprocessor_Hash.php',
|
|
|
|
|
'PPDAccum_Hash' => __DIR__ . '/includes/parser/Preprocessor_Hash.php',
|
|
|
|
|
'PPDPart' => __DIR__ . '/includes/parser/Preprocessor_DOM.php',
|
|
|
|
|
'PPDPart_Hash' => __DIR__ . '/includes/parser/Preprocessor_Hash.php',
|
|
|
|
|
'PPDStack' => __DIR__ . '/includes/parser/Preprocessor_DOM.php',
|
|
|
|
|
'PPDStackElement' => __DIR__ . '/includes/parser/Preprocessor_DOM.php',
|
|
|
|
|
'PPDStackElement_Hash' => __DIR__ . '/includes/parser/Preprocessor_Hash.php',
|
|
|
|
|
'PPDStack_Hash' => __DIR__ . '/includes/parser/Preprocessor_Hash.php',
|
|
|
|
|
'PPFrame' => __DIR__ . '/includes/parser/Preprocessor.php',
|
|
|
|
|
'PPFrame_DOM' => __DIR__ . '/includes/parser/Preprocessor_DOM.php',
|
|
|
|
|
'PPFrame_Hash' => __DIR__ . '/includes/parser/Preprocessor_Hash.php',
|
|
|
|
|
'PPFuzzTest' => __DIR__ . '/maintenance/preprocessorFuzzTest.php',
|
|
|
|
|
'PPFuzzTester' => __DIR__ . '/maintenance/preprocessorFuzzTest.php',
|
|
|
|
|
'PPFuzzUser' => __DIR__ . '/maintenance/preprocessorFuzzTest.php',
|
|
|
|
|
'PPNode' => __DIR__ . '/includes/parser/Preprocessor.php',
|
|
|
|
|
'PPNode_DOM' => __DIR__ . '/includes/parser/Preprocessor_DOM.php',
|
|
|
|
|
'PPNode_Hash_Array' => __DIR__ . '/includes/parser/Preprocessor_Hash.php',
|
|
|
|
|
'PPNode_Hash_Attr' => __DIR__ . '/includes/parser/Preprocessor_Hash.php',
|
|
|
|
|
'PPNode_Hash_Text' => __DIR__ . '/includes/parser/Preprocessor_Hash.php',
|
|
|
|
|
'PPNode_Hash_Tree' => __DIR__ . '/includes/parser/Preprocessor_Hash.php',
|
|
|
|
|
'PPTemplateFrame_DOM' => __DIR__ . '/includes/parser/Preprocessor_DOM.php',
|
|
|
|
|
'PPTemplateFrame_Hash' => __DIR__ . '/includes/parser/Preprocessor_Hash.php',
|
|
|
|
|
'PackedHoverImageGallery' => __DIR__ . '/includes/gallery/PackedOverlayImageGallery.php',
|
|
|
|
|
'PackedImageGallery' => __DIR__ . '/includes/gallery/PackedImageGallery.php',
|
|
|
|
|
'PackedOverlayImageGallery' => __DIR__ . '/includes/gallery/PackedOverlayImageGallery.php',
|
2016-04-02 13:35:20 +00:00
|
|
|
'Page' => __DIR__ . '/includes/page/Page.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'PageArchive' => __DIR__ . '/includes/specials/SpecialUndelete.php',
|
|
|
|
|
'PageExists' => __DIR__ . '/maintenance/pageExists.php',
|
|
|
|
|
'PageLangLogFormatter' => __DIR__ . '/includes/logging/PageLangLogFormatter.php',
|
2016-01-12 04:29:48 +00:00
|
|
|
'PageProps' => __DIR__ . '/includes/PageProps.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'PageQueryPage' => __DIR__ . '/includes/specialpage/PageQueryPage.php',
|
|
|
|
|
'Pager' => __DIR__ . '/includes/pager/Pager.php',
|
|
|
|
|
'ParameterizedPassword' => __DIR__ . '/includes/password/ParameterizedPassword.php',
|
|
|
|
|
'Parser' => __DIR__ . '/includes/parser/Parser.php',
|
|
|
|
|
'ParserCache' => __DIR__ . '/includes/parser/ParserCache.php',
|
|
|
|
|
'ParserDiffTest' => __DIR__ . '/includes/parser/ParserDiffTest.php',
|
|
|
|
|
'ParserOptions' => __DIR__ . '/includes/parser/ParserOptions.php',
|
|
|
|
|
'ParserOutput' => __DIR__ . '/includes/parser/ParserOutput.php',
|
2014-12-24 00:18:40 +00:00
|
|
|
'ParsoidVirtualRESTService' => __DIR__ . '/includes/libs/virtualrest/ParsoidVirtualRESTService.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'Password' => __DIR__ . '/includes/password/Password.php',
|
|
|
|
|
'PasswordError' => __DIR__ . '/includes/password/PasswordError.php',
|
|
|
|
|
'PasswordFactory' => __DIR__ . '/includes/password/PasswordFactory.php',
|
2015-04-23 01:48:48 +00:00
|
|
|
'PasswordPolicyChecks' => __DIR__ . '/includes/password/PasswordPolicyChecks.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'PasswordReset' => __DIR__ . '/includes/user/PasswordReset.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'PatchSql' => __DIR__ . '/maintenance/patchSql.php',
|
|
|
|
|
'PathRouter' => __DIR__ . '/includes/PathRouter.php',
|
|
|
|
|
'PathRouterPatternReplacer' => __DIR__ . '/includes/PathRouter.php',
|
|
|
|
|
'PatrolLog' => __DIR__ . '/includes/logging/PatrolLog.php',
|
|
|
|
|
'PatrolLogFormatter' => __DIR__ . '/includes/logging/PatrolLogFormatter.php',
|
|
|
|
|
'Pbkdf2Password' => __DIR__ . '/includes/password/Pbkdf2Password.php',
|
|
|
|
|
'PermissionsError' => __DIR__ . '/includes/exception/PermissionsError.php',
|
|
|
|
|
'PhpHttpRequest' => __DIR__ . '/includes/HttpFunctions.php',
|
|
|
|
|
'PhpXmlBugTester' => __DIR__ . '/includes/installer/PhpBugTests.php',
|
|
|
|
|
'PoolCounter' => __DIR__ . '/includes/poolcounter/PoolCounter.php',
|
|
|
|
|
'PoolCounterRedis' => __DIR__ . '/includes/poolcounter/PoolCounterRedis.php',
|
|
|
|
|
'PoolCounterWork' => __DIR__ . '/includes/poolcounter/PoolCounterWork.php',
|
|
|
|
|
'PoolCounterWorkViaCallback' => __DIR__ . '/includes/poolcounter/PoolCounterWorkViaCallback.php',
|
|
|
|
|
'PoolCounter_Stub' => __DIR__ . '/includes/poolcounter/PoolCounter.php',
|
|
|
|
|
'PoolWorkArticleView' => __DIR__ . '/includes/poolcounter/PoolWorkArticleView.php',
|
|
|
|
|
'PopulateBacklinkNamespace' => __DIR__ . '/maintenance/populateBacklinkNamespace.php',
|
|
|
|
|
'PopulateCategory' => __DIR__ . '/maintenance/populateCategory.php',
|
2015-07-01 20:23:54 +00:00
|
|
|
'PopulateContentModel' => __DIR__ . '/maintenance/populateContentModel.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'PopulateFilearchiveSha1' => __DIR__ . '/maintenance/populateFilearchiveSha1.php',
|
|
|
|
|
'PopulateImageSha1' => __DIR__ . '/maintenance/populateImageSha1.php',
|
|
|
|
|
'PopulateLogSearch' => __DIR__ . '/maintenance/populateLogSearch.php',
|
|
|
|
|
'PopulateLogUsertext' => __DIR__ . '/maintenance/populateLogUsertext.php',
|
|
|
|
|
'PopulateParentId' => __DIR__ . '/maintenance/populateParentId.php',
|
|
|
|
|
'PopulateRecentChangesSource' => __DIR__ . '/maintenance/populateRecentChangesSource.php',
|
|
|
|
|
'PopulateRevisionLength' => __DIR__ . '/maintenance/populateRevisionLength.php',
|
|
|
|
|
'PopulateRevisionSha1' => __DIR__ . '/maintenance/populateRevisionSha1.php',
|
|
|
|
|
'PostgreSqlLockManager' => __DIR__ . '/includes/filebackend/lockmanager/DBLockManager.php',
|
2014-10-31 20:16:54 +00:00
|
|
|
'PostgresBlob' => __DIR__ . '/includes/db/DatabasePostgres.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'PostgresField' => __DIR__ . '/includes/db/DatabasePostgres.php',
|
|
|
|
|
'PostgresInstaller' => __DIR__ . '/includes/installer/PostgresInstaller.php',
|
|
|
|
|
'PostgresUpdater' => __DIR__ . '/includes/installer/PostgresUpdater.php',
|
|
|
|
|
'Preferences' => __DIR__ . '/includes/Preferences.php',
|
|
|
|
|
'PreferencesForm' => __DIR__ . '/includes/Preferences.php',
|
|
|
|
|
'PrefixSearch' => __DIR__ . '/includes/PrefixSearch.php',
|
|
|
|
|
'PreprocessDump' => __DIR__ . '/maintenance/preprocessDump.php',
|
|
|
|
|
'Preprocessor' => __DIR__ . '/includes/parser/Preprocessor.php',
|
|
|
|
|
'Preprocessor_DOM' => __DIR__ . '/includes/parser/Preprocessor_DOM.php',
|
|
|
|
|
'Preprocessor_Hash' => __DIR__ . '/includes/parser/Preprocessor_Hash.php',
|
|
|
|
|
'ProcessCacheLRU' => __DIR__ . '/includes/libs/ProcessCacheLRU.php',
|
Implement extension registration from an extension.json file
Introduces wfLoadExtension()/wfLoadSkin() which should be used in
LocalSettings.php rather than require-ing a PHP entry point.
Extensions and skins would add "extension.json" or "skin.json" files
in their root, which contains all the information typically
present in PHP entry point files (classes to autoload, special pages,
API modules, etc.) A full schema can be found at
docs/extension.schema.json, and a script to validate these to the
schema is provided. An additional script is provided to convert
typical PHP entry point files into their JSON equivalents.
The basic flow of loading an extension goes like:
* Get the ExtensionRegistry singleton instance
* ExtensionRegistry takes a filename, reads the file or tries
to get the parsed JSON from APC if possible.
* The JSON is run through a Processor instance,
which registers things with the appropriate
global settings.
* The output of the processor is cached in APC if possible.
* The extension/skin is marked as loaded in the
ExtensionRegistry and a callback function is executed
if one was specified.
For ideal performance, a batch loading method is also provided:
* The absolute path name to the JSON file is queued
in the ExtensionRegistry instance.
* When loadFromQueue() is called, it constructs a hash
unique to the members of the current queue, and sees
if the queue has been cached in APC. If not, it processes
each file individually, and combines the result of each
Processor into one giant array, which is cached in APC.
* The giant array then sets various global settings,
defines constants, and calls callbacks.
To invalidate the cached processed info, by default the mtime
of each JSON file is checked. However that can be slow if you
have a large number of extensions, so you can set $wgExtensionInfoMTime
to the mtime of one file, and `touch` it whenever you update
your extensions.
Change-Id: I7074b65d07c5c7d4e3f1fb0755d74a0b07ed4596
2014-10-15 00:31:15 +00:00
|
|
|
'Processor' => __DIR__ . '/includes/registration/Processor.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ProfileSection' => __DIR__ . '/includes/profiler/ProfileSection.php',
|
|
|
|
|
'Profiler' => __DIR__ . '/includes/profiler/Profiler.php',
|
2014-11-14 18:58:07 +00:00
|
|
|
'ProfilerOutput' => __DIR__ . '/includes/profiler/output/ProfilerOutput.php',
|
|
|
|
|
'ProfilerOutputDb' => __DIR__ . '/includes/profiler/output/ProfilerOutputDb.php',
|
2015-03-03 23:17:02 +00:00
|
|
|
'ProfilerOutputDump' => __DIR__ . '/includes/profiler/output/ProfilerOutputDump.php',
|
2015-04-01 23:30:16 +00:00
|
|
|
'ProfilerOutputStats' => __DIR__ . '/includes/profiler/output/ProfilerOutputStats.php',
|
2014-11-14 18:58:07 +00:00
|
|
|
'ProfilerOutputText' => __DIR__ . '/includes/profiler/output/ProfilerOutputText.php',
|
2015-01-08 10:10:02 +00:00
|
|
|
'ProfilerSectionOnly' => __DIR__ . '/includes/profiler/ProfilerSectionOnly.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ProfilerStub' => __DIR__ . '/includes/profiler/ProfilerStub.php',
|
|
|
|
|
'ProfilerXhprof' => __DIR__ . '/includes/profiler/ProfilerXhprof.php',
|
|
|
|
|
'Protect' => __DIR__ . '/maintenance/protect.php',
|
|
|
|
|
'ProtectAction' => __DIR__ . '/includes/actions/ProtectAction.php',
|
2015-07-07 20:36:41 +00:00
|
|
|
'ProtectLogFormatter' => __DIR__ . '/includes/logging/ProtectLogFormatter.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ProtectedPagesPager' => __DIR__ . '/includes/specials/SpecialProtectedpages.php',
|
2016-03-24 11:25:40 +00:00
|
|
|
'ProtectedTitlesPager' => __DIR__ . '/includes/specials/pagers/ProtectedTitlesPager.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ProtectionForm' => __DIR__ . '/includes/ProtectionForm.php',
|
|
|
|
|
'PruneFileCache' => __DIR__ . '/maintenance/pruneFileCache.php',
|
|
|
|
|
'PublishStashedFileJob' => __DIR__ . '/includes/jobqueue/jobs/PublishStashedFileJob.php',
|
|
|
|
|
'PurgeAction' => __DIR__ . '/includes/actions/PurgeAction.php',
|
|
|
|
|
'PurgeChangedFiles' => __DIR__ . '/maintenance/purgeChangedFiles.php',
|
|
|
|
|
'PurgeChangedPages' => __DIR__ . '/maintenance/purgeChangedPages.php',
|
|
|
|
|
'PurgeList' => __DIR__ . '/maintenance/purgeList.php',
|
|
|
|
|
'PurgeOldText' => __DIR__ . '/maintenance/purgeOldText.php',
|
|
|
|
|
'PurgeParserCache' => __DIR__ . '/maintenance/purgeParserCache.php',
|
|
|
|
|
'QueryPage' => __DIR__ . '/includes/specialpage/QueryPage.php',
|
|
|
|
|
'QuickTemplate' => __DIR__ . '/includes/skins/QuickTemplate.php',
|
|
|
|
|
'QuorumLockManager' => __DIR__ . '/includes/filebackend/lockmanager/QuorumLockManager.php',
|
|
|
|
|
'RCCacheEntry' => __DIR__ . '/includes/changes/RCCacheEntry.php',
|
|
|
|
|
'RCCacheEntryFactory' => __DIR__ . '/includes/changes/RCCacheEntryFactory.php',
|
|
|
|
|
'RCDatabaseLogEntry' => __DIR__ . '/includes/logging/LogEntry.php',
|
|
|
|
|
'RCFeedEngine' => __DIR__ . '/includes/rcfeed/RCFeedEngine.php',
|
|
|
|
|
'RCFeedFormatter' => __DIR__ . '/includes/rcfeed/RCFeedFormatter.php',
|
2016-06-09 19:38:05 +00:00
|
|
|
'RESTBagOStuff' => __DIR__ . '/includes/libs/objectcache/RESTBagOStuff.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'RSSFeed' => __DIR__ . '/includes/Feed.php',
|
|
|
|
|
'RandomPage' => __DIR__ . '/includes/specials/SpecialRandompage.php',
|
2016-04-26 22:59:21 +00:00
|
|
|
'RangeDifference' => __DIR__ . '/includes/diff/DiffEngine.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'RawAction' => __DIR__ . '/includes/actions/RawAction.php',
|
|
|
|
|
'RawMessage' => __DIR__ . '/includes/Message.php',
|
|
|
|
|
'ReadOnlyError' => __DIR__ . '/includes/exception/ReadOnlyError.php',
|
|
|
|
|
'ReassignEdits' => __DIR__ . '/maintenance/reassignEdits.php',
|
|
|
|
|
'RebuildAll' => __DIR__ . '/maintenance/rebuildall.php',
|
|
|
|
|
'RebuildFileCache' => __DIR__ . '/maintenance/rebuildFileCache.php',
|
|
|
|
|
'RebuildLocalisationCache' => __DIR__ . '/maintenance/rebuildLocalisationCache.php',
|
|
|
|
|
'RebuildMessages' => __DIR__ . '/maintenance/rebuildmessages.php',
|
|
|
|
|
'RebuildRecentchanges' => __DIR__ . '/maintenance/rebuildrecentchanges.php',
|
2014-11-21 00:24:39 +00:00
|
|
|
'RebuildSitesCache' => __DIR__ . '/maintenance/rebuildSitesCache.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'RebuildTextIndex' => __DIR__ . '/maintenance/rebuildtextindex.php',
|
|
|
|
|
'RecentChange' => __DIR__ . '/includes/changes/RecentChange.php',
|
2015-01-17 01:02:10 +00:00
|
|
|
'RecentChangesUpdateJob' => __DIR__ . '/includes/jobqueue/jobs/RecentChangesUpdateJob.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'RecompressTracked' => __DIR__ . '/maintenance/storage/recompressTracked.php',
|
|
|
|
|
'RedirectSpecialArticle' => __DIR__ . '/includes/specialpage/RedirectSpecialPage.php',
|
|
|
|
|
'RedirectSpecialPage' => __DIR__ . '/includes/specialpage/RedirectSpecialPage.php',
|
|
|
|
|
'RedisBagOStuff' => __DIR__ . '/includes/objectcache/RedisBagOStuff.php',
|
|
|
|
|
'RedisConnRef' => __DIR__ . '/includes/clientpool/RedisConnectionPool.php',
|
|
|
|
|
'RedisConnectionPool' => __DIR__ . '/includes/clientpool/RedisConnectionPool.php',
|
|
|
|
|
'RedisLockManager' => __DIR__ . '/includes/filebackend/lockmanager/RedisLockManager.php',
|
|
|
|
|
'RedisPubSubFeedEngine' => __DIR__ . '/includes/rcfeed/RedisPubSubFeedEngine.php',
|
|
|
|
|
'RefreshFileHeaders' => __DIR__ . '/maintenance/refreshFileHeaders.php',
|
|
|
|
|
'RefreshImageMetadata' => __DIR__ . '/maintenance/refreshImageMetadata.php',
|
|
|
|
|
'RefreshLinks' => __DIR__ . '/maintenance/refreshLinks.php',
|
|
|
|
|
'RefreshLinksJob' => __DIR__ . '/includes/jobqueue/jobs/RefreshLinksJob.php',
|
2015-01-29 04:42:25 +00:00
|
|
|
'RegexlikeReplacer' => __DIR__ . '/includes/libs/replacers/RegexlikeReplacer.php',
|
2014-12-04 19:08:45 +00:00
|
|
|
'RemoveInvalidEmails' => __DIR__ . '/maintenance/removeInvalidEmails.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'RemoveUnusedAccounts' => __DIR__ . '/maintenance/removeUnusedAccounts.php',
|
|
|
|
|
'RenameDbPrefix' => __DIR__ . '/maintenance/renameDbPrefix.php',
|
|
|
|
|
'RenderAction' => __DIR__ . '/includes/actions/RenderAction.php',
|
2015-01-29 05:21:46 +00:00
|
|
|
'ReplacementArray' => __DIR__ . '/includes/libs/ReplacementArray.php',
|
2015-01-29 04:42:25 +00:00
|
|
|
'Replacer' => __DIR__ . '/includes/libs/replacers/Replacer.php',
|
2015-04-30 03:02:14 +00:00
|
|
|
'ReplicatedBagOStuff' => __DIR__ . '/includes/libs/objectcache/ReplicatedBagOStuff.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'RepoGroup' => __DIR__ . '/includes/filerepo/RepoGroup.php',
|
|
|
|
|
'RequestContext' => __DIR__ . '/includes/context/RequestContext.php',
|
2016-01-30 21:45:35 +00:00
|
|
|
'ResetUserEmail' => __DIR__ . '/maintenance/resetUserEmail.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ResetUserTokens' => __DIR__ . '/maintenance/resetUserTokens.php',
|
|
|
|
|
'ResourceFileCache' => __DIR__ . '/includes/cache/ResourceFileCache.php',
|
|
|
|
|
'ResourceLoader' => __DIR__ . '/includes/resourceloader/ResourceLoader.php',
|
|
|
|
|
'ResourceLoaderContext' => __DIR__ . '/includes/resourceloader/ResourceLoaderContext.php',
|
|
|
|
|
'ResourceLoaderEditToolbarModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderEditToolbarModule.php',
|
|
|
|
|
'ResourceLoaderFileModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderFileModule.php',
|
|
|
|
|
'ResourceLoaderFilePath' => __DIR__ . '/includes/resourceloader/ResourceLoaderFilePath.php',
|
2015-08-14 23:17:49 +00:00
|
|
|
'ResourceLoaderForeignApiModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderForeignApiModule.php',
|
2014-11-11 19:50:44 +00:00
|
|
|
'ResourceLoaderImage' => __DIR__ . '/includes/resourceloader/ResourceLoaderImage.php',
|
|
|
|
|
'ResourceLoaderImageModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderImageModule.php',
|
2015-06-08 14:47:21 +00:00
|
|
|
'ResourceLoaderJqueryMsgModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderJqueryMsgModule.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ResourceLoaderLanguageDataModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderLanguageDataModule.php',
|
|
|
|
|
'ResourceLoaderLanguageNamesModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderLanguageNamesModule.php',
|
|
|
|
|
'ResourceLoaderModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderModule.php',
|
2015-06-08 05:27:24 +00:00
|
|
|
'ResourceLoaderOOUIImageModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderOOUIImageModule.php',
|
2015-05-13 18:23:26 +00:00
|
|
|
'ResourceLoaderRawFileModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderRawFileModule.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ResourceLoaderSiteModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderSiteModule.php',
|
2016-06-06 18:12:49 +00:00
|
|
|
'ResourceLoaderSiteStylesModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderSiteStylesModule.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ResourceLoaderSkinModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderSkinModule.php',
|
2015-03-13 00:24:09 +00:00
|
|
|
'ResourceLoaderSpecialCharacterDataModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderSpecialCharacterDataModule.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ResourceLoaderStartUpModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderStartUpModule.php',
|
2016-05-05 15:20:05 +00:00
|
|
|
'ResourceLoaderUploadDialogModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderUploadDialogModule.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ResourceLoaderUserCSSPrefsModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderUserCSSPrefsModule.php',
|
2014-12-09 21:57:31 +00:00
|
|
|
'ResourceLoaderUserDefaultsModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderUserDefaultsModule.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ResourceLoaderUserModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderUserModule.php',
|
|
|
|
|
'ResourceLoaderUserOptionsModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderUserOptionsModule.php',
|
|
|
|
|
'ResourceLoaderUserTokensModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderUserTokensModule.php',
|
|
|
|
|
'ResourceLoaderWikiModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderWikiModule.php',
|
2015-03-02 14:35:21 +00:00
|
|
|
'RestbaseVirtualRESTService' => __DIR__ . '/includes/libs/virtualrest/RestbaseVirtualRESTService.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ResultWrapper' => __DIR__ . '/includes/db/DatabaseUtility.php',
|
|
|
|
|
'RevDelArchiveItem' => __DIR__ . '/includes/revisiondelete/RevDelArchiveItem.php',
|
|
|
|
|
'RevDelArchiveList' => __DIR__ . '/includes/revisiondelete/RevDelArchiveList.php',
|
|
|
|
|
'RevDelArchivedFileItem' => __DIR__ . '/includes/revisiondelete/RevDelArchivedFileItem.php',
|
|
|
|
|
'RevDelArchivedFileList' => __DIR__ . '/includes/revisiondelete/RevDelArchivedFileList.php',
|
|
|
|
|
'RevDelArchivedRevisionItem' => __DIR__ . '/includes/revisiondelete/RevDelArchivedRevisionItem.php',
|
|
|
|
|
'RevDelFileItem' => __DIR__ . '/includes/revisiondelete/RevDelFileItem.php',
|
|
|
|
|
'RevDelFileList' => __DIR__ . '/includes/revisiondelete/RevDelFileList.php',
|
|
|
|
|
'RevDelItem' => __DIR__ . '/includes/revisiondelete/RevDelItem.php',
|
|
|
|
|
'RevDelList' => __DIR__ . '/includes/revisiondelete/RevDelList.php',
|
|
|
|
|
'RevDelLogItem' => __DIR__ . '/includes/revisiondelete/RevDelLogItem.php',
|
|
|
|
|
'RevDelLogList' => __DIR__ . '/includes/revisiondelete/RevDelLogList.php',
|
|
|
|
|
'RevDelRevisionItem' => __DIR__ . '/includes/revisiondelete/RevDelRevisionItem.php',
|
|
|
|
|
'RevDelRevisionList' => __DIR__ . '/includes/revisiondelete/RevDelRevisionList.php',
|
2016-03-15 19:13:43 +00:00
|
|
|
'ReverseArrayIterator' => __DIR__ . '/includes/libs/ReverseArrayIterator.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ReverseChronologicalPager' => __DIR__ . '/includes/pager/ReverseChronologicalPager.php',
|
|
|
|
|
'RevertAction' => __DIR__ . '/includes/actions/RevertAction.php',
|
|
|
|
|
'Revision' => __DIR__ . '/includes/Revision.php',
|
|
|
|
|
'RevisionDeleteUser' => __DIR__ . '/includes/revisiondelete/RevisionDeleteUser.php',
|
|
|
|
|
'RevisionDeleter' => __DIR__ . '/includes/revisiondelete/RevisionDeleter.php',
|
|
|
|
|
'RevisionItem' => __DIR__ . '/includes/RevisionList.php',
|
|
|
|
|
'RevisionItemBase' => __DIR__ . '/includes/RevisionList.php',
|
|
|
|
|
'RevisionList' => __DIR__ . '/includes/RevisionList.php',
|
|
|
|
|
'RevisionListBase' => __DIR__ . '/includes/RevisionList.php',
|
|
|
|
|
'RevisiondeleteAction' => __DIR__ . '/includes/actions/RevisiondeleteAction.php',
|
2013-11-17 16:43:27 +00:00
|
|
|
'RiffExtractor' => __DIR__ . '/includes/libs/RiffExtractor.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'RightsLogFormatter' => __DIR__ . '/includes/logging/RightsLogFormatter.php',
|
|
|
|
|
'RollbackAction' => __DIR__ . '/includes/actions/RollbackAction.php',
|
|
|
|
|
'RollbackEdits' => __DIR__ . '/maintenance/rollbackEdits.php',
|
2015-07-30 22:09:11 +00:00
|
|
|
'RowUpdateGenerator' => __DIR__ . '/includes/utils/RowUpdateGenerator.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'RunJobs' => __DIR__ . '/maintenance/runJobs.php',
|
2015-10-27 18:41:17 +00:00
|
|
|
'RunningStat' => __DIR__ . '/includes/compat/RunningStatCompat.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SQLiteField' => __DIR__ . '/includes/db/DatabaseSqlite.php',
|
|
|
|
|
'SVGMetadataExtractor' => __DIR__ . '/includes/media/SVGMetadataExtractor.php',
|
|
|
|
|
'SVGReader' => __DIR__ . '/includes/media/SVGMetadataExtractor.php',
|
2015-07-23 20:13:27 +00:00
|
|
|
'SamplingStatsdClient' => __DIR__ . '/includes/libs/SamplingStatsdClient.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'Sanitizer' => __DIR__ . '/includes/Sanitizer.php',
|
|
|
|
|
'SavepointPostgres' => __DIR__ . '/includes/db/DatabasePostgres.php',
|
|
|
|
|
'ScopedCallback' => __DIR__ . '/includes/libs/ScopedCallback.php',
|
|
|
|
|
'ScopedLock' => __DIR__ . '/includes/filebackend/lockmanager/ScopedLock.php',
|
2016-03-31 09:13:21 +00:00
|
|
|
'SearchApi' => __DIR__ . '/includes/api/SearchApi.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SearchDatabase' => __DIR__ . '/includes/search/SearchDatabase.php',
|
|
|
|
|
'SearchDump' => __DIR__ . '/maintenance/dumpIterator.php',
|
|
|
|
|
'SearchEngine' => __DIR__ . '/includes/search/SearchEngine.php',
|
2016-04-03 08:37:11 +00:00
|
|
|
'SearchEngineConfig' => __DIR__ . '/includes/search/SearchEngineConfig.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SearchEngineDummy' => __DIR__ . '/includes/search/SearchEngine.php',
|
2016-04-03 08:37:11 +00:00
|
|
|
'SearchEngineFactory' => __DIR__ . '/includes/search/SearchEngineFactory.php',
|
2015-09-11 15:32:15 +00:00
|
|
|
'SearchExactMatchRescorer' => __DIR__ . '/includes/search/SearchExactMatchRescorer.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SearchHighlighter' => __DIR__ . '/includes/search/SearchHighlighter.php',
|
2016-05-13 00:10:52 +00:00
|
|
|
'SearchIndexField' => __DIR__ . '/includes/search/SearchIndexField.php',
|
|
|
|
|
'SearchIndexFieldDefinition' => __DIR__ . '/includes/search/SearchIndexFieldDefinition.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SearchMssql' => __DIR__ . '/includes/search/SearchMssql.php',
|
|
|
|
|
'SearchMySQL' => __DIR__ . '/includes/search/SearchMySQL.php',
|
2016-01-03 23:10:32 +00:00
|
|
|
'SearchNearMatchResultSet' => __DIR__ . '/includes/search/SearchNearMatchResultSet.php',
|
2016-04-03 08:37:11 +00:00
|
|
|
'SearchNearMatcher' => __DIR__ . '/includes/search/SearchNearMatcher.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SearchOracle' => __DIR__ . '/includes/search/SearchOracle.php',
|
|
|
|
|
'SearchPostgres' => __DIR__ . '/includes/search/SearchPostgres.php',
|
|
|
|
|
'SearchResult' => __DIR__ . '/includes/search/SearchResult.php',
|
|
|
|
|
'SearchResultSet' => __DIR__ . '/includes/search/SearchResultSet.php',
|
|
|
|
|
'SearchSqlite' => __DIR__ . '/includes/search/SearchSqlite.php',
|
2016-01-26 21:18:27 +00:00
|
|
|
'SearchSuggestion' => __DIR__ . '/includes/search/SearchSuggestion.php',
|
|
|
|
|
'SearchSuggestionSet' => __DIR__ . '/includes/search/SearchSuggestionSet.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SearchUpdate' => __DIR__ . '/includes/deferred/SearchUpdate.php',
|
2014-12-17 21:16:06 +00:00
|
|
|
'SectionProfileCallback' => __DIR__ . '/includes/profiler/SectionProfiler.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SectionProfiler' => __DIR__ . '/includes/profiler/SectionProfiler.php',
|
|
|
|
|
'SevenZipStream' => __DIR__ . '/maintenance/7zip.inc',
|
|
|
|
|
'ShiConverter' => __DIR__ . '/languages/classes/LanguageShi.php',
|
|
|
|
|
'ShortPagesPage' => __DIR__ . '/includes/specials/SpecialShortpages.php',
|
|
|
|
|
'ShowJobs' => __DIR__ . '/maintenance/showJobs.php',
|
|
|
|
|
'ShowSiteStats' => __DIR__ . '/maintenance/showSiteStats.php',
|
|
|
|
|
'Site' => __DIR__ . '/includes/site/Site.php',
|
|
|
|
|
'SiteConfiguration' => __DIR__ . '/includes/SiteConfiguration.php',
|
2015-02-02 10:58:14 +00:00
|
|
|
'SiteExporter' => __DIR__ . '/includes/site/SiteExporter.php',
|
2014-12-22 10:30:03 +00:00
|
|
|
'SiteImporter' => __DIR__ . '/includes/site/SiteImporter.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SiteList' => __DIR__ . '/includes/site/SiteList.php',
|
2015-02-06 02:00:26 +00:00
|
|
|
'SiteLookup' => __DIR__ . '/includes/site/SiteLookup.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SiteSQLStore' => __DIR__ . '/includes/site/SiteSQLStore.php',
|
|
|
|
|
'SiteStats' => __DIR__ . '/includes/SiteStats.php',
|
|
|
|
|
'SiteStatsInit' => __DIR__ . '/includes/SiteStats.php',
|
|
|
|
|
'SiteStatsUpdate' => __DIR__ . '/includes/deferred/SiteStatsUpdate.php',
|
|
|
|
|
'SiteStore' => __DIR__ . '/includes/site/SiteStore.php',
|
2015-02-06 02:00:26 +00:00
|
|
|
'SitesCacheFileBuilder' => __DIR__ . '/includes/site/SitesCacheFileBuilder.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'Skin' => __DIR__ . '/includes/skins/Skin.php',
|
|
|
|
|
'SkinApi' => __DIR__ . '/includes/skins/SkinApi.php',
|
|
|
|
|
'SkinApiTemplate' => __DIR__ . '/includes/skins/SkinApiTemplate.php',
|
|
|
|
|
'SkinException' => __DIR__ . '/includes/skins/SkinException.php',
|
|
|
|
|
'SkinFactory' => __DIR__ . '/includes/skins/SkinFactory.php',
|
|
|
|
|
'SkinFallback' => __DIR__ . '/includes/skins/SkinFallback.php',
|
|
|
|
|
'SkinFallbackTemplate' => __DIR__ . '/includes/skins/SkinFallbackTemplate.php',
|
|
|
|
|
'SkinTemplate' => __DIR__ . '/includes/skins/SkinTemplate.php',
|
2016-07-12 13:48:58 +00:00
|
|
|
'SlideshowImageGallery' => __DIR__ . '/includes/gallery/SlideshowImageGallery.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialActiveUsers' => __DIR__ . '/includes/specials/SpecialActiveusers.php',
|
|
|
|
|
'SpecialAllMessages' => __DIR__ . '/includes/specials/SpecialAllMessages.php',
|
|
|
|
|
'SpecialAllMyUploads' => __DIR__ . '/includes/specials/SpecialMyRedirectPages.php',
|
|
|
|
|
'SpecialAllPages' => __DIR__ . '/includes/specials/SpecialAllPages.php',
|
|
|
|
|
'SpecialApiHelp' => __DIR__ . '/includes/specials/SpecialApiHelp.php',
|
2015-05-07 17:11:09 +00:00
|
|
|
'SpecialApiSandbox' => __DIR__ . '/includes/specials/SpecialApiSandbox.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialBlankpage' => __DIR__ . '/includes/specials/SpecialBlankpage.php',
|
|
|
|
|
'SpecialBlock' => __DIR__ . '/includes/specials/SpecialBlock.php',
|
|
|
|
|
'SpecialBlockList' => __DIR__ . '/includes/specials/SpecialBlockList.php',
|
|
|
|
|
'SpecialBookSources' => __DIR__ . '/includes/specials/SpecialBooksources.php',
|
2016-02-01 20:44:03 +00:00
|
|
|
'SpecialBotPasswords' => __DIR__ . '/includes/specials/SpecialBotPasswords.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialCachedPage' => __DIR__ . '/includes/specials/SpecialCachedPage.php',
|
|
|
|
|
'SpecialCategories' => __DIR__ . '/includes/specials/SpecialCategories.php',
|
2015-03-29 03:36:01 +00:00
|
|
|
'SpecialChangeContentModel' => __DIR__ . '/includes/specials/SpecialChangeContentModel.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'SpecialChangeCredentials' => __DIR__ . '/includes/specials/SpecialChangeCredentials.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialChangeEmail' => __DIR__ . '/includes/specials/SpecialChangeEmail.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'SpecialChangeEmailPreAuthManager' => __DIR__ . '/includes/specials/pre-authmanager/SpecialChangeEmail.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialChangePassword' => __DIR__ . '/includes/specials/SpecialChangePassword.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'SpecialChangePasswordPreAuthManager' => __DIR__ . '/includes/specials/pre-authmanager/SpecialChangePassword.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialComparePages' => __DIR__ . '/includes/specials/SpecialComparePages.php',
|
|
|
|
|
'SpecialContributions' => __DIR__ . '/includes/specials/SpecialContributions.php',
|
|
|
|
|
'SpecialCreateAccount' => __DIR__ . '/includes/specials/SpecialCreateAccount.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'SpecialCreateAccountPreAuthManager' => __DIR__ . '/includes/specials/pre-authmanager/SpecialCreateAccount.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialDiff' => __DIR__ . '/includes/specials/SpecialDiff.php',
|
2015-04-15 01:31:53 +00:00
|
|
|
'SpecialEditTags' => __DIR__ . '/includes/specials/SpecialEditTags.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialEditWatchlist' => __DIR__ . '/includes/specials/SpecialEditWatchlist.php',
|
|
|
|
|
'SpecialEmailUser' => __DIR__ . '/includes/specials/SpecialEmailuser.php',
|
|
|
|
|
'SpecialExpandTemplates' => __DIR__ . '/includes/specials/SpecialExpandTemplates.php',
|
|
|
|
|
'SpecialExport' => __DIR__ . '/includes/specials/SpecialExport.php',
|
|
|
|
|
'SpecialFilepath' => __DIR__ . '/includes/specials/SpecialFilepath.php',
|
|
|
|
|
'SpecialImport' => __DIR__ . '/includes/specials/SpecialImport.php',
|
|
|
|
|
'SpecialJavaScriptTest' => __DIR__ . '/includes/specials/SpecialJavaScriptTest.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'SpecialLinkAccounts' => __DIR__ . '/includes/specials/SpecialLinkAccounts.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialListAdmins' => __DIR__ . '/includes/specials/SpecialListusers.php',
|
|
|
|
|
'SpecialListBots' => __DIR__ . '/includes/specials/SpecialListusers.php',
|
|
|
|
|
'SpecialListFiles' => __DIR__ . '/includes/specials/SpecialListfiles.php',
|
2015-12-02 17:10:26 +00:00
|
|
|
'SpecialListGrants' => __DIR__ . '/includes/specials/SpecialListgrants.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialListGroupRights' => __DIR__ . '/includes/specials/SpecialListgrouprights.php',
|
|
|
|
|
'SpecialListUsers' => __DIR__ . '/includes/specials/SpecialListusers.php',
|
|
|
|
|
'SpecialLockdb' => __DIR__ . '/includes/specials/SpecialLockdb.php',
|
|
|
|
|
'SpecialLog' => __DIR__ . '/includes/specials/SpecialLog.php',
|
|
|
|
|
'SpecialMergeHistory' => __DIR__ . '/includes/specials/SpecialMergeHistory.php',
|
|
|
|
|
'SpecialMyLanguage' => __DIR__ . '/includes/specials/SpecialMyLanguage.php',
|
|
|
|
|
'SpecialMycontributions' => __DIR__ . '/includes/specials/SpecialMyRedirectPages.php',
|
|
|
|
|
'SpecialMypage' => __DIR__ . '/includes/specials/SpecialMyRedirectPages.php',
|
|
|
|
|
'SpecialMytalk' => __DIR__ . '/includes/specials/SpecialMyRedirectPages.php',
|
|
|
|
|
'SpecialMyuploads' => __DIR__ . '/includes/specials/SpecialMyRedirectPages.php',
|
|
|
|
|
'SpecialNewFiles' => __DIR__ . '/includes/specials/SpecialNewimages.php',
|
|
|
|
|
'SpecialNewpages' => __DIR__ . '/includes/specials/SpecialNewpages.php',
|
|
|
|
|
'SpecialPage' => __DIR__ . '/includes/specialpage/SpecialPage.php',
|
2015-04-15 01:31:53 +00:00
|
|
|
'SpecialPageAction' => __DIR__ . '/includes/actions/SpecialPageAction.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialPageFactory' => __DIR__ . '/includes/specialpage/SpecialPageFactory.php',
|
|
|
|
|
'SpecialPageLanguage' => __DIR__ . '/includes/specials/SpecialPageLanguage.php',
|
|
|
|
|
'SpecialPagesWithProp' => __DIR__ . '/includes/specials/SpecialPagesWithProp.php',
|
|
|
|
|
'SpecialPasswordReset' => __DIR__ . '/includes/specials/SpecialPasswordReset.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'SpecialPasswordResetPreAuthManager' => __DIR__ . '/includes/specials/pre-authmanager/SpecialPasswordReset.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialPermanentLink' => __DIR__ . '/includes/specials/SpecialPermanentLink.php',
|
|
|
|
|
'SpecialPreferences' => __DIR__ . '/includes/specials/SpecialPreferences.php',
|
|
|
|
|
'SpecialPrefixindex' => __DIR__ . '/includes/specials/SpecialPrefixindex.php',
|
|
|
|
|
'SpecialProtectedpages' => __DIR__ . '/includes/specials/SpecialProtectedpages.php',
|
|
|
|
|
'SpecialProtectedtitles' => __DIR__ . '/includes/specials/SpecialProtectedtitles.php',
|
|
|
|
|
'SpecialRandomInCategory' => __DIR__ . '/includes/specials/SpecialRandomInCategory.php',
|
|
|
|
|
'SpecialRandomredirect' => __DIR__ . '/includes/specials/SpecialRandomredirect.php',
|
2016-01-15 23:17:05 +00:00
|
|
|
'SpecialRandomrootpage' => __DIR__ . '/includes/specials/SpecialRandomrootpage.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialRecentChanges' => __DIR__ . '/includes/specials/SpecialRecentchanges.php',
|
|
|
|
|
'SpecialRecentChangesLinked' => __DIR__ . '/includes/specials/SpecialRecentchangeslinked.php',
|
|
|
|
|
'SpecialRedirect' => __DIR__ . '/includes/specials/SpecialRedirect.php',
|
|
|
|
|
'SpecialRedirectToSpecial' => __DIR__ . '/includes/specialpage/RedirectSpecialPage.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'SpecialRemoveCredentials' => __DIR__ . '/includes/specials/SpecialRemoveCredentials.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialResetTokens' => __DIR__ . '/includes/specials/SpecialResetTokens.php',
|
|
|
|
|
'SpecialRevisionDelete' => __DIR__ . '/includes/specials/SpecialRevisiondelete.php',
|
|
|
|
|
'SpecialRunJobs' => __DIR__ . '/includes/specials/SpecialRunJobs.php',
|
|
|
|
|
'SpecialSearch' => __DIR__ . '/includes/specials/SpecialSearch.php',
|
|
|
|
|
'SpecialSpecialpages' => __DIR__ . '/includes/specials/SpecialSpecialpages.php',
|
|
|
|
|
'SpecialStatistics' => __DIR__ . '/includes/specials/SpecialStatistics.php',
|
|
|
|
|
'SpecialTags' => __DIR__ . '/includes/specials/SpecialTags.php',
|
|
|
|
|
'SpecialTrackingCategories' => __DIR__ . '/includes/specials/SpecialTrackingCategories.php',
|
|
|
|
|
'SpecialUnblock' => __DIR__ . '/includes/specials/SpecialUnblock.php',
|
|
|
|
|
'SpecialUndelete' => __DIR__ . '/includes/specials/SpecialUndelete.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'SpecialUnlinkAccounts' => __DIR__ . '/includes/specials/SpecialUnlinkAccounts.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialUnlockdb' => __DIR__ . '/includes/specials/SpecialUnlockdb.php',
|
|
|
|
|
'SpecialUpload' => __DIR__ . '/includes/specials/SpecialUpload.php',
|
|
|
|
|
'SpecialUploadStash' => __DIR__ . '/includes/specials/SpecialUploadStash.php',
|
|
|
|
|
'SpecialUploadStashTooLargeException' => __DIR__ . '/includes/specials/SpecialUploadStash.php',
|
Use AuthManager on special pages
Rewrite authentication-related special pages to use AuthManager.
All the changes mentioned below only take effect when
$wgDisableAuthManager is false.
LoginForm is rewritten to use HTMLForm and split into UserLogin
and CreateAccount; ChangePassword and PasswordReset are rewritten;
ChangeEmail and Preferences are updated. Four new special pages
are added to handle the new capabilities of AuthManager (linked
accounts, secondary authentication providers): LinkAccounts,
UnlinkAccounts, ChangeCredentials, RemoveCredentials.
The old form-based hooks (ChangePasswordForm, UserCreateForm,
UserLoginForm) are deprecated. A new, more generic hook is
available to alter the forms (AuthChangeFormFields);
form changes that involve new fields should be done via
$wgAuthManagerConfig.
UserLoginComplete is limited to web-based login; for more
generic functionality UserLoggedIn can be used instead.
Hooks that assume password-based login (PrefsPasswordAudit,
AbortChangePassword) are removed; the first functionality
is replaced by ChangeAuthenticationDataAudit, the second is
handled by AuthManager. LoginPasswordResetMessage is removed,
the functionality can be recreated via authentication providers.
There are several smaller backwards incompatible changes:
* Adding fields to the login/signup forms by manipulating the
template via the extraInput/extrafields parameters is not
supported anymore. Depending on the authn configuration the
login/signup process might be multistep and it would be
complicated to ensure that extensions can access the data
at the right moment. Instead, you can create an
AuthenticationProvider which can define its own fields and
process them when the authentication is over.
(There is B/C support for a transitional period that works with
the default login form, but might break with configurations that
require multiple steps or redirects.)
* Removed cookie redirect check. This was added in 2003 in 9ead07fe9
for the benefit of bots, but with MediaWiki having an API these days
there is little reason to keep it. Same for the wpSkipCookieCheck
flag (added in 2008 in 29c73e8265).
* Instead of embedding a password field on sensitive special pages
such as ChangeEmail, such pages rely on AuthManager for elevated
security (which typically involves requiring the user to log in again
unless their last login was more than a few minutes ago).
Accordingly, wgRequirePasswordforEmailChange is removed.
* Special:ChangePassword requires login now.
* Special:ResetPassword now sends a separate email to each user when called
with a shared email address.
* the Reason field had a message with 'prefsectiontip' class
which was sorta broken but used in extensions for formatting.
HTMLForm does not support that, so this commit turns it into a help message
which will break formatting. See https://gerrit.wikimedia.org/r/#/c/231884
Bug: T110277
Change-Id: I8b52ec8ddf494f23941807638f149f15b5e46b0c
Depends-On: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2015-09-22 22:50:04 +00:00
|
|
|
'SpecialUserLogin' => __DIR__ . '/includes/specials/SpecialUserLogin.php',
|
|
|
|
|
'SpecialUserLogout' => __DIR__ . '/includes/specials/SpecialUserLogout.php',
|
|
|
|
|
'SpecialUserlogoutPreAuthManager' => __DIR__ . '/includes/specials/pre-authmanager/SpecialUserlogout.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SpecialVersion' => __DIR__ . '/includes/specials/SpecialVersion.php',
|
|
|
|
|
'SpecialWatchlist' => __DIR__ . '/includes/specials/SpecialWatchlist.php',
|
|
|
|
|
'SpecialWhatLinksHere' => __DIR__ . '/includes/specials/SpecialWhatlinkshere.php',
|
|
|
|
|
'SqlBagOStuff' => __DIR__ . '/includes/objectcache/SqlBagOStuff.php',
|
|
|
|
|
'SqlDataUpdate' => __DIR__ . '/includes/deferred/SqlDataUpdate.php',
|
2016-01-03 23:10:32 +00:00
|
|
|
'SqlSearchResultSet' => __DIR__ . '/includes/search/SqlSearchResultSet.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'Sqlite' => __DIR__ . '/maintenance/sqlite.inc',
|
|
|
|
|
'SqliteInstaller' => __DIR__ . '/includes/installer/SqliteInstaller.php',
|
|
|
|
|
'SqliteMaintenance' => __DIR__ . '/maintenance/sqlite.php',
|
|
|
|
|
'SqliteUpdater' => __DIR__ . '/includes/installer/SqliteUpdater.php',
|
2015-10-08 07:36:22 +00:00
|
|
|
'SquidPurgeClient' => __DIR__ . '/includes/clientpool/SquidPurgeClient.php',
|
|
|
|
|
'SquidPurgeClientPool' => __DIR__ . '/includes/clientpool/SquidPurgeClientPool.php',
|
2015-12-09 18:05:59 +00:00
|
|
|
'SquidUpdate' => __DIR__ . '/includes/deferred/CdnCacheUpdate.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SrConverter' => __DIR__ . '/languages/classes/LanguageSr.php',
|
|
|
|
|
'StatsOutput' => __DIR__ . '/maintenance/language/StatOutputs.php',
|
2016-04-04 03:27:50 +00:00
|
|
|
'StatsdAwareInterface' => __DIR__ . '/includes/libs/stats/StatsdAwareInterface.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'Status' => __DIR__ . '/includes/Status.php',
|
2015-01-21 01:23:21 +00:00
|
|
|
'StatusValue' => __DIR__ . '/includes/libs/StatusValue.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'StorageTypeStats' => __DIR__ . '/maintenance/storage/storageTypeStats.php',
|
|
|
|
|
'StoreFileOp' => __DIR__ . '/includes/filebackend/FileOp.php',
|
|
|
|
|
'StreamFile' => __DIR__ . '/includes/StreamFile.php',
|
|
|
|
|
'StringPrefixSearch' => __DIR__ . '/includes/PrefixSearch.php',
|
2015-01-29 18:30:57 +00:00
|
|
|
'StringUtils' => __DIR__ . '/includes/libs/StringUtils.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'StripState' => __DIR__ . '/includes/parser/StripState.php',
|
|
|
|
|
'StubObject' => __DIR__ . '/includes/StubObject.php',
|
|
|
|
|
'StubUserLang' => __DIR__ . '/includes/StubObject.php',
|
|
|
|
|
'SubmitAction' => __DIR__ . '/includes/actions/SubmitAction.php',
|
2014-12-10 11:24:47 +00:00
|
|
|
'SubpageImportTitleFactory' => __DIR__ . '/includes/title/SubpageImportTitleFactory.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'SvgHandler' => __DIR__ . '/includes/media/SVG.php',
|
|
|
|
|
'SwiftFileBackend' => __DIR__ . '/includes/filebackend/SwiftFileBackend.php',
|
|
|
|
|
'SwiftFileBackendDirList' => __DIR__ . '/includes/filebackend/SwiftFileBackend.php',
|
|
|
|
|
'SwiftFileBackendFileList' => __DIR__ . '/includes/filebackend/SwiftFileBackend.php',
|
|
|
|
|
'SwiftFileBackendList' => __DIR__ . '/includes/filebackend/SwiftFileBackend.php',
|
|
|
|
|
'SwiftFileOpHandle' => __DIR__ . '/includes/filebackend/SwiftFileBackend.php',
|
|
|
|
|
'SwiftVirtualRESTService' => __DIR__ . '/includes/libs/virtualrest/SwiftVirtualRESTService.php',
|
|
|
|
|
'SyncFileBackend' => __DIR__ . '/maintenance/syncFileBackend.php',
|
|
|
|
|
'TableCleanup' => __DIR__ . '/maintenance/cleanupTable.inc',
|
|
|
|
|
'TableDiffFormatter' => __DIR__ . '/includes/diff/TableDiffFormatter.php',
|
|
|
|
|
'TablePager' => __DIR__ . '/includes/pager/TablePager.php',
|
2015-04-15 01:33:08 +00:00
|
|
|
'TagLogFormatter' => __DIR__ . '/includes/logging/TagLogFormatter.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'TempFSFile' => __DIR__ . '/includes/filebackend/TempFSFile.php',
|
|
|
|
|
'TempFileRepo' => __DIR__ . '/includes/filerepo/FileRepo.php',
|
2015-01-30 19:31:44 +00:00
|
|
|
'TemplateParser' => __DIR__ . '/includes/TemplateParser.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'TestFileOpPerformance' => __DIR__ . '/maintenance/fileOpPerfTest.php',
|
|
|
|
|
'TextContent' => __DIR__ . '/includes/content/TextContent.php',
|
|
|
|
|
'TextContentHandler' => __DIR__ . '/includes/content/TextContentHandler.php',
|
2015-12-31 09:46:54 +00:00
|
|
|
'TextPassDumper' => __DIR__ . '/maintenance/dumpTextPass.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'TextStatsOutput' => __DIR__ . '/maintenance/language/StatOutputs.php',
|
|
|
|
|
'TgConverter' => __DIR__ . '/languages/classes/LanguageTg.php',
|
|
|
|
|
'ThrottledError' => __DIR__ . '/includes/exception/ThrottledError.php',
|
|
|
|
|
'ThumbnailImage' => __DIR__ . '/includes/media/MediaTransformOutput.php',
|
|
|
|
|
'ThumbnailRenderJob' => __DIR__ . '/includes/jobqueue/jobs/ThumbnailRenderJob.php',
|
|
|
|
|
'TidyUpBug37714' => __DIR__ . '/maintenance/tidyUpBug37714.php',
|
|
|
|
|
'TiffHandler' => __DIR__ . '/includes/media/Tiff.php',
|
|
|
|
|
'TimestampException' => __DIR__ . '/includes/exception/TimestampException.php',
|
2015-11-03 02:26:07 +00:00
|
|
|
'Timing' => __DIR__ . '/includes/libs/Timing.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'Title' => __DIR__ . '/includes/Title.php',
|
|
|
|
|
'TitleArray' => __DIR__ . '/includes/TitleArray.php',
|
|
|
|
|
'TitleArrayFromResult' => __DIR__ . '/includes/TitleArrayFromResult.php',
|
|
|
|
|
'TitleCleanup' => __DIR__ . '/maintenance/cleanupTitles.php',
|
|
|
|
|
'TitleFormatter' => __DIR__ . '/includes/title/TitleFormatter.php',
|
|
|
|
|
'TitleParser' => __DIR__ . '/includes/title/TitleParser.php',
|
|
|
|
|
'TitlePrefixSearch' => __DIR__ . '/includes/PrefixSearch.php',
|
|
|
|
|
'TitleValue' => __DIR__ . '/includes/title/TitleValue.php',
|
|
|
|
|
'TrackBlobs' => __DIR__ . '/maintenance/storage/trackBlobs.php',
|
|
|
|
|
'TraditionalImageGallery' => __DIR__ . '/includes/gallery/TraditionalImageGallery.php',
|
|
|
|
|
'TransactionProfiler' => __DIR__ . '/includes/profiler/TransactionProfiler.php',
|
|
|
|
|
'TransformParameterError' => __DIR__ . '/includes/media/MediaTransformOutput.php',
|
2014-06-25 19:30:08 +00:00
|
|
|
'TransformTooBigImageAreaError' => __DIR__ . '/includes/media/MediaTransformOutput.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'TransformationalImageHandler' => __DIR__ . '/includes/media/TransformationalImageHandler.php',
|
|
|
|
|
'UDPRCFeedEngine' => __DIR__ . '/includes/rcfeed/UDPRCFeedEngine.php',
|
2014-12-15 22:05:13 +00:00
|
|
|
'UDPTransport' => __DIR__ . '/includes/libs/UDPTransport.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'UIDGenerator' => __DIR__ . '/includes/utils/UIDGenerator.php',
|
|
|
|
|
'UcdXmlReader' => __DIR__ . '/maintenance/language/generateCollationData.php',
|
|
|
|
|
'UncategorizedCategoriesPage' => __DIR__ . '/includes/specials/SpecialUncategorizedcategories.php',
|
|
|
|
|
'UncategorizedImagesPage' => __DIR__ . '/includes/specials/SpecialUncategorizedimages.php',
|
|
|
|
|
'UncategorizedPagesPage' => __DIR__ . '/includes/specials/SpecialUncategorizedpages.php',
|
|
|
|
|
'UncategorizedTemplatesPage' => __DIR__ . '/includes/specials/SpecialUncategorizedtemplates.php',
|
|
|
|
|
'Undelete' => __DIR__ . '/maintenance/undelete.php',
|
|
|
|
|
'UnifiedDiffFormatter' => __DIR__ . '/includes/diff/UnifiedDiffFormatter.php',
|
|
|
|
|
'UnlistedSpecialPage' => __DIR__ . '/includes/specialpage/UnlistedSpecialPage.php',
|
|
|
|
|
'UnprotectAction' => __DIR__ . '/includes/actions/UnprotectAction.php',
|
|
|
|
|
'UnregisteredLocalFile' => __DIR__ . '/includes/filerepo/file/UnregisteredLocalFile.php',
|
|
|
|
|
'UnusedCategoriesPage' => __DIR__ . '/includes/specials/SpecialUnusedcategories.php',
|
|
|
|
|
'UnusedimagesPage' => __DIR__ . '/includes/specials/SpecialUnusedimages.php',
|
|
|
|
|
'UnusedtemplatesPage' => __DIR__ . '/includes/specials/SpecialUnusedtemplates.php',
|
|
|
|
|
'UnwatchAction' => __DIR__ . '/includes/actions/UnwatchAction.php',
|
|
|
|
|
'UnwatchedpagesPage' => __DIR__ . '/includes/specials/SpecialUnwatchedpages.php',
|
|
|
|
|
'UpdateArticleCount' => __DIR__ . '/maintenance/updateArticleCount.php',
|
|
|
|
|
'UpdateCollation' => __DIR__ . '/maintenance/updateCollation.php',
|
|
|
|
|
'UpdateDoubleWidthSearch' => __DIR__ . '/maintenance/updateDoubleWidthSearch.php',
|
2016-07-18 22:20:40 +00:00
|
|
|
'UpdateExtensionJsonSchema' => __DIR__ . '/maintenance/updateExtensionJsonSchema.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'UpdateLogging' => __DIR__ . '/maintenance/archives/upgradeLogging.php',
|
|
|
|
|
'UpdateMediaWiki' => __DIR__ . '/maintenance/update.php',
|
|
|
|
|
'UpdateRestrictions' => __DIR__ . '/maintenance/updateRestrictions.php',
|
|
|
|
|
'UpdateSearchIndex' => __DIR__ . '/maintenance/updateSearchIndex.php',
|
|
|
|
|
'UpdateSpecialPages' => __DIR__ . '/maintenance/updateSpecialPages.php',
|
|
|
|
|
'UploadBase' => __DIR__ . '/includes/upload/UploadBase.php',
|
|
|
|
|
'UploadChunkFileException' => __DIR__ . '/includes/upload/UploadFromChunks.php',
|
|
|
|
|
'UploadChunkVerificationException' => __DIR__ . '/includes/upload/UploadFromChunks.php',
|
|
|
|
|
'UploadChunkZeroLengthFileException' => __DIR__ . '/includes/upload/UploadFromChunks.php',
|
|
|
|
|
'UploadDumper' => __DIR__ . '/maintenance/dumpUploads.php',
|
|
|
|
|
'UploadForm' => __DIR__ . '/includes/specials/SpecialUpload.php',
|
|
|
|
|
'UploadFromChunks' => __DIR__ . '/includes/upload/UploadFromChunks.php',
|
|
|
|
|
'UploadFromFile' => __DIR__ . '/includes/upload/UploadFromFile.php',
|
|
|
|
|
'UploadFromStash' => __DIR__ . '/includes/upload/UploadFromStash.php',
|
|
|
|
|
'UploadFromUrl' => __DIR__ . '/includes/upload/UploadFromUrl.php',
|
2014-08-10 10:25:29 +00:00
|
|
|
'UploadLogFormatter' => __DIR__ . '/includes/logging/UploadLogFormatter.php',
|
2015-12-28 22:27:48 +00:00
|
|
|
'UploadSourceAdapter' => __DIR__ . '/includes/import/UploadSourceAdapter.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'UploadSourceField' => __DIR__ . '/includes/specials/SpecialUpload.php',
|
|
|
|
|
'UploadStash' => __DIR__ . '/includes/upload/UploadStash.php',
|
|
|
|
|
'UploadStashBadPathException' => __DIR__ . '/includes/upload/UploadStash.php',
|
|
|
|
|
'UploadStashCleanup' => __DIR__ . '/maintenance/cleanupUploadStash.php',
|
|
|
|
|
'UploadStashException' => __DIR__ . '/includes/upload/UploadStash.php',
|
|
|
|
|
'UploadStashFile' => __DIR__ . '/includes/upload/UploadStash.php',
|
|
|
|
|
'UploadStashFileException' => __DIR__ . '/includes/upload/UploadStash.php',
|
|
|
|
|
'UploadStashFileNotFoundException' => __DIR__ . '/includes/upload/UploadStash.php',
|
|
|
|
|
'UploadStashNoSuchKeyException' => __DIR__ . '/includes/upload/UploadStash.php',
|
|
|
|
|
'UploadStashNotLoggedInException' => __DIR__ . '/includes/upload/UploadStash.php',
|
|
|
|
|
'UploadStashWrongOwnerException' => __DIR__ . '/includes/upload/UploadStash.php',
|
|
|
|
|
'UploadStashZeroLengthFileException' => __DIR__ . '/includes/upload/UploadStash.php',
|
2016-04-03 08:23:20 +00:00
|
|
|
'UppercaseCollation' => __DIR__ . '/includes/collation/UppercaseCollation.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'UsageException' => __DIR__ . '/includes/api/ApiMain.php',
|
2015-11-12 23:21:19 +00:00
|
|
|
'User' => __DIR__ . '/includes/user/User.php',
|
|
|
|
|
'UserArray' => __DIR__ . '/includes/user/UserArray.php',
|
|
|
|
|
'UserArrayFromResult' => __DIR__ . '/includes/user/UserArrayFromResult.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'UserBlockedError' => __DIR__ . '/includes/exception/UserBlockedError.php',
|
|
|
|
|
'UserCache' => __DIR__ . '/includes/cache/UserCache.php',
|
|
|
|
|
'UserDupes' => __DIR__ . '/maintenance/userDupes.inc',
|
|
|
|
|
'UserMailer' => __DIR__ . '/includes/mail/UserMailer.php',
|
2015-12-03 20:08:31 +00:00
|
|
|
'UserNamePrefixSearch' => __DIR__ . '/includes/user/UserNamePrefixSearch.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'UserNotLoggedIn' => __DIR__ . '/includes/exception/UserNotLoggedIn.php',
|
|
|
|
|
'UserOptions' => __DIR__ . '/maintenance/userOptions.inc',
|
2015-04-23 01:48:48 +00:00
|
|
|
'UserPasswordPolicy' => __DIR__ . '/includes/password/UserPasswordPolicy.php',
|
2015-11-12 23:21:19 +00:00
|
|
|
'UserRightsProxy' => __DIR__ . '/includes/user/UserRightsProxy.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'UsercreateTemplate' => __DIR__ . '/includes/templates/Usercreate.php',
|
|
|
|
|
'UserloginTemplate' => __DIR__ . '/includes/templates/Userlogin.php',
|
|
|
|
|
'UserrightsPage' => __DIR__ . '/includes/specials/SpecialUserrights.php',
|
2016-03-24 11:25:40 +00:00
|
|
|
'UsersPager' => __DIR__ . '/includes/specials/pagers/UsersPager.php',
|
2015-06-27 19:54:40 +00:00
|
|
|
'UtfNormal' => __DIR__ . '/includes/compat/normal/UtfNormal.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'UzConverter' => __DIR__ . '/languages/classes/LanguageUz.php',
|
2014-12-24 17:21:32 +00:00
|
|
|
'VFormHTMLForm' => __DIR__ . '/includes/htmlform/VFormHTMLForm.php',
|
Implement extension registration from an extension.json file
Introduces wfLoadExtension()/wfLoadSkin() which should be used in
LocalSettings.php rather than require-ing a PHP entry point.
Extensions and skins would add "extension.json" or "skin.json" files
in their root, which contains all the information typically
present in PHP entry point files (classes to autoload, special pages,
API modules, etc.) A full schema can be found at
docs/extension.schema.json, and a script to validate these to the
schema is provided. An additional script is provided to convert
typical PHP entry point files into their JSON equivalents.
The basic flow of loading an extension goes like:
* Get the ExtensionRegistry singleton instance
* ExtensionRegistry takes a filename, reads the file or tries
to get the parsed JSON from APC if possible.
* The JSON is run through a Processor instance,
which registers things with the appropriate
global settings.
* The output of the processor is cached in APC if possible.
* The extension/skin is marked as loaded in the
ExtensionRegistry and a callback function is executed
if one was specified.
For ideal performance, a batch loading method is also provided:
* The absolute path name to the JSON file is queued
in the ExtensionRegistry instance.
* When loadFromQueue() is called, it constructs a hash
unique to the members of the current queue, and sees
if the queue has been cached in APC. If not, it processes
each file individually, and combines the result of each
Processor into one giant array, which is cached in APC.
* The giant array then sets various global settings,
defines constants, and calls callbacks.
To invalidate the cached processed info, by default the mtime
of each JSON file is checked. However that can be slow if you
have a large number of extensions, so you can set $wgExtensionInfoMTime
to the mtime of one file, and `touch` it whenever you update
your extensions.
Change-Id: I7074b65d07c5c7d4e3f1fb0755d74a0b07ed4596
2014-10-15 00:31:15 +00:00
|
|
|
'ValidateRegistrationFile' => __DIR__ . '/maintenance/validateRegistrationFile.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'ViewAction' => __DIR__ . '/includes/actions/ViewAction.php',
|
|
|
|
|
'VirtualRESTService' => __DIR__ . '/includes/libs/virtualrest/VirtualRESTService.php',
|
|
|
|
|
'VirtualRESTServiceClient' => __DIR__ . '/includes/libs/virtualrest/VirtualRESTServiceClient.php',
|
2015-04-27 19:35:58 +00:00
|
|
|
'WANObjectCache' => __DIR__ . '/includes/libs/objectcache/WANObjectCache.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'WantedCategoriesPage' => __DIR__ . '/includes/specials/SpecialWantedcategories.php',
|
|
|
|
|
'WantedFilesPage' => __DIR__ . '/includes/specials/SpecialWantedfiles.php',
|
|
|
|
|
'WantedPagesPage' => __DIR__ . '/includes/specials/SpecialWantedpages.php',
|
|
|
|
|
'WantedQueryPage' => __DIR__ . '/includes/specialpage/WantedQueryPage.php',
|
|
|
|
|
'WantedTemplatesPage' => __DIR__ . '/includes/specials/SpecialWantedtemplates.php',
|
|
|
|
|
'WatchAction' => __DIR__ . '/includes/actions/WatchAction.php',
|
|
|
|
|
'WatchedItem' => __DIR__ . '/includes/WatchedItem.php',
|
2016-04-19 09:34:31 +00:00
|
|
|
'WatchedItemQueryService' => __DIR__ . '/includes/WatchedItemQueryService.php',
|
2016-01-26 16:36:05 +00:00
|
|
|
'WatchedItemStore' => __DIR__ . '/includes/WatchedItemStore.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'WatchlistCleanup' => __DIR__ . '/maintenance/cleanupWatchlist.php',
|
|
|
|
|
'WebInstaller' => __DIR__ . '/includes/installer/WebInstaller.php',
|
2016-01-05 20:48:25 +00:00
|
|
|
'WebInstallerComplete' => __DIR__ . '/includes/installer/WebInstallerComplete.php',
|
|
|
|
|
'WebInstallerCopying' => __DIR__ . '/includes/installer/WebInstallerCopying.php',
|
|
|
|
|
'WebInstallerDBConnect' => __DIR__ . '/includes/installer/WebInstallerDBConnect.php',
|
|
|
|
|
'WebInstallerDBSettings' => __DIR__ . '/includes/installer/WebInstallerDBSettings.php',
|
|
|
|
|
'WebInstallerDocument' => __DIR__ . '/includes/installer/WebInstallerDocument.php',
|
|
|
|
|
'WebInstallerExistingWiki' => __DIR__ . '/includes/installer/WebInstallerExistingWiki.php',
|
|
|
|
|
'WebInstallerInstall' => __DIR__ . '/includes/installer/WebInstallerInstall.php',
|
|
|
|
|
'WebInstallerLanguage' => __DIR__ . '/includes/installer/WebInstallerLanguage.php',
|
|
|
|
|
'WebInstallerName' => __DIR__ . '/includes/installer/WebInstallerName.php',
|
|
|
|
|
'WebInstallerOptions' => __DIR__ . '/includes/installer/WebInstallerOptions.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'WebInstallerOutput' => __DIR__ . '/includes/installer/WebInstallerOutput.php',
|
|
|
|
|
'WebInstallerPage' => __DIR__ . '/includes/installer/WebInstallerPage.php',
|
2016-01-05 20:48:25 +00:00
|
|
|
'WebInstallerReadme' => __DIR__ . '/includes/installer/WebInstallerReadme.php',
|
|
|
|
|
'WebInstallerReleaseNotes' => __DIR__ . '/includes/installer/WebInstallerReleaseNotes.php',
|
|
|
|
|
'WebInstallerRestart' => __DIR__ . '/includes/installer/WebInstallerRestart.php',
|
|
|
|
|
'WebInstallerUpgrade' => __DIR__ . '/includes/installer/WebInstallerUpgrade.php',
|
|
|
|
|
'WebInstallerUpgradeDoc' => __DIR__ . '/includes/installer/WebInstallerUpgradeDoc.php',
|
|
|
|
|
'WebInstallerWelcome' => __DIR__ . '/includes/installer/WebInstallerWelcome.php',
|
2013-11-17 16:43:27 +00:00
|
|
|
'WebPHandler' => __DIR__ . '/includes/media/WebP.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'WebRequest' => __DIR__ . '/includes/WebRequest.php',
|
2015-10-07 02:24:58 +00:00
|
|
|
'WebRequestUpload' => __DIR__ . '/includes/WebRequestUpload.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'WebResponse' => __DIR__ . '/includes/WebResponse.php',
|
|
|
|
|
'WikiCategoryPage' => __DIR__ . '/includes/page/WikiCategoryPage.php',
|
2015-12-28 22:23:22 +00:00
|
|
|
'WikiExporter' => __DIR__ . '/includes/export/WikiExporter.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'WikiFilePage' => __DIR__ . '/includes/page/WikiFilePage.php',
|
2015-12-28 22:27:48 +00:00
|
|
|
'WikiImporter' => __DIR__ . '/includes/import/WikiImporter.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'WikiMap' => __DIR__ . '/includes/WikiMap.php',
|
|
|
|
|
'WikiPage' => __DIR__ . '/includes/page/WikiPage.php',
|
|
|
|
|
'WikiReference' => __DIR__ . '/includes/WikiMap.php',
|
2015-12-28 22:27:48 +00:00
|
|
|
'WikiRevision' => __DIR__ . '/includes/import/WikiRevision.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'WikiStatsOutput' => __DIR__ . '/maintenance/language/StatOutputs.php',
|
|
|
|
|
'WikitextContent' => __DIR__ . '/includes/content/WikitextContent.php',
|
|
|
|
|
'WikitextContentHandler' => __DIR__ . '/includes/content/WikitextContentHandler.php',
|
2015-02-25 08:22:50 +00:00
|
|
|
'WinCacheBagOStuff' => __DIR__ . '/includes/libs/objectcache/WinCacheBagOStuff.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'WithoutInterwikiPage' => __DIR__ . '/includes/specials/SpecialWithoutinterwiki.php',
|
2016-04-26 18:57:44 +00:00
|
|
|
'WordLevelDiff' => __DIR__ . '/includes/diff/WordLevelDiff.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'WrapOldPasswords' => __DIR__ . '/maintenance/wrapOldPasswords.php',
|
|
|
|
|
'XCFHandler' => __DIR__ . '/includes/media/XCF.php',
|
2015-02-25 08:22:50 +00:00
|
|
|
'XCacheBagOStuff' => __DIR__ . '/includes/libs/objectcache/XCacheBagOStuff.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'XMLRCFeedFormatter' => __DIR__ . '/includes/rcfeed/XMLRCFeedFormatter.php',
|
|
|
|
|
'XMPInfo' => __DIR__ . '/includes/media/XMPInfo.php',
|
|
|
|
|
'XMPReader' => __DIR__ . '/includes/media/XMP.php',
|
|
|
|
|
'XMPValidate' => __DIR__ . '/includes/media/XMPValidate.php',
|
|
|
|
|
'Xhprof' => __DIR__ . '/includes/libs/Xhprof.php',
|
Decouple Xhprof profiling from profiling data processing
The motivation for this patch came from trying to use xhprof to profile the
unit tests. I was able to profile specific test suites, but if I tried to
profile a complete PHPUnit run, I ended up with empty profiling data. My
initial suspicion was that this was due to some Xhprof buffer getting
exhausted. The actual reason ended up being much simpler: the XhprofTest suite
indirectly called xhprof_enable() / xhprof_disable(), which stopped xhprof and
cleared out the data, so that when I was calling xhprof_disable() at the end of
the run, there was no profiling data to return, because xhprof was not running.
For the most part the XhprofTest was already doing the right thing by trying to
avoid having side-effects or relying on xhprof. Wherever possible, test fixture
profiling data was used in lieu of actually running xhprof. But this was not
totally successful because the Xhprof class coupled the collection of data to
the processing of data. Xhprof::__construct() called xhprof_enable(), so there
was no real way around that.
I think that the right way to fix that is to decouple profiling from profiling
data analysis. Thus I renamed 'Xhprof' to 'XhprofData', and modified the class
so that it expects to be fed profiling data rather than going out and
collecting it on its own. As a result, it is now possible to profile a full
phpunit run with xhprof, and the work that went into writing fixtures for the
Xhprof unit tests pays off: the class and the tests no longer have a hard
dependency on the xhprof extension, and the tests do not have to be skipped
when it is not installed. And the tests are really testing the system under
test, rather than the xhprof extension.
Finally, I added a new Xhprof class, which really is just an extremely thin
wrapper around xhprof_enable() / xhprof_disable(). The only extra functionality
it provides is the ability to check whether xhprof is running, via
Xhprof::isEnabled(). Calling Xhprof::enable() when it is already enabled will
cause an exception to be thrown. This should help us avoid running into
situations where two components contend for control of the profiler without
realizing it. A unit test tests this behavior.
The only part of this change that is not covered by tests is the change to
ProfilerXhprof. I tested it manually and it works.
Change-Id: Ica96beded68f04083abaf48ef1ae8c726eb60fa6
2016-05-12 18:10:39 +00:00
|
|
|
'XhprofData' => __DIR__ . '/includes/libs/XhprofData.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'Xml' => __DIR__ . '/includes/Xml.php',
|
2015-12-28 22:23:22 +00:00
|
|
|
'XmlDumpWriter' => __DIR__ . '/includes/export/XmlDumpWriter.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'XmlJsCode' => __DIR__ . '/includes/Xml.php',
|
2015-06-02 23:43:45 +00:00
|
|
|
'XmlSelect' => __DIR__ . '/includes/XmlSelect.php',
|
2014-11-14 18:18:09 +00:00
|
|
|
'XmlTypeCheck' => __DIR__ . '/includes/libs/XmlTypeCheck.php',
|
|
|
|
|
'ZhConverter' => __DIR__ . '/languages/classes/LanguageZh.php',
|
|
|
|
|
'ZipDirectoryReader' => __DIR__ . '/includes/utils/ZipDirectoryReader.php',
|
|
|
|
|
'ZipDirectoryReaderError' => __DIR__ . '/includes/utils/ZipDirectoryReader.php',
|
|
|
|
|
'profile_point' => __DIR__ . '/profileinfo.php',
|
2016-02-17 21:08:07 +00:00
|
|
|
];
|