lhc/web/wiklou.git
7 years agoMerge "Make login/signup footer available to AuthChangeFormFields hook"
jenkins-bot [Tue, 23 Aug 2016 15:25:13 +0000 (15:25 +0000)]
Merge "Make login/signup footer available to AuthChangeFormFields hook"

7 years agoMerge "Improve default behavior for HTMLForm::canDisplayErrors"
jenkins-bot [Tue, 23 Aug 2016 15:12:24 +0000 (15:12 +0000)]
Merge "Improve default behavior for HTMLForm::canDisplayErrors"

7 years agoMerge "mw.widgets.CategoryCapsuleItemWidget: Debug logging for "queue[title] is undef...
jenkins-bot [Tue, 23 Aug 2016 14:18:39 +0000 (14:18 +0000)]
Merge "mw.widgets.CategoryCapsuleItemWidget: Debug logging for "queue[title] is undefined""

7 years agomw.widgets.CategoryCapsuleItemWidget: Debug logging for "queue[title] is undefined"
Bartosz Dziewoński [Tue, 23 Aug 2016 13:50:13 +0000 (15:50 +0200)]
mw.widgets.CategoryCapsuleItemWidget: Debug logging for "queue[title] is undefined"

Bug: T139130
Change-Id: Icd852a0b0d5cc42863965e303c410d1be50ff364

7 years agoMerge "SpecialMyLanguage: Use page language instead of wiki language for redirect...
jenkins-bot [Tue, 23 Aug 2016 13:28:12 +0000 (13:28 +0000)]
Merge "SpecialMyLanguage: Use page language instead of wiki language for redirect target check"

7 years agoSpecialMyLanguage: Use page language instead of wiki language for redirect target...
Florian [Fri, 18 Dec 2015 02:26:23 +0000 (03:26 +0100)]
SpecialMyLanguage: Use page language instead of wiki language for redirect target check

With the change, named in Follow up, it's possible for site owners to
allow to change the language of a page using a special page.
Theoretically, any page can have another or a different page language,
depending on, if the language was changed using the special page or not.
For Special:MyLanguage it isn't enough anymore to check, if the current
user language is the same as the default content language. It has to
check, if the page language (which can potentionally differ from the
default content language) is the same as the user language.

The problem:
If content language is the same as the user language, Special:MyLanguage
currently redirects to the "base page" of a page ("Testpage" instead of
"Testpage/de"), no matter, if the page language of the base part is
another one as the default content language. This can result in the
problem, that Special:MyLanguage redirects to a page, that has a
different language as the user language, even if a subpage with the user
language code exists. This is fixed with this change.

Follow up: I0f82b146fbe948f917c1

Bug: T121834
Change-Id: Ic9fc9049813c153111829d37a2c248dc0768e0fb

7 years agoMerge "Introduce {{#time: xit}} for days in the month in Iranian calendar"
jenkins-bot [Tue, 23 Aug 2016 12:54:48 +0000 (12:54 +0000)]
Merge "Introduce {{#time: xit}} for days in the month in Iranian calendar"

7 years agoMerge "User namespace localisation update for Slovak"
jenkins-bot [Tue, 23 Aug 2016 12:49:43 +0000 (12:49 +0000)]
Merge "User namespace localisation update for Slovak"

7 years agoOutputPage.php: Reuse existing variable $user
Fomafix [Tue, 23 Aug 2016 07:12:35 +0000 (07:12 +0000)]
OutputPage.php: Reuse existing variable $user

Follows-up to 81c291f2

Change-Id: Id32daf74549c8af886a46119b30ff29ab2a6ac94

7 years agoMerge "objectcache: Add missing @covers to unit tests"
jenkins-bot [Tue, 23 Aug 2016 07:00:55 +0000 (07:00 +0000)]
Merge "objectcache: Add missing @covers to unit tests"

7 years agoobjectcache: Add missing @covers to unit tests
Timo Tijhof [Tue, 23 Aug 2016 06:20:42 +0000 (23:20 -0700)]
objectcache: Add missing @covers to unit tests

* HashBagOStuff: 100%
* CachedBagOStuff: 64%
* MultiWriteBagOStuff: 33%

Change-Id: I50bb8f5eda7eabadb5fd4b841af42b3bbcaf9611

7 years agoCode cleanups to SqlBagOStuff
Aaron Schulz [Tue, 23 Aug 2016 01:41:05 +0000 (18:41 -0700)]
Code cleanups to SqlBagOStuff

* Refactor local DB usage check into usesMainDB() method.
* Avoid using the db member of DBError instances.

Change-Id: I7350f5a471c551492094bfaf545ebc222eb6f7dd

