5 years agoMerge "Don't use `phpcs:ignoreFile` to selectively ignore sniffs"
jenkins-bot [Mon, 9 Apr 2018 15:56:09 +0000 (15:56 +0000)]
Merge "Don't use `phpcs:ignoreFile` to selectively ignore sniffs"

5 years agoDon't use `phpcs:ignoreFile` to selectively ignore sniffs
Kunal Mehta [Sun, 8 Apr 2018 19:39:46 +0000 (12:39 -0700)]
Don't use `phpcs:ignoreFile` to selectively ignore sniffs

Because it doesn't work. `phpcs:ignoreFile` is intended as a performance
shortcut, and gives up on the file as soon as that token is found.
Instead, use `phpcs:disable` which does support selectively disabling
some sniffs. And since disabling is local to the file, there's no need
to re-enable it at the bottom of the file.

<https://github.com/squizlabs/PHP_CodeSniffer/issues/1903> has some
relevant discussion and clarification from upstream on this.

And make the files that are now being re-enabled pass PHPCS.

Change-Id: Ia4d8c45045f61cf9f24eb1d8631ff98d99c82d69

5 years agoMerge "mediawiki.jqueryMsg: Rename .parser class to .Parser"
jenkins-bot [Sun, 8 Apr 2018 19:58:37 +0000 (19:58 +0000)]
Merge "mediawiki.jqueryMsg: Rename .parser class to .Parser"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 8 Apr 2018 19:56:31 +0000 (21:56 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I14f3428671569fc7572a1aabf476c4a758cd7aa4

5 years agoMerge "phpunit: Alias PHPUnit_Framework_Error for PHPUnit 6 compat"
jenkins-bot [Sun, 8 Apr 2018 19:50:05 +0000 (19:50 +0000)]
Merge "phpunit: Alias PHPUnit_Framework_Error for PHPUnit 6 compat"

5 years agoMerge "RevisionTest: Fix getMockTitle()"
jenkins-bot [Sun, 8 Apr 2018 19:50:02 +0000 (19:50 +0000)]
Merge "RevisionTest: Fix getMockTitle()"

5 years agoMerge "phpunit: Create class aliases for interfaces in PHPUnit 4/6 compat layer"
jenkins-bot [Sun, 8 Apr 2018 19:49:59 +0000 (19:49 +0000)]
Merge "phpunit: Create class aliases for interfaces in PHPUnit 4/6 compat layer"

5 years agoFix (MediaWiki)Site::normalizePageName return type
Thiemo Kreuz [Sun, 8 Apr 2018 09:32:20 +0000 (11:32 +0200)]
Fix (MediaWiki)Site::normalizePageName return type

I checked all callers of these methods and almost all of them expect the
method to return false. It looks like this return type was known at some
point, but got lost. Let's add it back.

Bug: T191634
Change-Id: I43484835b8f26e07ada6a2b1452a99ccc6d9b438

5 years agophpunit: Alias PHPUnit_Framework_Error for PHPUnit 6 compat
Kunal Mehta [Sun, 8 Apr 2018 02:30:43 +0000 (19:30 -0700)]
phpunit: Alias PHPUnit_Framework_Error for PHPUnit 6 compat

In PHPUnit 6, it's now PHPUnit\Framework\Error\Error.

Change-Id: Iaf0ef0a10a6a2cb7d7fc280d5ca873e77dbacb1d

5 years agoRevisionTest: Fix getMockTitle()
Kunal Mehta [Sun, 8 Apr 2018 00:36:54 +0000 (17:36 -0700)]
RevisionTest: Fix getMockTitle()

There's no such function "getModel", it's probably supposed to be
"getContentModel". PHPUnit 6 emits warnings for trying to mock functions
that don't exist.

Change-Id: I0e5434e48958a8b75238b2ebffb5c1dc4e60c864

5 years agophpunit: Create class aliases for interfaces in PHPUnit 4/6 compat layer
Kunal Mehta [Sat, 7 Apr 2018 23:06:25 +0000 (16:06 -0700)]
phpunit: Create class aliases for interfaces in PHPUnit 4/6 compat layer

Change-Id: If36bb3403f226b0399e37d2fd63b4338b1de10ae

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 7 Apr 2018 19:53:30 +0000 (21:53 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I09ba70916875abf16faef899deb543689fbcfb42

5 years agoMerge "Selenium: use default value for waitforTimeout"
jenkins-bot [Sat, 7 Apr 2018 16:03:32 +0000 (16:03 +0000)]
Merge "Selenium: use default value for waitforTimeout"

5 years agoMerge "Change registred users to autoconfirmed users in "MediaWiki:Semiprotectedpagew...
jenkins-bot [Sat, 7 Apr 2018 10:45:06 +0000 (10:45 +0000)]
Merge "Change registred users to autoconfirmed users in "MediaWiki:Semiprotectedpagewarning" and "MediaWiki:Semiprotectedpagemovewarning" messages"

5 years agoMerge "installer: Fix setting a custom $wgMetaNamespace"
jenkins-bot [Sat, 7 Apr 2018 08:49:43 +0000 (08:49 +0000)]
Merge "installer: Fix setting a custom $wgMetaNamespace"

5 years agoRemove deprecated function ApiBase::getProfileTime
Jayprakash12345 [Fri, 9 Mar 2018 20:53:26 +0000 (20:53 +0000)]
Remove deprecated function ApiBase::getProfileTime

Bug: T189330
Change-Id: I404766b53ad33d615557faa693a513914d959a63

5 years agoRemove deprecated function ApiBase::getModuleProfileName
Jayprakash12345 [Fri, 9 Mar 2018 20:35:57 +0000 (20:35 +0000)]
Remove deprecated function ApiBase::getModuleProfileName

Bug: T189330
Change-Id: Ifa30d115b97e8109d11cb932a924d63afc6f81d9

5 years agoRemove deprecated function ApiBase::getProfileDBTime
Jayprakash12345 [Fri, 9 Mar 2018 20:41:47 +0000 (20:41 +0000)]
Remove deprecated function ApiBase::getProfileDBTime

Bug: T189330
Change-Id: I7584024dff54608b138a7fbaced216ff9133ac2c

5 years agoChange registred users to autoconfirmed users in "MediaWiki:Semiprotectedpagewarning...
Zoranzoki21 [Wed, 28 Mar 2018 21:06:09 +0000 (21:06 +0000)]
Change registred users to autoconfirmed users in "MediaWiki:Semiprotectedpagewarning" and "MediaWiki:Semiprotectedpagemovewarning" messages

Bug: T190882
Change-Id: Id56f5d8670b0e1363603a05e612be91a986f9698

5 years agoMerge "Change ResultWrapper to IResultWrapper in pagers and special pages"
jenkins-bot [Sat, 7 Apr 2018 00:06:16 +0000 (00:06 +0000)]
Merge "Change ResultWrapper to IResultWrapper in pagers and special pages"

5 years agoMerge "Use IResultWrapper in UserArray and TitleArray"
jenkins-bot [Sat, 7 Apr 2018 00:03:05 +0000 (00:03 +0000)]
Merge "Use IResultWrapper in UserArray and TitleArray"

5 years agoMerge "Fix return type for html strings"
jenkins-bot [Fri, 6 Apr 2018 23:56:18 +0000 (23:56 +0000)]
Merge "Fix return type for html strings"

5 years agoMerge "Fix param doc of Skin::makeSpecialUrlSubpage"
jenkins-bot [Fri, 6 Apr 2018 23:53:13 +0000 (23:53 +0000)]
Merge "Fix param doc of Skin::makeSpecialUrlSubpage"

5 years agoMerge "Remove "probably you" from password reset email information"
jenkins-bot [Fri, 6 Apr 2018 23:07:29 +0000 (23:07 +0000)]
Merge "Remove "probably you" from password reset email information"

5 years agoMerge "Provide PHPUnit 4 and 6 compatibility layer"
jenkins-bot [Fri, 6 Apr 2018 23:04:48 +0000 (23:04 +0000)]
Merge "Provide PHPUnit 4 and 6 compatibility layer"

5 years agoinstaller: Fix setting a custom $wgMetaNamespace
Kunal Mehta [Fri, 6 Apr 2018 23:02:49 +0000 (16:02 -0700)]
installer: Fix setting a custom $wgMetaNamespace

`$textbox.removeProp('readonly')` has no effect and leaves the input
still as readonly, so instead use `$textbox.prop( 'readonly', false )`,
which does work.

Bug: T188415
Change-Id: I898c5605caf383cc992a948f14294193460f761b

5 years agoMerge "Don't rely on magic __call in MWNamespaceTest"
jenkins-bot [Fri, 6 Apr 2018 23:00:51 +0000 (23:00 +0000)]
Merge "Don't rely on magic __call in MWNamespaceTest"

5 years agoMerge "Fix --memory-limit option to maintenance scripts"
jenkins-bot [Fri, 6 Apr 2018 22:12:03 +0000 (22:12 +0000)]
Merge "Fix --memory-limit option to maintenance scripts"

5 years agoProvide PHPUnit 4 and 6 compatibility layer
Kunal Mehta [Fri, 2 Mar 2018 10:42:16 +0000 (02:42 -0800)]
Provide PHPUnit 4 and 6 compatibility layer

PHPUnit 6 removed some functions that were heavily used in version 4. To
be able to support both versions for a short time, we'll use a trait to
fill in the missing methods until we drop PHPUnit 4 support.

This trait is included in MediaWikiTestCase so most tests will be able
to benefit from it by default. Otherwise, anything that calls
setExpectedException() or getMock() will need to use it.

Change-Id: I707129e471e960e034e2aa994a467b9dc0239b69

5 years agoDon't rely on magic __call in MWNamespaceTest
Kunal Mehta [Fri, 6 Apr 2018 21:17:22 +0000 (14:17 -0700)]
Don't rely on magic __call in MWNamespaceTest

Change-Id: I32a7e7a55bc733f19d7c5ed1fbc6cfde748d4812

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 6 Apr 2018 19:53:35 +0000 (21:53 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: If0f967280101e28c85fbd85f290cc0ad219b94f7

5 years agoFix param doc of Skin::makeSpecialUrlSubpage
Umherirrender [Fri, 6 Apr 2018 18:55:34 +0000 (20:55 +0200)]
Fix param doc of Skin::makeSpecialUrlSubpage

The $urlaction is passed to Title::getLocalURL which allows also

Change-Id: I9594f37b704403ffa96f490b079c4008153e9fb8

5 years agoMerge "maintenance: Fix autopatrols typo in deleteAutoPatrolLogs"
jenkins-bot [Fri, 6 Apr 2018 18:25:38 +0000 (18:25 +0000)]
Merge "maintenance: Fix autopatrols typo in deleteAutoPatrolLogs"

5 years agomaintenance: Fix autopatrols typo in deleteAutoPatrolLogs
Timo Tijhof [Fri, 6 Apr 2018 17:38:14 +0000 (18:38 +0100)]
maintenance: Fix autopatrols typo in deleteAutoPatrolLogs

Follows-up e1a23c9aad.

Change-Id: I43c00b2ac884a80f779be9eead50ad3de6d13fc6

5 years agoMerge "rdbms: move assertOpen() call near the top of Database::query"
jenkins-bot [Fri, 6 Apr 2018 16:46:28 +0000 (16:46 +0000)]
Merge "rdbms: move assertOpen() call near the top of Database::query"

5 years agoMerge "Add missing "use" clause to DumpTestCase"
jenkins-bot [Fri, 6 Apr 2018 16:41:47 +0000 (16:41 +0000)]
Merge "Add missing "use" clause to DumpTestCase"

5 years agomediawiki.jqueryMsg: Rename .parser class to .Parser
Timo Tijhof [Fri, 6 Apr 2018 15:16:43 +0000 (16:16 +0100)]
mediawiki.jqueryMsg: Rename .parser class to .Parser

This class is marked @private, but nonetheless, there is at least
one use in MobileFrontend, so keeping a back-compat alias for now.

Also rename the HtmlEmitter utility class (also private, not used
anywhere outside this file), and fix its broken documentation by
repeating the @class and @private tags on its own constructor.
It previously had all its methods indexed by JSDuck as part of the
previous class in that file (Parser), which created doc pages
with examples that don't work.

Change-Id: I02d851d9b6eac89f1a2b85b438b982bd055bedee

5 years agoMerge "Revert "Default installations to using RemexHtml for tidying""
jenkins-bot [Fri, 6 Apr 2018 14:02:11 +0000 (14:02 +0000)]
Merge "Revert "Default installations to using RemexHtml for tidying""

5 years agoRevert "Default installations to using RemexHtml for tidying"
Addshore [Fri, 6 Apr 2018 10:47:47 +0000 (10:47 +0000)]
Revert "Default installations to using RemexHtml for tidying"

This reverts commit efcef34d3da74613b01a320873bc59e134748183.

This is causing failures in CI for extensions

Depends-On: If9789a61d52f60882fc2f0226757c9d93e1c6362
Change-Id: I17cf305a951b2bf1f03285b12c3e131abcffd31d

5 years agoSelenium: use default value for waitforTimeout
Željko Filipin [Fri, 6 Apr 2018 11:08:06 +0000 (13:08 +0200)]
Selenium: use default value for waitforTimeout

The default is 10000 (10 seconds). It was increased by mistake. 20000 is the value needed for mochaOpts timeout. There is no reason to have the double value for waitforTimeout.

Bug: T179190
Change-Id: I14f72367a36815d155cedc57757481f6294fdc51

5 years agoFix return type for html strings
Umherirrender [Fri, 6 Apr 2018 11:07:01 +0000 (13:07 +0200)]
Fix return type for html strings

Change-Id: Ifc1ae7740ad1b130186b4b970d3d84651b016177

5 years agoMerge "Default installations to using RemexHtml for tidying"
jenkins-bot [Fri, 6 Apr 2018 04:50:18 +0000 (04:50 +0000)]
Merge "Default installations to using RemexHtml for tidying"

5 years agoMerge "tests: Reset Postgres sequences when cloning and truncating"
jenkins-bot [Fri, 6 Apr 2018 00:35:43 +0000 (00:35 +0000)]
Merge "tests: Reset Postgres sequences when cloning and truncating"

5 years agoMerge "rdbms: Allow PostgreSQL schema-check functions to find temporary tables"
jenkins-bot [Fri, 6 Apr 2018 00:05:57 +0000 (00:05 +0000)]
Merge "rdbms: Allow PostgreSQL schema-check functions to find temporary tables"

5 years agotests: Reset Postgres sequences when cloning and truncating
Brad Jorsch [Sun, 18 Mar 2018 17:23:58 +0000 (13:23 -0400)]
tests: Reset Postgres sequences when cloning and truncating

This improves the repeatability of the unit tests by making the ID
values generated depend less on what previous tests might have done.

It also prevents tests from using up sequence numbers for the live DB's

Change-Id: Iaa8ae1e5cef4b9099bd1b4b8fc806f5af372a7ff

5 years agoMerge "Add DeleteUnknownPreferences hook"
jenkins-bot [Thu, 5 Apr 2018 22:55:30 +0000 (22:55 +0000)]
Merge "Add DeleteUnknownPreferences hook"

5 years agordbms: Allow PostgreSQL schema-check functions to find temporary tables
Brad Jorsch [Sun, 18 Mar 2018 03:13:43 +0000 (23:13 -0400)]
rdbms: Allow PostgreSQL schema-check functions to find temporary tables

PostgreSQL puts temporary tables and such in a hidden, per-connection
"schema" that's checked for unqualified table accesses before the normal
search_path. We should check that in all the schema-checking functions.

Change-Id: I1194ac31f31133b177f624138afee19d00e454b9

5 years agordbms: Add a deprecationLogger callback
Brad Jorsch [Thu, 5 Apr 2018 16:13:08 +0000 (12:13 -0400)]
rdbms: Add a deprecationLogger callback

Much like the existing errorLogger, but for logging deprecation

The default in the RDBMS layer is to call trigger_error() with
E_USER_DEPRECATED. The default in MediaWiki (via MWLBFactory) is to log
to the 'deprecated' log group, much like wfDeprecated() does, although
unfortunately we can't effectively use that directly since we have no
idea of a proper $callerOffset to pass.

Change-Id: Id13625e249516e84d72b6310953bb338a90976da

5 years agoUse IResultWrapper in UserArray and TitleArray
Umherirrender [Thu, 5 Apr 2018 22:06:35 +0000 (00:06 +0200)]
Use IResultWrapper in UserArray and TitleArray

The result of IDatabase::select is directly passed around and that type
is IResultWrapper

Change-Id: I7668fcac960bb83e834d849aaef5fe90e5bc115b

5 years agoMerge "rdbms: Remove support for PostgreSQL < 9.2, and improve INSERT IGNORE for...
jenkins-bot [Thu, 5 Apr 2018 21:33:26 +0000 (21:33 +0000)]
Merge "rdbms: Remove support for PostgreSQL < 9.2, and improve INSERT IGNORE for 9.5"

5 years agoMerge "rdbms: Roll back empty implicit transaction on error"
jenkins-bot [Thu, 5 Apr 2018 20:59:10 +0000 (20:59 +0000)]
Merge "rdbms: Roll back empty implicit transaction on error"

5 years agordbms: Remove support for PostgreSQL < 9.2, and improve INSERT IGNORE for 9.5
Brad Jorsch [Sun, 18 Mar 2018 00:29:31 +0000 (20:29 -0400)]
rdbms: Remove support for PostgreSQL < 9.2, and improve INSERT IGNORE for 9.5

MediaWiki doesn't support PostgreSQL < 9.2, so drop the support for
older versions.

At the same time, since we're messing with the DatabasePostgres::insert()
code anyway, let's start using ON CONFLICT DO NOTHING for PG >= 9.5.

And since we're doing that, let's do the same for

Change-Id: I7bf13c3272917ebafeaff11eb116714a099afdf3

5 years agordbms: move assertOpen() call near the top of Database::query
Aaron Schulz [Thu, 5 Apr 2018 20:49:55 +0000 (13:49 -0700)]
rdbms: move assertOpen() call near the top of Database::query

This should be done before bothering with begin() calls or setting
the value of fields like "trxDoneWrites" or "lastWriteTime".

Change-Id: Ieace2870f5496fcf230c5c8381baca4b8038db1d

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 5 Apr 2018 20:02:00 +0000 (22:02 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Id32906c9e0becbdec14faf77335f79ab4cd06b84

5 years agordbms: Roll back empty implicit transaction on error
Brad Jorsch [Thu, 5 Apr 2018 18:16:03 +0000 (14:16 -0400)]
rdbms: Roll back empty implicit transaction on error

If we're not going to set trxStatus to an error state in this case, we
need to issue a rollback to be sure the database (i.e. PostgreSQL) isn't
still in an error state too.

Bug: T189999
Change-Id: Id6e203b216fff937b6a97d779b36c278e3366409

5 years agoMerge "Fix SamplingStatsdClient for PHP 7.1+"
jenkins-bot [Thu, 5 Apr 2018 18:10:06 +0000 (18:10 +0000)]
Merge "Fix SamplingStatsdClient for PHP 7.1+"

5 years agoDefault installations to using RemexHtml for tidying
James D. Forrester [Wed, 4 Apr 2018 17:18:56 +0000 (10:18 -0700)]
Default installations to using RemexHtml for tidying

This combines two changes – defaulting tidying to on, previously off, and
defaulting the tidying library to RemexHtml, previously the tidy binary.
Config options are going to be a bit of a mess until we drop support for
the old tidy binary config route.

Bug: T185753
Depends-On: I0a8973f508fbf65160177b003260831639828eea
Change-Id: I6879a77a78d780c7c056d807dde20682c6097d1a

5 years agoMerge "mw.special.apisandbox: Use a real button to insert values in multi fields"
jenkins-bot [Thu, 5 Apr 2018 15:51:49 +0000 (15:51 +0000)]
Merge "mw.special.apisandbox: Use a real button to insert values in multi fields"

5 years agoMerge "rdbms: make Database query error handling more strict"
jenkins-bot [Thu, 5 Apr 2018 15:29:20 +0000 (15:29 +0000)]
Merge "rdbms: make Database query error handling more strict"

5 years agomw.special.apisandbox: Use a real button to insert values in multi fields
Bartosz Dziewoński [Thu, 9 Mar 2017 16:06:08 +0000 (17:06 +0100)]
mw.special.apisandbox: Use a real button to insert values in multi fields

Stuffing an indicator inside a normal widget is weird.

Also, always add it, even when we also handle Enter presses on the input.

Change-Id: I7191b4f31bfe4b42a524c786994150f318fd8cd9

5 years agoMerge "Swap isset by null check in ApiSetNotificationTimestamp/ApiPurge"
jenkins-bot [Thu, 5 Apr 2018 14:06:28 +0000 (14:06 +0000)]
Merge "Swap isset by null check in ApiSetNotificationTimestamp/ApiPurge"

5 years agoMerge "Change default of $wgLogAutopatrol from true to false"
jenkins-bot [Thu, 5 Apr 2018 13:45:48 +0000 (13:45 +0000)]
Merge "Change default of $wgLogAutopatrol from true to false"

5 years agoMerge "SizeFilterWidget: Reduce width"
jenkins-bot [Thu, 5 Apr 2018 12:09:43 +0000 (12:09 +0000)]
Merge "SizeFilterWidget: Reduce width"

5 years agoChange default of $wgLogAutopatrol from true to false
kaldari [Tue, 9 Jan 2018 08:15:14 +0000 (00:15 -0800)]
Change default of $wgLogAutopatrol from true to false

"$wgLogAutopatrol = true" basically just spams the logging table
and isn't useful in most cases (or ever?)

Bug: T184485
Change-Id: I418cc2fcc7017e5d2cbc0c6159b4c459b9c77ac7

5 years agoSwap isset by null check in ApiSetNotificationTimestamp/ApiPurge
Umherirrender [Thu, 5 Apr 2018 10:39:24 +0000 (12:39 +0200)]
Swap isset by null check in ApiSetNotificationTimestamp/ApiPurge

Change-Id: I1ebcbacf476a716d23b183dcbf379555ee1519dd

5 years agoFix SamplingStatsdClient for PHP 7.1+
Gergő Tisza [Thu, 5 Apr 2018 09:48:07 +0000 (11:48 +0200)]
Fix SamplingStatsdClient for PHP 7.1+

Bug: T182380
Change-Id: I74a8aef1230c56d0c6a7856f8397e657fc6d1c40

5 years agoApi requests can throw a ApiUsageException, and that should be expected
addshore [Fri, 23 Mar 2018 11:33:10 +0000 (11:33 +0000)]
Api requests can throw a ApiUsageException, and that should be expected

Change-Id: I4aa6e7511747c0d811e2e617b88e681a6eda875d

5 years agoAdd missing "use" clause to DumpTestCase
Aaron Schulz [Thu, 5 Apr 2018 04:46:55 +0000 (21:46 -0700)]
Add missing "use" clause to DumpTestCase

Change-Id: I0420e95003509634a87b98df279242cdc05843b2

5 years agordbms: make Database query error handling more strict
Aaron Schulz [Fri, 23 Mar 2018 09:57:21 +0000 (02:57 -0700)]
rdbms: make Database query error handling more strict

Handle all errors in query() that might have caused rollback by
putting the Database handle into an error state that can only be
resolved by cancelAtomic() or rollback(). Other queries will be
rejected until then.

This results in more immediate exceptions in some cases where
atomic section mismatch errors would have been thrown, such as a
an error bubbling up from a child atomic section. Most cases were
a try/catch block assumes that only the statement was rolled back
now result in an error and rollback.

Callers using try/catch to handle key conflicts should instead use
SELECT FOR UPDATE to find conflicts beforehand, or use IGNORE, or
the upsert()/replace() methods. The try/catch pattern is unsafe and
no longer allowed, except for some common errors known to just
rollback the statement. Even then, such statements can come from
child atomic sections, so committing would be unsafe. Luckily, in
such cases, there will be a mismatch detected on endAtomic() or a
dangling section detected in close(), resulting in rollback.

Remove caching from DatabaseMyslBase::getServerVariableSettings
in case some SET query changes the values.

Bug: T189999
Change-Id: I532bc5201681a915d0c8aa7a3b1c143b040b142e

5 years agoMerge "User: Remove deprecated, unused auth functions"
jenkins-bot [Wed, 4 Apr 2018 23:10:03 +0000 (23:10 +0000)]
Merge "User: Remove deprecated, unused auth functions"

5 years agoUser: Remove deprecated, unused auth functions
Florian Schmidt [Fri, 30 Mar 2018 21:17:48 +0000 (23:17 +0200)]
User: Remove deprecated, unused auth functions

According to a github search they're not used anywhere anymore and
already deprecated since 1.27:


Change-Id: I904e46e7343baee28dc960f8fd5437ae9d17fc4b

5 years agoMerge "CSSMin: Don't match empty string as remappable url"
jenkins-bot [Wed, 4 Apr 2018 22:53:59 +0000 (22:53 +0000)]
Merge "CSSMin: Don't match empty string as remappable url"

5 years agoMerge "Convert HTTP links to MediaWiki.org to HTTPS"
jenkins-bot [Wed, 4 Apr 2018 22:53:15 +0000 (22:53 +0000)]
Merge "Convert HTTP links to MediaWiki.org to HTTPS"

5 years agoMerge "rdbms: rename and clarify getTransactionLagStatus method regarding begin()"
jenkins-bot [Wed, 4 Apr 2018 21:36:36 +0000 (21:36 +0000)]
Merge "rdbms: rename and clarify getTransactionLagStatus method regarding begin()"

5 years agoCSSMin: Don't match empty string as remappable url
Timo Tijhof [Wed, 4 Apr 2018 20:07:33 +0000 (21:07 +0100)]
CSSMin: Don't match empty string as remappable url

The empty string being matched causes an undefined array index
notice in production, seen from various random gadgets, but spiked
after a change in MonoBook from last week that introduced a
broken background-image rule with empty string as url.

In browsers, that is actually interpreted as valid and "expands"
to the current url and re-fetches as Accept:image/*, silly, but
still broken. The broken icon was fixed in MonoBook, but we still
need to avoid trying to remap empty string as url.

Two changes:

1. Fix regex used by remap() to not match empty string.
   This was already fixed for the 'url()' case without the
   optional quotes, but with quotes, it was being matched as
   non-empty. This is now fixed by using '+' instead of '*'.
   Added tests to confirm they produce output, and PHPUnit
   is configured to also assert no Notices are emitted (which
   it converts to fatal exceptions).

2. Fix processUrlMatch() as sanity check to throw if the key
   is missing.

Bug: T191237
Change-Id: I0ada337b0b4ab73c80236367ff79c31bcd13aa7d

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 4 Apr 2018 20:12:20 +0000 (22:12 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I56c13502176ea25a03148afc4f2256079e76dc82

5 years agoMerge "Change index on rc_namespace, rc_title to rc_namespace, rc_title, rc_timestamp"
jenkins-bot [Wed, 4 Apr 2018 19:45:46 +0000 (19:45 +0000)]
Merge "Change index on rc_namespace, rc_title to rc_namespace, rc_title, rc_timestamp"

5 years agoMerge "Fix parsing of <pre> tags generated by extension tag hooks"
jenkins-bot [Wed, 4 Apr 2018 19:36:31 +0000 (19:36 +0000)]
Merge "Fix parsing of <pre> tags generated by extension tag hooks"

5 years agoMerge "Revert "Work around Firefox 57 attribute parsing regression""
jenkins-bot [Wed, 4 Apr 2018 19:28:49 +0000 (19:28 +0000)]
Merge "Revert "Work around Firefox 57 attribute parsing regression""

5 years agoMerge "Special:Preference: Check for changes before enabling Save button"
jenkins-bot [Wed, 4 Apr 2018 19:04:14 +0000 (19:04 +0000)]
Merge "Special:Preference: Check for changes before enabling Save button"

5 years agoConvert HTTP links to MediaWiki.org to HTTPS
Zoranzoki21 [Sun, 18 Mar 2018 12:58:15 +0000 (12:58 +0000)]
Convert HTTP links to MediaWiki.org to HTTPS

Bug: T189687
Change-Id: I846d3a74f617b98c8237f2a8babef85c6c128b14

5 years agoMerge "Update OOUI to v0.26.2"
jenkins-bot [Wed, 4 Apr 2018 18:17:05 +0000 (18:17 +0000)]
Merge "Update OOUI to v0.26.2"

5 years agoUpdate OOUI to v0.26.2
Volker E [Wed, 4 Apr 2018 17:55:02 +0000 (10:55 -0700)]
Update OOUI to v0.26.2

Release notes:

Depends-On: If570668a7fa615b2ffc3474ce5a161515af05f3b
Change-Id: I0131533e91fc0e308f90aea2555ead07740b093d

5 years agoMerge "Use fallback languages in ResourceLoaderImage"
jenkins-bot [Wed, 4 Apr 2018 17:57:17 +0000 (17:57 +0000)]
Merge "Use fallback languages in ResourceLoaderImage"

5 years agoMerge "rdbms: clean up DBO_TRX behavior for onTransaction* callbacks"
jenkins-bot [Wed, 4 Apr 2018 16:18:14 +0000 (16:18 +0000)]
Merge "rdbms: clean up DBO_TRX behavior for onTransaction* callbacks"

5 years agoMerge "Special:ProtectedTitles: Use HTMLForm"
jenkins-bot [Wed, 4 Apr 2018 16:15:21 +0000 (16:15 +0000)]
Merge "Special:ProtectedTitles: Use HTMLForm"

5 years agoMerge "Use new API for descriptions in TitleWidget"
jenkins-bot [Wed, 4 Apr 2018 16:05:39 +0000 (16:05 +0000)]
Merge "Use new API for descriptions in TitleWidget"

5 years agoMerge "Remove outdated comment for .background-image-svg"
jenkins-bot [Wed, 4 Apr 2018 15:39:22 +0000 (15:39 +0000)]
Merge "Remove outdated comment for .background-image-svg"

5 years agoMerge "RCFilters: Followup Iebc3176c5d: Bidi isolate filter tags"
jenkins-bot [Wed, 4 Apr 2018 15:34:13 +0000 (15:34 +0000)]
Merge "RCFilters: Followup Iebc3176c5d: Bidi isolate filter tags"

5 years agoUse new API for descriptions in TitleWidget
Ed Sanders [Wed, 4 Apr 2018 14:47:31 +0000 (15:47 +0100)]
Use new API for descriptions in TitleWidget

Bug: T191333
Change-Id: I5682f2fe3000d61c3760d22e9a567c762cf36710

5 years agoRemove outdated comment for .background-image-svg
Niklas Laxström [Wed, 4 Apr 2018 14:29:58 +0000 (16:29 +0200)]
Remove outdated comment for .background-image-svg

Since we dropped prefixed versions, we are no longer embedding
multiple times.

Change-Id: I58ad6f732289253c22cf12c74e340cd81c26e943

5 years agoMerge "Convert Maintenance to the new shell framework"
jenkins-bot [Wed, 4 Apr 2018 14:16:48 +0000 (14:16 +0000)]
Merge "Convert Maintenance to the new shell framework"

5 years agoMerge "Switch Installer to the new execution framework"
jenkins-bot [Wed, 4 Apr 2018 14:09:59 +0000 (14:09 +0000)]
Merge "Switch Installer to the new execution framework"

5 years agoMerge "Switch ServiceWiring to the new execution framework"
jenkins-bot [Wed, 4 Apr 2018 14:09:33 +0000 (14:09 +0000)]
Merge "Switch ServiceWiring to the new execution framework"

5 years agoConvert Maintenance to the new shell framework
Max Semenik [Thu, 18 Jan 2018 02:24:34 +0000 (18:24 -0800)]
Convert Maintenance to the new shell framework

Change-Id: Ibec8a84071fdf061f9831b2964143d99464cd4cc

5 years agoSwitch Installer to the new execution framework
Max Semenik [Wed, 25 Oct 2017 02:07:05 +0000 (19:07 -0700)]
Switch Installer to the new execution framework

Change-Id: Id04ba0751ff94e9614852e351377405f65b6ea1c

5 years agoSwitch ServiceWiring to the new execution framework
Max Semenik [Wed, 25 Oct 2017 01:51:45 +0000 (18:51 -0700)]
Switch ServiceWiring to the new execution framework

To test:

$wgMimeDetectorCommand = 'file -bi';
$services = \MediaWiki\MediaWikiServices::getInstance();
echo $services->getMimeAnalyzer()->guessMimeType('/vagrant/mediawiki/README');

Change-Id: Iaf124901c68292736e5588636f5ec746147f6a54

5 years agoChange ResultWrapper to IResultWrapper in pagers and special pages
Umherirrender [Wed, 4 Apr 2018 12:52:10 +0000 (14:52 +0200)]
Change ResultWrapper to IResultWrapper in pagers and special pages

There is no need for a specific type, the interface implementation is

Change-Id: I22ec4d3a9a19fc86efc9a2deb06f810695d38c85

5 years agoRCFilters: Followup Iebc3176c5d: Bidi isolate filter tags
Moriel Schottlender [Thu, 29 Mar 2018 19:46:09 +0000 (22:46 +0300)]
RCFilters: Followup Iebc3176c5d: Bidi isolate filter tags

Bug: T190718
Change-Id: I8e556624ddbc4e824a3fb9724f6fb721c18d2e85

5 years agoLet install.php detect and inject extensions [2]
Antoine Musso [Tue, 13 Mar 2018 09:16:15 +0000 (10:16 +0100)]
Let install.php detect and inject extensions [2]

For CI, I went with a dirty trick to find extensions and either
wfLoadExtension() or include them. That has since been ported to
Installer::findExtensions() and LocalSettingsGenerator::getText().

The WebInstaller() relies on that to detect extensions and let the user
tick the ones to be installed.

Add --with-extensions to install.php so one can include all extensions
from the command line.

Note: The CliInstaller always wfLoad() any skin it can find.

The original patch 53926d9d was broken and got reverted. This is the
proper one.

Bug: T189567
Change-Id: I41820fce12e01224d64ab711e016835ef4d4febc