aboutsummaryrefslogtreecommitdiffstats
path: root/includes/skins/Hook
Commit message (Collapse)AuthorAgeFilesLines
* Namespace all remaining files in includes/skinJames D. Forrester2025-03-2512-12/+12
| | | | | Bug: T353458 Change-Id: I3e829e35c93bcaae75e401b1801bddf93c0b416c
* Replace raw HTML copyright footer message with wikitext oneBartosz Dziewoński2024-09-262-1/+31
| | | | | | | | | | | | Replaces 'copyright' with 'copyright-footer' and 'history_copyright' with 'copyright-footer-history' (the original still takes precedence if set). Adds SkinCopyrightFooterMessage hook which works the same way as SkinCopyrightFooter for the new messages. Allows disabling the old messages by setting $wgAllowRawHtmlCopyrightMessages = false. Co-Authored-By: Gergő Tisza <tgr.huwiki@gmail.com> Bug: T45646 Change-Id: I5fd5607f8d43b6e934c8d4d35097cec430c56043
* Move Language and friends into Language namespaceJames D. Forrester2024-08-101-1/+1
| | | | | Bug: T353458 Change-Id: Id3202c0c4f4a2043bf97b7caee081acab684155c
* skin: Improve documentation of SidebarBeforeOutput hookGergő Tisza2024-08-091-0/+1
| | | | Change-Id: Ie27014ab614963594ddb7752e1efda25f3bbcf66
* skins: Remove deprecated Skin::bottomScriptsPiotr Miazga2024-02-131-1/+2
| | | | | | | Remove the Skin::bottomScripts method which was deprecated in 1.37. Code search shows no usages across WMF repositories. Change-Id: Ifdd890ad9ddae2a8bbdb32ddf9444306b0e93c09
* Namespace includes/contextJames D. Forrester2024-02-081-1/+1
| | | | | Bug: T353458 Change-Id: I4dbef138fd0110c14c70214282519189d70c94fb
* Drop the PersonalUrls hook, deprecated in 1.39James D. Forrester2023-09-211-31/+0
| | | | | Bug: T319087 Change-Id: I398de94099cf17d071bc539a87a140a76fd301bd
* Namespace User under \MediaWiki\UserJames D. Forrester2023-09-191-1/+1
| | | | | Bug: T166010 Change-Id: I7257302b485588af31384d4f7fc8e30551f161f1
* Reorg: Move three output related classes to includes/Output/Amir Sarabadani2023-09-053-3/+3
| | | | | | | | | | And namesapce them: - StreamFile - OutputHandler - OutputPage Bug: T321882 Change-Id: Iedf8d88c595e580f2d8f0734c92aa5c45618ba33
* Remove deprecated SkinTemplateNavigation hooksAmmarpad2023-06-212-61/+0
| | | | | | | | - SkinTemplateNavigation hook - SkinTemplateNavigation::SpecialPage hook Bug: T339969 Change-Id: I0aa4a593ae5c795ca2f75234f379e5ad0efa48aa
* Reorg: Namespace the Title classJames D. Forrester2023-03-025-5/+5
| | | | | | | | | | | | | | | | | | | This is moderately messy. Process was principally: * xargs rg --files-with-matches '^use Title;' | grep 'php$' | \ xargs -P 1 -n 1 sed -i -z 's/use Title;/use MediaWiki\\Title\\Title;/1' * rg --files-without-match 'MediaWiki\\Title\\Title;' . | grep 'php$' | \ xargs rg --files-with-matches 'Title\b' | \ xargs -P 1 -n 1 sed -i -z 's/\nuse /\nuse MediaWiki\\Title\\Title;\nuse /1' * composer fix Then manual fix-ups for a few files that don't have any use statements. Bug: T166010 Follows-Up: Ia5d8cb759dc3bc9e9bbe217d0fb109e2f8c4101a Change-Id: If8fc9d0d95fc1a114021e282a706fc3e7da3524b
* Drop unused deprecated hooksAmir Sarabadani2022-11-281-27/+0
| | | | | | | | Part one, none of these hooks are used in extensions deployed in production. I skipped any hook that has silenced its deprecation warnings. Change-Id: Idf1fd12cc61ca30867dc9f8aeb1701fe035fc5ff
* Deprecate PersonalUrls hookMoh'd Khier Abualruz2022-09-081-0/+2
| | | | | | | | | | * 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
* Hooks: Use more meaningful name for SkinAfterPortlet hook parameterJon Robson2022-07-131-2/+2
| | | | | | | | | | portlet suggests that the variable contains a definition of a portlet and soon might lead to confusion that it's a Portlet component. To avoid this confusion let's give this the more meaningful parameter name "portletName" Change-Id: I8d2ef3e4b81f6a740b021a8c88bd1ccdc4a9b5bc
* Deprecate SkinTemplateNavigation::SpecialPage and SkinTemplateNavigation ↵Moh'd Khier Abualruz2022-07-052-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-27/+0
| | | | | | | | | | - poweredbyico removed - copyrightico removed - SkinGetPoweredBy, SkinGetPoweredByHook removed - Release Notes updated Bug: T306138 Change-Id: I6171b487e1ab0235b81a8a21a1decaf5cfdc4c1c
* Merge "Use the same tooltip for transcluded sections as normal ones"jenkins-bot2022-06-221-2/+2
|\
| * Use the same tooltip for transcluded sections as normal onesBartosz Dziewoński2022-05-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the code that outputs self-closing <mw:editsection ... /> tags in Parser, previously used for transcluded sections. Remove the ability to handle them in ParserOutput. We don't need backwards-compatibility with cached content, because that feature did not work correctly for several years: Remex-Tidy always expanded them to normal open and close tags. Remove handling for this case in skin code (and fix documentation). These are backwards-compatible changes. Depends-On: Idbf0b95a3c0b04caa056b71dd08f46659920114a Bug: T306299 Change-Id: I3fac0f34d134d8eec46c7eefa3ad2b67abb957da
* | 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
* Fix various documentation related to null types (part II)Umherirrender2022-03-081-1/+1
| | | | | | | | | The functions returning null or the class property is set explict null. Some function should not accept null or return null. Found by phan strict checks Change-Id: Ie50f23249282cdb18caa332f562a3945a58d86ff
* Deprecate Skin::getCopyrightIcon. Skin::getPoweredBy, SkinGetPoweredBy hookjdlrobson2021-09-141-1/+1
| | | | | | | | The skin methods serve BaseTemplate so are moved there. The associated hook is seldom used so deprecated. Bug: T290583 Change-Id: I166241fc88b98603f8d5489643eda984f49bad66
* SkinTemplateToolboxEndHook is removedjdlrobson2021-08-051-26/+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
* Remove SkinTemplateOutputPageBeforeExec HookAmmarpad2021-07-301-31/+0
| | | | | Bug: T287773 Change-Id: Ieac3ca6a37c7991284851d6124febde0db8bb198
* Remove BaseTemplateToolbox hookClare Ming2021-07-282-34/+1
| | | | | Bug: T256509 Change-Id: I9bc4e35e4062a6e77da66de46d0199be583c9d9a
* build: Updating dependencieslibraryupgrader2021-07-225-5/+5
| | | | | | | | | | | | | | 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
* Fix some @stable for ... annotations to use @stable to ...DannyS7122021-07-081-1/+1
| | | | | Bug: T257789 Change-Id: I3ba94a9d6b739cd57cd57afe5d397963127160a8
* hooks: Remove deprecated SkinTemplateBuildNavUrlsNav_urlsAfterPermalink hookSam Smith2021-06-241-30/+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-37/+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-25/+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
* Remove some more comments that literally repeat the codeThiemo Kreuz2021-06-181-1/+1
| | | | | | | | | | | | | … including PHPDoc tags like `@return <type> $variableName`. A return value doesn't have a variable name. I can see that some people do this intentionally, repeating the variable name that was used in the final `return $var;` at the end of a method. This can indeed be helpful. I leave a lot of these untouched and removed them only when it's obviously wrong, or does not provide any additional information in addition to what the code already says. Change-Id: Ia18cd9f25ef658b08ad25b97a744897e2a8deffc
* Hard deprecations of portlet methods and hooksbwang2021-06-141-1/+1
| | | | | | | | | | | Hard deprecates BaseTemplate::getAfterPortlet Hard deprecates BaseTemplate::renderAfterPortlet Hard deprecates BaseTemplateAfterPortlet Hook Bug: T280608 Depends-on: I15ed3c820823782d28f11f3724d56736db0ca3e0 Depends-on: Ie00e8c5efe9a1e736251382344a7ae8cd779bb6b Change-Id: If3e15aa81edb4190b5a74353c089b200acf3f62b
* Remove deprecated talk page message handling in User classDannyS7122021-05-041-1/+1
| | | | | | | | | | | | | | | | | Most needed for moving forward with the removal of uses of the Revision class, and remove User::getNewtalk at the same time to be consistent. All of this code was already hard deprecated in 1.35. - User::getNewtalk - User::getNewMessageLinks (could return Revision objects) - UserRetrieveNewTalks hook (could return Revision objects) - User::getNewMessageRevisionId (used ::getNewMessageLinks) - User::setNewtalk (accepted Revision object parameters) Bug: T247143 Bug: T277511 Change-Id: Ib4fd1e4cbc5ba1497658190b6c6ea3c6a5dc97f0
* Add typehints to three hooksDaimona Eaytoy2020-10-071-1/+1
| | | | | | | | | The handlers for these have been typehinted in AbuseFilter for quite a long time, but switching to the new system requires removing them, see If699917c3d2e9e22525c7d0495554e25f6b45125. Note that this change preserves BC. Change-Id: I95bb47104ad3dc0a69c812c627ffa631c5dc6ace
* Document hook names in hook interfaces.daniel2020-09-2728-0/+84
| | | | | Bug: T258665 Change-Id: Ifddbf57f8aa2e3eb0d5845601376cbafa08ed407
* Doc: Clean up non-sentence in SkinAddFooterLinksHookjdlrobson2020-08-121-1/+1
| | | | | Follow up to Id258b1ec2ae7008fc4d586d0647a5131ec889fe6 Change-Id: Iafbfc084efd096165dafcec403d34ccb67edc1ec
* Allow skins to override mediawiki.page.ready initialisationPeter Ovchyn2020-07-281-0/+23
| | | | | | | | | | | Add 'ready.config.json' to resource Add 'collapsible', 'sortable' field to be possible override via hook. In order to override setting, new hook ResourceLoaderPageReadyConfigHook has been introduced. A new config field for search will follow. Bug: T250851 Change-Id: I041d4a4b9114f1190f28e0283d96cd33b81f9850
* Replace "@stable for implementation" with "@stable to implement"daniel2020-07-1320-20/+20
| | | | | | | | | | | For compliance with the new version of the table interface policy (T255803). This patch was created by an automated search & replace operation on the includes/ directory. Bug: T257789 Change-Id: I17e5e92e24c708ffc846945a136347670a3a20c7
* Merge "Deprecate SkinTemplateOutputPageBeforeExec hook"jenkins-bot2020-06-291-1/+5
|\
| * Deprecate SkinTemplateOutputPageBeforeExec hookjdlrobson2020-06-291-1/+5
| | | | | | | | | | | | | | | | | | All Wikimedia production extensions are no longer using this hook. The hook is very generic and very dangerous per ticket and I would like to close up future usages while we still can. Bug: T60137 Change-Id: I294a420763e4c5a06a6692339efd28614a17d3c0
* | skins: Make the SidebarBeforeOutput hook non-abortableAmmar Abdulhamid2020-06-281-2/+2
|/ | | | | | | | False return value previously aborted processing of the hook for othe extensions that are loaded after the extension that aborted. Bug: T255444 Change-Id: I6a449b242f0667003909f87ea5063f13e501929e
* Hook: Mark abortable=false hooks as voidTimo Tijhof2020-06-224-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove the mention of 'return true' being legal. This is only allowed for compat with code from before MW 1.21, when I added hook aborting as well as tolerance for null to be the same as true. Since then, there is no reason to return null or return true. For early returns, an explicitly void 'return;' should be used instead. Returning anything else like null/true serves no purpose other than to confuse the reader. * Mark the interfaces as natively 'void' with return type hints. This means in core code that runs the hook, static analysis like Phan and in IDEs, it will be known that these onFoo()s never return a value, thus allowing them to detect if its return value is assigned or used in a conditional for any reason, which can be an easy mistake. It also means that in the future when extensions start using these interfaces in 'implements' statement, they will be required to mark their hooks as void. That migration is opt-in and still up ahead. This is not a breaking change even for all existing extensions where a return true/null may exist in an abortable hook since this only applies to code directly typed against the interface. The internal run() method doesn't care. Change-Id: Ib79289bd486ac97cec492e72f9a8dee70cf2f6c2
* Deprecate SkinTemplateToolboxEnd hookAmmar Abdulhamid2020-06-151-1/+1
| | | | | Bug: T253783 Change-Id: Ia6f46c1e3d33a14d3f3161f1716f9d0791cd397d
* Hard deprecate BaseTemplateToolbox hookAmmar Abdulhamid2020-06-131-1/+1
| | | | | | | | | Superseded by SidebarBeforeOutput. Note: Translate extension is using it to serve < 1.35 Bug: T253416 Change-Id: Ia038647df14727f45f01a0923277d4d084e372af
* Deprecate SkinTemplateBuildNavUrlsNav_urlsAfterPermalink hookAmmar Abdulhamid2020-06-121-1/+1
| | | | | Bug: T254431 Change-Id: I2ad144ac7aa5b0243f070b350b7dfc61ee466743
* Replace BaseTemplateAfterPortlet with SkinAfterPortletmainframe982020-06-092-1/+25
| | | | | | | | | | | | | | | | | | BaseTemplate should not handle anything but rendering. In order to allow replacing it with another renderer, such as Mustache or Vue, its hooks should be moved to the Skin class instead. BaseTemplateAfterPortlet is soft deprecated to allow filtering, preventing the hook from running twice. Both BaseTemplate::getAfterPortlet and ::renderAfterPortlet have been deprecated as well, with both now calling Skin::getAfterPortlet after running the BaseTemplateAfterPortlet hook. Bug: T253797 Change-Id: I438daa79d3d97e2518e6258c3213a805bd1f30e8
* Deprecate SkinTemplatePreventOtherActiveTabs and SkinTemplateTabAction hooksVas Jaremchuk2020-06-052-2/+2
| | | | | | | | | | SkinTemplatePreventOtherActiveTabs and SkinTemplateTabAction hooks were deprecated since version 1.35. Information about that was added to the list of deprecated hooks in DeprecatedHooks.php. SkinTemplateNavigation__Universal is recommended to use instead of deprecated ones. Bug: T253814 Change-Id: I4beb30b2c80435766d9fd32a5816bef8187437eb
* Improve SidebarBeforeOutput hook docAmmar Abdulhamid2020-05-271-2/+2
| | | | | | | This was changed in I38fa802 to string, which is not correct Also use 'sidebar' which is more descriptive than 'bar'; Change-Id: I8f0bd444eb648882c489659d08a7fd6898adda57
* Rename SkinAddFooterLinks to SkinAddFooterLinksHook and add HookRunner methodTim Starling2020-05-181-1/+1
| | | | | | The interface name is the hook name with "Hook" added. Change-Id: Ic1e98dfbc9f14938ff75645431bc250a08c337cb