7 years agoMerge "Pingback: Tweak docs a tiny bit to point to mw.org better"
jenkins-bot [Tue, 23 Aug 2016 05:09:43 +0000 (05:09 +0000)]
Merge "Pingback: Tweak docs a tiny bit to point to mw.org better"

7 years agoMerge "Move EnqueueableDataUpdate to a separate file"
jenkins-bot [Tue, 23 Aug 2016 04:57:41 +0000 (04:57 +0000)]
Merge "Move EnqueueableDataUpdate to a separate file"

7 years agoMerge "Release notes for all the previous security patches"
jenkins-bot [Tue, 23 Aug 2016 04:48:17 +0000 (04:48 +0000)]
Merge "Release notes for all the previous security patches"

7 years agoMerge "Remove redundant isLoggedIn() call"
jenkins-bot [Tue, 23 Aug 2016 04:39:59 +0000 (04:39 +0000)]
Merge "Remove redundant isLoggedIn() call"

7 years agoRelease notes for all the previous security patches
Chad Horohoe [Mon, 22 Aug 2016 19:39:05 +0000 (12:39 -0700)]
Release notes for all the previous security patches

Change-Id: Ie93338b7d41a90f3ffdfa1b41891994935c965c7

7 years agoMerge "SECURITY: Move 'UserGetRights' call before application of Session::getAllowedU...
jenkins-bot [Tue, 23 Aug 2016 04:34:38 +0000 (04:34 +0000)]
Merge "SECURITY: Move 'UserGetRights' call before application of Session::getAllowedUserRights()"

7 years agoMerge "Remove commit() hack from User::addToDatabase()"
jenkins-bot [Tue, 23 Aug 2016 04:29:20 +0000 (04:29 +0000)]
Merge "Remove commit() hack from User::addToDatabase()"

7 years agoMerge "Various database class cleanups"
jenkins-bot [Tue, 23 Aug 2016 04:23:26 +0000 (04:23 +0000)]
Merge "Various database class cleanups"

7 years agoMove EnqueueableDataUpdate to a separate file
Aaron Schulz [Tue, 23 Aug 2016 04:20:49 +0000 (21:20 -0700)]
Move EnqueueableDataUpdate to a separate file

Change-Id: Iabc291cd1f3c5390ca8bcc5da64a0ff01a082575

7 years agoRemove redundant isLoggedIn() call
Timo Tijhof [Tue, 23 Aug 2016 04:08:23 +0000 (21:08 -0700)]
Remove redundant isLoggedIn() call

Follows-up 3e7a50d581c291f26.

Change-Id: I76f71f92ed8f2f57b871fa359c469f83357d8025

7 years agoSECURITY: Move 'UserGetRights' call before application of Session::getAllowedUserRights()
Brad Jorsch [Thu, 7 Jul 2016 21:24:50 +0000 (17:24 -0400)]
SECURITY: Move 'UserGetRights' call before application of Session::getAllowedUserRights()

This prevents hook functions from accidentally adding rights that should
be denied based on the session grants.

If some extension really needs to be able to override session grants,
add a new hook where the old call was, with documentation explicitly
warning about the security implications.

Bug: T139670
Change-Id: I6392cf4d7cc9d3ea96554b25bb5f8abb66e9031b

7 years agoMerge "SECURITY: XSS in unclosed internal links"
jenkins-bot [Tue, 23 Aug 2016 03:53:06 +0000 (03:53 +0000)]
Merge "SECURITY: XSS in unclosed internal links"

7 years agoMerge "SECURITY: Escape '<' and ']]>' in inline <style> blocks"
jenkins-bot [Tue, 23 Aug 2016 03:51:49 +0000 (03:51 +0000)]
Merge "SECURITY: Escape '<' and ']]>' in inline <style> blocks"

7 years agoMerge "Run LinksDeletionUpdate after commit() in namespaceDupes.php"
jenkins-bot [Tue, 23 Aug 2016 03:46:00 +0000 (03:46 +0000)]
Merge "Run LinksDeletionUpdate after commit() in namespaceDupes.php"

7 years agoMerge "resourceloader: Move batch fetch logic out of mw.loader.work()"
jenkins-bot [Tue, 23 Aug 2016 03:39:48 +0000 (03:39 +0000)]
Merge "resourceloader: Move batch fetch logic out of mw.loader.work()"

7 years agoSECURITY: XSS in unclosed internal links
Brian Wolff [Wed, 8 Jun 2016 02:35:15 +0000 (22:35 -0400)]
SECURITY: XSS in unclosed internal links

rawurldecode was being run on unclosed internal links
which could allow an attacker to insert arbitrary
html into the page.

