lhc/web/wiklou.git
8 years agomediawiki.template: Mustache should return jQuery object instead of array
jdlrobson [Thu, 30 Apr 2015 00:21:24 +0000 (17:21 -0700)]
mediawiki.template: Mustache should return jQuery object instead of array

This is consistent with Flow and Hogan in Mobile.

Change-Id: If5c9e08ade185ebdb42a292f87d7506a68528c88

8 years agoMerge "Combine deleteArchived{Files,Revisions}.inc into the .php scripts"
jenkins-bot [Wed, 3 Jun 2015 00:05:52 +0000 (00:05 +0000)]
Merge "Combine deleteArchived{Files,Revisions}.inc into the .php scripts"

8 years agoresourceloader: Use mw.log instead of 'throw' for scripts with syntax errors
Timo Tijhof [Mon, 1 Jun 2015 23:06:46 +0000 (00:06 +0100)]
resourceloader: Use mw.log instead of 'throw' for scripts with syntax errors

For scripts loaded from load.php using mw.loader.implement(), an
exception is handled fine and results in the module state progressing
from 'loading' to 'errror'.

However, for wikis modules loaded with only=scripts from the HTML directly,
there is no wrapper. As such, the state() call appended to the script is
never reached and the module indefinitely stays "loading".

VisualEditor (and others) already explicitly ignore the error state
of the wiki modules (with inline mw.loader.using and casting the Promise to resolved).
However in this case the Promise never completed to neither success nor failure.

As such, this was causing users with syntax errors in their user script to
encounter a stuck VisualEditor loading bar that never goes beyond 70%.

Change-Id: I091a020bdd3392b965e0e25d03b216037fadc48f

8 years agoMerge "cache: Add in-process caching to MessageBlobStore"
jenkins-bot [Tue, 2 Jun 2015 22:23:44 +0000 (22:23 +0000)]
Merge "cache: Add in-process caching to MessageBlobStore"

8 years agocache: Add in-process caching to MessageBlobStore
Timo Tijhof [Thu, 14 May 2015 18:54:39 +0000 (19:54 +0100)]
cache: Add in-process caching to MessageBlobStore

This allows us to continue to use MessageBlobStore::get() as a way
to pre-fetch messages in batches for multiple modules while also
allowing individual modules to retrieve  their messages in a convenient
way.

This is in preparation for implementing ResourceLoaderModule::buildContents
and using it in ResourceLoaderModule::getVersionHash.

ResourceLoader::respond() already fetches message blobs in batches for the
actual response, but it also needs getVersionHash(), which would otherwise
fetch the same messages a second time.

Change-Id: I7e4c8b65765b54807123e85cfbb7eb2e5b2f39bd

8 years agoMerge "Check result of preg_match_all in Parser.php"
jenkins-bot [Tue, 2 Jun 2015 22:08:42 +0000 (22:08 +0000)]
Merge "Check result of preg_match_all in Parser.php"

8 years agoUse less fuzzy User::getDBTouched() in ApiStashEdit::getStashKey()
Aaron Schulz [Thu, 21 May 2015 23:24:42 +0000 (16:24 -0700)]
Use less fuzzy User::getDBTouched() in ApiStashEdit::getStashKey()

* The getTouched() value can bump more often or vary in DCs

