lhc/web/wiklou.git
7 years agomediawiki.action.edit.stash.js: Use formatversion=2 for API request
Fomafix [Sun, 5 Feb 2017 20:17:10 +0000 (21:17 +0100)]
mediawiki.action.edit.stash.js: Use formatversion=2 for API request

Change-Id: I537e9fe915dcdc2827d463a9815138aa32e13ae4

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 4 Feb 2017 20:55:13 +0000 (21:55 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Icc9ce5b1bd8d544288454186dff4e4e963ec2140

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 3 Feb 2017 21:12:11 +0000 (22:12 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I6ce3f477f4a80d15138744b2854202a5d0b9cab5

7 years agoMerge "Displaying interwiki results in sidebar"
jenkins-bot [Fri, 3 Feb 2017 19:04:54 +0000 (19:04 +0000)]
Merge "Displaying interwiki results in sidebar"

7 years agoDisplaying interwiki results in sidebar
Jan Drewniak [Wed, 18 Jan 2017 10:27:43 +0000 (11:27 +0100)]
Displaying interwiki results in sidebar

Displays newly designed interwiki search results in the
sidebar of the specialSearch page.

A prototype of this change can be viewed on this labs url:

http://sistersearch.wmflabs.org/w/index.php?title=Special:Search&search=mars

Bug: T149806

Change-Id: I66e4b6a502dae488d105f11cad73e145990c2327

7 years agoMerge "Avoid joining against page table when finding a page's oldest revision."
jenkins-bot [Fri, 3 Feb 2017 06:06:26 +0000 (06:06 +0000)]
Merge "Avoid joining against page table when finding a page's oldest revision."

7 years agoSet mCache in the second MessageCache::loadFromDatabase() caller
Aaron Schulz [Thu, 2 Feb 2017 22:06:33 +0000 (14:06 -0800)]
Set mCache in the second MessageCache::loadFromDatabase() caller

The member variable is needed in the next lines, which previously
just used the array with "LATEST" set and would be seen as invalid
and discarded next time.

Bug: T157033
Change-Id: I5b84b1ae4a9c7b710ee452c61d7d9d6076ec9e6a

7 years agorcfeed: FormattedRCFeed constructor should match parent class
Timo Tijhof [Thu, 2 Feb 2017 20:03:27 +0000 (20:03 +0000)]
rcfeed: FormattedRCFeed constructor should match parent class

I intentionally made the constructor parameter optional in the
new RCFeed class from 39a6e3dc4d84, however it was not optional
in the subclass, which the older classes are now based on top
of.

Bug: T156996
Change-Id: I05b9e15920bc39f27c402b023d1463cfbdd2efb8

7 years agoMerge "Move LoadMonitor to Rdbms namespace"
jenkins-bot [Thu, 2 Feb 2017 20:15:58 +0000 (20:15 +0000)]
Merge "Move LoadMonitor to Rdbms namespace"

7 years agoMerge "Do not linkify the namespace URI in 'uploadscriptednamespace' error message"
jenkins-bot [Thu, 2 Feb 2017 19:03:52 +0000 (19:03 +0000)]
Merge "Do not linkify the namespace URI in 'uploadscriptednamespace' error message"

7 years agoAdd release notes for I5ec8acf
Brad Jorsch [Thu, 2 Feb 2017 16:28:57 +0000 (11:28 -0500)]
Add release notes for I5ec8acf

Change-Id: Ifda13a82f831ee273aadab65f0e75ea9ce8998a8

7 years agoMerge "Make last remaining user_groups queries honor $wgDisableUserGroupExpiry"
jenkins-bot [Thu, 2 Feb 2017 02:18:41 +0000 (02:18 +0000)]
Merge "Make last remaining user_groups queries honor $wgDisableUserGroupExpiry"

7 years agoMerge "Update OOjs UI to v0.19.0"
jenkins-bot [Thu, 2 Feb 2017 00:21:39 +0000 (00:21 +0000)]
Merge "Update OOjs UI to v0.19.0"

7 years agoMake last remaining user_groups queries honor $wgDisableUserGroupExpiry
This, that and the other [Thu, 2 Feb 2017 00:15:38 +0000 (11:15 +1100)]
Make last remaining user_groups queries honor $wgDisableUserGroupExpiry

Follow-up to I94102ceb00398940965280d8742a2747631dcc87

Change-Id: I62952c42b2f6ee1bed0088e17826e19dfc23471c

7 years agomediawiki.api: Tweak deprecation logging
Bartosz Dziewoński [Tue, 31 Jan 2017 09:33:44 +0000 (10:33 +0100)]
mediawiki.api: Tweak deprecation logging

Follow-up to 15b5dc5d8eecb5a1784b0b7165a90a81e071d750.

Change-Id: I27ba2fe46086de1251cfd6017a51b736a4dabbf2

7 years agoUpdate OOjs UI to v0.19.0
Volker E [Wed, 1 Feb 2017 23:30:46 +0000 (15:30 -0800)]
Update OOjs UI to v0.19.0

Release notes:
 https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.19.0

Change-Id: I56c43ff1b49631d0e4c477a72d3e7cdd9d46c4c9

7 years agoMerge "Follow-up 873d3c9ff: make RCFilters widget input use interface directionality"
jenkins-bot [Wed, 1 Feb 2017 21:09:57 +0000 (21:09 +0000)]
Merge "Follow-up 873d3c9ff: make RCFilters widget input use interface directionality"

7 years agoMerge "Revert "Localisation updates from https://translatewiki.net.""
L10n-bot [Wed, 1 Feb 2017 21:03:19 +0000 (21:03 +0000)]
Merge "Revert "Localisation updates from https://translatewiki.net.""

7 years agoRevert "Localisation updates from https://translatewiki.net."
Raimond Spekking [Wed, 1 Feb 2017 21:02:56 +0000 (21:02 +0000)]
Revert "Localisation updates from https://translatewiki.net."

Overwrites https://gerrit.wikimedia.org/r/#/c/335217/

This reverts commit 01d74c8810901976e8260d5c622b457922487605.

Change-Id: I3b344d8257b0c9dfe81c0f41a017424640f3994b

7 years agoMerge "API: Guard more ug_expiry queries with $wgDisableUserGroupExpiry checks"
jenkins-bot [Wed, 1 Feb 2017 21:02:38 +0000 (21:02 +0000)]
Merge "API: Guard more ug_expiry queries with $wgDisableUserGroupExpiry checks"

7 years agoMerge "ApiPurge: Require POST"
jenkins-bot [Wed, 1 Feb 2017 20:58:12 +0000 (20:58 +0000)]
Merge "ApiPurge: Require POST"

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 1 Feb 2017 20:56:08 +0000 (21:56 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I1ff72c3903103266a6a1e71dc66b6663b3218240

7 years agoAPI: Guard more ug_expiry queries with $wgDisableUserGroupExpiry checks
Kunal Mehta [Wed, 1 Feb 2017 20:50:06 +0000 (12:50 -0800)]
API: Guard more ug_expiry queries with $wgDisableUserGroupExpiry checks

Change-Id: Ibaafd9dc49b8aebcf0a00a507712baeec8c11e42

7 years agoMerge "Prevent use of expiries to circumvent restrictions on removing user groups"
jenkins-bot [Wed, 1 Feb 2017 20:42:53 +0000 (20:42 +0000)]
Merge "Prevent use of expiries to circumvent restrictions on removing user groups"

7 years agoMerge "Don't try to drop ug_user_group index if it doesn't exist"
jenkins-bot [Wed, 1 Feb 2017 20:42:48 +0000 (20:42 +0000)]
Merge "Don't try to drop ug_user_group index if it doesn't exist"

7 years agoApiPurge: Require POST
Brad Jorsch [Wed, 1 Feb 2017 15:07:02 +0000 (10:07 -0500)]
ApiPurge: Require POST

This change was announced to mediawiki-api-announce on September 14,
2016,[1] and the remaining users were notified on December 28, 2016, and a
reminder was sent on the same day.[2] Time to do this.

[1]: https://lists.wikimedia.org/pipermail/mediawiki-api-announce/2016-September/000118.html
[2]: https://lists.wikimedia.org/pipermail/mediawiki-api-announce/2016-December/000124.html

Bug: T145649
Change-Id: I5ec8acfbd2cd705a7b4c81f36786149c3d9cba45

7 years agoDon't try to drop ug_user_group index if it doesn't exist
This, that and the other [Wed, 1 Feb 2017 14:57:09 +0000 (01:57 +1100)]
Don't try to drop ug_user_group index if it doesn't exist

This is needed for MySQL only.

Bug: T156901
Change-Id: I351fa1b7ce5a9b1c7b19ecb7d26d8a1f699d88f8

7 years agoMerge "UsersMultiselect widget and form field."
jenkins-bot [Wed, 1 Feb 2017 14:37:50 +0000 (14:37 +0000)]
Merge "UsersMultiselect widget and form field."

7 years agoAvoid joining against page table when finding a page's oldest revision.
daniel [Wed, 1 Feb 2017 11:47:20 +0000 (12:47 +0100)]
Avoid joining against page table when finding a page's oldest revision.

Bug: T156537
Change-Id: Ifd27710cada823318ac3662d3c16323eb9a78839

7 years agoIb315fc5f to RELEASE-NOTES-1.29
MarcoAurelio [Wed, 1 Feb 2017 10:20:35 +0000 (11:20 +0100)]
Ib315fc5f to RELEASE-NOTES-1.29

Bug: T155957
Change-Id: I0b2cca66bc16cf05871674a468da778cc0c84f59

7 years agoMerge "Amend $namespaces in core for Javanese (jv)"
jenkins-bot [Wed, 1 Feb 2017 09:02:10 +0000 (09:02 +0000)]
Merge "Amend $namespaces in core for Javanese (jv)"

7 years agoMerge "Replace use of &$this"
jenkins-bot [Wed, 1 Feb 2017 04:38:53 +0000 (04:38 +0000)]
Merge "Replace use of &$this"

7 years agoRefactor RCFeed configuration (backwards compatible)
Timo Tijhof [Fri, 6 Jan 2017 01:27:43 +0000 (17:27 -0800)]
Refactor RCFeed configuration (backwards compatible)

Previously:
* Engines had to be registered in $wgRCEngines.
* The RCFeedEngine classes took no constructor arguments and
  were expected to send whatever text is previously formatted
  without any information about it. This generic design was
  flexible in allowing one to use any formatter with any engine
  with minimal configuration and no need for additional classes.
* Each feed configured their destination by setting a 'uri'
  option that encodes the name of the engine in PHP as the uri
  scheme. Other uri components had to be used for any other
  parameters to the engine (host, port, path). While fairly
  limited, it was sufficient for the default engines in core.

Changes:
* Allow feed classes to be directly associated with a feed in $wgRCFeeds
  via a new 'class' option - without the indirection of 'uri' and
  $wgRCEngines. All options are passed to the given class constructor.
  This matches the design used elsewhere in MediaWiki. (ObjectCache,
  FileRepo, FileBackend, JobQueue, LBFactory, etc.)

  This means we no longer enforce a 1:1 mapping of internet protocols
  to a specific feed engine, and it allows settings to be passed
  without being encoded as a URI neccecarily.

  Main use case for this refactor is EventBus (see I7edc4d57fa),

  Interestingly, this matches the (then incorrect) documentation
  written for $wgRCFeeds in 2961884b43 (which mentions an 'engine'
  property that would do the same thing).

* Move the default 'omit' filters and unrestricted 'formatter' handling
  to a new FormattedRCFeed class, which remains the default.

* Deprecate RecentChange::getEngine() in favour of RCFeed::factory().

* Document wgRCEngines as "@since 1.22". Follows 2961884b43ffc71cb6af.

Change-Id: I8be497c623c5d928762e3d3406a388f4d91add9a

7 years agoMerge "EditPage: Factor stats collection into private methods"
jenkins-bot [Wed, 1 Feb 2017 04:08:42 +0000 (04:08 +0000)]
Merge "EditPage: Factor stats collection into private methods"

7 years agoReplace use of &$this
Brad Jorsch [Wed, 1 Feb 2017 04:01:54 +0000 (23:01 -0500)]
Replace use of &$this

Use of &$this doesn't work in PHP 7.1. For callbacks to methods like
array_map() it's completely unnecessary, while for hooks we still need
to pass a reference and so we need to copy $this into a local variable.

Bug: T153505
Change-Id: I8bbb26e248cd6f213fd0e7460d6d6935a3f9e468

7 years agoMove LoadMonitor to Rdbms namespace
Aaron Schulz [Thu, 26 Jan 2017 17:59:18 +0000 (09:59 -0800)]
Move LoadMonitor to Rdbms namespace

Change-Id: Icc178acb5ba0e21d1a8e857c43724c694c7ebeb1

7 years agoPrevent use of expiries to circumvent restrictions on removing user groups
This, that and the other [Wed, 1 Feb 2017 03:22:37 +0000 (14:22 +1100)]
Prevent use of expiries to circumvent restrictions on removing user groups

I hadn't thought through what happens if a user has permission to add but
not remove a user group, or vice versa. This cleans up the UI logic,
showing controls that are available to users and vice versa, and the data
validation as well.

In particular, if user B can add users to the 'sysop' group but not remove
them from it, and user X is a sysop expiring in 1 year, user B should not
be allowed to modify the expiry to 1 second (which has the same effect as
removing the group). With this patch, user B can only extend user X's
sysop rights, perhaps to renew their temporary adminship for another year;
they can no longer bring forward the expiry date.

I'm omitting this check from the API on purpose. The API's validation
of the expiry dates seems to be there solely to reject bogus/invalid data.
Notably, the API doesn't throw an error when the user passes a group that
they can't add or remove.

Also added a # in the UI to show groups whose expiry cannot be brought
forward.

Bug: T156784
Change-Id: I0c0dadc2035c0cdf19accd5a97f08e33151a08ba

7 years agoMerge "Add TestLogger::setCollectContext and fluent interface"
jenkins-bot [Wed, 1 Feb 2017 01:25:50 +0000 (01:25 +0000)]
Merge "Add TestLogger::setCollectContext and fluent interface"

7 years agoAdd TestLogger::setCollectContext and fluent interface
Antoine Musso [Tue, 31 Jan 2017 14:42:44 +0000 (15:42 +0100)]
Add TestLogger::setCollectContext and fluent interface

TestLogger has a setCollect() but lacked a similar method for the
$collectContext introduced with:
    7b85b6b09e - Optionally collect context in TestLogger

Document $collectContext on __construct()
Add setCollectContext()
Make both setCollect() and setCollectContext() to return $this for
fluent interface:

  $logger = new \TestLogger();
  $logger
      ->setCollect( true ),
      ->setCollectContext( true );

Change-Id: I806b07cfddbc7b428d41e3d619ef4d1db16f6747

7 years agoUsersMultiselect widget and form field.
Phantom42 [Sun, 8 Jan 2017 02:37:29 +0000 (04:37 +0200)]
UsersMultiselect widget and form field.

New widget and html form field, which allows selecting multiple
users using convenient single-line input (CapsuleMultiselectWidget)

Bug: T131492
Change-Id: I7b6ffe7fb47e0a7083e2a956156ab0f142444398

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 31 Jan 2017 20:54:06 +0000 (21:54 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: If6140720728447ed5b4a80b4df8cb5f6b9269f96

7 years agoAmend $namespaces in core for Javanese (jv)
MarcoAurelio [Mon, 23 Jan 2017 09:24:59 +0000 (10:24 +0100)]
Amend $namespaces in core for Javanese (jv)

Bug: T155957
Change-Id: Ib315fc5f894ffc8af3b4dbac4ddb022e7f3c80ed

7 years agoMerge "Option for DateInputWidget to display full month and day names"
jenkins-bot [Tue, 31 Jan 2017 18:40:50 +0000 (18:40 +0000)]
Merge "Option for DateInputWidget to display full month and day names"

7 years agoMerge "Don't return expired user groups in UserRightsProxy"
jenkins-bot [Tue, 31 Jan 2017 17:02:15 +0000 (17:02 +0000)]
Merge "Don't return expired user groups in UserRightsProxy"

7 years agoMerge "Merge duplicate SpecialSearchTest files"
jenkins-bot [Tue, 31 Jan 2017 14:39:48 +0000 (14:39 +0000)]
Merge "Merge duplicate SpecialSearchTest files"

7 years agoMerge "Add release notes for recent language fallback changes"
jenkins-bot [Tue, 31 Jan 2017 14:26:27 +0000 (14:26 +0000)]
Merge "Add release notes for recent language fallback changes"

7 years agoMerge "Add explicit GENDER support to userrights-*usergroup"
jenkins-bot [Tue, 31 Jan 2017 14:24:53 +0000 (14:24 +0000)]
Merge "Add explicit GENDER support to userrights-*usergroup"

7 years agoOption for DateInputWidget to display full month and day names
Geoffrey Mon [Tue, 31 Jan 2017 14:18:03 +0000 (09:18 -0500)]
Option for DateInputWidget to display full month and day names

Add a "longDisplayFormat" config option to DateInputWidget to show
full month and day names when using the default locale-specific
display format.

Bug: T120733
Change-Id: I2db6892720abf86dfc9655291b1070aa7f7bf77b

7 years agoMerge duplicate SpecialSearchTest files
This, that and the other [Tue, 31 Jan 2017 13:54:35 +0000 (00:54 +1100)]
Merge duplicate SpecialSearchTest files

Change-Id: I1d6be3f6c32102ee8c7f4ee3dc6f0c752ef05534

7 years agoDon't return expired user groups in UserRightsProxy
This, that and the other [Tue, 31 Jan 2017 10:24:20 +0000 (21:24 +1100)]
Don't return expired user groups in UserRightsProxy

Also add a missing type hint in UserGroupMembership.

Bug: T156779
Change-Id: Ica31541f59115db3db92de82592e6a9422082bba

7 years agoMerge "registration: Allow properties in "requires" from v2"
jenkins-bot [Tue, 31 Jan 2017 06:02:20 +0000 (06:02 +0000)]
Merge "registration: Allow properties in "requires" from v2"

7 years agoMerge "parser test editor: Fix emitting of !! hooks"
jenkins-bot [Tue, 31 Jan 2017 04:11:01 +0000 (04:11 +0000)]
Merge "parser test editor: Fix emitting of !! hooks"

7 years agoMerge "Move ChronologyProtector/TransactionProfiler to Rdbms namespace"
jenkins-bot [Tue, 31 Jan 2017 04:00:23 +0000 (04:00 +0000)]
Merge "Move ChronologyProtector/TransactionProfiler to Rdbms namespace"

7 years agoMerge "objectcache: Avoid using deprecated ScopedCallback alias"
jenkins-bot [Tue, 31 Jan 2017 03:59:38 +0000 (03:59 +0000)]
Merge "objectcache: Avoid using deprecated ScopedCallback alias"

7 years agoparser test editor: Fix emitting of !! hooks
Kunal Mehta [Sun, 29 Jan 2017 09:56:43 +0000 (01:56 -0800)]
parser test editor: Fix emitting of !! hooks

The first newline was missing so a block like:
 !! hooks
 source
 !! endhooks

would turn into:
 !! hookssource
 !! endhooks

Change-Id: I2a4c5e52050d55fb0c9b4f5d0494eb00e34b233c

7 years agoobjectcache: Avoid using deprecated ScopedCallback alias
Aaron Schulz [Sun, 29 Jan 2017 16:44:29 +0000 (08:44 -0800)]
objectcache: Avoid using deprecated ScopedCallback alias

Change-Id: Ica8a066c3f28adc710ee11919c07dd188144beb5

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 30 Jan 2017 20:59:36 +0000 (21:59 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Id9bbcde94cbbd77e360022504b3114629525527e

7 years agoMerge "EditPage: switch from NS_CATEGORY check to instanceof CategoryPage"
jenkins-bot [Mon, 30 Jan 2017 19:57:40 +0000 (19:57 +0000)]
Merge "EditPage: switch from NS_CATEGORY check to instanceof CategoryPage"

7 years agoMerge "EditPage: Mark public functions"
jenkins-bot [Mon, 30 Jan 2017 19:35:34 +0000 (19:35 +0000)]
Merge "EditPage: Mark public functions"

7 years agoregistration: Allow properties in "requires" from v2
Umherirrender [Mon, 30 Jan 2017 17:51:16 +0000 (18:51 +0100)]
registration: Allow properties in "requires" from v2

v2 of the schema allows extensions and skins to be definied under
"requires". This is also used by some extensions in extension.json for
v1.
It works, so allow the same properties in v1 as in v2.

Change-Id: I9b5f1986cadbd714d6f3460ac3e1db3bf7aae65d

7 years agoMerge "PHAN: lock phpstorm-stubs at a specific hash in composer.json"
jenkins-bot [Mon, 30 Jan 2017 17:40:29 +0000 (17:40 +0000)]
Merge "PHAN: lock phpstorm-stubs at a specific hash in composer.json"

7 years agoPHAN: lock phpstorm-stubs at a specific hash in composer.json
addshore [Mon, 30 Jan 2017 17:09:41 +0000 (17:09 +0000)]
PHAN: lock phpstorm-stubs at a specific hash in composer.json

This will stop updates to the upstream package from
breaking our CI with no warning.

Change-Id: I1cafe663c25d46134025f7c6987e48676615b7b0

7 years agoPHAN: Add tideways stub
addshore [Mon, 23 Jan 2017 17:36:10 +0000 (18:36 +0100)]
PHAN: Add tideways stub

Used in Xhprof

Change-Id: I9f208bbaa0799d194dbef61cad851995020a5d17

7 years agoPHAN: load stubs from phpstorm-stubs library
addshore [Thu, 26 Jan 2017 15:49:04 +0000 (16:49 +0100)]
PHAN: load stubs from phpstorm-stubs library

Also add a single small stub for the Memcached class
constructor that is slightly wrong in the phpstorm
stubs library.

jetbrains/phpstorm-stubs has been added to packagist via:
https://github.com/JetBrains/phpstorm-stubs/pull/149

Change-Id: I1bca7390d1dc24c38d65c1c8968f356326ff4636

7 years agoMerge "Fixes for more robust dealing with content handlers."
jenkins-bot [Mon, 30 Jan 2017 16:06:25 +0000 (16:06 +0000)]
Merge "Fixes for more robust dealing with content handlers."

7 years agoMerge "Make user_groups queries honor $wgDisableUserGroupExpiry"
jenkins-bot [Mon, 30 Jan 2017 15:03:17 +0000 (15:03 +0000)]
Merge "Make user_groups queries honor $wgDisableUserGroupExpiry"

7 years agoMake user_groups queries honor $wgDisableUserGroupExpiry
This, that and the other [Mon, 30 Jan 2017 14:21:47 +0000 (01:21 +1100)]
Make user_groups queries honor $wgDisableUserGroupExpiry

Follow-up to Icf78cce3f3e362677d10897b8d1103b3df91fa08.

Change-Id: I94102ceb00398940965280d8742a2747631dcc87

7 years agoMerge "Fix positioning error with draggable, revert and grid"
jenkins-bot [Mon, 30 Jan 2017 13:32:49 +0000 (13:32 +0000)]
Merge "Fix positioning error with draggable, revert and grid"

7 years agoFix positioning error with draggable, revert and grid
WMDE-Fisch [Fri, 20 Jan 2017 10:01:27 +0000 (11:01 +0100)]
Fix positioning error with draggable, revert and grid

This minor change fixes an error when using draggable revert and grid.

Since upgrading of jQuery UI probably won't happen in the near future [1]
I looked for another way to fix the issue.

See [2]. Unlike stated in the second comment adding the lines below
won't fix the bug. Moving the lines up fixed the issue.

See also the description of the bug in [3].

[1] https://phabricator.wikimedia.org/T71386
[2] https://bugs.jqueryui.com/ticket/4696
[3] https://phabricator.wikimedia.org/T140965#2944610

Bug: T140965
Change-Id: Ib0f386c6a2447740f44591be70c34cf4a83b88c4

7 years agoMerge "Remove unused variables in RCCacheEntryFactoryTest"
jenkins-bot [Mon, 30 Jan 2017 11:33:18 +0000 (11:33 +0000)]
Merge "Remove unused variables in RCCacheEntryFactoryTest"

7 years agoparserTests: Avoid using <big> for adoption agency algorithm test
Kunal Mehta [Mon, 30 Jan 2017 09:52:23 +0000 (01:52 -0800)]
parserTests: Avoid using <big> for adoption agency algorithm test

The behavior of <big> may change in the future, c.f. T154067.

Change-Id: I817894c25cab96a491028fe2a9443140ea1d6e97

7 years agoMerge "registration: Don't allow extra properties in "requires""
jenkins-bot [Mon, 30 Jan 2017 08:10:43 +0000 (08:10 +0000)]
Merge "registration: Don't allow extra properties in "requires""

7 years agoregistration: Don't allow extra properties in "requires"
Umherirrender [Sun, 29 Jan 2017 13:05:17 +0000 (14:05 +0100)]
registration: Don't allow extra properties in "requires"

VersionChecker is using a switch with a exception in the default path,
which makes it very unhappy to see additional properties.

Change-Id: Ief84497de6b2fa2d2715fc713088bee66c21fdc0

7 years agoMerge "API: Add reference to the mailing list in errors and deprecation warnings"
jenkins-bot [Mon, 30 Jan 2017 03:26:00 +0000 (03:26 +0000)]
Merge "API: Add reference to the mailing list in errors and deprecation warnings"

7 years agoMerge "Fix tags not being set in Special:Block"
jenkins-bot [Sun, 29 Jan 2017 20:53:07 +0000 (20:53 +0000)]
Merge "Fix tags not being set in Special:Block"

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 29 Jan 2017 20:53:16 +0000 (21:53 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I1963ac8ae1166037a2550fe628fe06812bf2b843

7 years agoAdd release notes for recent language fallback changes
Federico Leva [Sun, 29 Jan 2017 18:24:05 +0000 (19:24 +0100)]
Add release notes for recent language fallback changes

Change-Id: I5dfba8eeca45a77c7c67091615c742a8b96bd202

7 years agoFix tags not being set in Special:Block
Justin Du [Fri, 27 Jan 2017 15:31:47 +0000 (09:31 -0600)]
Fix tags not being set in Special:Block

Currently, a PHP error is thrown when tags are not set
in Special:Block on line 832. This patch fixes this
by adding an extra isset() check to see if the tags
variable is set.

Bug: T156486
Change-Id: Ib8722bffbcac5953263ded41eceb3d389d0932f0

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 28 Jan 2017 20:56:28 +0000 (21:56 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I274c0404681ea7e97d3c100384a58bbde8f80cdc

7 years agoRemove unused variables in RCCacheEntryFactoryTest
aude [Sat, 28 Jan 2017 20:40:52 +0000 (15:40 -0500)]
Remove unused variables in RCCacheEntryFactoryTest

Change-Id: I41478dc2086577aacf444d0620c8b950e94e61ff

7 years agoRemove HTMLFileCache::newFromTitle()
addshore [Thu, 26 Jan 2017 19:16:14 +0000 (20:16 +0100)]
Remove HTMLFileCache::newFromTitle()

Change-Id: I0076801aa7b9af5083c5a7a66f2d1c9884b70ee9

7 years agoRemove ArchivedFile::getUserText()
addshore [Thu, 26 Jan 2017 19:12:57 +0000 (20:12 +0100)]
Remove ArchivedFile::getUserText()

Deprecated since 1.23
No usages found on gerrit

Change-Id: I037d56d6e57288753ae281388270d7e216707192

7 years agoMerge "Add tests for SkinTemplate::setupSkinUserCss"
jenkins-bot [Sat, 28 Jan 2017 17:25:41 +0000 (17:25 +0000)]
Merge "Add tests for SkinTemplate::setupSkinUserCss"

7 years agoRemove User::crypt() & User::comparePasswords()
addshore [Thu, 26 Jan 2017 19:00:57 +0000 (20:00 +0100)]
Remove User::crypt() & User::comparePasswords()

These have both been deprecated since 1.24
Hard deprecation happened back in 2014

Both methods are still used by the SecurePasswords
extension, but this extension is documented on mw.org
as not working with MW1.24+.

I can find no other uses.
Lets finally get rid of these!

Change-Id: I94a7b65d2216bbc505e190af3182de2317976ed1

7 years agoMerge "Allow OpenGraph RFDa meta tags"
jenkins-bot [Sat, 28 Jan 2017 16:40:26 +0000 (16:40 +0000)]
Merge "Allow OpenGraph RFDa meta tags"

7 years agoAdd explicit GENDER support to userrights-*usergroup
Federico Leva [Sat, 28 Jan 2017 12:06:48 +0000 (13:06 +0100)]
Add explicit GENDER support to userrights-*usergroup

Best practice for documentation and for message checkers.
https://translatewiki.net/wiki/Thread:Support/Gender_in_MediaWiki:Userrights-viewusergroup

Change-Id: Ib08617d576b3285d4c40e0edccc2e99931e55298

7 years agoMerge "translateBlockExpiry: Duration is block expiry minus current time"
jenkins-bot [Sat, 28 Jan 2017 07:37:09 +0000 (07:37 +0000)]
Merge "translateBlockExpiry: Duration is block expiry minus current time"

7 years agotranslateBlockExpiry: Duration is block expiry minus current time
Zhuyifei1999 [Fri, 27 Jan 2017 08:51:06 +0000 (08:51 +0000)]
translateBlockExpiry: Duration is block expiry minus current time

For relative timestamps in $str, strtotime( $str, $now ) returns an
absolute Unix timestamp $str since $now, and this timestamp is given
to $time. However, Language::formatDuration expects a time duration,
not an absolute timestamp. We obtain this duration from the difference
between $time, the absolute timestamp of block expiry, and $now, the
absolute timestamp of the time in which the block action happened.

Tests have been added to test both this patch and 01936fa, the patch
that caused this regression.

Bug: T156453
Change-Id: I6fd8c02dc3c6456067fe25cb9f33f5b4c78332aa

7 years agoAdd Related Changes Link for all categories
shanika [Fri, 27 Jan 2017 06:35:39 +0000 (12:05 +0530)]
Add Related Changes Link for all categories

Add Related Changes link into the toolbox for the redlinked
categories as well since users need to see changes made in these
categories as well.

Bug: T147762
Change-Id: Ic5dd6f531b5ff47ce68fd2893fd1550d10f74e4e

7 years agoDisregard expired user_group rows in special page and API DB queries
This, that and the other [Fri, 23 Dec 2016 02:07:59 +0000 (13:07 +1100)]
Disregard expired user_group rows in special page and API DB queries

An essential follow-up to I93c955dc7a970f78e32aa503c01c67da30971d1a.

Bug: T12493
Change-Id: Icf78cce3f3e362677d10897b8d1103b3df91fa08

7 years agoMerge "Allow SearchEngine users to access features data"
jenkins-bot [Fri, 27 Jan 2017 16:59:08 +0000 (16:59 +0000)]
Merge "Allow SearchEngine users to access features data"

7 years agoMerge "User group memberships that expire"
jenkins-bot [Fri, 27 Jan 2017 16:29:47 +0000 (16:29 +0000)]
Merge "User group memberships that expire"

7 years agoAllow SearchEngine users to access features data
David Causse [Fri, 27 Jan 2017 14:04:51 +0000 (15:04 +0100)]
Allow SearchEngine users to access features data

Useful in case the client wants to re-evaluate what was set
here, or if the SearchEngine implementation wants to expose
some of its states.
In our case it allows CirrusSearch to inform SpecialSearch
that we prefer to display search results with a new experimental
layout.

Bug: T156299
Change-Id: I7f661c852ef70ea7bc9ae2959f7d6e48776a9877

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 27 Jan 2017 12:58:38 +0000 (13:58 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I8ccae21da1014b794a87ddbd4ade8be9b2c9edd5

7 years agoMerge "Add content model indexing"
jenkins-bot [Fri, 27 Jan 2017 11:08:35 +0000 (11:08 +0000)]
Merge "Add content model indexing"

7 years agoUser group memberships that expire
This, that and the other [Thu, 12 Jan 2017 06:07:56 +0000 (17:07 +1100)]
User group memberships that expire

This patch adds an ug_expiry column to the user_groups table, a timestamp
giving a date when the user group expires. A new UserGroupMembership class,
based on the Block class, manages entries in this table.

When the expiry date passes, the row in user_groups is ignored, and will
eventually be purged from the DB when UserGroupMembership::insert is next
called. Old, expired user group memberships are not kept; instead, the log
entries are available to find the history of these memberships, similar
to the way it has always worked for blocks and protections.

Anyone getting user group info through the User object will get correct
information. However, code that reads the user_groups table directly will
now need to skip over rows with ug_expiry < wfTimestampNow(). See
UsersPager for an example of how to do this.

NULL is used to represent infinite (no) expiry, rather than a string
'infinity' or similar (except in the API). This allows existing user group
assignments and log entries, which are all infinite in duration, to be
treated the same as new, infinite-length memberships, without special
casing everything.

The whole thing is behind the temporary feature flag
$wgDisableUserGroupExpiry, in accordance with the WMF schema change policy.

The opportunity has been taken to refactor some static user-group-related
functions out of User into UserGroupMembership, and also to add a primary
key (ug_user, ug_group) to the user_groups table.

There are a few breaking changes:
- UserRightsProxy-like objects are now required to have a
  getGroupMemberships() function.
- $user->mGroups (on a User object) is no longer present.
- Some protected functions in UsersPager are altered or removed.
- The UsersPagerDoBatchLookups hook (unused in any Wikimedia Git-hosted
  extension) has a change of parameter.

Bug: T12493
Depends-On: Ia9616e1e35184fed9058d2d39afbe1038f56d7fa
Depends-On: I86eb1d5619347ce54a5f33a591417742ebe5d6f8
Change-Id: I93c955dc7a970f78e32aa503c01c67da30971d1a

7 years agoFurther updates to .mailmap for the generation of CREDITS
TTO [Wed, 18 Jan 2017 03:22:25 +0000 (03:22 +0000)]
Further updates to .mailmap for the generation of CREDITS

Mostly adding current and former WMF/WMDE employees, and a couple of
others, under the correct version of their full names.

Change-Id: I36ca297967125cc211705509466358d9d762e5c8

7 years agoobjectcache: add WANObjectCacheReaper for assuring purges
Aaron Schulz [Sat, 3 Sep 2016 04:43:16 +0000 (21:43 -0700)]
objectcache: add WANObjectCacheReaper for assuring purges

* This fixes keys based on some sort of change log.
  Updates are wrapped in a mutex and keep track of the
  last known good position.
* Make WANObjectReapUpdate class that cleans up title
  related keys using the recentchanges table. This triggers
  as a deferred updates on RC view.

Change-Id: I7f14b9ca2533032147e62b1a3cc004a23da86579

7 years agoMerge "rcfeed: Add basic PHPUnit integration test"
jenkins-bot [Fri, 27 Jan 2017 02:16:09 +0000 (02:16 +0000)]
Merge "rcfeed: Add basic PHPUnit integration test"

7 years agoAdd content model indexing
Stanislav Malyshev [Thu, 26 Jan 2017 19:15:03 +0000 (11:15 -0800)]
Add content model indexing

Bug: T156371
Change-Id: I1514f9db70870ec05b30153cc56558af0a28b8c9