lhc/web/wiklou.git
8 years agoPreferences: Add autocomplete="off" to preferences form
Fomafix [Tue, 29 Mar 2016 04:49:20 +0000 (04:49 +0000)]
Preferences: Add autocomplete="off" to preferences form

This change adds a new method setAutocomplete to the class HTMLForm.
This method allows to set the HTML attribute autocomplete for the form.
This change uses this method to set autocomplete="off" for the preferences form.

Without autocomplete="off" the selections in the preferences get cached in
the browser. This can lead to wrong selected options when the settings get
changed on an other way, for example via API.

Bug: T131047
Change-Id: I2920383b5b8cfca3f1d546315f202985edf417d8

8 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Mon, 28 Mar 2016 19:54:20 +0000 (19:54 +0000)]
Merge "Localisation updates from https://translatewiki.net."

8 years agoMerge "Use ::class in place of string constants"
jenkins-bot [Mon, 28 Mar 2016 19:52:56 +0000 (19:52 +0000)]
Merge "Use ::class in place of string constants"

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 28 Mar 2016 19:51:27 +0000 (21:51 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I2b5d9392619b4eec5a266f9828ee4a1f09579488

8 years agoUse ::class in place of string constants
Brad Jorsch [Mon, 28 Mar 2016 18:53:04 +0000 (14:53 -0400)]
Use ::class in place of string constants

This takes advantage of namespacing, and avoids having
double-backslashes all over the place.

Change-Id: I450fe4e9b1c4cf4e24fced3932fe796cbbadf3a3

8 years agoApiMain: Correct typo in variable name
Bartosz Dziewoński [Sat, 26 Mar 2016 14:34:13 +0000 (15:34 +0100)]
ApiMain: Correct typo in variable name

https://en.wikipedia.org/wiki/Asterisk

Change-Id: I6f2d968c92f4e472fe574ebc8a2a5f9932e0d6f2

8 years agoMerge "Explicitly mark SkinTemplate properties as public"
jenkins-bot [Mon, 28 Mar 2016 02:36:42 +0000 (02:36 +0000)]
Merge "Explicitly mark SkinTemplate properties as public"

8 years agoMerge "API: Normalize input URL in ApiQueryExtLinksUsage"
jenkins-bot [Mon, 28 Mar 2016 02:27:29 +0000 (02:27 +0000)]
Merge "API: Normalize input URL in ApiQueryExtLinksUsage"

8 years agoMerge "Split Pager classes out of SpecialPage files"
jenkins-bot [Mon, 28 Mar 2016 02:27:13 +0000 (02:27 +0000)]
Merge "Split Pager classes out of SpecialPage files"

8 years agoMerge "Split LocalisationCache.php classes into own files"
jenkins-bot [Mon, 28 Mar 2016 02:27:09 +0000 (02:27 +0000)]
Merge "Split LocalisationCache.php classes into own files"

8 years agoMerge "wgUseMediaWikiUIEverywhere false in Html/XmlTest"
jenkins-bot [Mon, 28 Mar 2016 02:23:01 +0000 (02:23 +0000)]
Merge "wgUseMediaWikiUIEverywhere false in Html/XmlTest"

8 years agoMerge "Factor SpecilaPageExecutor out of SpecialPageTestBase"
jenkins-bot [Mon, 28 Mar 2016 02:22:44 +0000 (02:22 +0000)]
Merge "Factor SpecilaPageExecutor out of SpecialPageTestBase"

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 27 Mar 2016 18:29:34 +0000 (20:29 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I977112d0c7c10d043c8f71ace015cf0d97e373f3

8 years agoMerge "Unblock form handling: Check for 'Tags' index in $data from UI before trying...
jenkins-bot [Sun, 27 Mar 2016 16:07:22 +0000 (16:07 +0000)]
Merge "Unblock form handling: Check for 'Tags' index in $data from UI before trying to access it"

8 years agoMerge "jquery.ui.datepicker: Support sr-ec as user interface language"
jenkins-bot [Sat, 26 Mar 2016 22:20:53 +0000 (22:20 +0000)]
Merge "jquery.ui.datepicker: Support sr-ec as user interface language"

8 years agoAPI: Normalize input URL in ApiQueryExtLinksUsage
Brad Jorsch [Sat, 26 Mar 2016 22:14:43 +0000 (18:14 -0400)]
API: Normalize input URL in ApiQueryExtLinksUsage

This matches the behavior of Special:LinkSearch, and makes it more
likely to give sensible results for non-normalized input.

Bug: T130912
Change-Id: I2f60dd48fdfc24108110a24ad41b297ece7f33df

8 years agoLower pcTTL in checkRedirect() to 30
Aaron Schulz [Fri, 25 Mar 2016 19:35:42 +0000 (12:35 -0700)]
Lower pcTTL in checkRedirect() to 30

The process cache does not see other purges, so lower this
for sanity in case of long-running scripts.

Change-Id: I545ce6b160bb10ffe1877284a397a247c960d885

8 years agoClear process cache in parser tests
Ori Livneh [Fri, 25 Mar 2016 20:57:28 +0000 (13:57 -0700)]
Clear process cache in parser tests

Have the parser test set-up code call WANObjectCache::clearProcessCache().
d1c4eafef5 added this to the PHPUnit test set-up code, but not the parser
tests'.

Change-Id: I870c8bae0336afc499224e4c937c6b8d6ab4d457

8 years agoMerge "Use distinct log actions for patrol"
jenkins-bot [Fri, 25 Mar 2016 22:15:34 +0000 (22:15 +0000)]
Merge "Use distinct log actions for patrol"

8 years agoMerge "Enable filtering by action on Special:Log"
jenkins-bot [Fri, 25 Mar 2016 22:08:42 +0000 (22:08 +0000)]
Merge "Enable filtering by action on Special:Log"

8 years agoUse distinct log actions for patrol
cenarium [Sat, 14 Nov 2015 05:32:33 +0000 (06:32 +0100)]
Use distinct log actions for patrol

A distinct log action is provided for automatic patrols.
The old 'auto' param is preserved so that old log entries can still
be correctly identified in logs and API queries.
With I6a61175f9a111c03d15b4d41751c818e3a411ff6, this enables us to
filter new manual patrol entries in logs.
Old automatic entries will be in the wrong list, but still marked
as automatic.

Bug: T27799
Change-Id: I05d962fa3ec45039122bb7e370b7e3fb8bbaa3c8

8 years agomoment: Correct support language codes sr-el and sr
Fomafix [Fri, 25 Mar 2016 21:45:42 +0000 (21:45 +0000)]
moment: Correct support language codes sr-el and sr

MediaWiki currently uses the language code sr-el for Serbian written
using the Latin script. The language code sr has as fallback sr-ec and
used for Serbian written using the Cyrillic script.

Change-Id: I450ac589cfbe9e1e37c67c4f7f2472c7563c0fc1

8 years agoMerge "Request-local caching of image_redirect"
jenkins-bot [Fri, 25 Mar 2016 19:33:24 +0000 (19:33 +0000)]
Merge "Request-local caching of image_redirect"

8 years agoMerge "Use Diffusion for default Git Viewer"
jenkins-bot [Fri, 25 Mar 2016 19:20:13 +0000 (19:20 +0000)]
Merge "Use Diffusion for default Git Viewer"

8 years agoRequest-local caching of image_redirect
Ori Livneh [Thu, 24 Mar 2016 22:50:44 +0000 (15:50 -0700)]
Request-local caching of image_redirect

LocalRepo::checkRedirect() cache image redirect checks in memory to avoid
unnecessary trips to memcached. Same idea as Idbd11637.

Change-Id: Idaa12376382aaa0bd8cb988240ec1da0b688359d

8 years agojquery.ui.datepicker: Support sr-ec as user interface language
Fomafix [Fri, 25 Mar 2016 17:56:26 +0000 (17:56 +0000)]
jquery.ui.datepicker: Support sr-ec as user interface language

MediaWiki currently uses the language code sr-ec for Serbian written using the Cyrillic script.
The language code sr has as fallback sr-ec.
This change allows to use both sr and sr-ec as user interface language.

Change-Id: Iaf6d4db1e986baedb38f53d86a5990dca0cacfb7

8 years agoUnblock form handling: Check for 'Tags' index in $data from UI before trying to access it
Alex Monk [Fri, 25 Mar 2016 04:05:39 +0000 (04:05 +0000)]
Unblock form handling: Check for 'Tags' index in $data from UI before trying to access it

Was showing this notice:
Undefined index: Tags in /path/to/mw/includes/specials/SpecialUnblock.php on line 241

The API sets this but the UI does not

Change-Id: Ibf31c2b9be4d4b621d1745fd87550a383c389f12

8 years agoMerge "mw.widgets.TitleWidget: Use the Promise for the data as well"
jenkins-bot [Fri, 25 Mar 2016 16:50:12 +0000 (16:50 +0000)]
Merge "mw.widgets.TitleWidget: Use the Promise for the data as well"

8 years agoMerge "Fix-up for Iaf90c20c33: add missing slash"
Ori Livneh [Fri, 25 Mar 2016 16:41:00 +0000 (16:41 +0000)]
Merge "Fix-up for Iaf90c20c33: add missing slash"

8 years agoFix-up for Iaf90c20c33: add missing slash
Ori Livneh [Fri, 25 Mar 2016 16:38:16 +0000 (09:38 -0700)]
Fix-up for Iaf90c20c33: add missing slash

Change-Id: I92169a3b74123db8ceaca222db760095a7c06d4f

8 years agoMerge "Datepicker: Use language code sr-el for Serbian with Latin script"
jenkins-bot [Fri, 25 Mar 2016 16:29:33 +0000 (16:29 +0000)]
Merge "Datepicker: Use language code sr-el for Serbian with Latin script"

8 years agoMerge "Provide a unique request identifier"
jenkins-bot [Fri, 25 Mar 2016 16:24:04 +0000 (16:24 +0000)]
Merge "Provide a unique request identifier"

8 years agoMerge "Add missing 'public' keywords to some Language methods"
jenkins-bot [Fri, 25 Mar 2016 16:14:35 +0000 (16:14 +0000)]
Merge "Add missing 'public' keywords to some Language methods"

8 years agoProvide a unique request identifier
Ori Livneh [Fri, 25 Mar 2016 01:43:23 +0000 (18:43 -0700)]
Provide a unique request identifier

When MediaWiki encounters an unhandled exception, the error message it produces
includes a randomly-generated token, which allows the exception details to be
looked up in the error logs. This is useful but narrow: would it not be useful
to have the ability to retrieve all log records associated with a particular
request, rather than just exception details? (Hint: yes.)

So: introduce the notion of a request-global unique ID, retrievable via
WebRequest::getRequestId(). When MediaWiki is behind Apache + mod_unique_id
(which provides the same facility) or some other software which sets a
UNIQUE_ID envvar, the value of that envvar is used as the request ID.
Otherwise, it is a randomly-generated 24-character string.

The request ID supplants exception-specific IDs; MWExceptionHandler::getLogId()
is deprecated, accordingly. The request ID is also added as an annotation to
all Monolog-processed log records, and is exposed client-side as 'wgRequestId'.
This allows developers to associate a page view with log records even when the
page view does not result in an unhandled exception. (For the WMF, I also
intend to add it as an annotation to profiling data).

The request ID is not a tracking token; it does not persist, and it is
associated with a backend request, not with a particular user or a particular
session. Like the data in the NewPP report, the request ID is designed to be
cacheable, so that if, for example, a developer notices something weird in the
HTML, s/he can associate the output with a backend request regardless of
whether the response was served from the cache or directly from the backend.

Some prior art:
* https://httpd.apache.org/docs/2.4/mod/mod_unique_id.html
* http://api.rubyonrails.org/classes/ActionDispatch/RequestId.html
* https://github.com/dabapps/django-log-request-id
* https://packagist.org/packages/php-middleware/request-id
* https://github.com/rhyselsmore/flask-request-id

Change-Id: Iaf90c20c330e0470b9b98627a0228cadefd301d1

8 years agoMerge "Http::getProxy() method to get proxy configuration"
jenkins-bot [Fri, 25 Mar 2016 15:38:18 +0000 (15:38 +0000)]
Merge "Http::getProxy() method to get proxy configuration"

8 years agoHttp::getProxy() method to get proxy configuration
Sébastien Santoro [Fri, 25 Mar 2016 15:10:19 +0000 (15:10 +0000)]
Http::getProxy() method to get proxy configuration

MediaWiki currently uses two sources for proxy configuration:
* the $wgHTTPProxy global configuration variable
* the http_proxy environment variable

The HTTP proxy adress to use is a valuable information for
extensions handling directly HTTP requests instead of use
helper classes provided by the core to construct them.

This change offers an Http::getProxy() utility method to get
the configuration, regardless of the source.

Bug: T117954
Change-Id: I5df31845df71f05ac581f532cc9bd7a1fea25583

8 years agoMerge "mediawiki.widgets: Remove use of bind() for lexical 'this' binding"
jenkins-bot [Fri, 25 Mar 2016 13:55:42 +0000 (13:55 +0000)]
Merge "mediawiki.widgets: Remove use of bind() for lexical 'this' binding"

8 years agomediawiki.widgets: Remove use of bind() for lexical 'this' binding
Timo Tijhof [Fri, 25 Mar 2016 00:35:39 +0000 (00:35 +0000)]
mediawiki.widgets: Remove use of bind() for lexical 'this' binding

Follows-up 4636ac79dd.

Bind can be useful when needing to pass an instance method elewhere.

However when nesting closures, use the scope directly instead of binding 'this'
several layers deep. This is fragile at best and doesn't make it less confusing.

Leave the natural 'this' unchanged. Change this can go wrong both ways and
results in unpredictable behaviour and confusing code that is hard to review.
Sometimes one means the outer 'this' but gets the inner one, and sometimes you
need the inner one (e.g. inside callbacks for jQuery). Consistently assign a
variable and use scope to access objects. Besides, one can't escape it when you
need both.

This avoids an entire class of potential errors. It also performs marginally
better without a binding but that's besides the point as there are other valid
uses of bind().

Change-Id: I1fcfdbd8fa7c52e150cadd8a520591e700c5bfa9

8 years agoDatepicker: Use language code sr-el for Serbian with Latin script
Fomafix [Fri, 25 Mar 2016 11:04:00 +0000 (11:04 +0000)]
Datepicker: Use language code sr-el for Serbian with Latin script

jquery.ui should change from sr-SR to the BCP 47 suggested code sr-Latn.

Bug: T130914
Change-Id: I16a408b88d936dc0b5add9951285af416cd87797

8 years agoMerge "Allow titles with falsy title text in suggestions"
jenkins-bot [Fri, 25 Mar 2016 11:01:08 +0000 (11:01 +0000)]
Merge "Allow titles with falsy title text in suggestions"

8 years agoMerge "Use WIS:addWatchBatchForUser in SpecialEditWatchlist"
jenkins-bot [Fri, 25 Mar 2016 10:47:50 +0000 (10:47 +0000)]
Merge "Use WIS:addWatchBatchForUser in SpecialEditWatchlist"

8 years agoMerge "Switch Signature of WatchedItemStore::addWatchBatch"
jenkins-bot [Fri, 25 Mar 2016 10:37:43 +0000 (10:37 +0000)]
Merge "Switch Signature of WatchedItemStore::addWatchBatch"

8 years agoMerge "Avoid master queries on deletion form view"
jenkins-bot [Fri, 25 Mar 2016 10:37:00 +0000 (10:37 +0000)]
Merge "Avoid master queries on deletion form view"

8 years agomedia: Misc code clean up in DjVu.php
Timo Tijhof [Fri, 25 Mar 2016 00:18:09 +0000 (00:18 +0000)]
media: Misc code clean up in DjVu.php

* Use $cache->makeKey() instead of global.
* Access constants via $cache.
* Remove obsolete 'that = this' PHP 5.3 workaround.

Change-Id: I75505d3e3017fde185e43815d4e7acaba3fee69c

8 years agoAllow titles with falsy title text in suggestions
Erik Bernhardson [Thu, 24 Mar 2016 23:35:54 +0000 (16:35 -0700)]
Allow titles with falsy title text in suggestions

A valid title, such as 0, would end up being ignored in this clause and
not providing a title. Make the empty string check stricter to allow
these titles through.

Change-Id: I938a7dfe294e979c19f720eadb6f96282b1c4588

8 years agoMerge "Set doesWrites() for Special:Undelete"
jenkins-bot [Thu, 24 Mar 2016 21:55:22 +0000 (21:55 +0000)]
Merge "Set doesWrites() for Special:Undelete"

8 years agoSet doesWrites() for Special:Undelete
Aaron Schulz [Thu, 24 Mar 2016 21:18:27 +0000 (14:18 -0700)]
Set doesWrites() for Special:Undelete

Change-Id: Ie9044c9a57cb354a412ab515208b71ce44e52185

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 24 Mar 2016 21:09:30 +0000 (22:09 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I31cbae4f585f73a2a0ab97909206185a0d1c0aef

8 years agoAvoid master queries on deletion form view
Aaron Schulz [Thu, 24 Mar 2016 20:53:55 +0000 (13:53 -0700)]
Avoid master queries on deletion form view

Bug: T92357
Change-Id: I9c785e8e541f0e4fb7fa0f11cab2d33c26f7fb3a

8 years agoMerge "Define 'zh-hans' and 'zh-hant' localisations for Moment.js"
jenkins-bot [Thu, 24 Mar 2016 20:49:15 +0000 (20:49 +0000)]
Merge "Define 'zh-hans' and 'zh-hant' localisations for Moment.js"

8 years agoMerge "Set $wgIncludeLegacyJavaScript false by default"
jenkins-bot [Thu, 24 Mar 2016 20:38:27 +0000 (20:38 +0000)]
Merge "Set $wgIncludeLegacyJavaScript false by default"

8 years agoMerge "Throw an exception when the $key argument to hash_hmac is not a string"
jenkins-bot [Thu, 24 Mar 2016 20:31:01 +0000 (20:31 +0000)]
Merge "Throw an exception when the $key argument to hash_hmac is not a string"

8 years agomw.widgets.TitleWidget: Use the Promise for the data as well
Timo Tijhof [Thu, 24 Mar 2016 20:00:45 +0000 (20:00 +0000)]
mw.widgets.TitleWidget: Use the Promise for the data as well

Follows-up a8eba66. Use the Promise for the data as well instead of
just as a callback to evaluate a static variable. This removes any
risk of race conditions or other misuse of the variable.

Also simplify the array creation by using map instead of pushing
in an each loop.

Change-Id: Ide1489a5139ef3b26cf0de6ca6f2e675ef32c724

8 years agoMerge "parserTest: Remove mention of non-existent 'noxml' option"
jenkins-bot [Thu, 24 Mar 2016 19:59:56 +0000 (19:59 +0000)]
Merge "parserTest: Remove mention of non-existent 'noxml' option"

8 years agoDefine 'zh-hans' and 'zh-hant' localisations for Moment.js
Gary Guo [Thu, 24 Mar 2016 18:45:46 +0000 (18:45 +0000)]
Define 'zh-hans' and 'zh-hant' localisations for Moment.js

Bug: T123080
Change-Id: I38ac5f1669364f7512be8c63ee51ce1449f6db26

8 years agoThrow an exception when the $key argument to hash_hmac is not a string
Gergő Tisza [Thu, 24 Mar 2016 18:22:45 +0000 (19:22 +0100)]
Throw an exception when the $key argument to hash_hmac is not a string

HHVM throws a fatal error when $key is not a string (unlike $data which
is typecast), so we might as well as throw an exception so that
at least we have a stack trace.

Bug: T126316
Change-Id: Iad9a499b51647c7dbcd58e9ab7ac8e8cb6359bba

8 years agomw.widgets.TitleWidget.js: Share interwikiPrefixes between multiple instances
Fomafix [Wed, 27 Jan 2016 15:31:07 +0000 (15:31 +0000)]
mw.widgets.TitleWidget.js: Share interwikiPrefixes between multiple instances

The interwikiPrefixes are static and do not need to load separately for every instance.

Bug: T124899
Change-Id: I316bdcc67ba176d22a70cd30fc3eb72bfe0be509

8 years agoSet $wgIncludeLegacyJavaScript false by default
James D. Forrester [Wed, 16 Mar 2016 10:53:33 +0000 (10:53 +0000)]
Set $wgIncludeLegacyJavaScript false by default

This setting was deprecated in 0ac4f998 but was left as true by default, which
means sysadmins weren't prompted to find and fix faulty code. Setting this to
false by default gives them a release in which to fix the code (setting this
back to true until such fixes are made) before we remove it entirely in the
next MediaWiki release. Extensions, skins, gadgets and scripts that need the
mediawiki.legacy.wikibits module should express a dependency on it in their
ResourceLoader manifest.

Bug: T35836
Change-Id: If787d0975b6019827e81f4ea0d90898e361d9acd

8 years agoUse WIS:addWatchBatchForUser in SpecialEditWatchlist
addshore [Wed, 16 Mar 2016 13:54:26 +0000 (13:54 +0000)]
Use WIS:addWatchBatchForUser in SpecialEditWatchlist

Bug: T129481
Change-Id: I550e295786afaf9970fe96788f31d514827cd0bc

8 years agoSwitch Signature of WatchedItemStore::addWatchBatch
addshore [Tue, 22 Mar 2016 18:07:49 +0000 (18:07 +0000)]
Switch Signature of WatchedItemStore::addWatchBatch

Adding batches of watched items per users
makes much more sense.
Only the deprecated static WatchedItem method
needed the old silly way of passing in objects.

Change-Id: I90f9583b66bd3b5afcf07faefedb38a8a0149f6e

8 years agoSync up with Parsoid parserTests.
Subramanya Sastry [Thu, 24 Mar 2016 17:48:52 +0000 (12:48 -0500)]
Sync up with Parsoid parserTests.

This now aligns with Parsoid commit 5538d868777d2d5abb125dac310550fde3873689

Change-Id: I6750107c92c6dd96fe28ca96e66db43e0235c470

8 years agoMerge "Dont count RC_CATEGORIZE in Special:ActiveUsers"
jenkins-bot [Thu, 24 Mar 2016 17:10:35 +0000 (17:10 +0000)]
Merge "Dont count RC_CATEGORIZE in Special:ActiveUsers"

8 years agoMerge "Add redirect=no only to redirects on redirect pages"
Tjones [Thu, 24 Mar 2016 15:45:43 +0000 (15:45 +0000)]
Merge "Add redirect=no only to redirects on redirect pages"

8 years agoMerge "Use WIS::getWatchedItemsForUser in SpecialEditWatchlist"
jenkins-bot [Thu, 24 Mar 2016 15:06:34 +0000 (15:06 +0000)]
Merge "Use WIS::getWatchedItemsForUser in SpecialEditWatchlist"

8 years agoMerge "Introduce basic SpecialEditWatchlistTest"
jenkins-bot [Thu, 24 Mar 2016 15:06:30 +0000 (15:06 +0000)]
Merge "Introduce basic SpecialEditWatchlistTest"

8 years agoMerge "Introduce basic SpecialWatchlistTest"
jenkins-bot [Thu, 24 Mar 2016 15:03:32 +0000 (15:03 +0000)]
Merge "Introduce basic SpecialWatchlistTest"

8 years agoMerge "Cast row namespace to int in SpecialWatchlist"
jenkins-bot [Thu, 24 Mar 2016 15:03:28 +0000 (15:03 +0000)]
Merge "Cast row namespace to int in SpecialWatchlist"

8 years agowgUseMediaWikiUIEverywhere false in Html/XmlTest
addshore [Thu, 24 Mar 2016 14:51:13 +0000 (14:51 +0000)]
wgUseMediaWikiUIEverywhere false in Html/XmlTest

It seems both of these tests assertions all expect
this to be false.

Ic675e92d8dd8f11fa67914d2ce1dc00a379106ca
ended up discovering these issues somehow
with these tests suddenly starting to fail.

Change-Id: I9d2d3c18d1c9640e2ff04d6fd4296abb86e26877

8 years agoFactor SpecilaPageExecutor out of SpecialPageTestBase
addshore [Thu, 24 Mar 2016 14:00:41 +0000 (14:00 +0000)]
Factor SpecilaPageExecutor out of SpecialPageTestBase

Change-Id: I3c8ae980db5ba3b34bd6664f400bc3b5cdf587c0

8 years agoIntroduce basic SpecialEditWatchlistTest
addshore [Thu, 24 Mar 2016 13:18:38 +0000 (13:18 +0000)]
Introduce basic SpecialEditWatchlistTest

Change-Id: I9f765c4183314850169f685abd242e979a79bd68

8 years agoIntroduce basic SpecialWatchlistTest
addshore [Thu, 24 Mar 2016 13:11:07 +0000 (13:11 +0000)]
Introduce basic SpecialWatchlistTest

Change-Id: I98a2ad112189a09581a0564da3c3357939a5d7de

8 years agoAdd missing 'public' keywords to some Language methods
Ricordisamoa [Thu, 24 Mar 2016 13:02:50 +0000 (14:02 +0100)]
Add missing 'public' keywords to some Language methods

All of them are already being used outside the class:
* getFallbackLanguages
* getBookstoreList
* getFormattedNamespaces
* getNsText
* getFormattedNsText
* getGenderNsText
* needsGenderDistinction
* getNamespaceAliases
* getNamespaceIds
* getNsIndex
* getVariantname
* getDatePreferences
* getDefaultDateFormat
* getDatePreferenceMigrationMap
* getImageFiles
* getExtraUserToggles
* getMessageFromDB
* getMonthName
* getMonthNamesArray
* getMonthNameGen

Change-Id: Iff5495596c5a711259c45b4d57c453aad9526a9a

8 years agoUse WIS::getWatchedItemsForUser in SpecialEditWatchlist
addshore [Wed, 16 Mar 2016 13:40:40 +0000 (13:40 +0000)]
Use WIS::getWatchedItemsForUser in SpecialEditWatchlist

This also adds a order option to:
WacthedItemStore::getWatchedItemsForUser

Tests are also updated

Change-Id: Ia683b92846ad79bde3f37068a8e168c5a8bdc201

8 years agoSplit Pager classes out of SpecialPage files
addshore [Thu, 24 Mar 2016 11:25:40 +0000 (11:25 +0000)]
Split Pager classes out of SpecialPage files

Change-Id: I6c8dbc9084040dd3b8a5e19caaf076bd14b77762

8 years agoDont count RC_CATEGORIZE in Special:ActiveUsers
addshore [Thu, 24 Mar 2016 11:02:29 +0000 (11:02 +0000)]
Dont count RC_CATEGORIZE in Special:ActiveUsers

Bug: T130550
Change-Id: Ia2296586d35bb21085fcf386f26ad6f4e765e534

8 years agoSplit LocalisationCache.php classes into own files
addshore [Mon, 21 Mar 2016 11:51:16 +0000 (11:51 +0000)]
Split LocalisationCache.php classes into own files

Change-Id: I1b88081e6b082fcad73990550a3ffbf58e11d97e

8 years agoCast row namespace to int in SpecialWatchlist
addshore [Thu, 24 Mar 2016 10:43:58 +0000 (10:43 +0000)]
Cast row namespace to int in SpecialWatchlist

Something similar to this recently got through
and caused exceptions on mw.org

This looks like the same thing, a ns from a db row
being handed straight to the TitleValue constructor
without being cast.

Change-Id: Ic126cd713c5210c9ae3d8e805081849ccf84a7f6

8 years agoMerge "ZipDirectoryReader: Don't try to parse zero-length files"
jenkins-bot [Thu, 24 Mar 2016 10:38:19 +0000 (10:38 +0000)]
Merge "ZipDirectoryReader: Don't try to parse zero-length files"

8 years agoMerge "MimeMagic: Prevent PHP warning when trying to read zero bytes"
jenkins-bot [Thu, 24 Mar 2016 10:33:23 +0000 (10:33 +0000)]
Merge "MimeMagic: Prevent PHP warning when trying to read zero bytes"

8 years agoZipDirectoryReader: Don't try to parse zero-length files
Bartosz Dziewoński [Thu, 24 Mar 2016 09:14:03 +0000 (10:14 +0100)]
ZipDirectoryReader: Don't try to parse zero-length files

With the current code, 'zip-bad' would be returned (eventually). I think
'zip-wrong-format' is a more correct response. This prevents weird errors
when trying to upload such a file (and results in saner errors instead).

Change-Id: Ic2c010f318d98df4783da1cf5126e8dd88aa9014

8 years agoMimeMagic: Prevent PHP warning when trying to read zero bytes
Bartosz Dziewoński [Thu, 24 Mar 2016 09:06:34 +0000 (10:06 +0100)]
MimeMagic: Prevent PHP warning when trying to read zero bytes

Honestly, there's no reason why fread() should warn when asked to read
zero bytes. It should just return zero bytes of content. Eh, PHP.

Bug: T130813
Change-Id: I56c4826759390bdbf6af04da28e2d9ed07781bca

8 years agoAlways use 'bool' instead of 'boolean' in Doxygen tags
Ricordisamoa [Thu, 24 Mar 2016 08:44:09 +0000 (09:44 +0100)]
Always use 'bool' instead of 'boolean' in Doxygen tags

Just like commit f86a5590aae7fbe6d9b8a3d129c7a04a11a27579

Change-Id: Ic9d08bca6524d6bb4baf5170c081ad0f3d738e28

8 years agoMerge "Improve sign-up portion of the login form"
jenkins-bot [Thu, 24 Mar 2016 06:56:30 +0000 (06:56 +0000)]
Merge "Improve sign-up portion of the login form"

8 years agoMerge "Title: Fix inaccurate documentation of getUserPermissionsErrorsInternal"
jenkins-bot [Thu, 24 Mar 2016 04:44:21 +0000 (04:44 +0000)]
Merge "Title: Fix inaccurate documentation of getUserPermissionsErrorsInternal"

8 years agoTitle: Fix inaccurate documentation of getUserPermissionsErrorsInternal
Matthew Flaschen [Fri, 18 Mar 2016 23:54:46 +0000 (19:54 -0400)]
Title: Fix inaccurate documentation of getUserPermissionsErrorsInternal

Blocks are checked (checkUserBlock).

Change-Id: I3a164d1003f2bea3e3e07081c9bebfabd884ade9

8 years agoMerge "OutputPage: Minor clean up of <head> and HTML"
jenkins-bot [Thu, 24 Mar 2016 03:45:16 +0000 (03:45 +0000)]
Merge "OutputPage: Minor clean up of <head> and HTML"

8 years agoOutputPage: Minor clean up of <head> and HTML
Timo Tijhof [Thu, 18 Feb 2016 16:33:15 +0000 (16:33 +0000)]
OutputPage: Minor clean up of <head> and HTML

* Remove trailing space in self-closing tag.
  Brings parserTest output of Parser and Parsoid closer together.

* Remove various line breaks at begin and end of script contents.

* Remove FILTER_NOMIN from makeConfigSetScript() output.
  This isn't part of any user- or page-dependent module and not minified.
  And Xml::encodeJsCall already ensures compact output for prod mode.

Bug: T127328
Change-Id: I85a5a59fd0955c1a112e8b24b933f0d9e983a156

8 years agoMerge "jquery.suggestions: Fix typo "singleton" in documentation"
jenkins-bot [Thu, 24 Mar 2016 02:56:31 +0000 (02:56 +0000)]
Merge "jquery.suggestions: Fix typo "singleton" in documentation"

8 years agojquery.suggestions: Fix typo "singleton" in documentation
Timo Tijhof [Thu, 24 Mar 2016 02:44:47 +0000 (02:44 +0000)]
jquery.suggestions: Fix typo "singleton" in documentation

Change-Id: I81af9a1974ea9c9dcd26f201bf055554087ccd99

8 years agoMerge "Request-local caching of DjVu dimensions"
jenkins-bot [Thu, 24 Mar 2016 01:04:14 +0000 (01:04 +0000)]
Merge "Request-local caching of DjVu dimensions"

8 years agoparserTest: Remove mention of non-existent 'noxml' option
Timo Tijhof [Tue, 8 Mar 2016 18:32:37 +0000 (18:32 +0000)]
parserTest: Remove mention of non-existent 'noxml' option

The 'noxml' documentation in parserTests.txt was added in 2006 (7eea2398; r12504),
however it wasn't actually implemented.

It wasn't until 2009 (7aa4a8f9; r54767) that $wgWellFormedXml was created,
which defaults to true and has no relation to this option.

Remove the 'noxml' options from existing tests.

Change-Id: Ie3ae9f491b5747716080607b81b9763bf2bcc889

8 years agoMerge "Request-local caching of revision text"
jenkins-bot [Wed, 23 Mar 2016 23:28:58 +0000 (23:28 +0000)]
Merge "Request-local caching of revision text"

8 years agoRequest-local caching of DjVu dimensions
Ori Livneh [Wed, 23 Mar 2016 19:37:01 +0000 (12:37 -0700)]
Request-local caching of DjVu dimensions

Make DjVuHandler::getDimensionInfo() cache dimension info in memory so that
operations which get the dimensions of each page don't result in multiple
round-trips to memcached.

Change-Id: Idbd11637a8f7d87e4774f76a5b90d7469f3b0857

8 years agomediawiki.requestIdleCallback: Implement timeRemaining()
Timo Tijhof [Sat, 12 Mar 2016 02:19:35 +0000 (02:19 +0000)]
mediawiki.requestIdleCallback: Implement timeRemaining()

This matches the native API. This allows callers to better batch and spread out
expensive operations based on actual execution speed.

Right now CentralNotice is manually creating arbitrarily sized batches in
kvStoreMaintenance. Instead this can use a while loop with timeRemaining()
to run as quickly as possible whilst still being able to stop and yield when
it runs for too long. This way will naturally take more iterations on slow
devices and less iterations on faster ones - to be least disruptive.

While timeRemaining() is already available in the native interface,
it was previously unsafe to call because the fallback didn't implement it.

* Remove redundant QUnit.test() expect numbers.

* Add a test for the native one if available. This will catch silly mistakes
  like assigning the native one to mw.requestIdleCallback directly that result
  in 'Uncaught TypeError: Illegal invocation' due to missing call context.

Change-Id: I9721fab9e89c561e31101b5556a3748431353548

8 years agoMerge "Cast namespaceId to int in SpecialEditWatchlist::cleanupWatchlist"
jenkins-bot [Wed, 23 Mar 2016 21:55:54 +0000 (21:55 +0000)]
Merge "Cast namespaceId to int in SpecialEditWatchlist::cleanupWatchlist"

8 years agoCast namespaceId to int in SpecialEditWatchlist::cleanupWatchlist
addshore [Wed, 23 Mar 2016 21:21:00 +0000 (21:21 +0000)]
Cast namespaceId to int in SpecialEditWatchlist::cleanupWatchlist

Bug: T130778
Change-Id: I4b62e5b251f8c3d31aa2f76a9988b5cb7c8cf3b7

8 years agoMerge "SpecialUploadStash: Add links to view a thumb of each uploaded file"
jenkins-bot [Wed, 23 Mar 2016 21:20:56 +0000 (21:20 +0000)]
Merge "SpecialUploadStash: Add links to view a thumb of each uploaded file"

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 23 Mar 2016 20:54:56 +0000 (21:54 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Idf395e9379605a64103df4ee0ce3847b600f5ede

8 years agoCleanups to WikiRevision
Aaron Schulz [Fri, 4 Mar 2016 19:58:20 +0000 (11:58 -0800)]
Cleanups to WikiRevision

* Check for blank $source variable more properly.
* Avoid use of ugly File::DELETE_SOURCE flag.
* Remove now-unused $flags parameter to uploadOld().

Change-Id: I6bc610cfead0036700b4f9a82e13f2bd9ab10f32

8 years agoMerge "Add WatchedItemStore::getWatchedItemsForUser"
jenkins-bot [Wed, 23 Mar 2016 15:45:45 +0000 (15:45 +0000)]
Merge "Add WatchedItemStore::getWatchedItemsForUser"