Change-Id: Idffa22c9dde7c7950943b104ed61f5779636b7e7

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 2 Jun 2015 19:17:31 +0000 (21:17 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I860b228e2f23cdb32f066943d377b583bc6436eb

8 years agoFixed $flags bit operation precedence fail in User::loadFromDatabase()
Aaron Schulz [Tue, 2 Jun 2015 18:38:43 +0000 (11:38 -0700)]
Fixed $flags bit operation precedence fail in User::loadFromDatabase()

* The bug made READ_LATEST also act as READ_LOCKING

Bug: T100577
Bug: T100869
Bug: T98706
Change-Id: I85092970c236fc4482371216b9f6592c49a27942

8 years agoMove xml_free_parser out of destructor.
Brian Wolff [Mon, 25 May 2015 21:21:59 +0000 (15:21 -0600)]
Move xml_free_parser out of destructor.

Attempt to reduce error log spam. I'm not sure about the exact
cause of this error, nor have I really reproduced locally, so
I don't know if this will help, but getting it out of destructor
seems like a good idea.

I also do not know if calling xml_free_parser is really needed
(Would php automatically destroy parser during garbage collection?)

Bug: T89532
Change-Id: I5709b6cf26cf4a9032a79d2b5f48ed3b4238eaee

8 years agoMerge "Use a fixed comment placeholder string in CSSMin"
jenkins-bot [Tue, 2 Jun 2015 17:40:48 +0000 (17:40 +0000)]
Merge "Use a fixed comment placeholder string in CSSMin"

8 years agoMerge "OOUI theme support"
jenkins-bot [Tue, 2 Jun 2015 17:28:09 +0000 (17:28 +0000)]
Merge "OOUI theme support"

8 years agoUse a fixed comment placeholder string in CSSMin
Ori Livneh [Tue, 2 Jun 2015 03:49:16 +0000 (20:49 -0700)]
Use a fixed comment placeholder string in CSSMin

Both the problem and solution are nearly identical to the ones presented in
I31d4556bb. Use a constant string as a comment placeholder, and differentiate
it from possible user input using \x7f, which is not valid CSS anyway[1].

  [1]: http://www.w3.org/TR/CSS21/grammar.html

Change-Id: I3d3c2578d5e9c1fe52c02e87901cb08d03847ea7

8 years agoMerge "Fixing definition and use of $attrs parameter in Html::buttonAttributes"
jenkins-bot [Tue, 2 Jun 2015 14:20:07 +0000 (14:20 +0000)]
Merge "Fixing definition and use of $attrs parameter in Html::buttonAttributes"

8 years agoMerge "Improve doc of maxage and s-maxage API parameters"
jenkins-bot [Tue, 2 Jun 2015 14:08:39 +0000 (14:08 +0000)]
Merge "Improve doc of maxage and s-maxage API parameters"

8 years agoMerge "Made LoadBalancer debug log entries use "localhost" placeholder"
jenkins-bot [Tue, 2 Jun 2015 13:34:07 +0000 (13:34 +0000)]
Merge "Made LoadBalancer debug log entries use "localhost" placeholder"

8 years agoMerge "Rewrite Language::hebrewNumeral()"
jenkins-bot [Tue, 2 Jun 2015 13:29:19 +0000 (13:29 +0000)]
Merge "Rewrite Language::hebrewNumeral()"

8 years agoMerge "Reduce page deletion lock contention"
jenkins-bot [Tue, 2 Jun 2015 13:20:27 +0000 (13:20 +0000)]
Merge "Reduce page deletion lock contention"

8 years agoRewrite Language::hebrewNumeral()
Amir E. Aharoni [Thu, 21 May 2015 23:26:05 +0000 (02:26 +0300)]
Rewrite Language::hebrewNumeral()

Use arrays instead of strings, to avoid using
string functions with Unicode.

Handle thousands according to how years like 1000, 2000, etc.
are named in the Hebrew Wikipedia.

Bug: T97444
Change-Id: I5334e86793d28dfcf8939a249b03a5ea85fa4e69

8 years agoCleanup the code of Language::hebrewNumeral()
Amir E. Aharoni [Thu, 21 May 2015 22:21:09 +0000 (01:21 +0300)]
Cleanup the code of Language::hebrewNumeral()

Change == to === and add empty lines for readability.

Change-Id: Ifeabbf0d6adca25d8a797bd423f1bbdc0f8223ee

8 years agoAdd tests for Language::hebrewNumeral()
Amir E. Aharoni [Mon, 4 May 2015 21:27:35 +0000 (00:27 +0300)]
Add tests for Language::hebrewNumeral()

Some failing tests are commented out and will be properly fixed
in subsequent commits.

Bug: T97444
Change-Id: I19721b5dc3dc6bbe923d9bf401fcf5d765fb7a7c

8 years agoImprove doc of maxage and s-maxage API parameters
S Page [Tue, 2 Jun 2015 07:52:18 +0000 (00:52 -0700)]
Improve doc of maxage and s-maxage API parameters

They set HTTP cache control headers.  i18-only change.

Change-Id: I9eefdd51d6937388326ceb7b6baa72288221c2f7

8 years agoMerge "Add List-Unsubscribe header to emails"
jenkins-bot [Tue, 2 Jun 2015 05:06:52 +0000 (05:06 +0000)]
Merge "Add List-Unsubscribe header to emails"

8 years agoMerge "mediawiki.ui: checkbox: Render "on top of" the label"
jenkins-bot [Tue, 2 Jun 2015 04:51:44 +0000 (04:51 +0000)]
Merge "mediawiki.ui: checkbox: Render "on top of" the label"

8 years agoFixing definition and use of $attrs parameter in Html::buttonAttributes
kaldari [Tue, 2 Jun 2015 01:46:07 +0000 (18:46 -0700)]
Fixing definition and use of $attrs parameter in Html::buttonAttributes

Also clarifying definition of $modifiers parameter.

Also simplifying code for case where $attrs['class'] is not set.

Change-Id: I425211681ba75cb71c1ccc3b3c038c075ea9acb9

8 years agoregistration: Remove "additionalitems" property from array (authors)
Kunal Mehta [Tue, 2 Jun 2015 01:50:51 +0000 (18:50 -0700)]
registration: Remove "additionalitems" property from array (authors)

It doesn't make sense for arrays which can't have items to begin with.

Follows up bfe4ddd8108efe

Change-Id: I851b70782fa8210802fe576fee771ddf1bdd7fec

8 years agoMerge "composer.json: Downgrade PHPUnit to 3.7.37 (temporarily)"
jenkins-bot [Tue, 2 Jun 2015 01:33:36 +0000 (01:33 +0000)]
Merge "composer.json: Downgrade PHPUnit to 3.7.37 (temporarily)"

8 years agoMerge "Follow-up 727454f: Add mediawiki.widgets to jsduck"
jenkins-bot [Mon, 1 Jun 2015 23:48:53 +0000 (23:48 +0000)]
Merge "Follow-up 727454f: Add mediawiki.widgets to jsduck"

8 years agoMerge "Add help link for 8 more special pages"
jenkins-bot [Mon, 1 Jun 2015 23:47:09 +0000 (23:47 +0000)]
Merge "Add help link for 8 more special pages"

8 years agoFollow-up 727454f: Add mediawiki.widgets to jsduck
James D. Forrester [Mon, 1 Jun 2015 23:33:21 +0000 (16:33 -0700)]
Follow-up 727454f: Add mediawiki.widgets to jsduck

Change-Id: I1715c5bbca8735de8c391dee4e2cec8269414acf

8 years agoMerge "Commit all connections after each job"
jenkins-bot [Mon, 1 Jun 2015 22:15:11 +0000 (22:15 +0000)]
Merge "Commit all connections after each job"

8 years agoCommit all connections after each job
Nik Everett [Fri, 29 May 2015 22:07:27 +0000 (18:07 -0400)]
Commit all connections after each job

If you don't commit the slave connections then they keep their old snapshots.
This clears the snapshots so they don't get out of date views of the world.

Bug: T100838
Change-Id: I1f6f910d88324beb589b2ad9466d8786376eda55

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 1 Jun 2015 20:08:37 +0000 (22:08 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I491182176e3357ed36de4856e20af71d735dcd27

8 years agoMerge "Moved addAutopromoteOnceGroups() call to a deferred update"
jenkins-bot [Mon, 1 Jun 2015 19:24:56 +0000 (19:24 +0000)]
Merge "Moved addAutopromoteOnceGroups() call to a deferred update"

8 years agoMerge "Add tests for HttpError"
jenkins-bot [Mon, 1 Jun 2015 18:54:02 +0000 (18:54 +0000)]
Merge "Add tests for HttpError"

8 years agoAdd tests for HttpError
aude [Mon, 1 Jun 2015 18:19:19 +0000 (20:19 +0200)]
Add tests for HttpError

Still missing tests for HttpError::report, but would
have caught the issue that Ie216d19 fixed.

Change-Id: Ic35d70af52c3a2d2a25fc3b9952383198db31fb1

8 years agoRemove legacy vertical-align from select fields
Florian [Mon, 1 Jun 2015 18:01:38 +0000 (20:01 +0200)]
Remove legacy vertical-align from select fields

They shouldn't be aligned at the top by default.

Bug: T98493
Change-Id: I17b0825079ff28dfc9ea2c1ec24018073aec3794

8 years agoFix undefined variable $header in HttpError
Marius Hoch [Mon, 1 Jun 2015 17:40:41 +0000 (19:40 +0200)]
Fix undefined variable $header in HttpError

Change-Id: Ie216d1959f2ea903fdbc124b718b4988e08229ae
Follows-up: I8b61d7e9ea4101e3a9ef5f9a59a97db45aeef68c

8 years agoMerge "Add 'mediawiki.skinning.logo' module"
jenkins-bot [Mon, 1 Jun 2015 17:16:54 +0000 (17:16 +0000)]
Merge "Add 'mediawiki.skinning.logo' module"

8 years agoHttpError: Consistently escape document title
Timo Tijhof [Sun, 24 May 2015 12:39:15 +0000 (14:39 +0200)]
HttpError: Consistently escape document title

Wasn't actually a vulnerability because HttpStatus::getMessage
can only return one of a fixed set of values which are all plain
text without any special characters. However the return value
there is meant to plain text and not html, so just like
Html::element and other interfaces, things should be consitently
escaped.

Also renamed variables for clarity.

Change-Id: I8b61d7e9ea4101e3a9ef5f9a59a97db45aeef68c

8 years agoMerge "Add Vivek Ghaisas (polybuildr) to the CREDITS file"
jenkins-bot [Mon, 1 Jun 2015 13:42:41 +0000 (13:42 +0000)]
Merge "Add Vivek Ghaisas (polybuildr) to the CREDITS file"

8 years agoMerge "Made isAllowed(), showHistory() and formatRevisionRow() protected to allow...
jenkins-bot [Mon, 1 Jun 2015 13:38:55 +0000 (13:38 +0000)]
Merge "Made isAllowed(), showHistory() and formatRevisionRow() protected to allow for easier subclassing"

8 years agoMerge "SpecialMediaStatistics: Protect against invalid indexes"
jenkins-bot [Mon, 1 Jun 2015 11:50:33 +0000 (11:50 +0000)]
Merge "SpecialMediaStatistics: Protect against invalid indexes"

8 years agoMerge "Fix some RecentChange phpdoc return types"
Brian Wolff [Mon, 1 Jun 2015 11:16:20 +0000 (11:16 +0000)]
Merge "Fix some RecentChange phpdoc return types"

8 years agoMerge "Tweak 'position' of 'mediawiki.skinning.*' modules"
jenkins-bot [Mon, 1 Jun 2015 11:13:07 +0000 (11:13 +0000)]
Merge "Tweak 'position' of 'mediawiki.skinning.*' modules"

8 years agoFix some RecentChange phpdoc return types
addshore [Mon, 1 Jun 2015 11:05:58 +0000 (12:05 +0100)]
Fix some RecentChange phpdoc return types

Change-Id: I3e75a97f7fc76e2dc052463511e32f330cfca9ce

8 years agoMerge "Use a fixed marker prefix string in the Parser and MWTidy"
jenkins-bot [Mon, 1 Jun 2015 02:57:02 +0000 (02:57 +0000)]
Merge "Use a fixed marker prefix string in the Parser and MWTidy"

8 years agoMerge "Move MWTimestamp::getHumanTimestamp() to Language"
jenkins-bot [Mon, 1 Jun 2015 02:39:57 +0000 (02:39 +0000)]
Merge "Move MWTimestamp::getHumanTimestamp() to Language"

8 years agoUse a fixed marker prefix string in the Parser and MWTidy
Ori Livneh [Tue, 26 May 2015 20:48:33 +0000 (13:48 -0700)]
Use a fixed marker prefix string in the Parser and MWTidy

Generating one-time, unique strip markers hurts us in multiple ways:

* The strip marker regexes don't benefit from JIT compilation, so they are
  slower to execute than they could be.
* Although the regexes don't benefit from JIT compilation, they are still
  compiled, because HHVM bets on regexes getting reused. This extra work is
  fairly costly (1-2% of CPU usage on the app servers) and doesn't pay off.
* The size of the PCRE JIT cache is finite, and the caching of one-off regexes
  displaces from the cache regexes which are in fact reused.

Tim's preferred solution (per his review comment on
https://gerrit.wikimedia.org/r/167530/) is to use fixed strip markers.
So:

* Replace usage of $parser->mUniqPrefix with Parser::MARKER_PREFIX, which
  complements the existing Parser::MARKER_SUFFIX.
* Deprecate Parser::mUniqPrefix and its accessor, Parser::uniqPrefix().
* Deprecate Parser::getRandomString(), since it is no longer useful.
* In Preprocessor_*:preprocessToObj() and Parser::fetchTemplateAndTitle,
  replace any occurences of \x7f with '?', to prevent strip marker forgery.
  \x7f is not valid input anyway.
* Deprecate the $prefix parameter for StripState::__construct, since a custom
  prefix may no longer be specified.

Change-Id: I31d4556bbb07acb72c33fda335fa5a230379a03f

8 years agoRemove deprecated MWFunction::newObj()
Kunal Mehta [Sun, 31 May 2015 04:50:42 +0000 (21:50 -0700)]
Remove deprecated MWFunction::newObj()

Change-Id: I180e9e1e0bcf17c9e72b607c69cae00f47de6579

8 years agoOOUI theme support
Bartosz Dziewoński [Sun, 24 May 2015 16:56:44 +0000 (18:56 +0200)]
OOUI theme support

* Split off OOjs UI's module definitions to a separate file from
  Resources.php.
* Extend ResourceLoaderImageModule to support per-skin images and
  variants.
* Allow skins to specify their preferred OOjs UI theme using new
  skin registry attribute 'SkinOOUIThemes'. The default remains the
  'mediawiki' theme, 'apex' can also be chosen now.
* Implement custom ResourceLoaderOOUIImageModule which implements some
  special sauce required to shoehorn OOjs UI image set definitions into
  ResourceLoaderImageModule with skin-specific styles support.

Bug: T100895
Change-Id: I3fbacbce95126a4cc29221352f3ef846f41e7b1b

8 years agoWhitespace fix for RELEASE-NOTES-1.26
Ori Livneh [Sun, 31 May 2015 22:16:11 +0000 (15:16 -0700)]
Whitespace fix for RELEASE-NOTES-1.26

Change-Id: I23a02f465b20117a1855e2a0881fc3bdf1e9ab14

8 years agoMerge "Remove mw-ui-icon*:after"
jenkins-bot [Sun, 31 May 2015 21:48:31 +0000 (21:48 +0000)]
Merge "Remove mw-ui-icon*:after"

8 years agoMerge "Create mediawiki.widgets and mw.widgets.TitleInputWidget in it"
jenkins-bot [Sun, 31 May 2015 20:20:01 +0000 (20:20 +0000)]
Merge "Create mediawiki.widgets and mw.widgets.TitleInputWidget in it"

8 years agoMerge "Implement MalformedTitleException for JS and use in constructor"
jenkins-bot [Sun, 31 May 2015 20:12:10 +0000 (20:12 +0000)]
Merge "Implement MalformedTitleException for JS and use in constructor"

8 years agomailmap: Add an additional e-mail for Bartosz per request
James D. Forrester [Sun, 31 May 2015 20:01:39 +0000 (13:01 -0700)]
mailmap: Add an additional e-mail for Bartosz per request

Change-Id: Ia3c9f1c83a8d15cb5758288d435b31c3bf1e8b19

8 years agoImplement MalformedTitleException for JS and use in constructor
Geoffrey Mon [Fri, 15 May 2015 05:19:30 +0000 (01:19 -0400)]
Implement MalformedTitleException for JS and use in constructor

Implements MalformedTitleExceptions to provide information on
  invalid titles.  Throw these exceptions from Title constructor
  instead of generic Errors.

Bug: T89648
Change-Id: I9ed16a5a30b01df785ad736df4b84111c5939bbf

8 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Sun, 31 May 2015 19:33:03 +0000 (19:33 +0000)]
Merge "Localisation updates from https://translatewiki.net."

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 31 May 2015 19:22:55 +0000 (21:22 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I42c49984b15a57196744b95c393615fe7f4f797f

8 years agoresourceloader: Fix broken 'version' param in mw.loader requests
Timo Tijhof [Sun, 31 May 2015 18:19:34 +0000 (19:19 +0100)]
resourceloader: Fix broken 'version' param in mw.loader requests

All requests were using version=da39a3ee5e6b, where da39a3ee5e6b
is the sha1() of the empty string.

Follows-up f37cee996e which incorrectly assummed the local
'modules' variable to hold a list of objects, when in fact it
holds a list of strings.

Change-Id: I717b8657300263606832ff1ec67a34a7163de842

8 years agoCreate mediawiki.widgets and mw.widgets.TitleInputWidget in it
James D. Forrester [Fri, 24 Apr 2015 16:33:41 +0000 (09:33 -0700)]
Create mediawiki.widgets and mw.widgets.TitleInputWidget in it

Change-Id: I43fb412ff65271fd411b14352784cb92f1f5487b

8 years agoMerge "list=categorymembers: Do not log feature usage when using default value"
jenkins-bot [Sun, 31 May 2015 17:11:49 +0000 (17:11 +0000)]
Merge "list=categorymembers: Do not log feature usage when using default value"

8 years agoRemove mw-ui-icon*:after
jdlrobson [Tue, 26 May 2015 19:41:54 +0000 (21:41 +0200)]
Remove mw-ui-icon*:after

Not being used anywhere from what I can see.

Change-Id: I83cff1444a12fdd390f78dd1c09b5b09b0c84704

8 years agoFix to digits grouping rule
Pikne [Sun, 31 May 2015 09:30:29 +0000 (09:30 +0000)]
Fix to digits grouping rule

Avoid grouping in negative numbers too.
Following the example of LanguagePl.php

Bug: T94300
Change-Id: Ib96616497507c9347cc72f894243b583619c2b11

8 years agoMove MWTimestamp::getHumanTimestamp() to Language
Brian Wolff [Sun, 24 May 2015 19:49:59 +0000 (13:49 -0600)]
Move MWTimestamp::getHumanTimestamp() to Language

We're trying to remove MediaWiki dependencies from MWTimestamp so it can
be split out into a separate library. In addition to getting rid of a
dependency on RequestContext, Language, and User, it makes more logical
sense there anyways.

Bug: T100924
Change-Id: If46eaea42d8a5a808c10f0dc353e181714295a44

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 30 May 2015 20:33:13 +0000 (22:33 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I4d6988a77f0414b4906f123d888f930b9cdfe253

8 years agolist=categorymembers: Do not log feature usage when using default value
umherirrender [Sat, 30 May 2015 17:38:04 +0000 (19:38 +0200)]
list=categorymembers: Do not log feature usage when using default value

list=categorymembers&cmstartsortkey was logged even the default value
was set

Bug: T100878
Change-Id: Idc52fe0c208216bc3e475d0e4b2e398cb73a6b80

8 years agoDeferredUpdates doc comment tweak
Aaron Schulz [Wed, 27 May 2015 19:40:02 +0000 (12:40 -0700)]
DeferredUpdates doc comment tweak

Change-Id: Ib58bcb065ef7fac58c3c579eb0ca45e51ccdae11

8 years agoAdd 'mediawiki.skinning.logo' module
Bartosz Dziewoński [Sat, 30 May 2015 15:21:42 +0000 (17:21 +0200)]
Add 'mediawiki.skinning.logo' module

Provides ability to display wiki logo with ResourceLoader without loading
the big 'mediawiki.skinning.interface' module.

Used by GreyStuff skin: Id79688a4eb4bf7f813e0c5af1d89556c488b0bde

Change-Id: I7cf51214d9fa378a321c90fc85b0c6799e3b3931

8 years agoTweak 'position' of 'mediawiki.skinning.*' modules
Bartosz Dziewoński [Sat, 30 May 2015 15:20:06 +0000 (17:20 +0200)]
Tweak 'position' of 'mediawiki.skinning.*' modules

mediawiki.skinning.elements:
mediawiki.skinning.content:
  Add 'position' => 'top', like mediawiki.skinning.interface.
  Follow-up to d6b4d3c537fa5944c2f234213b20037fe3192d62.

mediawiki.skinning.content.externallinks:
  Set 'position' => 'bottom', as this module only provides icons
  (and provides a ton of them), which can be loaded after initial load.

Also tweaked some comments.

Change-Id: Ib26afd6cbb2b5d4a7557c5c8243d2f7482a6f064

8 years agoQA: Upgrade mediawiki_selenium to 1.2 for Raita logging
Dan Duvall [Thu, 28 May 2015 19:08:35 +0000 (12:08 -0700)]
QA: Upgrade mediawiki_selenium to 1.2 for Raita logging

Change-Id: I4c6bddca1a7c964f3e8543ff7853565505485c51

8 years agoFixed Job constructor IDE notices about variable types
Aaron Schulz [Thu, 21 May 2015 18:02:35 +0000 (11:02 -0700)]
Fixed Job constructor IDE notices about variable types

Change-Id: I4b4e4e38e8d416c3445c52ced311f5fbfcde868a

8 years agoMoved addAutopromoteOnceGroups() call to a deferred update
Aaron Schulz [Thu, 21 May 2015 07:03:56 +0000 (00:03 -0700)]
Moved addAutopromoteOnceGroups() call to a deferred update

Change-Id: If7941465889c1848ccf1be4ff5505c5eb53a14f1

8 years agoregistration: Don't hardcode list of extension types in schema
Kunal Mehta [Fri, 29 May 2015 23:07:03 +0000 (16:07 -0700)]
registration: Don't hardcode list of extension types in schema

Extension types can be added via a hook, so don't try and validate
against a hardcoded list.

Change-Id: I0bc6fbcedc0b582b81c7037724ad01441ae415f6

8 years agoregistration: Improve ResourceModules schema definition
Kunal Mehta [Fri, 29 May 2015 23:06:10 +0000 (16:06 -0700)]
registration: Improve ResourceModules schema definition

* "-" is a valid character in module names
* debugScripts, loaderScripts, dependencies, and messages can all be
strings in addition to arrays.

Change-Id: I76570ebf1cb02ca51c5185d4b0c48a553a0e7d2f

8 years agoCleaned up various revisiondelete IDE warnings
Aaron Schulz [Fri, 22 May 2015 18:18:12 +0000 (11:18 -0700)]
Cleaned up various revisiondelete IDE warnings

Change-Id: I4750eabf9985785520aaac8eca12d488ca746966

8 years agoRefactored entry points to have uniform shutdown handling
Aaron Schulz [Wed, 20 May 2015 23:32:20 +0000 (16:32 -0700)]
Refactored entry points to have uniform shutdown handling

* Added doPreOutputCommit() and doPostOutputShutdown(),
  which most entry points just using the later
* Also fixed problem where text profiling did not show up
* Avoid calling triggerJobs() in the file streaming
  entry points

Bug: T100127
Bug: T100085
Change-Id: Ibc7e768fd483389a01847f08cdeba4058c853d3f

8 years agoMerge "Make ResourceLoaderWikiModule support custom position"
jenkins-bot [Fri, 29 May 2015 20:40:19 +0000 (20:40 +0000)]
Merge "Make ResourceLoaderWikiModule support custom position"

8 years agoMake ResourceLoaderWikiModule support custom position
Gilles Dubuc [Fri, 29 May 2015 20:00:17 +0000 (22:00 +0200)]
Make ResourceLoaderWikiModule support custom position

Bug: T97410
Change-Id: Ib1180c5b2126f4ba8ac5b54578fcce18a3f35d85

8 years agoApiOpenSearch: Ignore any other unexpected keys in json output
Brad Jorsch [Thu, 28 May 2015 14:38:19 +0000 (10:38 -0400)]
ApiOpenSearch: Ignore any other unexpected keys in json output

Iad295d2f fixed warnings to not break the opensearch json output. But
other stuff like $wgDebugToolbar can do the same thing, so let's strip
all unrecognized keys to avoid that problem.

Bug: T100635
Change-Id: I20b6502482af537ccb703f400508960038213a91

8 years agoAdd Vivek Ghaisas (polybuildr) to the CREDITS file
Vivek Ghaisas [Fri, 29 May 2015 20:03:13 +0000 (23:03 +0300)]
Add Vivek Ghaisas (polybuildr) to the CREDITS file

Change-Id: I5bc31ba9f727123a374f0d14c8da22e0c38a0f3f

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 29 May 2015 20:01:23 +0000 (22:01 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I202e3eff5b911eaf11f960c66e3d2d5bc95e1d0f

8 years agoReduce page deletion lock contention
Aaron Schulz [Fri, 29 May 2015 19:35:16 +0000 (12:35 -0700)]
Reduce page deletion lock contention

Bug: T98706
Change-Id: Ib37e74c4737de9d705af28ac2eac06e716dd5f10

8 years agoAPI: Add more parameter types and improve info
Brad Jorsch [Thu, 7 May 2015 16:39:55 +0000 (12:39 -0400)]
API: Add more parameter types and improve info

New types 'text' and 'password' for where a <textarea> or
<input type="password"> would be preferred over <input type="text">.

Some timestamp parameters get actually tagged as 'timestamp'.

'submodule' types change the 'submodules' output property from a boolean
to an object indicating the mapping from values to module paths. And
they get an indication of the submodule parameter prefix (e.g.
generator's "g"), if applicable. "generator" actually gets reported as a
submodule type, using this new mechanism.

action=paraminfo will now indicate ApiBase::PARAM_RANGE_ENFORCE status,
and return better-formatted defaults for timestamps and booleans.

Change-Id: Ic862d6f8fe13f7eb6b4298683514d33af5823e47

8 years agoMerge "Cleaned up JobQueueRedis exceptions"
jenkins-bot [Fri, 29 May 2015 18:50:54 +0000 (18:50 +0000)]
Merge "Cleaned up JobQueueRedis exceptions"

8 years agoSpecialMediaStatistics: Protect against invalid indexes
umherirrender [Fri, 29 May 2015 18:37:34 +0000 (20:37 +0200)]
SpecialMediaStatistics: Protect against invalid indexes

Avoids Undefined index: \d in
includes/specials/SpecialMediaStatistics.php

Bug: T89534
Follow-Up: Icd06d2b22b1fcb57a8849ef6dc8659b424f27fdc
Change-Id: I21b0bd4329c9b6fa06526326342edddba3f250f6

8 years agoMerge "registration: Remove unused variable"
jenkins-bot [Fri, 29 May 2015 15:24:51 +0000 (15:24 +0000)]
Merge "registration: Remove unused variable"

8 years agoMerge "Update context stats in SiteStatsUpdate"
jenkins-bot [Fri, 29 May 2015 05:37:16 +0000 (05:37 +0000)]
Merge "Update context stats in SiteStatsUpdate"

8 years agoCheck result of preg_match_all in Parser.php
umherirrender [Tue, 12 May 2015 18:43:59 +0000 (20:43 +0200)]
Check result of preg_match_all in Parser.php

preg_match_all can return false on failure, which than results in
undefined index access.
Check the result and just keep it as nothing found by processing an
empty array

Change-Id: I1f11894240dc6869506d68d3513715abdc3abb5d

8 years agoUpdate context stats in SiteStatsUpdate
Ori Livneh [Fri, 29 May 2015 00:55:17 +0000 (17:55 -0700)]
Update context stats in SiteStatsUpdate

In addition to updating the database / memcached, make SiteStatsUpdate also
update the context stats object with the deltas it is processing.

Change-Id: Icc12c07ab4233e1105a402b80d290bdb64df6ea7

8 years agocomposer.json: Downgrade PHPUnit to 3.7.37 (temporarily)
Kunal Mehta [Fri, 29 May 2015 04:37:21 +0000 (21:37 -0700)]
composer.json: Downgrade PHPUnit to 3.7.37 (temporarily)

In preparation of fetching development dependencies (such as PHPUnit!)
for unit tests via composer in jenkins runs, we should initially use the
same version of PHPUnit to avoid any issues that might come during a
version bump. Once that is stable, we can upgrade PHPUnit again.

Bug: T90303
Change-Id: I907e6d061cab72d1647fcbb2eea35ff144febd7e

8 years agoregistration: Fix types of ResourceModules properties
Kunal Mehta [Fri, 29 May 2015 00:31:16 +0000 (17:31 -0700)]
registration: Fix types of ResourceModules properties

styles and scripts can both be strings, and that is treated as if that was
the first value in the array.

style can be used as an object, the filename is the key, and value can be an
object that states what media type the stylesheet is for. An example of this
can be seen in the MonoBook skin.

Change-Id: If7d3a220cdccbb1ce096d776592535fe5782a954

8 years agoregistration: Version the extension.json schema
Kunal Mehta [Wed, 20 May 2015 01:45:10 +0000 (18:45 -0700)]
registration: Version the extension.json schema

Versioning the extension.json schema will allow us to make breaking changes
to the schema in a non-breaking manner.

Extensiosn and skins will set a 'manifest_version' value, stating which
version of the schema the file is written for. Processor::extractInfo() will
be  passed the version number, and can switch behavior depending upon it.

For backwards-compatability, a version number of 1 is assumed if none is set.
The validateRegistrationFile.php script will emit a warning if this is the
case.

Bug: T99344
Change-Id: I2086a1465ceaeedd1ccc6804fda2c304ad16ffa0

8 years agoregistration: Remove unused variable
Kunal Mehta [Thu, 28 May 2015 21:09:34 +0000 (14:09 -0700)]
registration: Remove unused variable

It is immediately overwritten. Follows up c573fc5a47204d29314.

Change-Id: I901cfebe088ca0020323db03378fe23117bb3985

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 28 May 2015 20:26:31 +0000 (22:26 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I9c9efe2b5b83d4971ef8ebddb7c4ce57006365a2

8 years agoMerge "Don't run phpcs on node_modules folder"
jenkins-bot [Thu, 28 May 2015 18:28:35 +0000 (18:28 +0000)]
Merge "Don't run phpcs on node_modules folder"

8 years agoWarn when duplicate arguments are found
Jackmcbarn [Fri, 24 Oct 2014 16:09:36 +0000 (12:09 -0400)]
Warn when duplicate arguments are found

Currently, duplicate arguments result in a categorization but not a
warning, and it's often difficult to find where in the template hierarchy
the problem lies. This causes a warning to be provided containing the
calling page's name, the called template's name, and the parameter's name.

Bug: T85352
Change-Id: I26b9a7ed5a2f246d00a49a5f6effe40b4443a9d0

8 years agoDon't run phpcs on node_modules folder
jdlrobson [Thu, 28 May 2015 17:08:42 +0000 (19:08 +0200)]
Don't run phpcs on node_modules folder

This is an artifact created by npm in certain modules. These modules
may contain PHP e.g. grunt-phpdocumentor

Change-Id: Ie46bceb5acbe6141d1e0dc4d3397d04f41d01485

8 years agoOOUIHTMLForm: Access context after parent constructor is called
Kunal Mehta [Thu, 28 May 2015 06:02:58 +0000 (23:02 -0700)]
OOUIHTMLForm: Access context after parent constructor is called

This avoids "ContextSource::getContext (OOUIHTMLForm): called and $context
is null. Using RequestContext::getMain() for sanity"

Change-Id: I20c2bb58b3a0e5e259241a3715ee8fdf4b57e148

8 years agoHTMLForm::factory() doesn't throw MWExceptions
Kunal Mehta [Thu, 28 May 2015 05:37:33 +0000 (22:37 -0700)]
HTMLForm::factory() doesn't throw MWExceptions

Change-Id: I0104bf1dd9ebb813aa37f92b21515a964ca2a709