Commit graph

49 commits

Author SHA1 Message Date
Amir Sarabadani 9c24383f80 Only take one field in fetchFieldValues
That is causing T350726 and we already set the field in one line above

Follows-Up: I63ac37c2b73073e8e323f6627785955196cd148c
Bug: T350726
Change-Id: I9f28e326aefa206fe8f4d3f6a1038740fed9b0d4
2023-11-08 12:00:09 +01:00
Amir Sarabadani 5ffaf34258 Add support for read new of pagelinks migration
Bug: T346457
Change-Id: I63ac37c2b73073e8e323f6627785955196cd148c
2023-11-01 18:51:38 +01:00
Umherirrender 09d47340eb Use the expression assignment operator to simplify code
Suggested by phan, available since php7.4

Change-Id: Iadee84c7b62f9aeac31ade702bc33764d35ef9c8
2023-10-14 00:55:37 +02:00
Umherirrender ec4d1bed4d Use namespaced MediaWiki\Page\PageProps
Bug: T321681
Change-Id: I5298c09e2869a21e6616cb6e8917da51177c7987
2023-08-20 01:21:38 +02:00
Umherirrender 7f3a11f327 Use HookHandlers for MobileFrontend hook
Bug: T271021
Change-Id: I9293e1fee102b9a4274ef460b9c7556e0c7c6f6a
2023-08-15 10:03:09 +02:00
Umherirrender 619d623104 ParserFileProcessing: Inject TitleFactory
Check the parsed title if valid and can exists on the database

Change-Id: I32805de6ab4b9dca7d56faf982762f6949fc3203
2023-06-21 23:03:44 +02:00
Umherirrender a9b4b4877f ParserFileProcessing: Use ConnectionProvider and QueryBuilder
Bug: T312501
Change-Id: I4c5b5b773cbf1bf77dae7c189f65c8760091e384
2023-06-21 22:50:19 +02:00
Umherirrender 3ae938a116 Use renamed ParserModifyImageHTMLHook interface
Follow-Up: I3043454a502289e5ee2492f7bf2ab01e155c30ba
Change-Id: I3cc4a5d4e4edac76e81c16c1da97427d765cce49
2023-04-22 19:54:54 +02:00
Umherirrender 00ec4349d4 Use PageReference on ParserFileProcessingHookHandlers::processThisTitle
Avoid deprecated Parser::getTitle
Parser::getPage can return null, so checking for that as well

Change-Id: I90f04d514934621ee7fdc0ebe519673d7ba1d82f
2023-01-03 23:32:11 +01:00
Umherirrender de7bf883d2 Replace deprecated Http::get
Bug: T305813
Change-Id: Icd3e64fc13e291761b287c4059315df39cd88d1e
2022-12-11 15:54:20 +01:00
Matthias Mullie c75b00d14d Ensure array is passed to getProperties
PageImages::getPropNames can return either array or string,
and PageProps::getProperties accepts both.
But the latter's return value will be different depending
on the type of input: with an array as input, the returned
array's values will be an associative array where the index
is the propname; with a string, it's just the propvalue.

This difference matters because the code below assumes an
array with propname keys.

Bug: T323152
Change-Id: I422951ec0cd5c651b32c65e88a557d49f2f22712
2022-11-16 09:33:37 +01:00
jenkins-bot d7d9c0275f Merge "Only provide free images for search purposes" 2022-11-10 17:48:20 +00:00
Matthias Mullie 5dcd4d13e2 Only provide free images for search purposes
Bug: T320661
Change-Id: Ic26e7e815365f6aa81b6fbfb464d0f41b80e4ae8
2022-11-10 13:26:56 +01:00
Tim Starling 33ee32f448 Use preg_replace_callback() flag introduced in PHP 7.4
Should improve performance by avoiding the need to run the regex
twice.

