lhc/web/wiklou.git
8 years agoMerge "Allow easy suppression of multiple deleted revs"
jenkins-bot [Tue, 9 Feb 2016 03:23:43 +0000 (03:23 +0000)]
Merge "Allow easy suppression of multiple deleted revs"

8 years agoAllow easy suppression of multiple deleted revs
Luke Faraone [Sun, 13 Dec 2015 20:50:17 +0000 (20:50 +0000)]
Allow easy suppression of multiple deleted revs

Add checkboxes to revisisons on Special:Undelete, with an accompanying button
to submit the form.

Handle the form submission and redirect to the appropriate
Special:RevisionDelete page.

Bug: T22189
Co-Authored-By: Rohan <rohan1395@yahoo.com>
Change-Id: I2a0a53c3b5ae2145472e4b5a3d3cf61bd3cf4f28

8 years agoAdd release notes and installer support for $wgAuthenticationTokenVersion
Brad Jorsch [Fri, 5 Feb 2016 18:47:51 +0000 (13:47 -0500)]
Add release notes and installer support for $wgAuthenticationTokenVersion

Change-Id: I092a0052b2ab50310cd8ca403d6b2f201b482d5b

8 years agoMerge "Convert page modification to using startAtomic()/endAtomic()"
jenkins-bot [Tue, 9 Feb 2016 01:06:15 +0000 (01:06 +0000)]
Merge "Convert page modification to using startAtomic()/endAtomic()"

8 years agoMerge "OutputPage: Don't get a ParserOptions for $wgUser before the end of Setup...
jenkins-bot [Tue, 9 Feb 2016 00:51:44 +0000 (00:51 +0000)]
Merge "OutputPage: Don't get a ParserOptions for $wgUser before the end of Setup.php"

8 years agoMerge "Move EditPage robot policy out into EditAction"
jenkins-bot [Tue, 9 Feb 2016 00:28:06 +0000 (00:28 +0000)]
Merge "Move EditPage robot policy out into EditAction"

8 years agoConvert page modification to using startAtomic()/endAtomic()
Aaron Schulz [Sun, 13 Dec 2015 12:18:56 +0000 (04:18 -0800)]
Convert page modification to using startAtomic()/endAtomic()

A few semantic changes result from this:
* If multiple pages are edited in a request, the updates happen
  in the same order relative to each other, but all in one second
  step instead of after each page edit.
* If the same page is edited twice in a request, the WikiPage hook
  argument will reflect the last request edit, not always the edit
  that fired the hook.

Bug: T120718
Change-Id: I9429f29e5a90f24e4d7af5797a80e63a9cc34146