See also related: r13302

Bug: T137264
Change-Id: I4e112a9e918df9fe78b62c311939239b483a21f5

7 years agoSECURITY: Escape '<' and ']]>' in inline <style> blocks
Brian Wolff [Wed, 20 Apr 2016 17:41:20 +0000 (13:41 -0400)]
SECURITY: Escape '<' and ']]>' in inline <style> blocks

This is to prevent people from closing the <style> tag, and
then doing arbitrary js-y things. In particular, this is needed
for when previewing user css pages.

This does not escape '>' since its used as the child selector
in css, and generally speaking, '>' is safe inside the contents
of elements.

Bug: T133147
Change-Id: If024398d7bd4b578ad7f8c74367787f5b19eb9d7

7 years agoresourceloader: Move batch fetch logic out of mw.loader.work()
Timo Tijhof [Tue, 9 Aug 2016 01:16:41 +0000 (18:16 -0700)]
resourceloader: Move batch fetch logic out of mw.loader.work()

Changes:

* Move batch fetch logic out of work() into a new private method
  called batchRequest().

* Avoid confusion between request as 'network fetch' and request as
  'need a module'. Renamed 'request()' to 'enqueue()' to avoid
  confusion with doRequest.
  Changed most other instances of 'request' to 'require', 'need', or
  more specific request details such as 'url' and  'query string'.

* Keep comment about important of clearing the queue in work()
  and move it to be about 'queue' instead of 'batch'.
  Variable 'batch' is now local to work() and no longer shared
  through scope. I don't know why this wasn't local before.

* Remove bad early return in work() when batch is empty. This was before
  the clearing of the queue. This could cause cached modules to remain in
  the queue for the next time work() is called.

This commit is in preparation for T142129, which will make the cache-eval
logic asynchronous in mw.loader.work().

Change-Id: I91e50232637e01822b03d77d1add3a2275e18027

7 years agoSECURITY: Require login to preview user CSS pages
Chad Horohoe [Fri, 19 Aug 2016 20:53:52 +0000 (13:53 -0700)]
SECURITY: Require login to preview user CSS pages

Anon users have predictable edit tokens, hence someone could
force an anon to execute arbitrary CSS by means of a CSRF.

Bug: T133147
Change-Id: I442b2b46cadb967aaa1f35648eff183fc7eaa475

7 years agoVarious database class cleanups
Aaron Schulz [Sat, 20 Aug 2016 06:51:46 +0000 (23:51 -0700)]
Various database class cleanups

* Refactor out some code duplication in query() into a
  separate private method.
* Remove the total master/slave query profiling, which is not
  necessary and redundant.
* Provide a default implementation for reconnect().
* Make reconnect() catch errors so it can match the docs that say
  it returns true/false to indicate failure. Likewise for ping().
* Optimize ping() to no-op if there was obvious recent activity.
* Move the ping() round in JobRunner to approveMasterChanges.
  This way, all commit rounds benefit from this logic.
* Add more doc comments for DatabaseBase fields.

Change-Id: Ic90ce2be4187244a0e8d44854c39d4b78be8e642

7 years agoMerge "SECURITY: Do not allow undeleting a revdel'd file if its top file"
jenkins-bot [Tue, 23 Aug 2016 03:05:53 +0000 (03:05 +0000)]
Merge "SECURITY: Do not allow undeleting a revdel'd file if its top file"

7 years agoMerge "SECURITY: Make $wgBlockDisablesLogin also restrict logged in permissions"
jenkins-bot [Tue, 23 Aug 2016 02:28:32 +0000 (02:28 +0000)]
Merge "SECURITY: Make $wgBlockDisablesLogin also restrict logged in permissions"

7 years agoSECURITY: Do not allow undeleting a revdel'd file if its top file
Brian Wolff [Mon, 18 Apr 2016 16:45:56 +0000 (12:45 -0400)]
SECURITY: Do not allow undeleting a revdel'd file if its top file

This prevents admins being able to view suppressed files, by simply
deleting them, and then undeleting only the file revision that they
want to view.

This dates back to r43288. Unclear if it was intentional.

Bug: T132926
Change-Id: Ib767de853a37099305db20529378fa756ee1bdfe

7 years agoSECURITY: Make $wgBlockDisablesLogin also restrict logged in permissions
Brian Wolff [Wed, 29 Jun 2016 14:45:25 +0000 (10:45 -0400)]
SECURITY: Make $wgBlockDisablesLogin also restrict logged in permissions

Does both Title and user related methods, so it catches things that only
call $wgUser->isAllowed( 'read' ), as well as giving a nicer error message
for things that use $title->userCan().

