lhc/web/wiklou.git
5 years agoUse PHP 7 '??' operator instead of '?:' with 'isset()' where convenient
Bartosz Dziewoński [Fri, 6 Oct 2017 22:17:58 +0000 (00:17 +0200)]
Use PHP 7 '??' operator instead of '?:' with 'isset()' where convenient

Find: /isset\(\s*([^()]+?)\s*\)\s*\?\s*\1\s*:\s*/
Replace with: '\1 ?? '

(Everywhere except includes/PHPVersionCheck.php)
(Then, manually fix some line length and indentation issues)

Then manually reviewed the replacements for cases where confusing
operator precedence would result in incorrect results
(fixing those in I478db046a1cc162c6767003ce45c9b56270f3372).

Change-Id: I33b421c8cb11cdd4ce896488c9ff5313f03a38cf

5 years agoUse PHP 7 '<=>' operator in 'sort()' callbacks
Bartosz Dziewoński [Fri, 6 Oct 2017 20:39:13 +0000 (22:39 +0200)]
Use PHP 7 '<=>' operator in 'sort()' callbacks

`$a <=> $b` returns `-1` if `$a` is lesser, `1` if `$b` is lesser,
and `0` if they are equal, which are exactly the values 'sort()'
callbacks are supposed to return.

It also enables the neat idiom `$a[x] <=> $b[x] ?: $a[y] <=> $b[y]`
to sort arrays of objects first by 'x', and by 'y' if they are equal.

* Replace a common pattern like `return $a < $b ? -1 : 1` with the
  new operator (and similar patterns with the variables, the numbers
  or the comparison inverted). Some of the uses were previously not
  correctly handling the variables being equal; this is now
  automatically fixed.
* Also replace `return $a - $b`, which is equivalent to `return
  $a <=> $b` if both variables are integers but less intuitive.