8 years agoMerge "Implement action=mergehistory"
jenkins-bot [Mon, 8 Feb 2016 23:30:32 +0000 (23:30 +0000)]
Merge "Implement action=mergehistory"

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 8 Feb 2016 20:58:30 +0000 (21:58 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I228c0b58c9b9df6849c3c70eb1a39e402f679bca

8 years agoUse stub threshold from ParserOptions when parsing
Brad Jorsch [Wed, 3 Feb 2016 18:30:54 +0000 (13:30 -0500)]
Use stub threshold from ParserOptions when parsing

Linker::linkAttribs() needs the stub threshold to determine the classes
in some cases. For the code path from Parser → LinkHolderArray → Linker,
we can pass down the correct threshold from ParserOptions instead of
pulling a potentially-different threshold from $wgUser.

Bug: T124367
Change-Id: I16b9d6c3044ae60d5a7fd340569c019ffc4b2a55

8 years agoOutputPage: Don't get a ParserOptions for $wgUser before the end of Setup.php
Brad Jorsch [Wed, 3 Feb 2016 20:18:52 +0000 (15:18 -0500)]
OutputPage: Don't get a ParserOptions for $wgUser before the end of Setup.php

Until Setup.php completes, we can't access the "current" user and
trying to do so logs a warning. So don't try.

Bug: T124367
Change-Id: I1acc82760c368a24448f3c90e268b24414e43a30

8 years agoMerge "Update session log messages"
jenkins-bot [Mon, 8 Feb 2016 16:02:45 +0000 (16:02 +0000)]
Merge "Update session log messages"

8 years agoMerge "Revert "TableSorter: Avoid FOUC and preserve styling in VisualEditor""
jenkins-bot [Mon, 8 Feb 2016 15:28:30 +0000 (15:28 +0000)]
Merge "Revert "TableSorter: Avoid FOUC and preserve styling in VisualEditor""

8 years agoMerge "Use class for toggle links on Special:Log"
jenkins-bot [Mon, 8 Feb 2016 13:24:34 +0000 (13:24 +0000)]
Merge "Use class for toggle links on Special:Log"

8 years agoRevert "TableSorter: Avoid FOUC and preserve styling in VisualEditor"
Bartosz Dziewoński [Mon, 8 Feb 2016 12:57:47 +0000 (12:57 +0000)]
Revert "TableSorter: Avoid FOUC and preserve styling in VisualEditor"

That was, unfortunately, way too optimistic. The logic for
choosing header cells that are used for sorting is a lot more
complicated than current CSS selectors can express.

This reverts commit 9e363d0e8a12f4fc205de08958622d6e8e250c81.

Bug: T126007
Change-Id: I7c08e06a4f61d69b6858958218d9a6233aee18de

8 years agoMerge "Allow callbacks to be passed to $wgContentHandlers"
jenkins-bot [Mon, 8 Feb 2016 09:11:21 +0000 (09:11 +0000)]
Merge "Allow callbacks to be passed to $wgContentHandlers"

8 years agoMerge "Output PHP version before running PHPUnit tests"
jenkins-bot [Mon, 8 Feb 2016 02:09:34 +0000 (02:09 +0000)]
Merge "Output PHP version before running PHPUnit tests"

8 years agoOutput PHP version before running PHPUnit tests
Kunal Mehta [Mon, 8 Feb 2016 01:24:52 +0000 (17:24 -0800)]
Output PHP version before running PHPUnit tests

For sanity checking CI changes, as well as to match the PHPUnit
version output.

Change-Id: Ib807f8650992adada97226cd96282484392f71e8

8 years agoMerge "Introduce User::INVALID_TOKEN"
jenkins-bot [Mon, 8 Feb 2016 00:55:04 +0000 (00:55 +0000)]
Merge "Introduce User::INVALID_TOKEN"

8 years agoMerge "Use semver for wgVersion alpha versions"
jenkins-bot [Mon, 8 Feb 2016 00:51:05 +0000 (00:51 +0000)]
Merge "Use semver for wgVersion alpha versions"

8 years agoMerge "Remove duplicate array keys from tests"
jenkins-bot [Mon, 8 Feb 2016 00:51:01 +0000 (00:51 +0000)]
Merge "Remove duplicate array keys from tests"

8 years agoMerge "Add $wgVersion to MediaWiki\Logger\Monolog\WikiProcessor"
jenkins-bot [Sun, 7 Feb 2016 23:13:07 +0000 (23:13 +0000)]
Merge "Add $wgVersion to MediaWiki\Logger\Monolog\WikiProcessor"

8 years agoAdd $wgVersion to MediaWiki\Logger\Monolog\WikiProcessor
Bryan Davis [Sun, 7 Feb 2016 21:04:55 +0000 (14:04 -0700)]
Add $wgVersion to MediaWiki\Logger\Monolog\WikiProcessor

Add a 'mwversion' value to log events processed by WikiProcessor to help
with classifying log events emitted by a wiki farm running mixed
versions of MediaWiki.

Bug: T125707
Change-Id: I5f5dfd051ebf251bec0d6e6a83a15e81f59540f3

8 years agoRemove duplicate array keys from tests
Reedy [Sun, 7 Feb 2016 21:22:53 +0000 (21:22 +0000)]
Remove duplicate array keys from tests

Change-Id: I437b87151be6589a8d5c984b90cd249c2d0ecd3c

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 7 Feb 2016 20:56:26 +0000 (21:56 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ib6ae0a764d9e8f7e4e49c66bf79aa55a6b1d234e

8 years agoMove EditPage robot policy out into EditAction
Alex Monk [Fri, 5 Feb 2016 02:17:43 +0000 (02:17 +0000)]
Move EditPage robot policy out into EditAction

So that it's default even when CustomEditor is used

Bug: T126145
Change-Id: If49d1dc39fb6ad9a2a0fa507ea9a0ccdc1088c59

8 years agoUpdate session log messages
Bryan Davis [Tue, 2 Feb 2016 16:37:27 +0000 (09:37 -0700)]
Update session log messages

* Use PSR-3 templates and context where applicable
* Add log coverage for exceptional events

Bug: T125452
Change-Id: I8f96fa1c5766c739a21219abcae2dbb76de53e2a

8 years agoExpand documentation of User::isSafeToLoad
Gergő Tisza [Sat, 6 Feb 2016 21:04:34 +0000 (13:04 -0800)]
Expand documentation of User::isSafeToLoad

Change-Id: I7f018b7f7219e7a17a3059b3ec9cbdf1c2c1e043

8 years agoUse class for toggle links on Special:Log
umherirrender [Sat, 6 Feb 2016 21:01:08 +0000 (22:01 +0100)]
Use class for toggle links on Special:Log

The toogle links All, None, Invert on Special:Log are shown at top and
at bottom, but using the same id, which make the page invalid and the
second link not working. Change to class.

Follow up: I92141a7079fc7fcd7152ef418d82f4f7969b163b
Change-Id: I1107b320efe5d3b63ea091ea986e35158d24c098

8 years agoUpdate oyejorge/less.php to 1.7.0.10
Paladox [Sat, 6 Feb 2016 18:14:16 +0000 (18:14 +0000)]
Update oyejorge/less.php to 1.7.0.10

Depends-On: Ifeec0870df1e0504be795dfb32be5ecd795325d5

Change-Id: Ibf17232bb51563360ff47b42d4c0f9cb0d5f8b18

8 years agoUse semver for wgVersion alpha versions
Florian [Sat, 6 Feb 2016 17:07:08 +0000 (18:07 +0100)]
Use semver for wgVersion alpha versions

Currently, the "alpha version" of MediaWiki is the only version, that doesn't
follow semantic versioning (1.27alpha), wmf branches are named according to the
sember convention (e.g. 1.27.0-wmf.1) and releases, too (e.g. 1.26.0). Change the
alpha version naming to follow semver, too:

1.27alpha -> 1.27.0-alpha

Change-Id: I026825c688e2eaed104ed2d0ec206b5a897a3527

8 years agoImplement action=mergehistory
Geoffrey Mon [Wed, 30 Dec 2015 04:53:34 +0000 (23:53 -0500)]
Implement action=mergehistory

* New class ApiMergeHistory handles action=mergehistory
* Merge History functionality moved from SpecialMergeHistory to
  MergeHistory
* SpecialMergeHistory now uses MergeHistory for actual merging
* Unit tests and i18n messages for above

Bug: T69742
Change-Id: Ic5078307dae78a2b3687e34a5d0a584988d483a1

8 years agoSpecial:Version: Use addModuleStyles to load mediawiki.special.version
Glaisher [Sat, 6 Feb 2016 12:33:43 +0000 (17:33 +0500)]
Special:Version: Use addModuleStyles to load mediawiki.special.version

Currently, there is a brief delay before the stylesheet is loaded so
use addModuleStyles as this is a stylesheet only module.

Change-Id: I6adfeae88dddeab427928ef800152a4e1353cbe5

8 years agoAllow callbacks to be passed to $wgContentHandlers
Bene [Fri, 5 Feb 2016 13:40:39 +0000 (14:40 +0100)]
Allow callbacks to be passed to $wgContentHandlers

Change-Id: Icf980313a6e7fcc83f5183c450b0a824353596b8

8 years agoMerge "Add $wgRateLimits types ip-all and subnet-all"
jenkins-bot [Fri, 5 Feb 2016 20:52:05 +0000 (20:52 +0000)]
Merge "Add $wgRateLimits types ip-all and subnet-all"

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 5 Feb 2016 20:28:39 +0000 (21:28 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I833de3a05f11dedaead4ace0757e37abc5d34351

8 years agoMerge "Add Special:UserLogin/signup to search suggestions"
jenkins-bot [Fri, 5 Feb 2016 16:46:30 +0000 (16:46 +0000)]
Merge "Add Special:UserLogin/signup to search suggestions"

8 years agoAdd Special:UserLogin/signup to search suggestions
Alex Monk [Fri, 5 Feb 2016 15:15:23 +0000 (15:15 +0000)]
Add Special:UserLogin/signup to search suggestions

Change-Id: I8aa1c7526f5c8d4c80b2cc649b39a30c1da3946a

8 years agoMerge "mediawiki.api.parse: Use formatversion=2 for API requests"
jenkins-bot [Fri, 5 Feb 2016 11:44:16 +0000 (11:44 +0000)]
Merge "mediawiki.api.parse: Use formatversion=2 for API requests"

8 years agoMerge "mediawiki.userSuggest: Use formatversion=2 for API request"
jenkins-bot [Fri, 5 Feb 2016 11:28:18 +0000 (11:28 +0000)]
Merge "mediawiki.userSuggest: Use formatversion=2 for API request"

8 years agoMerge "mw.loader: Guard localStorage access with try/catch in mw.store.clear()"
jenkins-bot [Fri, 5 Feb 2016 00:04:30 +0000 (00:04 +0000)]
Merge "mw.loader: Guard localStorage access with try/catch in mw.store.clear()"

8 years agomw.loader: Guard localStorage access with try/catch in mw.store.clear()
Bryan Davis [Thu, 4 Feb 2016 16:19:25 +0000 (09:19 -0700)]
mw.loader: Guard localStorage access with try/catch in mw.store.clear()

We use try/catch appropriately in other places but it was missing
in mw.store.clear().

If the user agent has localStorage disabled an exception will be thrown
for any operation that touches the object.

Change-Id: Idcd0e4c8ba9b0843b2ddcad0ae1781e4915e04fe

8 years agoMerge "mediawiki.jqueryMsg.test: Call async() before each async test step"
jenkins-bot [Thu, 4 Feb 2016 23:06:11 +0000 (23:06 +0000)]
Merge "mediawiki.jqueryMsg.test: Call async() before each async test step"

8 years agoMerge "Add logic for "tags" in ApiBase"
jenkins-bot [Thu, 4 Feb 2016 22:01:33 +0000 (22:01 +0000)]
Merge "Add logic for "tags" in ApiBase"

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 4 Feb 2016 20:57:23 +0000 (21:57 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ic35ee8090408696e1b609bae1289aa0036462333

8 years agoMerge "ForeignAPIRepo: Remove incorrect 'thumbnail' from $imageInfoProps"
jenkins-bot [Thu, 4 Feb 2016 20:50:07 +0000 (20:50 +0000)]
Merge "ForeignAPIRepo: Remove incorrect 'thumbnail' from $imageInfoProps"

8 years agoAdd logic for "tags" in ApiBase
victorbarbu [Wed, 20 Jan 2016 09:51:01 +0000 (11:51 +0200)]
Add logic for "tags" in ApiBase

Bug: T97720
Change-Id: I275c516b4744e243333ec0818d2be1e5508e54a3

8 years agomediawiki.jqueryMsg.test: Call async() before each async test step
Thiemo Mättig [Thu, 4 Feb 2016 17:52:58 +0000 (18:52 +0100)]
mediawiki.jqueryMsg.test: Call async() before each async test step

Previously, this code ran into the problem that the timeout for dozens of
API requests was hit and the test failed.
The timeout now starts within each individual step.

Bug: T125484
Change-Id: Ia7874ccafadf93986278a241d9d308be0bc99493

8 years agoMerge "Page is an interface not a class"
jenkins-bot [Thu, 4 Feb 2016 19:24:54 +0000 (19:24 +0000)]
Merge "Page is an interface not a class"

8 years agoMerge "Pass function to Database::selectField in SpecialActiveusers.php"
jenkins-bot [Thu, 4 Feb 2016 19:24:50 +0000 (19:24 +0000)]
Merge "Pass function to Database::selectField in SpecialActiveusers.php"

8 years agoMerge "qunit: Increase individual test timeout to 60 seconds"
jenkins-bot [Thu, 4 Feb 2016 18:15:55 +0000 (18:15 +0000)]
Merge "qunit: Increase individual test timeout to 60 seconds"

8 years agoqunit: Increase individual test timeout to 60 seconds
Jan Zerebecki [Thu, 4 Feb 2016 10:35:02 +0000 (11:35 +0100)]
qunit: Increase individual test timeout to 60 seconds

Bug: T125484
Change-Id: If4147d678fdef168d79bc2b4d0c606b8c82dc6af

8 years agoForeignAPIRepo: Remove incorrect 'thumbnail' from $imageInfoProps
Bartosz Dziewoński [Thu, 4 Feb 2016 17:14:05 +0000 (18:14 +0100)]
ForeignAPIRepo: Remove incorrect 'thumbnail' from $imageInfoProps

'thumbnail' doesn't seem to have ever been a valid 'iiprop' value.
It's currently causing harmless warnings on every InstantCommons request.
Added in 8d1fa96578e8570a08a0cb5f7e2945f09819fbfb for unknown reasons.

Change-Id: I6286ce3ac07207c0dcfc1171084cb358b3fcecda

8 years agoMerge "Avoid unstubbing $wgUser before the end of Setup.php in User::getBlockedStatus()"
jenkins-bot [Thu, 4 Feb 2016 16:42:07 +0000 (16:42 +0000)]
Merge "Avoid unstubbing $wgUser before the end of Setup.php in User::getBlockedStatus()"

8 years agoMerge "When serializing Message, don't try to unstub StubUserLang"
jenkins-bot [Thu, 4 Feb 2016 16:29:28 +0000 (16:29 +0000)]
Merge "When serializing Message, don't try to unstub StubUserLang"

8 years agoMerge "Disable automatic cache headers associated with starting a session"
jenkins-bot [Thu, 4 Feb 2016 16:29:20 +0000 (16:29 +0000)]
Merge "Disable automatic cache headers associated with starting a session"

8 years agoBitmapHandler: Implement validateParam()
Bartosz Dziewoński [Thu, 4 Feb 2016 16:01:44 +0000 (17:01 +0100)]
BitmapHandler: Implement validateParam()

Follow-up to 695a93dd3353678ae4a9038528a33a1ac03eba38.

Bug: T125804
Change-Id: Ifde40bb5d7c60dd19727f5e47041a6e676f7e3c8

8 years agoMerge "[debug] Remove BC code from AvroFormatter"
jenkins-bot [Thu, 4 Feb 2016 13:17:31 +0000 (13:17 +0000)]
Merge "[debug] Remove BC code from AvroFormatter"

8 years agoMerge "Split ImagePage.php into separate classes"
jenkins-bot [Thu, 4 Feb 2016 11:48:37 +0000 (11:48 +0000)]
Merge "Split ImagePage.php into separate classes"

8 years agoSplit ImagePage.php into separate classes
Thomas Arrow [Wed, 3 Feb 2016 12:26:01 +0000 (12:26 +0000)]
Split ImagePage.php into separate classes

Change-Id: Id2ca94c50b75d24da4d02fe82747a7ce7edccd9f

8 years agoMerge "Add User::isSafeToLoad() and ParserOptions::newFromAnon()"
jenkins-bot [Thu, 4 Feb 2016 06:08:07 +0000 (06:08 +0000)]
Merge "Add User::isSafeToLoad() and ParserOptions::newFromAnon()"

8 years agoMerge "Include completion search into SearchEngine"
jenkins-bot [Thu, 4 Feb 2016 02:09:46 +0000 (02:09 +0000)]
Merge "Include completion search into SearchEngine"

8 years agoMerge "Change bug ID to Phabricator task ID"
jenkins-bot [Thu, 4 Feb 2016 01:28:01 +0000 (01:28 +0000)]
Merge "Change bug ID to Phabricator task ID"

8 years agoChange bug ID to Phabricator task ID
wctaiwan [Thu, 4 Feb 2016 01:13:10 +0000 (20:13 -0500)]
Change bug ID to Phabricator task ID

Change-Id: I8e1fc6ed9434a331eb7c66273305576eebed3125

8 years agoMerge "Revert "Preprocessor: Don't allow unclosed extension tags (matching until...
Bartosz Dziewoński [Thu, 4 Feb 2016 01:10:58 +0000 (01:10 +0000)]
Merge "Revert "Preprocessor: Don't allow unclosed extension tags (matching until end of input)""

8 years agoRevert "Preprocessor: Don't allow unclosed extension tags (matching until end of...
Legoktm [Thu, 4 Feb 2016 00:38:35 +0000 (00:38 +0000)]
Revert "Preprocessor: Don't allow unclosed extension tags (matching until end of input)"

This reverts commit f51d0d9a819f8f1c181350ced2f015ce97985fcc.

Breaks templates with non-closed </noinclude> tags, which
were previously acceptable.

Bug: T125754
Change-Id: I8bafb15eefac4e1d3e727c1c84782636d8b82c2b

8 years agoInclude completion search into SearchEngine
Stanislav Malyshev [Tue, 26 Jan 2016 21:18:27 +0000 (13:18 -0800)]
Include completion search into SearchEngine

By default it still uses PrefixSearch and supports PrefixSearchBackend
but it can be deprecated and phased out and SearchEngine extensions used
instead.

New APIs:
- SearchEngine
public function defaultPrefixSearch( $search );
public function completionSearch( $search );
public function completionSearchWithVariants( $search );

Search engines should override:
protected function completionSearchBackend( $search );

Bug: T121430
Change-Id: Ie78649591dff94d21b72fad8e4e5eab010a461df

8 years agoAvoid unstubbing $wgUser before the end of Setup.php in User::getBlockedStatus()
Brad Jorsch [Wed, 3 Feb 2016 17:33:25 +0000 (12:33 -0500)]
Avoid unstubbing $wgUser before the end of Setup.php in User::getBlockedStatus()

Autocreation needs to check if the current IP is blocked from account
creation.

There are two ways we could go here: treat $wgUser as logged-out, or
assume it will eventually be the user name specified by the session.
This patch chooses the former, by the logic that at this early point in
the setup process we don't have a logged-in user determined yet so no
username can really be considered to match the logged-in user.

Bug: T124367
Change-Id: I631bec85291b57f07c378cf6554a8f06cf3fb00c

8 years agoAdd User::isSafeToLoad() and ParserOptions::newFromAnon()
Brad Jorsch [Wed, 3 Feb 2016 20:41:00 +0000 (15:41 -0500)]
Add User::isSafeToLoad() and ParserOptions::newFromAnon()

Useful for avoiding "User::loadFromSession called before the end of
Setup.php".

Bug: T124367
Change-Id: I0b018a623fc833ca95d249ee21667a8f5690d50e

8 years agoIntroduce User::INVALID_TOKEN
Brad Jorsch [Mon, 1 Feb 2016 21:59:27 +0000 (16:59 -0500)]
Introduce User::INVALID_TOKEN

To avoid having to have SessionManager try to reset sessions on every
request, we set the user_token to a special value. When that value is
present, User::getToken() returns a different value every time (so
existing checks will fail) and User::setToken() refuses to alter it.

Bug: T124414
Change-Id: Ie4c84ce993e40a081288cf5a543f8ba99f98806a

8 years agoDisable automatic cache headers associated with starting a session
Bryan Davis [Mon, 1 Feb 2016 04:39:10 +0000 (21:39 -0700)]
Disable automatic cache headers associated with starting a session

Follow up to 7491b52. The 'private, must-revalidate' argument to
session_cache_limiter() does not match any expected values for the
function. This results in the PHP runtime treating it like the
documented empty string argument which completely disables the automatic
addition of cache related headers. Change the implementation to use the
empty string argument explicitly rather than continuing to rely on
the undocumented and potentially confusing existing behavior.

session_cache_limiter( '' ) is called unconditionally in
MediaWiki\Session\PHPSessionHandler::install(). This is safe now that it
is understood that we are disabling the setting of the automatic
headers.

Bug: T124510
Change-Id: I63164f8b7a408e370ff01dead42be27a0135dd35

8 years agoClean up after Ie161e0f
Brad Jorsch [Sat, 30 Jan 2016 01:09:57 +0000 (20:09 -0500)]
Clean up after Ie161e0f

Ie161e0f was done in a hurry, and so didn't do things in the best ways.
This introduces a new "CachedBagOStuff" that transparently handles all
the logic that had been copy-pasted all over in Ie161e0f.

The differences between CachedBagOStuff and MultiWriteBagOStuff are:
* CachedBagOStuff supports only one "backend".
* There's a flag for writes to only go to the in-memory cache.
* The in-memory cache is always updated.
* Locks go to the backend cache (with MultiWriteBagOStuff, it would wind
  up going to the HashBagOStuff used for the in-memory cache).

Change-Id: Iea494729bd2e8c6c5ab8facf4c241232e31e8215

8 years agoRevert "Remove SessionManager, temporarily"
Brad Jorsch [Mon, 1 Feb 2016 20:44:03 +0000 (15:44 -0500)]
Revert "Remove SessionManager, temporarily"

This reverts commit 823db5d63dd5200d04c63da50ba6bf16f928e70b.

Change-Id: Ibb3e023e4eb6715295586dea87d0725c344a8271

8 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Wed, 3 Feb 2016 21:44:43 +0000 (21:44 +0000)]
Merge "Localisation updates from https://translatewiki.net."

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 3 Feb 2016 21:40:15 +0000 (22:40 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia72df7f41e81cc99e25bcc9804c6b0bd43bfa61b

8 years agoMerge "resources: Load OOjs UI from its four parts"
jenkins-bot [Wed, 3 Feb 2016 21:38:34 +0000 (21:38 +0000)]
Merge "resources: Load OOjs UI from its four parts"

8 years agomediawiki.widgets: Remove backwards-compatibility dependency on 'mediawiki.widgets...
Bartosz Dziewoński [Wed, 3 Feb 2016 18:40:31 +0000 (19:40 +0100)]
mediawiki.widgets: Remove backwards-compatibility dependency on 'mediawiki.widgets.CategorySelector'

Follow-up to 40a8367fe9cd5fc2a26f1adf8f9e208551a4d7b9.

Change-Id: I28faea785cf13d1e741ae6f746a76bd7aeeaf3eb

8 years agoresources: Load OOjs UI from its four parts
Bartosz Dziewoński [Mon, 1 Feb 2016 22:28:13 +0000 (23:28 +0100)]
resources: Load OOjs UI from its four parts

See the task for more details. This is a backwards-compatible change.
If your script only needs a subset of OOjs UI functionality, you can
use one of the new smaller modules instead of the old big one.

New modules:
  oojs-ui-core
    The core JavaScript library.
  oojs-ui-widgets
    Additional widgets and layouts module.
  oojs-ui-toolbars
    Toolbar and tools module.
  oojs-ui-windows
    Windows and dialogs module.

Changed modules:
  oojs-ui.styles
    Now correctly only loads the styles needed by OOjs UI PHP.
  oojs-ui
    Now just loads core+widgets+toolbars+windows as dependencies.

Using the new modules in I58799e22f9c0a2f78c1b4a02c4b7af576157883a.

Bug: T113677
Change-Id: I0a3bf8fb25fb82325705a473cebd883e20b3ab8d

8 years agoAdd Special:ApiSandbox
Brad Jorsch [Thu, 7 May 2015 17:11:09 +0000 (13:11 -0400)]
Add Special:ApiSandbox

Like Extension:ApiSandbox, but rewritten to use OOJS-UI and to add many
long-requested features.

Bug: T89386
Bug: T92893
Bug: T98457
Bug: T98083
Bug: T89229
Bug: T66008
Bug: T50607
Bug: T47811
Bug: T38875
Bug: T36962
Bug: T34740
Change-Id: Ic42a6c5ef54b811cd63cfef2132942b27a626fe5
Depends-On: I85c0eedcd31a0e419d8055eca0d9cb1ba872ae62
Depends-On: Ic85ff4abbbcd2076ebf5cdfaa0e95e98878e2308

8 years agoMerge "Use LinkTarget in TitleValue only methods"
jenkins-bot [Wed, 3 Feb 2016 13:36:59 +0000 (13:36 +0000)]
Merge "Use LinkTarget in TitleValue only methods"

8 years agoMerge "Add LinkTarget interface"
jenkins-bot [Wed, 3 Feb 2016 13:23:08 +0000 (13:23 +0000)]
Merge "Add LinkTarget interface"

8 years agoSet title on context in ApiDocumentationTest
Brad Jorsch [Tue, 2 Feb 2016 14:27:05 +0000 (09:27 -0500)]
Set title on context in ApiDocumentationTest

For some reason the unit testing infrastructure doesn't set one, and
that makes RequestContext warn.

Bug: T125491
Change-Id: I3e0ec0f567dd06231bca0d3d923e9d4e05ef5514

8 years agoMerge "Pass WikiPage objects to ParserCache"
jenkins-bot [Wed, 3 Feb 2016 12:01:09 +0000 (12:01 +0000)]
Merge "Pass WikiPage objects to ParserCache"

8 years agoCentralise url handling for urls to static resources
Timo Tijhof [Fri, 22 Jan 2016 22:58:03 +0000 (22:58 +0000)]
Centralise url handling for urls to static resources

Keep in CSSMin as-is for back-compat and to ensure library remains
independent of MediaWiki.

Moved down a few lines as there is no need to compute the md5 hash when we're
returning a data URI. Previously md5_file was called twice during module builds
(once for the fallback url, and another time when producing the embedded data uri).

Applied to logo in SkinModule as example. To be applied elsewhere as needed.
Without it, fallback is current behaviour (no cache invalidation).

Bug: T99096
Change-Id: I7f38bfc1bea5c241bc4f8ec4f4b640fd65f2c04f

8 years agoUpdate OOjs UI to v0.15.2
James D. Forrester [Tue, 2 Feb 2016 22:10:54 +0000 (14:10 -0800)]
Update OOjs UI to v0.15.2

Release notes:
 https://git.wikimedia.org/blob/oojs%2Fui.git/v0.15.2/History.md

Change-Id: I8124a726660443ce514c48182871d46e6b086a10

8 years agoMerge "Unroll Article::__call again"
jenkins-bot [Tue, 2 Feb 2016 20:29:19 +0000 (20:29 +0000)]
Merge "Unroll Article::__call again"

8 years agoMerge "Add Blob to accepted types for uploads"
jenkins-bot [Tue, 2 Feb 2016 20:25:34 +0000 (20:25 +0000)]
Merge "Add Blob to accepted types for uploads"

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 2 Feb 2016 20:14:54 +0000 (21:14 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Idc128c366bbcbd34e7fb4e75af8400fa11bcd53e

8 years agoPass function to Database::selectField in SpecialActiveusers.php
umherirrender [Tue, 2 Feb 2016 20:12:57 +0000 (21:12 +0100)]
Pass function to Database::selectField in SpecialActiveusers.php

Change-Id: Ie58b484cb8add682c7a0c138af2c3268faf7b383

8 years agoAdd Blob to accepted types for uploads
Mark Holmquist [Tue, 2 Feb 2016 17:00:28 +0000 (11:00 -0600)]
Add Blob to accepted types for uploads

From https://developer.mozilla.org/en-US/docs/Web/API/File :

A File object is specific kind of a Blob, and can be used in any
context that a Blob can. In particular, FileReader, URL.createObjectURL(),
createImageBitmap(), and XMLHttpRequest.send() accept both Blobs and Files.

Change-Id: I171f884fc4ada6180e5c605a44b27044fc03f26e

8 years agoPass WikiPage objects to ParserCache
umherirrender [Tue, 2 Feb 2016 19:38:36 +0000 (20:38 +0100)]
Pass WikiPage objects to ParserCache

ParserCache::get is documented for WikiPage, so do it from Article class
This avoids magic calls due Article::__call

Change-Id: I92b91bd112383d1c0132530c3325b39596d95768

8 years agoAdd $wgAuthenticationTokenVersion
Brad Jorsch [Mon, 1 Feb 2016 20:07:09 +0000 (15:07 -0500)]
Add $wgAuthenticationTokenVersion

This allows for quickly invalidating everyone's session all at once by
changing a single value.

As a side effect, setting this also stops the user_token field from
the database from being served to the user as a cookie.

This mitigates but doesn't completely solve T49490, as it allows for
invalidating all existing sessions and token-cookies but does not help
if the user_token field in the database was leaked.

Bug: T49490
Change-Id: I9d316a6bbb36278d138f39a89125ebb8cc71b28f

8 years agoPage is an interface not a class
addshore [Tue, 2 Feb 2016 18:13:39 +0000 (19:13 +0100)]
Page is an interface not a class

Change-Id: I299067320a2f8e541eba668464eb18c42bfb56e5

8 years agoMerge "XMPValidate: fix undefined variable for logger"
jenkins-bot [Tue, 2 Feb 2016 17:06:20 +0000 (17:06 +0000)]
Merge "XMPValidate: fix undefined variable for logger"

8 years agoUnroll Article::__call again
addshore [Tue, 2 Feb 2016 16:48:20 +0000 (17:48 +0100)]
Unroll Article::__call again

Adds all public functions from WikiPage to Article

Adds all public functions from WikiFilePage that
are not in Article to ImagePage

WikiCategoryPage has no methods that need moving

Removed __call from Article

If extensions extend WikiPage and rely on the __call
method in Article they may break with this change.
They cal easily call $article->getPage()->method..

Change-Id: I8cd8d69d0d59c67f4879212535206688387bead4

8 years agoMerge "QA: Upgrade to mediawiki_selenium 1.6.5"
jenkins-bot [Tue, 2 Feb 2016 09:48:45 +0000 (09:48 +0000)]
Merge "QA: Upgrade to mediawiki_selenium 1.6.5"

8 years agofix hardcoded limit on titles in Special:Export
This, that and the other [Mon, 1 Feb 2016 14:16:08 +0000 (01:16 +1100)]
fix hardcoded limit on titles in Special:Export

In Special:Export if you enter a category in the "Add pages from
category" textbox, there was a hardcoded limit of 5000 page titles in
the function getPagesFromCategory().

The same is true for a similar function fetching pages by namespace
instead of category, function getPagesFromNamespace().

I have a couple of wikis where we wish to export a nummber of pages
exceeding 5000, so this is inconvenient. In this commit, I have
introduced one new global configuration variable: $wgExportPagelistLimit.

This new configuration variable has had its default set in
includes/DefaultSettings.php to the values the two affected functions
were hardcoded to prior to this patch; 5000 in both instances.

This way, I can adjust the number of pages returned in the
Special:Export page by adjusting the above new variable in
LocalSettings.php.

Change-Id: I6ca9e26eb6bc4a7a2bafd73b9460f445940c8ecb

8 years agoRevert "Unroll Article::__call"
Tyler Cipriani [Tue, 2 Feb 2016 00:58:27 +0000 (16:58 -0800)]
Revert "Unroll Article::__call"

This reverts commit 6051fcd38374db7e2d984ec535da264cb48d291f.

Bug: T125468
Change-Id: I9456c8e1b95ca3b2b2fa5d306f45a46210c4b1fc

8 years agoQA: Upgrade to mediawiki_selenium 1.6.5
Dan Duvall [Mon, 1 Feb 2016 23:30:44 +0000 (15:30 -0800)]
QA: Upgrade to mediawiki_selenium 1.6.5

Bug: T114241
Change-Id: I2996611d51b5d08c67f7a60d05003db97dffc0b7

8 years agoMerge "New hook for filters on Special:Contributions form"
jenkins-bot [Mon, 1 Feb 2016 22:47:40 +0000 (22:47 +0000)]
Merge "New hook for filters on Special:Contributions form"