Otherwise, the user can still do stuff and read pages if they have an
ongoing session.

Issue reported by Multichill

Bug: T129738
Change-Id: Ic929a385fa81c27cbc6ac3a0862f51190d3ae993

7 years agoMerge "SECURITY: Make blocks log users out if $wgBlockDisablesLogin"
jenkins-bot [Tue, 23 Aug 2016 01:34:04 +0000 (01:34 +0000)]
Merge "SECURITY: Make blocks log users out if $wgBlockDisablesLogin"

7 years agoMerge "SECURITY: Check read permission when loading page content in ApiParse."
jenkins-bot [Tue, 23 Aug 2016 01:34:00 +0000 (01:34 +0000)]
Merge "SECURITY: Check read permission when loading page content in ApiParse."

7 years agoRemove direct rollback() calls from some places
Aaron Schulz [Fri, 19 Aug 2016 20:17:33 +0000 (13:17 -0700)]
Remove direct rollback() calls from some places

Rely on the mass-rollback logic in MWExceptionHandler instead.
This results in a better chance of atomicity.

Change-Id: I2eb5661d4acc105a1323d69c5463268c234bd745

7 years agoSECURITY: Make blocks log users out if $wgBlockDisablesLogin
Brian Wolff [Tue, 19 Apr 2016 14:25:43 +0000 (10:25 -0400)]
SECURITY: Make blocks log users out if $wgBlockDisablesLogin

Issue originally reported by Multichill

Bug: T129738
Change-Id: Iddc58e504297c60f6d3ca99f21034fe7c5cf9801

7 years agoSECURITY: Check read permission when loading page content in ApiParse.
Daniel Kinzler [Mon, 13 Jun 2016 08:01:43 +0000 (04:01 -0400)]
SECURITY: Check read permission when loading page content in ApiParse.

Prevents leaking page contents for extensions that deny read rights
to certain pages via a userCan hook, but still allow the user to
have read rights in general.

Issue originally reported by Tobias

Bug: T115333
Change-Id: I19f5c2583393794cff802a70af7ccf43c2fed85c

7 years agoMove invalidatePages() to new PurgeJobUtils class
Aaron Schulz [Tue, 23 Aug 2016 00:13:33 +0000 (17:13 -0700)]
Move invalidatePages() to new PurgeJobUtils class

This does not really belong in SqlDataUpdate.

Change-Id: I7166e50696483371f95db3a8b6bce44b0f866ccd

7 years agoRun LinksDeletionUpdate after commit() in namespaceDupes.php
Aaron Schulz [Mon, 22 Aug 2016 23:15:24 +0000 (16:15 -0700)]
Run LinksDeletionUpdate after commit() in namespaceDupes.php

This DataUpdate (or any for that matter) is not meant to be run in
the same transaction as random other stuff.

Bug: T143631
Change-Id: Ic40865805c26acc88e613a592b922ffb121962d2

7 years agoMerge "Deprecated jQuery method .size() replaced with property .length"
jenkins-bot [Mon, 22 Aug 2016 22:31:13 +0000 (22:31 +0000)]
Merge "Deprecated jQuery method .size() replaced with property .length"

7 years agoImprove default behavior for HTMLForm::canDisplayErrors
Gergő Tisza [Mon, 22 Aug 2016 22:27:28 +0000 (22:27 +0000)]
Improve default behavior for HTMLForm::canDisplayErrors

Change-Id: I3cd94d9b6ce0343af35c1623dac357cccc44293c

7 years agoMerge "Add `.mw-ui-icon-small` to icon classes"
jenkins-bot [Mon, 22 Aug 2016 21:50:21 +0000 (21:50 +0000)]
Merge "Add `.mw-ui-icon-small` to icon classes"

7 years agoDeprecated jQuery method .size() replaced with property .length
Victor Porton [Mon, 22 Aug 2016 20:20:13 +0000 (23:20 +0300)]
Deprecated jQuery method .size() replaced with property .length

Bug: T143596
Change-Id: I1b37715097ea3f801bb4b8fdfda2a1232fdb118c

7 years agoMerge "Special:UserLogin: Don't show login button when not required"
jenkins-bot [Mon, 22 Aug 2016 20:01:50 +0000 (20:01 +0000)]
Merge "Special:UserLogin: Don't show login button when not required"

7 years agoApiUpload: Fix fatal in dieStatusWithCode()
Bartosz Dziewoński [Mon, 22 Aug 2016 19:16:21 +0000 (21:16 +0200)]
ApiUpload: Fix fatal in dieStatusWithCode()

If $extraData was null, but $moreExtraData was given, the following
fatal would occur:

  Fatal error: Unsupported operand types in
  /var/www/html/w/includes/api/ApiUpload.php on line 408