* (Do not replace `return strcmp( $a, $b )`. It is also equivalent
  when both variables are strings, but if any of the variables is not,
  'strcmp()' converts it to a string before comparison, which could
  give different results than '<=>', so changing this would require
  careful review and isn't worth it.)
* Also replace `return $a > $b`, which presumably sort of works most
  of the time (returns `1` if `$b` is lesser, and `0` if they are
  equal or `$a` is lesser) but is erroneous.

Change-Id: I19a3d2fc8fcdb208c10330bd7a42c4e05d7f5cf3

5 years agoUse PHP 5.6 '**' operator instead of 'pow()' function
Bartosz Dziewoński [Fri, 6 Oct 2017 19:17:52 +0000 (21:17 +0200)]
Use PHP 5.6 '**' operator instead of 'pow()' function

Change-Id: Ieb22e1dbfcffaa4e7b3dcfabbcc999e5dd59a4bf

5 years agoUse PHP 5.6 constant expressions for some bitfield constants
Bartosz Dziewoński [Fri, 6 Oct 2017 19:10:53 +0000 (21:10 +0200)]
Use PHP 5.6 constant expressions for some bitfield constants

I searched the entire codebase for 'const' and looked for things
that looked suspiciously like manually calculated bitfield unions.
As of PHP 5.6, we can have them calculated automatically when
defining constants.

Change-Id: I7d971d1a63f8916db2f8f6c053c7dd0a13add92d

5 years agoMerge "rdbms: make runOnTransactionIdleCallbacks() reset DBO_TRX on exceptions"
jenkins-bot [Wed, 30 May 2018 21:47:27 +0000 (21:47 +0000)]
Merge "rdbms: make runOnTransactionIdleCallbacks() reset DBO_TRX on exceptions"

5 years agoMerge "Special:Preferences/reset: Always use OOUI not the deprecated vform"
jenkins-bot [Wed, 30 May 2018 20:26:11 +0000 (20:26 +0000)]
Merge "Special:Preferences/reset: Always use OOUI not the deprecated vform"

5 years agoMerge "jquery.lengthLimit: Fix 'cut'/'paste' event handling"
jenkins-bot [Wed, 30 May 2018 20:26:07 +0000 (20:26 +0000)]
Merge "jquery.lengthLimit: Fix 'cut'/'paste' event handling"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 30 May 2018 20:05:58 +0000 (22:05 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I74622ed8964fc45ad35223301346fa1533e3f14a

5 years agoMerge "Call Database::timestamp in some tests"
jenkins-bot [Wed, 30 May 2018 19:32:02 +0000 (19:32 +0000)]
Merge "Call Database::timestamp in some tests"

5 years agojquery.lengthLimit: Fix 'cut'/'paste' event handling
Bartosz Dziewoński [Mon, 16 Apr 2018 18:41:56 +0000 (20:41 +0200)]
jquery.lengthLimit: Fix 'cut'/'paste' event handling

For the 'cut' and 'paste' events, the input value is only updated after
the event handlers resolve.

Bug: T64319
Change-Id: Ia0b85ce986eb05aceb7096c56a235477970a4d6f

5 years agoMerge "preferences: Preserve Status from saveFormData() in submitForm()"
jenkins-bot [Wed, 30 May 2018 19:24:42 +0000 (19:24 +0000)]
Merge "preferences: Preserve Status from saveFormData() in submitForm()"

5 years agoMerge "rdbms: do not silently rollback empty transactions on error"
jenkins-bot [Wed, 30 May 2018 19:19:22 +0000 (19:19 +0000)]
Merge "rdbms: do not silently rollback empty transactions on error"

5 years agoMerge "resourceloader: Create mediawiki.base.js and move mw.inspect to it"
jenkins-bot [Wed, 30 May 2018 19:19:17 +0000 (19:19 +0000)]
Merge "resourceloader: Create mediawiki.base.js and move mw.inspect to it"

5 years agoMerge "resourceloader: Improve coverage of ResourceLoader::respond()"
jenkins-bot [Wed, 30 May 2018 18:40:50 +0000 (18:40 +0000)]
Merge "resourceloader: Improve coverage of ResourceLoader::respond()"

5 years agoMerge "OutputPage: Remove 'X-UA-Compatible' header (was for IE8-10 JS compat)"
jenkins-bot [Wed, 30 May 2018 18:08:24 +0000 (18:08 +0000)]
Merge "OutputPage: Remove 'X-UA-Compatible' header (was for IE8-10 JS compat)"

5 years agoMerge "MediaSearch widget: Bring in ApiResultsQueue tests from upstream"
jenkins-bot [Wed, 30 May 2018 17:50:06 +0000 (17:50 +0000)]
Merge "MediaSearch widget: Bring in ApiResultsQueue tests from upstream"

5 years agoresourceloader: Create mediawiki.base.js and move mw.inspect to it
Timo Tijhof [Wed, 30 May 2018 17:44:29 +0000 (18:44 +0100)]
resourceloader: Create mediawiki.base.js and move mw.inspect to it

As a first step to splitting the 'mediawiki' module, start by
splitting the file. The two files (like the other files in the
same directory) are still concatenated and run at the same time.

The only difference being that the private variables aren't available,
and it forces us to think about not being able to call the methods
during initialisation given the base file will execute after the
main one, making its methods not yet available during the split
time between the two.

From the perspective of regular modules, this changes nothing
as it will still load as one atomic unit defining the same public
API as before.

Bug: T192623
Change-Id: I552ae02e49c4d30070e166a504f454e334e8e75e

5 years agoresourceloader: Improve coverage of ResourceLoader::respond()
Timo Tijhof [Wed, 30 May 2018 17:21:31 +0000 (18:21 +0100)]
resourceloader: Improve coverage of ResourceLoader::respond()

- Cover case of simple module load.
  The bulk of this use case is already covered by a lower-level
  test for makeModuleResponse(). The added case here exists
  to cover the wrapper method, ResourceLoader::respond().

- Cover logic for catching and logging internal errors.

Change-Id: I4315bb00137ff80ee2b790c6b4d4b5fbd93f6bc1

5 years agoSpecial:Preferences/reset: Always use OOUI not the deprecated vform
James D. Forrester [Wed, 30 May 2018 15:34:51 +0000 (08:34 -0700)]
Special:Preferences/reset: Always use OOUI not the deprecated vform

Though it's "nice" to show this as a big red button to users, sadly
(a) vform is deprecated and shouldn't be used, and (b) the format's
restriction on button width intereferes with the length of the sole
control on this form, even without the prolix override expansion of
for which wikis' communities are wont to do.

Bug: T195977
Change-Id: Icc294bde1d3ed72837e7152003a2fbd522c9067d

5 years agoMerge "resourceloader: Remove use of $.params in mediawiki.js"
jenkins-bot [Wed, 30 May 2018 14:42:18 +0000 (14:42 +0000)]
Merge "resourceloader: Remove use of $.params in mediawiki.js"

5 years agoresourceloader: Remove use of $.params in mediawiki.js
Aaron Schulz [Fri, 25 May 2018 22:00:55 +0000 (15:00 -0700)]
resourceloader: Remove use of $.params in mediawiki.js

Bug: T192623
Change-Id: I05ce4a05fda5ae13ad85c3d8da8362488b5d46af

5 years agoMerge "Message: Only clear message cache when set language is different"
jenkins-bot [Wed, 30 May 2018 14:20:14 +0000 (14:20 +0000)]
Merge "Message: Only clear message cache when set language is different"

5 years agoMessage: Only clear message cache when set language is different
Fomafix [Tue, 15 Dec 2015 10:25:33 +0000 (10:25 +0000)]
Message: Only clear message cache when set language is different

Change-Id: Ic0d810b9017b2cc693282807540ddf3e4d952b9d

5 years agoMerge "ResourceLoaderLessVarFileModule: Add parameter 'lessMessages'"
jenkins-bot [Wed, 30 May 2018 12:06:17 +0000 (12:06 +0000)]
Merge "ResourceLoaderLessVarFileModule: Add parameter 'lessMessages'"

5 years agordbms: do not silently rollback empty transactions on error
Aaron Schulz [Sun, 22 Apr 2018 22:38:49 +0000 (15:38 -0700)]
rdbms: do not silently rollback empty transactions on error

Since there might be important view snapshots, temp tables, or effects
from SET statements or the like, go into TRX_ERROR state for "possible
transaction level errors" even if no recognized writes took place and
the transaction was not explicit.

Change-Id: I32c34bc28b845e343d0167a220412824838eaed8

5 years agoMerge "Split ApiUsageException and UsageException to class per file"
Krinkle [Tue, 29 May 2018 23:39:11 +0000 (23:39 +0000)]
Merge "Split ApiUsageException and UsageException to class per file"

5 years agoMerge "Fix PreferencesForm alias"
jenkins-bot [Tue, 29 May 2018 22:38:36 +0000 (22:38 +0000)]
Merge "Fix PreferencesForm alias"

5 years agoMerge "Split ApiMessage to class per file"
jenkins-bot [Tue, 29 May 2018 22:18:24 +0000 (22:18 +0000)]
Merge "Split ApiMessage to class per file"

5 years agoMerge "Add @deprecated tags to DatabaseBase"
jenkins-bot [Tue, 29 May 2018 21:57:32 +0000 (21:57 +0000)]
Merge "Add @deprecated tags to DatabaseBase"

5 years agoMerge "Don't autoload classes in AutoloadStructureTest"
jenkins-bot [Tue, 29 May 2018 21:54:13 +0000 (21:54 +0000)]
Merge "Don't autoload classes in AutoloadStructureTest"

5 years agoFix PreferencesForm alias
Reedy [Tue, 29 May 2018 20:24:40 +0000 (20:24 +0000)]
Fix PreferencesForm alias

Change-Id: I6f24c6283b4165b9209e53f8fc3b8ecb5feb9ca4

5 years agoAdd @deprecated tags to DatabaseBase
Reedy [Tue, 29 May 2018 21:38:49 +0000 (22:38 +0100)]
Add @deprecated tags to DatabaseBase

It was there in REL1_27, but REL1_28 Database was the default...

Bug: T195576
Change-Id: I06d3a48c3112da95f38bb7f6a055fe7682e03096

5 years agoCall Database::timestamp in some tests
Umherirrender [Tue, 29 May 2018 19:13:17 +0000 (21:13 +0200)]
Call Database::timestamp in some tests

Also add non-optional database fields to insert.
The fields are defined with a default in mysql,
but not in postgres or oracle.

Bug: T195807
Change-Id: I201638e3438cb0e5004f8da121e64a770e6a8fca

5 years agoAdd @deprecated tags to various class_alias calls
Reedy [Tue, 29 May 2018 16:21:31 +0000 (17:21 +0100)]
Add @deprecated tags to various class_alias calls

Bug: T195576
Change-Id: I10cd8415891bfe4a278eee06c9cfe905b3e036dc

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 29 May 2018 20:01:52 +0000 (22:01 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia47406929fcf2e288dbc4621ae6cf64ad2c3d070

5 years agoMerge "Xml.php: Do not escape double quotes in $contents of Xml::element()"
jenkins-bot [Tue, 29 May 2018 19:26:33 +0000 (19:26 +0000)]
Merge "Xml.php: Do not escape double quotes in $contents of Xml::element()"

5 years agoMerge "API: ApiBase::getParameter() shouldn't throw on other params' errors"
jenkins-bot [Tue, 29 May 2018 19:04:27 +0000 (19:04 +0000)]
Merge "API: ApiBase::getParameter() shouldn't throw on other params' errors"

5 years agoDon't autoload classes in AutoloadStructureTest
Kunal Mehta [Tue, 29 May 2018 18:09:57 +0000 (11:09 -0700)]
Don't autoload classes in AutoloadStructureTest

Autoloading classes is a 100% accurate way to ensure the autoloader
worked, but there are cases where if optional dependencies aren't
installed, then autoloading the class will fail. We can re-implement the
logic behind the PSR-4 autoloader, and ensure that classes will be
autoloadable by turning the filename into a class name, and making sure
that class name is the one we found in the file.

Bug: T195823
Change-Id: I5df378180e567c257386482383ef73812592f989

5 years agoMerge "OOUIHTMLForm: Improve HTMLCheckMatrix for further clarity"
jenkins-bot [Tue, 29 May 2018 17:52:16 +0000 (17:52 +0000)]
Merge "OOUIHTMLForm: Improve HTMLCheckMatrix for further clarity"

5 years agoMerge "Remove deprecated wgResourceLoaderLESSImportPaths"
jenkins-bot [Tue, 29 May 2018 17:19:23 +0000 (17:19 +0000)]
Merge "Remove deprecated wgResourceLoaderLESSImportPaths"

5 years agoMerge "Improve ExtensionRegistry test coverage"
jenkins-bot [Tue, 29 May 2018 17:18:20 +0000 (17:18 +0000)]
Merge "Improve ExtensionRegistry test coverage"

5 years agoMerge "Deprecate Parser::fetchFile() since it's unused"
jenkins-bot [Tue, 29 May 2018 17:04:44 +0000 (17:04 +0000)]
Merge "Deprecate Parser::fetchFile() since it's unused"

5 years agoOOUIHTMLForm: Improve HTMLCheckMatrix for further clarity
Volker E [Tue, 29 May 2018 11:50:11 +0000 (13:50 +0200)]
OOUIHTMLForm: Improve HTMLCheckMatrix for further clarity

Increase distance between rows slightly and use white to
emphasise row `:hover` color contrast.
Also
- amend `padding` to full pixel widths and
- center-align all but the checkbox labels for better orientation.

Bug: T194536
Change-Id: I03e193beaa8c6479a710056d095cb79098544389

5 years agoRemove deprecated wgResourceLoaderLESSImportPaths
Timo Tijhof [Sat, 19 May 2018 18:37:21 +0000 (20:37 +0200)]
Remove deprecated wgResourceLoaderLESSImportPaths

The last remaining users of this feature were MobileFrontend and Minerva,
which have been migrated to direct imports.

Bug: T140807
Change-Id: I1a66a2ad314bde332297798520e5ec3e0e3d4c9b

5 years agoMerge "resourceloader: Add coverage for empty case in makeModuleResponse"
jenkins-bot [Tue, 29 May 2018 03:09:00 +0000 (03:09 +0000)]
Merge "resourceloader: Add coverage for empty case in makeModuleResponse"

5 years agoresourceloader: Add coverage for empty case in makeModuleResponse
Timo Tijhof [Tue, 29 May 2018 02:03:31 +0000 (03:03 +0100)]
resourceloader: Add coverage for empty case in makeModuleResponse

Adds coverage for line 1049-1056.

Also, follow-up 6292d54dff by simpliying the regex by using /s modifier to
enable PCRE_DOTALL which includes matching of new lines.

Change-Id: Icec34dfe107d418951b3d155234295c79410ffaa

5 years agoMerge "Fix help link on Special:PasswordPolicies"
jenkins-bot [Tue, 29 May 2018 02:05:30 +0000 (02:05 +0000)]
Merge "Fix help link on Special:PasswordPolicies"

5 years agoMerge "Complete coverage of Parser::getTemplateDom()"
jenkins-bot [Tue, 29 May 2018 01:50:13 +0000 (01:50 +0000)]
Merge "Complete coverage of Parser::getTemplateDom()"

5 years agoFix help link on Special:PasswordPolicies
Kunal Mehta [Tue, 29 May 2018 01:46:12 +0000 (18:46 -0700)]
Fix help link on Special:PasswordPolicies

'passwordpolicies-helppage' shouldn't be configured in Git - it's
intended for wikis to set a local override. Instead, set the proper
destination in the addHelpLink() call itself.

As a sidenote, a MediaWiki configuration setting documentation page
isn't the best place for user-facing documentation, a proper help page
should be created in the future.

Bug: T195799
Change-Id: If47b86bbd14f05235fa1cb8c910e2362400d23ac

5 years agoAPI: ApiBase::getParameter() shouldn't throw on other params' errors
Brad Jorsch [Mon, 28 May 2018 22:45:24 +0000 (18:45 -0400)]
API: ApiBase::getParameter() shouldn't throw on other params' errors

This regression was introduced in Ia19a1617b7.

Bug: T195777
Change-Id: I1e1eb3861ced83f79e56d2325ab693ef4e393999

5 years agoMerge "mediawiki.action.edit.styles: Fix alignment of "Cancel" link/button"
jenkins-bot [Mon, 28 May 2018 21:18:06 +0000 (21:18 +0000)]
Merge "mediawiki.action.edit.styles: Fix alignment of "Cancel" link/button"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 28 May 2018 20:17:22 +0000 (22:17 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ied787b7f07a91cabbe26a85d04e2ed730444637e

5 years agomediawiki.action.edit.styles: Fix alignment of "Cancel" link/button
Bartosz Dziewoński [Mon, 28 May 2018 18:53:30 +0000 (20:53 +0200)]
mediawiki.action.edit.styles: Fix alignment of "Cancel" link/button

Follow-up to f6afdf96d93713981b6bbe4ceeb8363cfc491803, which
accidentally caused it to have the margin applied twice.

Bug: T195673
Change-Id: I7c0ad98e77bf9156c623dcc5b592de52f8e87df8

5 years agoMerge "Send a cookie with IP/IP-Range blocks when blocking logged-out users"
jenkins-bot [Mon, 28 May 2018 13:35:21 +0000 (13:35 +0000)]
Merge "Send a cookie with IP/IP-Range blocks when blocking logged-out users"

5 years agoMerge "resourceloader: Include global LESS variables in LESS cache key"
jenkins-bot [Mon, 28 May 2018 11:36:32 +0000 (11:36 +0000)]
Merge "resourceloader: Include global LESS variables in LESS cache key"

5 years agoDeprecate Parser::fetchFile() since it's unused
Kunal Mehta [Mon, 28 May 2018 06:16:28 +0000 (23:16 -0700)]
Deprecate Parser::fetchFile() since it's unused

Change-Id: Ic2bc3dd0479a373159a22da5f0a6961e212352ff

5 years agoComplete coverage of Parser::getTemplateDom()
Kunal Mehta [Mon, 28 May 2018 06:05:48 +0000 (23:05 -0700)]
Complete coverage of Parser::getTemplateDom()

This test covers the branch of code when the $mTplRedirCache is already
populated, by using the same template that redirects twice.

Change-Id: Ie0ce277c75366b7b060e0da6873175976621aff9

5 years agoMerge "Remove deprecated utfnormal back-compat"
jenkins-bot [Mon, 28 May 2018 03:50:48 +0000 (03:50 +0000)]
Merge "Remove deprecated utfnormal back-compat"

5 years agoMerge "Add 'Special:MyLanguage' in 'All skins' category link"
jenkins-bot [Mon, 28 May 2018 03:41:37 +0000 (03:41 +0000)]
Merge "Add 'Special:MyLanguage' in 'All skins' category link"

5 years agoImprove ExtensionRegistry test coverage
Kunal Mehta [Mon, 28 May 2018 03:36:22 +0000 (20:36 -0700)]
Improve ExtensionRegistry test coverage

Change-Id: Id1b87e020a220c96b42d86485da67d47b9d565f9

5 years agoRemove deprecated utfnormal back-compat
Kunal Mehta [Fri, 25 May 2018 18:47:32 +0000 (11:47 -0700)]
Remove deprecated utfnormal back-compat

Change-Id: Id8f497d0bbaab8282057c9d271a7c9b1e77d1a3f

5 years agoresourceloader: Add coverage for non-js error case in makeModuleResponse
Timo Tijhof [Mon, 28 May 2018 00:39:58 +0000 (01:39 +0100)]
resourceloader: Add coverage for non-js error case in makeModuleResponse

Adds coverage for line 1170-1175.

Change-Id: I2208264d3fca306b2740b243d7cdc209b224ebca

5 years agoOutputPage: Remove 'X-UA-Compatible' header (was for IE8-10 JS compat)
Elliott Eggleston [Thu, 22 Mar 2018 22:29:29 +0000 (17:29 -0500)]
OutputPage: Remove 'X-UA-Compatible' header (was for IE8-10 JS compat)

Save 26 bytes each request.

We're not sending JS to those browsers any more, they're dying out, and
apparently just the `<!DOCTYPE html>` is enough to trigger Edge mode.

https://stackoverflow.com/questions/26346917/why-use-x-ua-compatible-ie-edge-anymore

Bug: T27378
Change-Id: I5418d4b043a8c8669886c39a93732e4a7d50337e

5 years agoMerge "Improve Parser::braceSubstitution() coverage"
jenkins-bot [Sun, 27 May 2018 23:26:33 +0000 (23:26 +0000)]
Merge "Improve Parser::braceSubstitution() coverage"

5 years agoMerge "Remove eslint-disable no-use-before-define"
jenkins-bot [Sun, 27 May 2018 20:47:17 +0000 (20:47 +0000)]
Merge "Remove eslint-disable no-use-before-define"

5 years agoSplit ApiUsageException and UsageException to class per file
Reedy [Fri, 25 May 2018 01:03:07 +0000 (02:03 +0100)]
Split ApiUsageException and UsageException to class per file

Change-Id: I54c7d5e6616ac1a23082cc72e60ed92cb7eef715

5 years agoMerge "Hooks: remove some unnecessary code"
jenkins-bot [Sun, 27 May 2018 20:28:23 +0000 (20:28 +0000)]
Merge "Hooks: remove some unnecessary code"

5 years agoMerge "Complete test coverage of Hooks class"
jenkins-bot [Sun, 27 May 2018 20:28:21 +0000 (20:28 +0000)]
Merge "Complete test coverage of Hooks class"

5 years agoRemove eslint-disable no-use-before-define
Fomafix [Sat, 26 May 2018 12:58:37 +0000 (14:58 +0200)]
Remove eslint-disable no-use-before-define

mediawiki.js: Reorder setGlobalMapValue() to avoid a forward reference.
mediawiki.action.edit.stash.js: Reorder two functions without to avoid
  forward references.

In all other cases add eslint-disable-next-line no-use-before-define.

Change-Id: Ic8b2f8cf61dcfb1a215ad3d3dddfd40282e3e836

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 27 May 2018 19:57:02 +0000 (21:57 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I5c895f4b61a73570671acf36c817cc405f54ec0b

5 years agoMerge "Improve AutoLoader test coverage"
jenkins-bot [Sun, 27 May 2018 19:50:45 +0000 (19:50 +0000)]
Merge "Improve AutoLoader test coverage"

5 years agoHooks: remove some unnecessary code
Kunal Mehta [Sun, 27 May 2018 06:39:07 +0000 (23:39 -0700)]
Hooks: remove some unnecessary code

PHP automatically creates the array when you try to append an item to
it. Really.

Change-Id: I73b1efe749a9311feeb0d14e1c76b5bbbc0265bd

5 years agoComplete test coverage of Hooks class
Kunal Mehta [Sun, 27 May 2018 06:38:28 +0000 (23:38 -0700)]
Complete test coverage of Hooks class

Change-Id: I9e720c44e6d6c9c5d726a8a147e07ee9b638913f

5 years agoImprove Parser::braceSubstitution() coverage
Kunal Mehta [Sun, 27 May 2018 05:57:55 +0000 (22:57 -0700)]
Improve Parser::braceSubstitution() coverage

Change-Id: I3d9426143fe486c6aed0494b68773a36e24c02d9

5 years agoImprove AutoLoader test coverage
Kunal Mehta [Sun, 27 May 2018 04:29:36 +0000 (21:29 -0700)]
Improve AutoLoader test coverage

Change-Id: Iddb24cad41979a4798392ab08d104dac41ed736d

5 years agoParser: Don't catch exception just to rethrow it
Kunal Mehta [Sun, 27 May 2018 01:14:51 +0000 (18:14 -0700)]
Parser: Don't catch exception just to rethrow it

This is left over from 4ff813680.

Change-Id: I624c2c22b7736af249647997565fe06f52d40fe2

5 years agoSplit ApiMessage to class per file
Reedy [Fri, 25 May 2018 00:59:49 +0000 (01:59 +0100)]
Split ApiMessage to class per file

Change-Id: If8f51e6535d0ec6e35336a6702c5e35be35bcf09

5 years agoMerge "AutoLoaderStructureTest: Allow PSR-4 directories to have files with 0 classes"
jenkins-bot [Sun, 27 May 2018 00:13:13 +0000 (00:13 +0000)]
Merge "AutoLoaderStructureTest: Allow PSR-4 directories to have files with 0 classes"

5 years agoMerge "Rename ApiQueryContributions to ApiQueryUserContribs to match api module name"
jenkins-bot [Sat, 26 May 2018 23:57:30 +0000 (23:57 +0000)]
Merge "Rename ApiQueryContributions to ApiQueryUserContribs to match api module name"

5 years agoAutoLoaderStructureTest: Allow PSR-4 directories to have files with 0 classes
Kunal Mehta [Sat, 26 May 2018 23:51:56 +0000 (16:51 -0700)]
AutoLoaderStructureTest: Allow PSR-4 directories to have files with 0 classes

Files like ServiceWiring.php can be safely located in a PSR-4 autoloaded
directory, because they have no classes.

Change-Id: I359b305df9071d6bc5afe4b5f29e762041f4aaef

5 years agoSplit AutoloaderTest into a structure and class test
Kunal Mehta [Fri, 25 May 2018 05:13:22 +0000 (22:13 -0700)]
Split AutoloaderTest into a structure and class test

AutoloaderTest covers the AutoLoader class, and AutoLoaderStructureTest
covers the structure part of the test.

Change-Id: Ic4e7bfd670e1c3413631bda31260cc1cc825b1a2

5 years agoMerge "Increase cleanupTitles.php batch size"
jenkins-bot [Sat, 26 May 2018 23:09:05 +0000 (23:09 +0000)]
Merge "Increase cleanupTitles.php batch size"

5 years agoRename ApiQueryContributions to ApiQueryUserContribs to match api module name
Reedy [Fri, 25 May 2018 00:46:30 +0000 (01:46 +0100)]
Rename ApiQueryContributions to ApiQueryUserContribs to match api module name

Change-Id: I865628b87eda7be349522fcfaf94f5563142026e

5 years agoMerge "Hard deprecate UtfNormal methods"
jenkins-bot [Sat, 26 May 2018 23:06:25 +0000 (23:06 +0000)]
Merge "Hard deprecate UtfNormal methods"

5 years agoMerge "Switch includes/{sparql,Storage,tidy} to use the PSR-4 autoloader"
jenkins-bot [Sat, 26 May 2018 22:54:11 +0000 (22:54 +0000)]
Merge "Switch includes/{sparql,Storage,tidy} to use the PSR-4 autoloader"

5 years agoMerge "Switch includes/{preferences,services,session,shell} to use the PSR-4 autoloader"
jenkins-bot [Sat, 26 May 2018 22:40:47 +0000 (22:40 +0000)]
Merge "Switch includes/{preferences,services,session,shell} to use the PSR-4 autoloader"

5 years agoMerge "Add structure test to ensure PSR-4 autoloader covers everything"
jenkins-bot [Sat, 26 May 2018 22:40:44 +0000 (22:40 +0000)]
Merge "Add structure test to ensure PSR-4 autoloader covers everything"

5 years agoHard deprecate UtfNormal methods
Kunal Mehta [Fri, 25 May 2018 18:16:16 +0000 (11:16 -0700)]
Hard deprecate UtfNormal methods

Change-Id: Iafbf89aa85ae77cd790aeac6911ccc2d014a6c65

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 26 May 2018 21:03:33 +0000 (23:03 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I4500053ecbb780a723d5f2398a3d1693a9d12d31

5 years agoAdd 'Special:MyLanguage' in 'All skins' category link
Suriyaa Kudo [Sat, 26 May 2018 14:02:10 +0000 (16:02 +0200)]
Add 'Special:MyLanguage' in 'All skins' category link

Change-Id: I5f9f6c3c9151ea1570d0ec3f361af40fba8abd20

5 years agoAvoid PHP 7.2 warnings in DBConRefTest about count() on non-Countable
Aaron Schulz [Sat, 26 May 2018 00:29:17 +0000 (17:29 -0700)]
Avoid PHP 7.2 warnings in DBConRefTest about count() on non-Countable

Change-Id: Ida81bf998b462f2f6bb2b708df1f15bbc1933db1

5 years agoIncrease cleanupTitles.php batch size
Reedy [Sat, 26 May 2018 00:25:03 +0000 (00:25 +0000)]
Increase cleanupTitles.php batch size

Change-Id: I086892e44936fdaf9d5d1f3667325daaaaa7260e

5 years agordbms: make runOnTransactionIdleCallbacks() reset DBO_TRX on exceptions
Aaron Schulz [Fri, 25 May 2018 23:02:27 +0000 (16:02 -0700)]
rdbms: make runOnTransactionIdleCallbacks() reset DBO_TRX on exceptions

Change-Id: Ibbb2a3ebf9dd970772ee704aa643a3843f20a3b5

5 years agoMerge "languages: Use static array files for normalizer data"
jenkins-bot [Fri, 25 May 2018 23:03:18 +0000 (23:03 +0000)]
Merge "languages: Use static array files for normalizer data"

5 years agoMerge "MediaWiki\Auth\Throttler: Change "ip" key name"
jenkins-bot [Fri, 25 May 2018 22:38:39 +0000 (22:38 +0000)]
Merge "MediaWiki\Auth\Throttler: Change "ip" key name"

5 years agoMediaWiki\Auth\Throttler: Change "ip" key name
Brad Jorsch [Fri, 25 May 2018 18:50:55 +0000 (14:50 -0400)]
MediaWiki\Auth\Throttler: Change "ip" key name

Apparently 'ip' is overwritten by logstash at some level, so use 'ipKey'
instead.

Change-Id: I0547acdbb9f3fc7a990bd4baa2d748e89bac8c3b

5 years agoMerge "Localisation updates from https://translatewiki.net."
L10n-bot [Fri, 25 May 2018 19:54:18 +0000 (19:54 +0000)]
Merge "Localisation updates from https://translatewiki.net."

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 25 May 2018 19:54:09 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I1bb2563f7ebba3c66062b79bd523c3f226b54cb9

5 years agoMerge "Enable merging of WrappedStringList between 'bottomscripts' and 'reportime'"
jenkins-bot [Fri, 25 May 2018 19:52:13 +0000 (19:52 +0000)]
Merge "Enable merging of WrappedStringList between 'bottomscripts' and 'reportime'"

5 years agoresourceloader: Include global LESS variables in LESS cache key
Alexia E. Smith [Tue, 10 Apr 2018 22:35:49 +0000 (17:35 -0500)]
resourceloader: Include global LESS variables in LESS cache key

This prevents cache churn when the wiki-global LESS variables vary
between wikis because the cache key is used as a "global" instead of
db-local. This is good for the common case, but should still explicitly
vary if the vars differ between wikis.

Bug: T191937
Change-Id: If12fd07a7062792205384150d6f5fd9a83f996cc