Same as I3d8c6f6 already did for two other methods. It looks like this
one was forgotten.
This patch also adds tests for the previously untested method
Title::getSkinFromConfigSubpage().
Note this patch changes the behavior of Title::getSkinFromConfigSubpage()
slightly. It will return an empty string much more often. This is not a
breaking change as far as I can tell. According to
https://codesearch.wmflabs.org/search/?q=getSkinFromConfigSubpage%5C(
there are only two known callers, and both guarantee the string passed to
this method contains both a slash and a dot. Returning an empty string in
all other cases is much closer to the original intent of the method. For
example. "User:Vector" will not be considered a valid skin name any more.
Bug: T229443
Change-Id: I0a5be39ca11a4e5d6c05f70eb05e80c6c4980523
The query does a LEFT JOIN between user and actor. Given the state of
the actor table migration, it's impossible for a user to be active
without having an actor row. So such users must be inactive.
isInactiveAccount() does a loop over tables, sending them all to
ActorMigration, but that's obsolete for all except revision. So split
out the revision case out of the loop, with roughly the same code as
before. Inside the loop, do new-style queries in the knowledge that the
*_actor fields exist.
logging still needs a special case, but like the other non-revision
tables, it no longer needs ActorMigration.
Bug: T278917
Change-Id: I37281a0c856618674160bb39506108d5fff92479
These are styles for actions that do not have a dedicated style module.
Given that the amount of css it contains it marginal, creating a
dedicated module for each action would be overkill.
Bug: T278504
Change-Id: Id03c81e7d5ebf179731649aa230def2e8e21ac02
Declare one variable at a time
Add some documentation
Add some whitespace for readability
Replace some globals with retrieval from MainConfig
Should be a no-op
Change-Id: Ie58e56d61808d00fea99c35cd1c83a30d6aa28af
In preparation for moving to the EmailUserUtils service
being added in [1], but can be done in parallel.
Includes using some clearer variable names, and
using the Emailer "service" (which is just a wrapper
for UserMailer::send, but one that can be injected
and thus something that will be used when the
code is moved to the EmailUserUtils service,
changing the code now to make it easier to follow)
Additionally, expand Emailer::send to accept
a single MailAddress as the to, like
UserMailer::send.
Includes removing support for onEmailUser hook
setting $error to something other than a
Status object, true, false, an empty string, an array,
or a MessageSpecifier, which has been deprecated
since 1.29
[1] Ie63ddcc9805f4dbaa7a33e780611d9de227b0dc1
Bug: T265541
Change-Id: Iad683060f739f4fd5ebfd56d19702ba0129f8538
We can't really watch invalid titles, since they
definitely can not exist in the database, so having
them in user watchlist doesn't make much sence either.
Bug: T278735
Change-Id: I411ca9227da8050d026a57db690824afd3423a89
The `content` feature is too ambigious in meaning.
Moving all the styles relating to the table of contents reduces
the content feature to a group of image styles.
CSS rules for Tidy are legacy, added to the new
content.parser-output.less feature which defaults to on for all skins.
Bug: T269877
Change-Id: Ica54358576ee59c4cb75ef941421e8c0329336d9
The hook was added when the TitleArray class
was created, based on the UserArray class that
has a similar hook, onUserArrayFromResult.[1]
However, while the user array hook has extensions
that use it, there are no extensions that use the
title array hook, and it doesn't really make sense
to do so.
[1] See 38473966ea
Change-Id: Ic4253490af3eaaf5986e3665c230835b298ec4b6
This was introduced in r103367 as a follow up to r103365 while none of
the commits wire this to update.php and since then it has been unused.
And even if it was wired dynamically somehow that I missed, it's not
needed anymore as we don't support direct upgrades from these versions
(1.18 and 1.19) anymore.
Change-Id: I1e16de398bbe61adcb55787117378ea96a2b3e9f
Creating any block class includes a call to AbstractBlock::setTarget
which uses MediaWikiServices, meaning that no blocks can
be created in unit tests. If the target is an empty string '', set
the target and type to null instead of using the BlockUtils
service, which would eventually set them to null but would require
using MediaWikiServices
Allows moving SystemBlockTest to a unit test
Change-Id: Icdf10a6b89aef1995b6e5b5cee9ba5dd5593b01e
Follows-up 1473989a35. This is not a public API, and was only used
internally by SpecialUndelete.php, alias not used or otherwise needed.
Change-Id: Ie1ae329c8b209e938ff0ba042d13bb5bbedf3f45
Only testGetSlotDiffRenderer() requires integration
Clean up the code that is being moved, and fix
the remaining covers in the integration test
Change-Id: Ic5926b23daf6738c44d9a5aacb75276f81c51f7a