Follow-up to c9b5b3e988e3554c231860a2da587dff16b05e0c.

Change-Id: I613eed1f7429247fe46afa454d36f518f6a81ebe

7 years agoMerge "Avoid INSERT..SELECT in MovePage"
jenkins-bot [Mon, 22 Aug 2016 19:03:41 +0000 (19:03 +0000)]
Merge "Avoid INSERT..SELECT in MovePage"

7 years agoSpecial:UserLogin: Don't show login button when not required
Florian [Wed, 27 Jul 2016 20:01:43 +0000 (22:01 +0200)]
Special:UserLogin: Don't show login button when not required

If no AuthenticationRequest requires a separate login button, it
shouldn'tbe visible. This is, for example, the case, when only
link providers are used, that require the user to redirect to a third
party site, as it usually just shows a single submit button.

In this case, the login button is still visible because of other additional
fields, such as the remember  me button. This change checks each primary
authentication provider, if it provides its provide his own submit
button or not, and if so, removes the login button completely.

Bug: T141471
Change-Id: Ib18a69582cb3f79d438ab009d8755f0d5e415bcb

7 years agoMerge "Use newer transaction methods in BatchRowWriter"
jenkins-bot [Mon, 22 Aug 2016 18:44:15 +0000 (18:44 +0000)]
Merge "Use newer transaction methods in BatchRowWriter"

7 years agoAPI: Don't require 'users' parameter to contain all valid usernames
Brad Jorsch [Mon, 22 Aug 2016 18:22:12 +0000 (14:22 -0400)]
API: Don't require 'users' parameter to contain all valid usernames

Instead, go back to validating the individual values so one invalid name
doesn't cause the whole module to error out. The code for that was all
still there, just unused since Ic67fb540.

Bug: T142895
Change-Id: Ia5eae51d69185580ac2c772afc198a92813e407a

7 years agoMerge "HTMLForm: Refactor loading of modules required to infuse fields"
jenkins-bot [Mon, 22 Aug 2016 18:08:16 +0000 (18:08 +0000)]
Merge "HTMLForm: Refactor loading of modules required to infuse fields"

7 years agoMerge "Fix IDEA warning in VirtualRESTServiceClient"
jenkins-bot [Mon, 22 Aug 2016 18:05:01 +0000 (18:05 +0000)]
Merge "Fix IDEA warning in VirtualRESTServiceClient"

7 years agoMake login/signup footer available to AuthChangeFormFields hook
Gergő Tisza [Tue, 2 Aug 2016 00:59:41 +0000 (17:59 -0700)]
Make login/signup footer available to AuthChangeFormFields hook

Bug: T136727
Change-Id: Ia8b0f11d0e941fe27d22161b5609fa0600c7078a

7 years agoMerge "Unset weird ancient WMF-specific shared upload settings"
jenkins-bot [Mon, 22 Aug 2016 17:46:17 +0000 (17:46 +0000)]
Merge "Unset weird ancient WMF-specific shared upload settings"

7 years agoMerge "SpecialExport: Add 'hide-if' to form definition"
jenkins-bot [Mon, 22 Aug 2016 17:41:34 +0000 (17:41 +0000)]
Merge "SpecialExport: Add 'hide-if' to form definition"

7 years agoMerge "Split DBLockManager classes into their own files"
jenkins-bot [Mon, 22 Aug 2016 17:37:34 +0000 (17:37 +0000)]
Merge "Split DBLockManager classes into their own files"

7 years agoHTMLForm: Refactor loading of modules required to infuse fields
Bartosz Dziewoński [Sun, 31 Jul 2016 14:56:23 +0000 (16:56 +0200)]
HTMLForm: Refactor loading of modules required to infuse fields

Rather than have a master list in autoinfuse.js (duplicated in
hide-if.js), we put this information in each field class and put it
in the generated HTML as a separate 'data-' attribute. This also
allows new fields defined by extensions to be correctly autoinfused.

Change-Id: I3da75706209cbc16b19cc3f02b355e58ca75fec9

7 years agoUnset weird ancient WMF-specific shared upload settings
Chad Horohoe [Mon, 22 Aug 2016 17:15:57 +0000 (10:15 -0700)]
Unset weird ancient WMF-specific shared upload settings

They won't work for anyone, not even WMF

Change-Id: I520f684fe833f0e1a9dc5b56d83366cb909fd480

7 years agoPingback: Tweak docs a tiny bit to point to mw.org better
Chad Horohoe [Mon, 22 Aug 2016 17:14:28 +0000 (10:14 -0700)]
Pingback: Tweak docs a tiny bit to point to mw.org better

