| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Found via disabling phan's alias support for a run (and ignoring wgLang's
hard-coded state of being a \Language, alas).
Change-Id: I4753bcd84d72d6de111fc7ffc5841fa417bf7333
|
|
|
|
|
|
|
|
|
|
|
| |
ImageMagick should not be used if it's not installed. When a custom
convert command is configured, it's the site admin's responsibility
to make sure it works with Webp and XCF files. The php-imagick
extension is just a wrapper for the ImageMagick library, and would
also work for Webp and XCF files.
Bug: T308386
Change-Id: I9fcf22b0c4b6d5d132e5a44530e3f255075f7fb4
|
|
|
|
|
|
|
|
|
|
|
|
| |
The complexity is really not needed in these cases. strtr() does have
the behavior we want: It does all replacements at the same time instead
of sequentially.
We are also adding test cases for the previously uncovered
StringUtils::escapeRegexReplacement() we rely on in this patch.
Bug: T308395
Change-Id: I6741303775d6d54f3ad0d50635a986ff992ae8f4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Avoid unnecesary else branching
- Static vs non-static fixes
- string, int and float casting instead of strval,
intval, floatval (faster and more readable)
- Strict comparisons (but not for all '' and 0 as might have
implicit falsey behavior)
- Few spelling mistakes
- Remove TimestampException handling, caught by parent function
Change-Id: I08725c8e391965529a2766dfaf5d8f6cf8a86db8
|
|
|
|
|
| |
Bug: T308394
Change-Id: I207b24473e761ac3fdd53d002ba8ce44f4d2dac3
|
|
|
|
|
|
|
|
| |
These exceptions are not documented with @throws and they're really not
meant to be caught.
Bug: T86704
Change-Id: I07f32e42c6fd4bc8785bac91547858f15a9fc2a8
|
|
|
|
|
|
|
|
|
|
| |
The motivation is to make the code less confusing. I hope this is the
case.
?? is an older PHP 7.0 feature.
??= was added in PHP 7.4, which we can finally use.
Change-Id: Id807affa52bd1151a74c064623b41d950a389560
|
|
|
|
|
|
|
|
| |
Introduced in PHP 7.1. Because it's shorter and looks nice.
I used regex replacement.
Change-Id: I0555e199d126cd44501f859cb4589f8bd49694da
|
|
|
|
|
|
|
|
| |
This patch only adds and removes suppressions, which must be done in the
same patch as the version bump.
Bug: T298571
Change-Id: I4044d4d9ce82b3dae7ba0af85bf04f22cb1dd347
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because the str_replaces were done sequentially, it was possible that
the replacement values for the placeholders of the
CustomConvertCommand would insert placeholder values of their own.
Find all placeholders at once on the original value using
preg_replace_callback and make sure each is replaced only once.
Based on a suggestion by User:SacredSum
Bug: T308394
Change-Id: Id672996454445dd200e57cf207c56e3268a3fcc8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now largely automated:
VARS=$(grep -o "'[A-Za-z0-9_]*'" includes/MainConfigNames.php | \
tr "\n" '|' | sed "s/|$/\n/;s/'//g")
sed -i -E "s/'($VARS)'/MainConfigNames::\1/g" \
$(grep -ERIl "'($VARS)'" includes/)
Then git add -p with lots of error-prone manual checking. Then
semi-manually add all the necessary "use" lines:
vim $(grep -L 'use MediaWiki\\MainConfigNames;' \
$(git diff --cached --name-only --diff-filter=M HEAD^))
I didn't bother fixing lines that were over 100 characters unless they
were over 120 and triggered phpcs.
Bug: T305805
Change-Id: I74e0ab511abecb276717ad4276a124760a268147
|
|
|
|
|
|
| |
Add missing @return and use false instead of bool where possible
Change-Id: Ie85a40987422e32aa02c56969e103371ec2e5b5f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MediaWiki still supports PHP 7.2+, but we want to mainly test in newer versions
of PHP. Setting minimum_target_php_version to 7.2 this lets us run phan without
phan trying to get us to make PHP 7.2-incompatible changes to 'appease' PHP 8.0
or whatever later changes.
Some switches of generic 'resource' type-hinting to 'resource|object' to inform
phan to ignore this (triggering PHPCS at the time, ah well), rather than trying
to hint the specific novel PHP encapsulation classes to that have replaced them
from PHP 8.0 onwards but don't yet exist, and fixes from where we were checking
the results of implode and explode.
Bug: T293924
Change-Id: I629e3fb3adfad73beb3d424a07e643c2e079d9bb
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Limit the array for the input to the expected size (or one bigger).
This avoids big arrays on bad input and allows to process with the
expected values in the array.
Change-Id: Iec1a85c29d928966c14cc0273b1a251dc0b6b738
|
|/
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Some functions accept only string, cast ints and floats to string
* After preg_matches or explode() casts numbers to int to do maths
* Cast unix timestamps to int to do maths
* Cast return values from timestamp format function to int
* Cast bitwise operator to bool when needed as bool
* php internal functions like floor/round/ceil documented to return
float, most cases the result is used as int, added casts
Found by phan strict checks
Change-Id: Icb2de32107f43817acc45fe296fb77acf65c1786
|
|
|
|
|
|
|
|
|
|
|
|
| |
Automatically refactors wg prefixed globals to use MediaWikiServices config using Rector. Doesn't include files that set globals or files that fail CI.
Rector Gist: https://gist.github.com/tchin25/7cc54f6d23aedef010b22e4dfbead228
* This patch uses a modified source code rector library for our specific use case and the rector will have different effects without it.
A writeup for future reference is here: https://meta.wikimedia.org/wiki/User:TChin_(WMF)/Using_Rector_On_MediaWiki
Change-Id: I1a691f01cd82e60bf41207d32501edb4b9835e37
|
|
|
|
| |
Change-Id: I4cc9b2dbe285ad935a1dfd08effa673a39167483
|
|
|
|
|
| |
Bug: T261258
Change-Id: I66d36a2e97d82dea704a51cc6e219fff8bc1d69b
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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: Ie32c1b11b3d16ddfc0c83a757327d449ff80b2e4
|
|/
|
|
|
|
|
|
|
|
|
| |
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: I5ffbb91882ecce2019ab644839eab5e8fb8a1c5f
|
|
|
|
|
|
|
|
| |
This classes were found by surveying concrete classes derved from base
classes in core.
Bug: T247862
Change-Id: I231752aaad26e2ab3f097301e449b31e723590f0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A terminating line break has not been required in wfDebug() since 2014,
however no migration was done. Some of these line breaks found their way
into LoggerInterface::debug() calls, where they mess up the formatting
of the debug log.
So, remove terminating line breaks from wfDebug() and
LoggerInterface::debug() calls.
Also:
* Fix the stripping of leading line breaks from the log header emitted
by Setup.php. This feature, accidentally broken in 2014, allows
requests to be distinguished in the log file.
* Avoid using the global variable $self.
* Move the logging of the client IP back to Setup.php. It was moved to
WebRequest in the hopes that it would not always be needed, however
$wgRequest->getIP() is now called unconditionally a few lines up in
Setup.php. This means that it is put in its proper place after the
"start request" message.
* Wrap the log header code in a closure so that variables like $name do
not leak into global scope.
* In Linker.php, remove a few instances of an unnecessary second
parameter to wfDebug().
Change-Id: I96651d3044a95b9d210b51cb8368edc76bebbb9e
|
|
|
|
| |
Change-Id: Id0351e44482885ee90e047c1ae3a439e484104c6
|
|
|
|
| |
Change-Id: Id326fb2a54aac62cb27aa7045082924b5cd84940
|
|
|
|
| |
Change-Id: Ia9ed6fa851316baa47e73d9a5988a863d15f298c
|
|
|
|
| |
Change-Id: I4046d593d1450cfffc489ca2abadba1084a540e4
|
|
|
|
| |
Change-Id: I9a97325d738d09370d29d35d5254bc0dadc57ff4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note I'm intentionally not touching the entire file, but only methods
I'm absolutely sure are already called from outside, e.g. from
MediaHandlerFactory, and must be public because of this.
I'm intentionally not doing anything with private or protected in this
patch, as such changes are much more fragile.
This is a direct follow up for the changes proposed in Iaa4f60d.
Change-Id: Ida817b289ddd5e9a8c162cc1fa3335c639a0bbe5
|
|
|
|
|
|
| |
Also cleaned up nearby code in a couple places.
Change-Id: Ibf44ee7c0ceb739d7e79406e4ff39303c316e285
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Uses new PHP 5.6 syntax like ...parameter unpacking and
calling anything looking like a callback to make the code more readable.
There are much more occurrences but this commit is intentionally limited
to an easily reviewable size.
In one occurrence, a simple conditional instead of trickery was much more readable.
This patch finishes all the easy stuf in the core, the remainder is either unobvious
or would result in smaller readability gains. It will be carefully dealt with in
further commits.
Change-Id: I79a16c48bfb98b75e5b99f2f6f4fa07b3ae02c5b
|
|
This will make jumping from file to file much easier in text
editors when file name lookups will autocomplete naturally when
looking for a class by name.
Change-Id: I4b2e55a2e72674b619d5a592866c8a019a2b0224
|