aboutsummaryrefslogtreecommitdiffstats
path: root/includes/HookContainer/HookRunner.php
Commit message (Collapse)AuthorAgeFilesLines
...
* HookRunner - Change PreferencesGetLayoutHook paramssuecarmol2022-11-211-2/+4
| | | | | | | | | Changed the PreferencesGetLayoutHook parameters so that it no longer passes a Skin variable. Now, the hook will pass an additional string variable with the skin name and an associative array with extra skin properties the hook might need. Bug: T322781 Change-Id: I0c4e76b528d0196ae6929fd8ed71abc6c860dfc4 Depends-On: I200aec586dbe8613e9a9c762db8d9bcbdc69a35b
* Make the doc building for search aware of the revisionDavid Causse2022-10-251-3/+11
| | | | | | | | | | | | | | | | | Added an optional RevisionRecord param to: - ContentHandler::getParserOutputForIndexing - ContentHandler::getDataForSearchIndex - the SearchDataForIndex hook So that they have a chance to build the content related to a specific revision. Ultimately we'd like to make this parameter mandatory. Bug: T317309 Depends-On: I8b220cd6c4aeeca1d924bdd527409b8602318944 Depends-On: I8616b611caab3f5fa97ff0e655b19c3034304597 Change-Id: I3298ce7591069eb32f624b2c9fbb6de58ae04a29
* Merge "Create Hook to check block's error messages from extensions"jenkins-bot2022-10-171-0/+8
|\
| * Create Hook to check block's error messages from extensionsAnaïsGueyte2022-10-141-0/+8
| | | | | | | | | | Bug: T317201 Change-Id: I1c20e7e62e0f2b453735689e3dc543164b5fd067
* | Add icons to Special:Preferences mobile layoutsuecarmol2022-10-131-0/+8
|/ | | | | | | Added icons to Special:Preferences' mobile layout sections. Also added a hook so extensions can add their own icons. Bug: T317419 Change-Id: I6d5730d47e7595b1705787995fe5db2fe734d7f5
* Redesign Special:Preferences for mobilesuecarmol2022-10-051-0/+8
| | | | | | | | | | - Added a hook that checks if the preferences should have a mobile or desktop layout - Added descriptions to preference tabs, which now display as a stack layout in mobile - Added a new mobile JS file to control Special:Preferences when in mobile view - Built the mobile interface in the preferences form Bug: T311717 Change-Id: I468481b66bf96880d1779cd11a46e18745e2c894
* SpecialContribute Follow upMoh'd Khier Abualruz2022-09-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow up to I7f064a954a77373dfec86efae7e378402f500198 From: I28aa164119bc0dbc00f5fcf20bc53dc4851ca0b5 * Fix typo in contribute.css * Removes selector specificity (scoped to body class to prevent these styles loading on other special pages) * Removes non-existent mediawiki.special.contribute module * Fixes font-sizes to match specification (existing values were invalid). From: Icfd8a7965d83f2429637139ca0de9ed1520b4169 This module contains all the possible icons this page could make use of. Seems better to load this one than create an additional ResourceLoader module to fragment things further. Changes: * Use Context for messages instead of wfMessage * Use generated URLs rather than static ones for the default card * ContributeCardsHook::onContributeCards is void ( no prevention mode ) * SpecialContribute fixed typo * Fixed capitalization in messages jsons * Load Classes with PSR-4 * Redirected always to user's page of the Special:Contribute page ( fixes default selection of tab) Bug: T286466 includes: I28aa164119bc0dbc00f5fcf20bc53dc4851ca0b5 includes: Icfd8a7965d83f2429637139ca0de9ed1520b4169 Change-Id: Iac34777a89e3e6732a0916dbf0a22677cbc6d121
* Merge "RecentChanges: Mark onRecentChangesPurgeRows() as void"jenkins-bot2022-09-291-2/+2
|\
| * RecentChanges: Mark onRecentChangesPurgeRows() as voidTimo Tijhof2022-09-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The return value isn't used by RecentChangesUpdateJob, and I can't think of a use case for one extension to cancel another extensions' ability to react to this event. There is currently one extension (ORES) using this hook in Wikimedia Gerrit, and it does not return a value, and does not use the RecentChangesPurgeRowsHook interface. Change-Id: I05fa2ed24208dbea4ad299f6c85b54ee224e4880
* | Persistent contribution entry point on the mobile navigation menuMoh'd Khier Abualruz2022-09-281-0/+8
|/ | | | | | | | | | | | | | | | * Add new special page SpecialContribute * Added messages and aliases for EN language * Add classes to carry cards Data * Added Hook ContributeCardsHook for adding/removing updating cards * Moved HTML to template * Added main page and 1st tab styles * Removed the dependency on minerva skin code * Added Unit Tests * Fixed Jenkins, and qqq messages * Added an override for getShortDescription in special pages to generate unified tab message keys Bug: T286466 Change-Id: I7f064a954a77373dfec86efae7e378402f500198
* Deprecate PersonalUrls hookMoh'd Khier Abualruz2022-09-081-1/+1
| | | | | | | | | | * Deprecated class PersonalUrlsHook * Updated usages to use SkinTemplateNavigation::Universal * Added the changes to RELEASE-NOTES-1.39 Bug: T310017 Depends-On: I3f72143b4fc7f6333d44dab7e9452e5effb354ca Change-Id: I313fd566917109e7fbf2b23a2648edf20485b7b2
* Move SearchResultProvideThumbnail hook to 'search'Matthias Mullie2022-09-011-3/+3
| | | | | | | | | | | | | This will no longer be a thing exclusive to REST API, but will be used more widely for search. This also introduced the (optional) $size param, for which implementations (PageImages only) have already been updated. Depends-On: Ia30afcc43a0ecec772cd0a82dd9661e61f31a651 Change-Id: Ic9110345b4db69d268685b80ec8e4e33da95a050 Bug: T306883
* PermissionManager: Add PermissionErrorAudit hookSergio Gimeno2022-08-301-0/+15
| | | | | | | | | Add a new hook, PermissionErrorAudit, to PermissionsManager::getPermissionErrorsInternal for keeping track of permission errors. Bug: T306018 Change-Id: I7e31c909d1f617c106cb6d40dbb4e0646ccc9cb4
* Merge "Customise error message for invalid JSON, add hook"jenkins-bot2022-08-291-0/+10
|\
| * Customise error message for invalid JSON, add hookSiddharth VP2022-08-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | When invalid JSON is being saved, change the error message from the generic "invalid-content-data" to "invalid-json-data" with the specific error passed as param. Allow extensions to hook into JSON validation, enabling them to apply additional validations for specific JSON files such as MediaWiki:*.json config files. The page identity is passed to the hook. Bug: T313254 Change-Id: If9590c29ed0b871b03a3db8f13e72ee9cfdd7e2b
* | Remove ParserGetVariableVarCacheHook, deprecated in 1.35C. Scott Ananian2022-08-121-8/+0
|/ | | | | | | | | This exposed internal cache mechanisms of the Parser, and appears to have been originally added in c08da372bcadcf4778e37a2b8f7792aee8561165 but is unused in any code indexed by codesearch. Bug: T236813 Change-Id: Iaa5da572d76b1d396ecc7e3d3eb29c8d7d4bcddd
* Deprecate SkinTemplateNavigation::SpecialPage and SkinTemplateNavigation ↵Moh'd Khier Abualruz2022-07-051-0/+6
| | | | | | | hooks in favor of SkinTemplateNavigation::Universal Bug: T255319 Change-Id: Iedc97f86095bfbbf899932649f3abbb62230bbaf
* Remove poweredbyico SkinTemplate variable AND SkinGetPoweredBy hookMoh'd Khier Abualruz2022-06-281-8/+0
| | | | | | | | | | - poweredbyico removed - copyrightico removed - SkinGetPoweredBy, SkinGetPoweredByHook removed - Release Notes updated Bug: T306138 Change-Id: I6171b487e1ab0235b81a8a21a1decaf5cfdc4c1c
* ResourceLoader namespace (attempt 2)Tim Starling2022-05-241-3/+3
| | | | | | | | | | | | | | | | | | Move ResourceLoader classes to their own namespace. Strip the "ResourceLoader" prefix from all except ResourceLoader itself. Move the tests by analogy. I used a namespace alias "RL" in some callers since RL\Module is less ambiguous at the call site than just "Module". I did not address DependencyStore which continues to have a non-standard location and namespace. Revert of a241d83e0a6dabedf. Bug: T308718 Change-Id: Id08a220e1d6085e2b33f3f6c9d0e3935a4204659
* Revert "ResourceLoader namespace"Lucas Werkmeister (WMDE)2022-05-161-1/+1
| | | | | | | | | | | | This reverts commit e08ea8ccb9932f9924a613056afcb2d01c8c7b39. Reason for revert: Breaks Phan in extensions, and as far as I’m aware, this change isn’t urgently needed for anything, so the simplest fix is to revert it again for now. After PHP 7.4 it should be safer to try this again (we hopefully won’t need the two “hack” classes by then). Bug: T308443 Change-Id: Iff3318cbf97a67f821f78e60da62a583f63e389e
* ResourceLoader namespaceTim Starling2022-05-161-1/+1
| | | | | | | | | | | | | | | | Move ResourceLoader classes to their own namespace. Strip the "ResourceLoader" prefix from all except ResourceLoader and ResourceLoaderContext. Move the tests by analogy. I used a namespace alias "RL" in some callers since RL\Module is less ambiguous at the call site than just "Module". I did not address DependencyStore which continues to have a non-standard location and namespace. Change-Id: I92998ae6a82e0b935c13e02a183e7c324fa410a3
* TempUser CentralAuth integrationTim Starling2022-05-101-8/+24
| | | | | | | | | | | | | | | | | | | | Add a hook "TempUserCreatedRedirect" which allows an extension to modify the post-save redirect after a temporary user is created. CentralAuth will handle this hook in order to redirect to loginwiki. Loginwiki will redirect back to the page being saved. In LoginHelper::showReturnToPage add an "anchor" parameter to specify the URL fragment to redirect to. This is intended for section editing with a redirect via loginwiki. In AuthManager::autoCreateUser(), just allow any valid username, don't require it to be creatable. Previously a non-creatable username was allowed only with $source=AUTOCREATE_SOURCE_TEMP, but CentralAuth depends on user autocreation from the session during refreshCookies. The session is already validated at this point, so it's not like a user can exploit this to create arbitrary names. Change-Id: I623330dbf5d0573c93ae22f962618d6ddbd126d9
* Create ParserFetchTemplateData hookC. Scott Ananian2022-03-281-0/+8
| | | | | | | | This is moved from TemplateData, but the interface isn't quite right. Filed T304899 to improve it in the future. Bug: T304740 Change-Id: Iadd1ed70b72fc282bd5addfc1654aa73322ea470
* Create ParserLogLinterData hookC. Scott Ananian2022-03-281-0/+8
| | | | | | | | | This hook was formerly defined by Extension:Linter and invoked by Parsoid, but as this part of Parsoid is moving into core the hook should now be defined by core as well. Bug: T304740 Change-Id: Iffd073e510202e5766632cc01d3585815289b7b4
* Add hook UserEditCountUpdateTim Starling2022-01-311-0/+9
| | | | | | | | | | | | | | Add a hook which runs at the end of UserEditCountUpdate. The idea is to allow CentralAuth to keep its own similar edit count. There's no other hook appropriate for this purpose since UserEditTracker::incrementUserEditCount() has multiple callers. Convert the private associative array in UserEditCountUpdate to a class. Instances of the class are passed to the new hook. A class is better suited to a public interface. Bug: T300075 Change-Id: I16a92e6a6e9faf1be4c7fbe25354a08559df163d
* Add a ParserModifyImageHTML hook for PageImagesTim Starling2021-12-151-0/+13
| | | | | | | | | | | | | PageImages is expensively loading and reparsing the lead section during LinksUpdate because the parser's image link hooks do not give enough context to tell whether the image is in the lead section. So, add a hook which allows PageImages to add a marker to image links. The marker can be associated with the section number in ParserAfterTidy. Bug: T296895 Bug: T176520 Change-Id: I24528381e8d24ca8d138bceadb9397c83fd31356
* Rename variables to disambiguate OutputPageParserOutput hookC. Scott Ananian2021-11-231-2/+2
| | | | | | | | | | | | | | It can be difficult to distinguish between ParserOutput and OutputPage values, since both are often named $out or $output. Use more distinctive variable names to make it easier to read the code (and use code search) for uses of the OutputPageParserOutput hook, where both types are present in close proximity. See T293860 for an instance of this confusion biting us in production, and I386e99df01f889a80de26e861142bdb606aa649d for a related tidying-up in Wikibase. Change-Id: I0ccb7484eb3b2e2ae6a5a85c3e08d7d48b1e6146
* UserOptions: remove deprecated hooks.Petr Pchelko2021-10-261-26/+0
| | | | | | | | | After the hooks were removed we are finally ready to stop reading user options from primary before writing them on save. The new save hooks only work on modified options, so options saving code can be significantly simplified. Change-Id: I48df616c9f35d9a0b2801ada1b7dbef0bd4ad058
* Merge "Add SpecialExportGetExtraPagesHook"jenkins-bot2021-10-111-0/+8
|\
| * Add SpecialExportGetExtraPagesHookCindy Cicalese2021-10-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | This hook allows extensions to add additional pages to the list of pages being exported. For example, if an extension creates supplemental pages that must be exported along with a content page, this hook will allow the extension to export the supplemental pages automatically when the content page is exported. Bug: T292378 Change-Id: I3b6b466b6ed32b1939674872df9e431bd6941645
* | Remove UndeleteForm::undelete hookDaimona Eaytoy2021-09-301-8/+0
| | | | | | | | | | Bug: T290021 Change-Id: If684bd5967825591cc3e21243e23a73e06da2179
* | Deprecate the UndeleteForm::undelete hookDaimona Eaytoy2021-09-281-0/+16
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | It allowed replacement of the PageArchive object, which is so horrific that I'm going to have nightmares for a while after seeing that code. A new hook, PageUndelete, was added to give users something to migrate to that is also used by API requests etc, and for symmetry with DeletePage. This change needs to be in 1.37, since the capability of replacing PageArchive will be removed in 1.38 by the addition of the UndeletePage service. Note that in 1.37, errors from the status will not be used since PageArchive::undeleteAsUser returns false in case of errors. The only usage of this hook in WMF production (ext:Newsletter) is fixed in a dependent patch. A non-WMF usage in ext:Video is not fixed since that one does replace PageArchive and I'd rather not mess with that. SpecialUndelete has two other similar hooks that pass a PageArchive by reference, but in those places PageArchive is used as a lookup (not an undeletion command), so they're not affected by the ongoing undeletion work, and we cannot deprecate them since we'd have to provide replacements first. I've left some comments anyway. Bug: T290021 Change-Id: If434c7ff9de92482f84d535baae5139c18081174
* Drop deprecated BeforeResetNotificationTimestamp hookDannyS7122021-09-211-10/+0
| | | | | | | | | Deprecated in 1.37 and unused Allows a bunch of cleanup for WatchedItemStore. Bug: T271715 Change-Id: I328cf49c3e85da2069b620f8c63670d93608a784
* Drop the ArticleUndeleteLogEntry hookDaimona Eaytoy2021-09-201-8/+0
| | | | | | No known uses, deprecated in I00b4b1ae89606330e0a907c25bcd40d9c797bc84 Change-Id: Icb5c3fe188a7c771de8e2b225d7ca7f677cef0ce
* Deprecate and replace legacy hooks in DeletePageDaimona Eaytoy2021-09-161-0/+34
| | | | | | | | | In both cases the typehints were changed to the new interfaces. For the ArticleDelete hook, the replacement has no $error param and requires the caller to set a fatal status if it wants to abort. Bug: T288758 Change-Id: I9540f6ab2075bcf56bd4fdc79c611c883246cdce
* Remove PHPUnit hooksDaimona Eaytoy2021-08-301-16/+0
| | | | | | | Now unused: https://codesearch.wmcloud.org/search/?q=onMediaWikiPHPUnitTest__(end%7Cstart)Test%7CMediaWikiPHPUnitTest%3A%3A(end%7Cstart)Test&i=nope&files=&excludeFiles=&repos= Bug: T243600 Change-Id: Ie41fc026e6db6b9c9f5ec659e3ce8c27727cd3fe
* SkinTemplateToolboxEndHook is removedjdlrobson2021-08-051-8/+0
| | | | | | | | | | | | Deprecated in 1.35, removed in 1.37 Existing skins using the hook will not necessarily break as many of the skins run their own version of the hook. Extensions using the hook will no longer output links to the toolbox in the sidebar. Bug: T256511 Change-Id: I1ba018ced266ac27f3e038ba9102ab54a669df81
* Add a hook 'GetActionName' to allow overriding the action nameBartosz Dziewoński2021-08-021-0/+9
| | | | | | | | | | The use case is to change action=edit into action=view in some scenarios where we want to offer a more limited interface or a gentler introduction to editing than MediaWiki provides, for example I2e7b2682da7beb3c1c469bb784a9a8ec3998aeb9 in DiscussionTools. Bug: T282204 Change-Id: Ib9302e2fda7dadf1edc43c0107db7234eb4bdf7a
* Remove SkinTemplateOutputPageBeforeExec HookAmmarpad2021-07-301-8/+0
| | | | | Bug: T287773 Change-Id: Ieac3ca6a37c7991284851d6124febde0db8bb198
* Remove BaseTemplateToolbox hookClare Ming2021-07-281-8/+0
| | | | | Bug: T256509 Change-Id: I9bc4e35e4062a6e77da66de46d0199be583c9d9a
* Adjust method signature of onSaveUserOptionsTChin2021-07-261-2/+2
| | | | | | | | This allows hook callers to compare before and after the save Bug: T287397 Depends-On: I20098ae076b282296670d1116e14bbd29ea76b11 Change-Id: I4d09008bc2bc10afc3742b74564e5ef90ecfe5bf
* build: Updating dependencieslibraryupgrader2021-07-221-18/+18
| | | | | | | | | | | | | | composer: * mediawiki/mediawiki-codesniffer: 36.0.0 → 37.0.0 The following sniffs now pass and were enabled: * Generic.ControlStructures.InlineControlStructure * MediaWiki.PHPUnit.AssertCount.NotUsed npm: * svgo: 2.3.0 → 2.3.1 * https://npmjs.com/advisories/1754 (CVE-2021-33587) Change-Id: I2a9bbee2fecbf7259876d335f565ece4b3622426
* Remove deprecated hook 'SecondaryDataUpdate'.Roman Stolar2021-07-211-10/+0
| | | | | Bug: T232878 Change-Id: I4a795436e560a19c8918177edeb3c792eeb9dd72
* Introduce new hooks for UserOptionsManagerPetr Pchelko2021-07-211-1/+19
| | | | | Bug: T286576 Change-Id: Ib960ec594d376e086da868d216dd85c8ea6bba14
* Remove deprecated ArticleEditUpdates hookPetr Pchelko2021-07-201-8/+0
| | | | Change-Id: If3487ab495306ea4afef30398690a6bbeabc9ce4
* Merge "Add warning to MediaWikiServicesHook interface."jenkins-bot2021-07-121-1/+2
|\
| * Add warning to MediaWikiServicesHook interface.daniel2021-07-021-1/+2
| | | | | | | | | | | | | | | | | | | | Hook handlers for the MediaWikiServicesHook must not use services, since the service container is not fully initialized when the hooks is called. This is by nature of the hook itself, which exists to allow configuration and wiring to be manipulated. Depends-On: I1519aea8bca2f3977fcf15ee8776a1b3319687b5 Change-Id: Ifbc60e72167e5280e3609d14a47ffa6232fabca6
* | hooks: Remove deprecated SkinTemplateBuildNavUrlsNav_urlsAfterPermalink hookSam Smith2021-06-241-10/+0
| | | | | | | | | | | | | | | | The SkinTemplatePreventOtherActiveTabs hook was marked as deprecated in MediaWiki 1.35. Bug: T284950 Change-Id: I9a4806047f8d31d59a00e02145906672b85c004c
* | hooks: Remove deprecated SkinTemplateTabAction hookSam Smith2021-06-241-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The SkinTemplateTabAction hook was marked as deprecated in MediaWiki 1.35. Further, there are no SkinTemplatePreventOtherActiveTabs hook handers in codebases that we index [0]. [0] https://codesearch.wmcloud.org/search/?q=SkinTemplateTabAction Bug: T284950 Change-Id: I998bf8ffe6be43ad3eb38b1a9388a35aa94d7685
* | hooks: Remove deprecated SkinTemplatePreventOtherActiveTabs hookSam Smith2021-06-241-8/+0
|/ | | | | | | | | | | | | The SkinTemplatePreventOtherActiveTabs hook was marked as deprecated in MediaWiki 1.35. Further, there are no SkinTemplatePreventOtherActiveTabs hook handers in codebases that we index [0]. [0] https://codesearch.wmcloud.org/search/?q=SkinTemplatePreventOtherActiveTabs Bug: T284950 Change-Id: I37c5bdcc8875a23798f641161e53be3e4d073d7d