Change-Id: Ia01380d6bb20cfb22b6cc3717ce530df87e0d42b

7 years agoMerge "Support 'hide-if' parameters in OOUI HTMLForm"
jenkins-bot [Mon, 22 Aug 2016 16:02:24 +0000 (16:02 +0000)]
Merge "Support 'hide-if' parameters in OOUI HTMLForm"

7 years agoSpecialExport: Add 'hide-if' to form definition
Bartosz Dziewoński [Sun, 31 Jul 2016 14:35:59 +0000 (16:35 +0200)]
SpecialExport: Add 'hide-if' to form definition

Change-Id: Ic03620849f863bc4e21347984f84c532c189c4ea

7 years agoMerge "mw.widgets.DateInputWidget: Fix label dimensions for Apex theme skins"
jenkins-bot [Mon, 22 Aug 2016 15:51:52 +0000 (15:51 +0000)]
Merge "mw.widgets.DateInputWidget: Fix label dimensions for Apex theme skins"

7 years agoMerge "jquery.makeCollapsible: Support for .mw-collapsible-toggle inside <li>"
jenkins-bot [Mon, 22 Aug 2016 15:44:26 +0000 (15:44 +0000)]
Merge "jquery.makeCollapsible: Support for .mw-collapsible-toggle inside <li>"

7 years agoSupport 'hide-if' parameters in OOUI HTMLForm
Bartosz Dziewoński [Sat, 30 Jul 2016 23:19:26 +0000 (01:19 +0200)]
Support 'hide-if' parameters in OOUI HTMLForm

