aboutsummaryrefslogtreecommitdiffstats
path: root/includes/Feed
Commit message (Collapse)AuthorAgeFilesLines
* Re-apply "Drop all 49 remaining class_aliases from MediaWiki 1.40"Daimona Eaytoy2025-03-055-15/+0
| | | | | | | | | This reverts commit 1695950bccb1ca7eba98952753708ae7c4b76d8d and re-applies commit I8f3c2ea021d0f6e. Reason for revert: the remaining usages have been updated in Ida665f486eff384. Bug: T166010 Change-Id: I43f06e6872b264e43aef7fa7c2ac47159926a694
* Revert "Drop all 49 remaining class_aliases from MediaWiki 1.40"Ahmon Dancy2025-03-045-0/+15
| | | | | | | | | This reverts commit db47e7f7154a2121bce6d3d9e93a74486bf765f3. Reason for revert: Broke scap sync-world in beta, and possibly caused T387938 Bug: T166010 Change-Id: If608c3e27081bb36b284ad16a5b912dd51b3557e
* Drop all 49 remaining class_aliases from MediaWiki 1.40James D. Forrester2025-03-045-15/+0
| | | | | | | Bug: T166010 Depends-On: Iba93dd9749656e641c427e01790d7a14cd1a2dc2 Depends-On: I97ccc2c49ce09ca96192bf6ffdc833c1765c3faa Change-Id: I8f3c2ea021d0f6e574dde901f0bfd4a0408f5455
* FeedItem: Update @since on xmlEncodeNullable for backportsReedy2025-02-181-1/+1
| | | | | | Bug: T385332 Change-Id: I88f82fb5a703126f0ce586030d7ba7666fbb5a18 Follows-Up: Iafd89c0d61baecd7c68f62b2a0764cc78cf25069
* Merge "feeds: Fix str_replace() deprecation warnings on PHP 8"jenkins-bot2025-02-183-2/+11
|\
| * feeds: Fix str_replace() deprecation warnings on PHP 8Tacsipacsi2025-02-083-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Why: Both AtomFeed::formatTime() and RSSFeed::formatTime() short-circuit with null if the input is falsy. This caused deprecation warnings down the line, as the return value was later fed into str_replace(), which raises a deprecation warning on PHP 8 if it gets null. It also caused unexpected output on all PHP versions: the Mustache templates for both Atom and RSS conditionally emit the date elements (<updated> in Atom, <pubDate> in RSS), but this conditional output is skipped only if the variable is null, not when it’s an empty string – which is exactly what the XML encoding returned on all PHP versions. What: Introduce a new method, xmlEncodeNullable(), which properly handles null values, and returns them as-is, without trying to encode them. This: - Avoids the deprecation warnings on PHP 8, since str_replace() is no longer called. - Makes the conditional output work: the <updated>/<pubDate> elements are no longer output if no date is available. - This makes the RSS output spec-compliant, as no garbage is output anymore. The RSS <pubDate> is optional [1]. - It doesn’t make the Atom output entirely spec-compliant, as Atom requires <updated> to be present [2], but the removal of garbage (it was a single letter Z) should still increase compatibility. [1] https://www.rssboard.org/rss-specification#hrelementsOfLtitemgt [2] https://validator.w3.org/feed/docs/atom.html#requiredEntryElements Bug: T385332 Change-Id: Iafd89c0d61baecd7c68f62b2a0764cc78cf25069
* | Escape newpage message in FeedUtilsLucas Werkmeister2025-02-171-1/+1
|/ | | | | Bug: T386175 Change-Id: Ida72c4c03c379cf5a340b2f229f0fe842694559c
* Feed: Remove Title doc-type from title propertyUmherirrender2024-11-252-5/+3
| | | | | | This relay on Title::__toString, make it explicit to pass a string Change-Id: I84a97315390222ac992e4707ecd3a4c79801f37c
* recentchanges: Add missing documentation to class propertiesUmherirrender2024-09-141-0/+7
| | | | | | | | | | Add doc-typehints to class properties found by the PropertyDocumentation sniff to improve the documentation. Once the sniff is enabled it avoids that new code is missing type declarations. This is focused on documentation and does not change code. Change-Id: I82b4f543ed004fc960b6b1f8ac718db2a63a40fe
* Fix typo in RSSFeed::outItem() for feed item URLSam Wilson2024-09-131-1/+1
| | | | | | | | | In I986f3ca427d3cd0dbbca15fd3d25706234aae043 the $item URL was replaced by the feed ($this) URL, making all feed items have the same URL. Bug: T374678 Change-Id: I37aa329610ee1cc988d6da4014fa792a57d1a770
* Migrate all uses of deprecated URL global functions to use wfGetUrlUtils()James D. Forrester2024-09-101-0/+2
| | | | | | | | | | | | | | wfGetUrlUtils() is also deprecated, but less so, so we can do this first and then properly replace the individual uses with dependency injection in local pieces of work. Also: * Switching Parser::getExternalLinkRel to UrlUtils::matchesDomainList exposed a type error in media.txt where $wgNoFollowDomainExceptions was set to a string (which is invalid) instead of an array. Bug: T319340 Change-Id: Icb512d7241954ee155b64c57f3782b86acfd9a4c
* Avoid use of deprecated wfExpandUrl in MediaWiki\FeedEbrahim Byagowi2024-09-083-8/+29
| | | | | Bug: T319340 Change-Id: I986f3ca427d3cd0dbbca15fd3d25706234aae043
* Move Language and friends into Language namespaceJames D. Forrester2024-08-101-1/+1
| | | | | Bug: T353458 Change-Id: Id3202c0c4f4a2043bf97b7caee081acab684155c
* Replace deprecated LogFormatter::newFromRow/newFromEntryUmherirrender2024-07-291-2/+2
| | | | Change-Id: I453ce3148a46fcb9cc5c685cee92274e0cb4f98a
* Replace some uses of deprecated PermissionManager::getPermissionErrors()Bartosz Dziewoński2024-06-271-2/+2
| | | | | | | | | getPermissionStatus() does the same thing but better. A lot of things use the legacy error arrays though, we're nowhere near removing it. Change-Id: Iff60dbb0593329a584d003b2407bbf24d5b22aea
* Add namespace and deprecation alias to TextContentEbrahim Byagowi2024-05-191-1/+1
| | | | | | | | | This patch introduces a namespace declaration for the MediaWiki\Content to TextContent and establishes a class alias marked as deprecated since version 1.43. Bug: T353458 Change-Id: Ic251b1ddfcf6db9c85cb54cddf912aa827d2bc3a
* Fix some line indentUmherirrender2024-04-201-1/+1
| | | | Change-Id: I8f82724197d20f9289d80e138d80310f1eab29f2
* Standardise all our class alias deprecation comments for ease of greppingJames D. Forrester2024-03-195-15/+5
| | | | Change-Id: I7f85d931d3b79da23e87b4e5692b2e14be8fcaa0
* Update name & email for bvibberBrooke Vibber2024-02-084-4/+4
| | | | | | | | | | | | | Updating name & email addresses for Brooke Vibber. Re-ran updateCredits.php as well so there are some new entries in there as well. There are a couple of files in resources/libs that will have to be changed upstream to keep tests happy, I will do patches later. :D Change-Id: I2f2e75d3fa42e8cf6de19a8fbb615bac28efcd54
* Namespace includes/contextJames D. Forrester2024-02-081-2/+2
| | | | | Bug: T353458 Change-Id: I4dbef138fd0110c14c70214282519189d70c94fb
* Use UserFactory::newAnonymousUmherirrender2024-01-221-2/+1
| | | | | Bug: T325686 Change-Id: Ia7ce7df94c233a4534625d250229806fb21d8017
* Inline once-called short private methods to its caller, part 1Amir Sarabadani2023-12-181-13/+5
| | | | | | | | | This makes the code easier to read to avoid jumps and improves encapsulation by not allowing the rest of the class having access to the logic. Of course, if needed then some code can be refactored out again but for now let's not do YAGNI. Change-Id: Ic37524e386fc04fd67e33768417ff8425f85b0ca
* Remove meaningless /** #@- */ commentsthiemowmde2023-10-151-1/+0
| | | | | | | | | | | Some of these comments are more than 20 years old. Almost all of them are copy pasted from somewhere else, most certainly without knowing what they mean. I can only guess that they have been part of some ancient code folding feature that's not supported any more. Even if, almost all of them are misplaced by now because the surrounding code changed without updating the comments. Change-Id: I53c37f050574a530ec772b7a07b67d84b31bb7a0
* Namespace User under \MediaWiki\UserJames D. Forrester2023-09-191-1/+1
| | | | | Bug: T166010 Change-Id: I7257302b485588af31384d4f7fc8e30551f161f1
* Add $wgRequest to phan's globals_type_mapDaimona Eaytoy2023-09-112-2/+0
| | | | | | | | | | | The base phan config uses a file_exists check to determine whether to use the namespaced class name, but it doesn't work when running against core because MW_INSTALL_PATH isn't set. So specify the type in the local config, and remove @phan-var annotations added in I6bbdbbe6. Also use `::class` instead of string literals for classes. Change-Id: I994a0ed32ea948253ed07ee3cc8868a0eaa6d8b9
* Reorg: Move WebRequest to includes\RequestAmir Sarabadani2023-09-112-0/+2
| | | | | | | This has been approved as part of RFC T166010 Bug: T321882 Change-Id: I6bbdbbe6ea48cc1f50bc568bb8780fc7c5361a6f
* Merge "General whitespace clean-up of tabs followed by multiple spaces"jenkins-bot2023-09-061-2/+2
|\
| * General whitespace clean-up of tabs followed by multiple spacesJames D. Forrester2023-09-061-2/+2
| | | | | | | | Change-Id: I22090062274dceec96d43e23eb227a7e3b1e36fa
* | Reorg: Move three output related classes to includes/Output/Amir Sarabadani2023-09-051-1/+1
|/ | | | | | | | | | And namesapce them: - StreamFile - OutputHandler - OutputPage Bug: T321882 Change-Id: Iedf8d88c595e580f2d8f0734c92aa5c45618ba33
* Follow-up f8bf368: Add in-code comment on aliases for when they were addedJames D. Forrester2023-08-255-0/+15
| | | | Change-Id: I618da35ea686f5d9540442da3ace10111f7d74c5
* Reorg: Namespace the Title classJames D. Forrester2023-03-023-3/+3
| | | | | | | | | | | | | | | | | | | 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
* Reorg: Move HTML-related classes out of includes/ to Html/Amir Sarabadani2023-02-162-2/+2
| | | | | Bug: T321882 Change-Id: I5dc1f7e9c303cd3f5b9dd7010d6bb470d8400a18
* Use CommentStore service instead of deprecated methodDerick Alangi2023-01-041-3/+3
| | | | | | | | Also, added a parameters to XmlDumpWriter so that they could be inject via WikiExporter. Bug: T325475 Change-Id: I84b82506509e2c09dad0691af2df958a5af5b5b0
* Split a base class out of CommentStoreAlexander Vorwerk2023-01-011-1/+1
| | | | | | | | | | so that extensions (i.e. CheckUser) can implement their own comment store without having a lot of code duplication basically the comment store version of I3a6486532f2ef36 Bug: T233004 Change-Id: Ib40f99e00a514d41776ce521baf113e46d37e9cd
* Replace deprecated Linker::commentBlock/revCommentUmherirrender2022-12-111-2/+1
| | | | | Bug: T324906 Change-Id: I8cf96c3b7a03127ce1243f7a7e849b6d5a5d3dfa
* Reorg: Move DummyLinker and Linker to linker/Amir Sarabadani2022-12-081-1/+1
| | | | | | | This feels like a no-brainer unless I'm missing something obvious Bug: T321882 Change-Id: Id49c3d0dd6ea4593211048850856b5b8e05a8fb3
* Feed: Use DerivativeContext and not clone main RequestContextUmherirrender2022-11-151-6/+6
| | | | | | | | cloning RequestContext also clones some internal states, produce bad error messages (08286fd) Bug: T323153 Change-Id: I5b4868d81dc3cd5b8744b932ab89e850169d04ab
* Feed: Move feed-related classes to Feed/ and namespace themAmir Sarabadani2022-10-205-0/+922
Bug: T166010 Change-Id: Icdbe003e74d2f31b68b575acfa94c09c24d7aed5