This patch introduces a namespace declaration for the
MediaWiki\Watchlist to WatchedItemQueryService and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: Ib1b5c19c89087940987730939e84c8cd35cd3760
This patch introduces a namespace declaration for the
MediaWiki\Content to CssContent and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: I6ab25787893cb2195f8cd2ba125ed8dd5a60de43
This patch introduces a namespace declaration for the
MediaWiki\RCFeed to JSONRCFeedFormatter and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: Ibd3ef6c4e2c9381fd83030e89d6fa645067c02b1
This patch introduces a namespace declaration for the
MediaWiki\RCFeed to IRCColourfulRCFeedFormatter and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: I78061ed136208f974e864a9622264409979ba120
This patch introduces a namespace declaration for the
MediaWiki\Content to JavaScriptContentHandler and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: Ic30789d4e80a27004b6bc3b3ba891a7332a5e1ba
This patch introduces a namespace declaration for the
MediaWiki\RCFeed to FormattedRCFeed and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: Ia929fdc9899a7a5328521fef437e59c4d583b48a
This patch introduces a namespace declaration for the
MediaWiki\RenameUser to RenameUserJob and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: Ibf7d6d54e0047c6c298c02926d8a811d26f6361c
This patch introduces a namespace declaration for the
MediaWiki\Content to JavaScriptContent and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: I87c17327911e28a461feaf2ff46242454cff257a
This patch introduces a namespace declaration for the
MediaWiki\Watchlist to WatchedItem and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: Id2a582b624f21867240def2541c98ce5b1bd12b4
This patch introduces a namespace declaration for the
MediaWiki\RCFeed to RCFeed and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: I2e63e05901a75d8cf8a1e9d874dc916c0a5749a4
This patch introduces a namespace declaration for the
MediaWiki\Watchlist to WatchlistExpiryJob and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: Ia0a85c9d7550edc972ea512606dfcf272c71a6cd
This patch introduces a namespace declaration for the
MediaWiki\RCFeed to RCFeedFormatter and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: Ief351b40fb117e57a868ef7618df2109b550ff58
This patch introduces a namespace declaration for the
MediaWiki\Json to FormatJson and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: I5e1311e4eb7a878a7db319b725ae262f40671c32
This patch introduces a new namespace declaration,
MediaWiki\Xml and adds Xml and XmlSelect to it
and establishes class aliases marked as deprecated
since version 1.43.
Bug: T353458
Change-Id: I45cccd540b6e15f267d3ab588a064fbeb719d921
The idea is that all entry points should share the code in the
MediaWikiEntryPoint base class. This change just moves code from
the file scope into a class, without any structural changes.
Bug: T354216
Change-Id: Ie2e827d30a070bcc63bdce56891c3aa0a4dacddd
DummyLinker existed for backwards-compatibility with a few hooks that
have since been removed, e.g. 'LinkBegin'. The last hook using it is
'ImageBeforeProduceHTML', and it looks like it can be harmlessly
replaced there with `null` (none of the extensions implementing the
hook use this parameter).
Change-Id: I69689b2037269af3320b6203fc44755f93713489
This is useful to link to the talk page of a page that is only known by
its title without needing to parse it or make any API requests.
I originally had the class extend RedirectSpecialPage, but couldn’t make
the form work properly that way, so eventually I opted to extend
FormSpecialPage instead and implement the redirect behavior directly.
Cache behavior is moderately aggressive, pinned to the parser cache
expiry, as these redirects should only need to change when the
namespace settings are updated.
Bug: T242346
Change-Id: I531b0b061d1ff1fef9ceffd6c82dc34940ba653d
Motivation:
* Remove need to hardcode out-of-component files in various places.
Especially for Gerrit queries, this not only reduces effort but
also makes these files more likely to show up in the first place.
* Clarify component boundaries and ownership, e.g. when filing tasks
with a stack trace.
* Now rather than later, to avoid need for multiple class renames and
aliases when PSR-4 namespaces are applied later (T166010).
Background:
Similar to how jobs in extensions belong to that extension, the same
is true within core. There is a distinction between the JobQueue system,
and individual jobs belonging to a specific feature or component,
likewise for deferred updates, and special pages.
To make a begin with this, I propose moving the job classes to their
respective components for cases where component boundaries are already
clear. E.g. due to exclusively being queued by that same component,
being named/introduced by the same commit, being already documented
as such in component descriptions on mediawiki.org.
Bug: T364652
Change-Id: I73d6b97c6ca9f5abd29f4277d0f845426aa23bd0
* Deprecate and stop using $wgBlockTargetMigrationStage. Remove
block_target migration code.
* Make the $schema parameters to DatabaseBlockStore methods default to
SCHEMA_BLOCK. Avoid passing these parameters where possible.
* Remove cleanupBlocks.php
* Deprecate DatabaseBlock static methods which try to present the old
schema for b/c.
Bug: T362133
Change-Id: I845bad8cc09a4528fef46a6f9d490ebdec881d99
Why:
* For the temporary accounts project, we will make some changes to
how user contributions can be viewed, including showing global
contributions (T337089) and showing contributions from temporary
accounts using the same IP (T358852).
* We will create new pagers that re-use logic from ContribsPager.
These will behave similarly to ContribsPager, but will get the
revisions using a different query.
What:
* Make ContribsPager extend a new abstract parent class,
ContributionsPager.
* ContributionsPager:
- handles filtering on edit type (minor, etc), namespace, tag,
date and user permissions (e.g. hiding suppressed revisions)
- runs the hooks that ContribsPager used to run, and keeps the
same names for backwards compatability
- handles displaying results
- provides an abstract method getRevisionQuery for a subclass
to specify where the revision comes from. (Examples are
the `revision` table or the `cu_changes` table, but in the
future this could also include archive.)
* ContribsPager:
- handles an IP range target by using the ip_changes table
- includes some public static functions that are kept for
backwards compatability. (Future work could put them somewhere
more appropriate.)
Scope:
* ContributionsPager is designed to select (existing) revisions.
It could be abstracted out further to handle deleted revisions
from the archive table, to help bring feature parity to
Special:DeletedContributions. This is left out of scope for this
patch.
* To keep the scope limited and the commit history clean, this
patch doesn't attempt to fix the various TODOs in ContribsPager,
or update old styles that are used.
Bug: T363358
Change-Id: I85bb28c9d85426ecc82c533a0cdd3f010c247b02
Modules group together endpoints by a shared prefix. The idea is that each module has its own version and can generated self-contained self-documentation. This allows clients to have clear expectations about the endpoints of each module, no matter what wiki they are accessing. So far, each wiki may be exposing a different set of endpoints, with no way to provide a spec that describes that set of endpoints in a way that would be consistent across wikis and stable over time.
Bug: T362480
Change-Id: Iebcde4645d472d27eee5a30adb6eee12cc7d046b
Why:
* For the temporary accounts project, we will make some changes to
how user contributions can be viewed, including showing global
contributions (T337089) and showing contributions from temporary
accounts using the same IP (T358852).
* We will create new special pages that re-use logic from
SpecialContributions. These will be similar but use different
pager classes.
What:
* Add ContributionsSpecialPage parent class, which does most of
the work for SpecialContributions.
* ContributionsSpecialPage is not able to be an abstract class
since its ancestor classes aren't (all the way up to SpecialPage)
but it provides a function ::getPager that must be overridden by
subclasses.
* Hooks that were provided by SpecialContributons are run from
ContributionsSpecialPage in order to allow extensions to modify
contributions pages in general, and not have to reimplement the
modification for every contributions page. For backwards
compatability, hooks are not renamed. Comments are added instead.
* In order to limit the scope of this patch, keep the history
clean and not introduce new bugs, this is purely a refactor.
It does not aim to fix any of the problems already existing in
SpecialContributions, or to update any of the old styles used.
Bug: T363358
Change-Id: Ic00fa3297fb08eacf570d3ec3fcf64925fcf69c5
This is an output transform to resolve the mw:I18n and mw:LocalizedAttrs
to their localized forms.
Bug: T358191
Change-Id: Id32bc05ff72eb2d9fba7f8c2f192c9f7812cbc70
This patch introduces a namespace declaration for the
MediaWiki\Debug to DeprecationHelper and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: I808c6aa7836445feaa7b401624d79d01f2c70322