For plain HTML forms, we just put the required data in the 'data-hide-if'
attribute. For OOUI, it's not so easy - while we could just call
->setAttribute(...) on the FieldLayout, this would disappear when
infusing (since it's not part of the config), and we have no control over
when some piece of JavaScript decides to infuse the element. Even if we
managed to handle it first, infusing replaces the DOM nodes for elements
with new ones, which would "disable" our event handlers.

To solve this, I'm creating two new layouts HTMLFormFieldLayout and
HTMLFormActionFieldLayout (subclassing FieldLayout and ActionFieldLayout)
with a common trait (mixin) HTMLFormElement. This is all implemented both
in PHP and JS. Right now it only serves to carry the 'hide-if' data from
PHP to JS code, but I imagine it'll be extended in the future for other
HTMLForm features not yet present in the OOUI version (e.g. 'cloner'
fields).

The code in hide-if.js has been modified to work with jQuery objects or
with OOjs UI Widgets with minimal changes. I had to duplicate the map of
HTMLFormField classes to modules they require there (from autoinfuse.js),
which is ugly - I'm fixing this in a follow-up commit
I3da75706209cbc16b19cc3f02b355e58ca75fec9.

Bug: T141558
Change-Id: I3b06a6f75eed01d3e0bdc5dd33e1b40b7a2fc0a2

7 years agojquery.makeCollapsible: Support for .mw-collapsible-toggle inside <li>
Victor Porton [Sat, 20 Aug 2016 20:13:27 +0000 (23:13 +0300)]
jquery.makeCollapsible: Support for .mw-collapsible-toggle inside <li>

Bug: T143484
Change-Id: Ib3480f543399c206e6ee7fc47ad7b22b9c2446b5

7 years agoAdd `.mw-ui-icon-small` to icon classes
Volker E [Thu, 18 Aug 2016 22:44:33 +0000 (15:44 -0700)]
Add `.mw-ui-icon-small` to icon classes

Adding small icon class `.mw-ui-icon-small`. Also adapting documentation.

Change-Id: Ia140779d488dddf9014087e8d48852c8c53977e3

7 years agoUse newer transaction methods in BatchRowWriter
Aaron Schulz [Mon, 22 Aug 2016 03:03:17 +0000 (20:03 -0700)]
Use newer transaction methods in BatchRowWriter

Change-Id: I9f8c2576f511419e77e9b6f10c96a43e5d69704e

7 years agoMWTimestamp: Allow providing a DateTime object directly
Kunal Mehta [Mon, 22 Aug 2016 02:17:01 +0000 (19:17 -0700)]
MWTimestamp: Allow providing a DateTime object directly

For cases where you already have a DateTime object on hand and want to
use MWTimestamp's formatting code. Since MWTimestamp stores DateTime
objects internally, just set it to the $timestamp member variable.

Change-Id: Ie60392e32743d4d082d2c9347ef68418d5eb86ad

7 years agoFix IDEA warning in VirtualRESTServiceClient
Aaron Schulz [Sun, 21 Aug 2016 23:18:56 +0000 (16:18 -0700)]
Fix IDEA warning in VirtualRESTServiceClient

The value was overridden before usage.

Change-Id: If79890dd9a878358133882c41c5fd234ebed012c

7 years agoRemove commit() hack from User::addToDatabase()
Aaron Schulz [Sun, 21 Aug 2016 21:03:24 +0000 (14:03 -0700)]
Remove commit() hack from User::addToDatabase()

This is likely not needed anymore to avoid deadlocks anymore
as AuthManagar uses a lock in autoCreateUser() before hand.

Change-Id: I19ae6562011854495efcb0dd832b7ae99ebbb224

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 21 Aug 2016 20:08:21 +0000 (22:08 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I28649c5ec88c05c17aeb113f10b0b27a13cc9240

7 years agoUser namespace localisation update for Slovak
Sébastien Santoro [Sat, 20 Aug 2016 13:11:32 +0000 (13:11 +0000)]
User namespace localisation update for Slovak

Namespaces translation author: Tomas Polonec (Tomáš)
Reviewer: LacoR

Bug: T143474
Change-Id: I376e96dfdcf5e04fa935372c2af2879bd93b9dcb

7 years agodebug: Don't separately calculate query runtime
Kunal Mehta [Sun, 21 Aug 2016 01:40:26 +0000 (18:40 -0700)]
debug: Don't separately calculate query runtime

It is already calculated for the transaction profiler, so re-use that.

Change-Id: Ifcc43484c25e00e2409fbfb421ca2f9cecd67492

7 years agodebug: Remove unused 'jquery.tipsy' dependency
Kunal Mehta [Sun, 21 Aug 2016 01:30:41 +0000 (18:30 -0700)]
debug: Remove unused 'jquery.tipsy' dependency

mediawiki.debug has not used jquery.tipsy since
9144673b5c95.

Change-Id: I3ad61c786437c513eb4cfcb145522225e9942a72

7 years agoMerge "Give all idle transaction callbacks a chance to run"
jenkins-bot [Sun, 21 Aug 2016 05:13:50 +0000 (05:13 +0000)]
Merge "Give all idle transaction callbacks a chance to run"

7 years agoGive all idle transaction callbacks a chance to run
Aaron Schulz [Fri, 19 Aug 2016 22:25:08 +0000 (15:25 -0700)]
Give all idle transaction callbacks a chance to run

Catch exceptions from other DB handle callback runs.
Also use the first exception instead of the last for
callback runs, as the it is more likely to be meaningfull.

Change-Id: Ib180d684b090ae26ad6ec0854322d5cb4286cc81

7 years agoFix repo url in docs/database.txt
Paladox [Sun, 21 Aug 2016 00:00:51 +0000 (01:00 +0100)]
Fix repo url in docs/database.txt

Change-Id: I9c7558252cc71126e45acb56c8c4fc68d353c86e

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 20 Aug 2016 20:04:25 +0000 (22:04 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Icd414580d3aeb2aba4af16f299ec339a2d843c8e

7 years agoSplit DBLockManager classes into their own files
Aaron Schulz [Sat, 20 Aug 2016 17:26:01 +0000 (10:26 -0700)]
Split DBLockManager classes into their own files

Change-Id: If903a90a5be2d6ff11504d34eb125e86c1ab1191

7 years agoMerge "Do not automatically infuse any OOjs UI widgets"
jenkins-bot [Sat, 20 Aug 2016 16:54:50 +0000 (16:54 +0000)]
Merge "Do not automatically infuse any OOjs UI widgets"

7 years agoMerge "Split the 'mediawiki.htmlform' module code into multiple files"
jenkins-bot [Sat, 20 Aug 2016 16:54:46 +0000 (16:54 +0000)]
Merge "Split the 'mediawiki.htmlform' module code into multiple files"

7 years agomw.widgets.DateInputWidget: Fix label dimensions for Apex theme skins
Bartosz Dziewoński [Fri, 22 Jul 2016 18:10:18 +0000 (20:10 +0200)]
mw.widgets.DateInputWidget: Fix label dimensions for Apex theme skins

Change-Id: Ia4d27e24dc706045f8f3e31d94ae803c7b6b28b4

7 years agoMerge "Detect when callers catch DB errors and fail to rollback"
jenkins-bot [Fri, 19 Aug 2016 22:23:56 +0000 (22:23 +0000)]
Merge "Detect when callers catch DB errors and fail to rollback"

7 years agoDetect when callers catch DB errors and fail to rollback
Aaron Schulz [Fri, 19 Aug 2016 20:12:27 +0000 (13:12 -0700)]
Detect when callers catch DB errors and fail to rollback

This makes it harder to accidently circumvent the MWExceptionHandler
rollback logic.

Change-Id: Ia1f89fa0f88ff3aacf5d9b93300dbf909fa74fdd

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 19 Aug 2016 20:00:33 +0000 (22:00 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Idd0a7553ba64610ce873c52909baa1bff5ee0b14

7 years agoMerge "Allow requiring cache size for page props"
jenkins-bot [Fri, 19 Aug 2016 19:39:17 +0000 (19:39 +0000)]
Merge "Allow requiring cache size for page props"

7 years agoMerge "Extract ParserOutput search index data fields from WikiTextContentHandler"
jenkins-bot [Fri, 19 Aug 2016 18:40:17 +0000 (18:40 +0000)]
Merge "Extract ParserOutput search index data fields from WikiTextContentHandler"

7 years agoAvoid INSERT..SELECT in MovePage
Aaron Schulz [Fri, 19 Aug 2016 18:31:41 +0000 (11:31 -0700)]
Avoid INSERT..SELECT in MovePage

That construct has poor locking characteristics in terms of
auto-inc columns as well as not allowing such inserts concurrently
for statement-based replication. Also, the INSERT..SELECT did not
have an ORDER BY, which could lead to pr_id drift with statement
based replication.

Change-Id: I47ca89abcbe4598d3b56cf077a47055500a0647f

7 years agoExtract ParserOutput search index data fields from WikiTextContentHandler
aude [Tue, 9 Aug 2016 17:22:09 +0000 (13:22 -0400)]
Extract ParserOutput search index data fields from WikiTextContentHandler

Bug: T142491
Change-Id: I69b010b893135e53fac7f16f4b927b8fbcba06d2

7 years agoMerge "Send registration welcome email post-commit"
jenkins-bot [Fri, 19 Aug 2016 08:29:18 +0000 (08:29 +0000)]
Merge "Send registration welcome email post-commit"

7 years agoSend registration welcome email post-commit
Gergő Tisza [Fri, 19 Aug 2016 06:06:25 +0000 (06:06 +0000)]
Send registration welcome email post-commit

Follow-up to I8f1bd3e.

Change-Id: I26e7a1857363d4e6627a0f583a8556d0fd8ae623

7 years agoMerge "OutputPage: Make ResourceLoader position exemption more generic"
jenkins-bot [Fri, 19 Aug 2016 04:37:04 +0000 (04:37 +0000)]
Merge "OutputPage: Make ResourceLoader position exemption more generic"

7 years agoClarify some WANObjectCache docs
Aaron Schulz [Fri, 19 Aug 2016 03:53:20 +0000 (20:53 -0700)]
Clarify some WANObjectCache docs

Change-Id: I819a630ebba4122a757f04fbf702122069af4fb1

7 years agoMerge "objectcache: add mcrouter support to WANObjectCache"
jenkins-bot [Fri, 19 Aug 2016 02:57:18 +0000 (02:57 +0000)]
Merge "objectcache: add mcrouter support to WANObjectCache"

7 years agoOutputPage: Make ResourceLoader position exemption more generic
Timo Tijhof [Fri, 19 Aug 2016 02:04:21 +0000 (19:04 -0700)]
OutputPage: Make ResourceLoader position exemption more generic

Follows-up 80e5b160e which moved queue formatting out of OutputPage into a
a separate ResourceLoaderClientHtml class.

The special handling for 'user' and 'user.styles' modules, and the exempt
module groups was kept in OutputPage. However the handling for it was
hardcoded for the modules in that group by default. It did not account for
modules with a group of 'user' loaded by an extension (e.g. GlobalCssJs).
GlobalCssJs modules were wrongly loaded in the regular style queue
(still in a separate request group, but not in the right cascading order
below the DynamicSyles marker).

This commit generalises the handling previously put in buildExemptModules
and moves it to getRlClient() so that it may apply to all style modules.

This commit should be a no-op besides the moving of any <link rel=stylesheet>
for non-core modules in group 'site' or 'user' now being one line lower
in the <head> HTML (after the DynamicStyles marker).

Bug: T143357
Change-Id: I1d6ea10b42293acfc535578172ad7ab2369f6299

7 years agoMerge "Check for warnings for assembled file after a chunked upload"
jenkins-bot [Fri, 19 Aug 2016 02:01:26 +0000 (02:01 +0000)]
Merge "Check for warnings for assembled file after a chunked upload"

7 years agoMerge "API: Insist authn parameters be in the POST body"
jenkins-bot [Fri, 19 Aug 2016 01:43:11 +0000 (01:43 +0000)]
Merge "API: Insist authn parameters be in the POST body"