Change-Id: Ic737c1c2189c1bfc046cdcb099cdcbc0edde0a97
2022-11-10 13:58:31 +11:00
jenkins-bot 74ec9b8a18 Merge "Drop some code that now lives in core" 2022-10-03 11:30:52 +00:00
Matthias Mullie 6a6af45ab3 Drop some code that now lives in core
The default thumbnail size (SearchResultThumbnailProvider::THUMBNAIL_SIZE),
the code to build a SearchResultThumbnail object from a File object
(SearchResultThumbnailProvider::buildSearchResultThumbnailFromFile),
and the code that provides thumbnails from NS_FILE pages (now already
provided in the hook's $results param) have essentially been adopted
in core and no longer need to be handled here.

Also updated test to reflect that NS_FILE results will no longer be
provided by this extension (since core already provides them)

Depends-On: I2a679b51758020d3e822da01a1bde1ae632b0b0a
Change-Id: I2eafc8556022432929973755d8cd76010ea24f39
Bug: T306883
2022-09-27 10:46:14 +02:00
jenkins-bot 499ffd7934 Merge "Inject services into hook handler" 2022-09-09 16:43:49 +00:00
jenkins-bot bfdd3d028d Merge "Inline ParserFileProcessingHookHandlers::processFile" 2022-09-09 16:39:10 +00:00
Umherirrender c24081b609 Inject services into hook handler
Remove the self creating of the handler and remove one deep from the
caller stack

Change-Id: Ie12ff77781f5ec6c74d9289a9812ec4f40c07d95
2022-09-03 00:15:57 +02:00
Umherirrender 3a8221b364 Inline ParserFileProcessingHookHandlers::processFile
There is only one caller,
this also benefits from the type hints on that caller and
some always-false condition could be removed

Change-Id: Id06b590225b3cf3f0baf331f0aaaad9ef522532a
2022-09-02 23:52:59 +02:00
Matthias Mullie 2d95a2be65 Update hook FQCN
This hook has moved.

Depends-On: Ic9110345b4db69d268685b80ec8e4e33da95a050
Change-Id: I71bddf3978a5b6124bdd114fcb74fbabe607a64a
Bug: T306883
2022-09-01 14:39:37 +02:00
Matthias Mullie a8c8030299 Allow thumbnails to be provided in a different size
This will also be added to the interface, but first this
implementation needs to be updated to already accept the
optional new param. Doing it in different order would
cause incompatible declaration warnings.

Bug: T306883
Change-Id: Ia30afcc43a0ecec772cd0a82dd9661e61f31a651
2022-09-01 12:29:41 +00:00
Kosta Harlan 8adbbf5b8c
SearchResultProvideThumbnailHookHandler: Simplify code
Bug: T312746
Change-Id: Iaf3f7f56129f488088f08f65657fa33f6a6e5851
2022-07-18 10:13:42 +02:00
Kosta Harlan c7054f15c6
SearchResultProvideThumbnailHookHandler: Construct from injected services
Bug: T312746
Change-Id: I0ed66f69a4ae9350b2230b5e207a76bbcf5bb689
2022-07-11 15:12:17 +02:00
Reedy 84861174bc Convert Hooks to HookHandlers
Bug: T271021
Change-Id: I6022e515cf65ec089c59fb56f6fde371dc9f0e12
2022-07-07 10:21:43 +00:00
Simon Legner 41f4165230 Allow editors control of the page image
- Exclude images with class=notpageimage

Bug: T301588
Change-Id: I15eb580f5047a414431a45acf4004344e01a5881
2022-02-14 18:53:57 +00:00
Tim Starling ccdb93f3c1 Add more integrated parser test
Including regression test for T299798.

Bug: T299798
Depends-On: Idc4ac4eb4e20d8e3e2fdbd093ff75f26d3af0d57
Change-Id: I89fa346651e756d1981a950a8b778020359b86a2
2022-01-24 14:00:27 +11:00
Tim Starling cf7a366089 Fix the case where there are no section headers
Bug: T299798
Change-Id: Ib5b25dbaece5c9ac5de665f4c990d053e8d9d440
2022-01-24 12:00:24 +11:00
Tim Starling 372b5938f5 Strip comments from indicators
They are documented as being HTML, so look for candidate comments and
strip them, same as we do for the main HTML.

Bug: T298930
Change-Id: I7caf96b8d15f887e0be4c9a24acfd981b3e7a776
2022-01-11 15:36:10 +11:00
Bartosz Dziewoński 035938e76c Disable parser HTML changes during parser tests, they cause failures
Bug: T298930
Change-Id: If143365ba89eb894250b34fd9f1c603595e19fca
2022-01-11 00:26:53 +00:00
Tim Starling 768464d0f9 Identify lead images using a new parser hook instead of during LinksUpdate
I added ParserModifyImageHTML to core to make it easier for PageImages
to identify images in the lead section.

This also allows PageImages to stop writing to LinksUpdate properties.
It is one of only two extensions that do that.

Depends-On: I24528381e8d24ca8d138bceadb9397c83fd31356
Bug: T176520
Bug: T296895
Change-Id: I472f4a023969bfde6298eb56112c16d2ae842199
2022-01-04 14:19:32 +11:00
Umherirrender 23c44e9f7d doc: Cleanup @param documentation
No extra sign needed between variable and description

Change-Id: I6cf199a7e3e295d45bf95981166a23119afb41ac
2021-11-04 22:19:59 +01:00
Roman Stolar 6b4da12fd6 Replace deprecated Content::getParserOutput call to new one ContentRenderer::getParserOutput
Bug: T287158
Change-Id: Ia537b3a496e48237d427ad61a6db6268f63c769e
2021-10-21 18:19:03 +03:00
Alexander Vorwerk 73371eb33e Replace usage of deprecated PageProps::getInstance()
Bug: T289544
Change-Id: Ie30d3d2339ebf110a9827c3fa5cd604928abfd38
2021-09-26 14:40:10 +02:00
Kunal Mehta 7e13212a7c Check $thumb->isError() before trying to use it
$thumb might be an instance of MediaTransformError, which as the name
implies, is not really usable as a thumbnail and should be skipped
instead.

Bug: T290973
Change-Id: Ie818bd295bfe06c7c0dc0a2ea7dd273c7e0e416f
2021-09-14 09:56:05 -07:00
libraryupgrader 2f4755e065 build: Updating mediawiki/mediawiki-codesniffer to 37.0.0
Change-Id: I314da8a48195e98aed3605f18e9d0eab516ba026
2021-07-23 05:46:22 +00:00
Petr Pchelko a0d2696e69 Remove leftover SearchResultPageIdentity typehints
Change-Id: I7a1dfc26d0985e645c785297c849e4c2854c034b
2021-05-14 19:21:16 -07:00
libraryupgrader 668d044574 build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 35.0.0 → 36.0.0
* php-parallel-lint/php-parallel-lint: 1.2.0 → 1.3.0

npm:
* grunt: 1.3.0 → 1.4.0
* lodash: 4.17.19 → 4.17.21
  * https://npmjs.com/advisories/1673 (CVE-2021-23337)

Change-Id: I6797ecfc38973777657d1d4611363595b23e4afd
2021-05-12 19:05:01 +00:00
Clare Ming 4bb7aface9 Address voice and tone issues.
Replace instances of "blacklist" with "denylist" throughout extension.

Bug: T277955
Depends-On: Ib4985ec2fcb22eafad8f3a7cf9fc3161782a71db
Change-Id: Ibe460cb9691d56a9e83686b53c7629b5404af6fb
2021-05-07 20:39:38 +00:00
Thiemo Kreuz d8eceed585 Update PHPDocs and use PHP7 features where possible
Change-Id: I417ad041e268b88512de435c59695cb4338331cc
2021-05-04 16:51:18 +02:00
Umherirrender d1d7cfef0b Remove pre-1.35 code
Version was increased with I2f5251aa2f8298fd11096b27eea3e5ccf71f2103

Change-Id: I8df702f3ee7751a280b9821e0624ddcb1ce5b185
2021-03-06 18:26:23 +01:00
Petr Pchelko 6fa0a18037 Stop writing objects into ParserOutput::setExtensionData.
As we switch ParserCache to JSON, we can no longer serialized
class instances in extension data. PageImages was writing the
full set of properies it received from Parser into it's extension
data, some of which are sometimes class instances. Instead, only
write the nessessary subset of data into extension-data.

This change is completely forward and backward compatible.
Since before this change we were already writing the same array,
but with many additional unused properties.

Bug: T266251
Change-Id: Ieb4a139465159611e6b3a99c4b68c3c174b1944f
2020-10-26 13:35:38 -07:00
lens0021 b4f1051c1d Thumbnail is too hard to type
Change-Id: I04b4f4fab359705df6f9d0d8439743fb2f26b3c5
2020-07-07 16:45:18 +09:00
DannyS712 a135c78cca Fix PSR12.Properties.ConstantVisibility.NotFound
Bug: T253169
Change-Id: Icfccaa7795cd672c4f484377a33f7f62e37a7ffb
2020-05-19 23:27:50 +00:00
Aaron Schulz e26e89686e Convert $wgMemc use to WANObjectCache
Bug: T160813
Change-Id: I552079e093491ad3205c080909ded37c003830cf
2020-05-14 00:57:20 +01:00
Peter Ovchyn 6e004092ca rest: Verify that file exists before calling filesize
Bug: T252128
Change-Id: I2de87d723fdd99bea0f1dadd23648470759a103e
2020-05-07 19:33:49 +03:00
Peter Ovchyn 34f54dd1ad rest: Implement SearchResultProvideThumbnail hook
SearchResultProvideThumbnail was introduced in T250144. In order to fill
search results with the "thumbnails" field it should be implemented in proper extension.

Bug: T250207
Change-Id: I81d5d70f5237d6399b8ec6bec3058d12e40ca142
2020-05-06 22:52:49 +03:00
Reedy b14685b8d5 Namespace the other two classes in PageImages
Leave alias for PageImages as it's used elsewhere...

Change-Id: I4a3fa5f8aaafd87c78b03f04369a73f4b4f1b189
2020-04-19 23:06:20 +00:00
Reedy 0cc54a66bd Move some classes to AutoloadNamespaces
Bug: T187154
Change-Id: I2f5251aa2f8298fd11096b27eea3e5ccf71f2103
2020-04-18 04:24:42 +01:00