lhc/web/wiklou.git
10 years agoInclude namespaces in {{CASCADINGSOURCES}} output
Jackmcbarn [Mon, 6 Jan 2014 21:53:43 +0000 (16:53 -0500)]
Include namespaces in {{CASCADINGSOURCES}} output

Include the namespace of pages in the output of the CASCADINGSOURCES
parser function.

Change-Id: Ie39ecfb52965c36349e601bee092590a147b5a03

10 years agoMerge "Mechanism for renaming/aliasing classes"
jenkins-bot [Mon, 6 Jan 2014 21:27:54 +0000 (21:27 +0000)]
Merge "Mechanism for renaming/aliasing classes"

10 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 6 Jan 2014 19:58:18 +0000 (19:58 +0000)]
Localisation updates from https://translatewiki.net.

Change-Id: I1b1e7c920d7a71f8c2230dbacf9ce4b51bb1d2fe

10 years agoMerge "Add CASCADINGSOURCES parser function"
jenkins-bot [Mon, 6 Jan 2014 19:04:53 +0000 (19:04 +0000)]
Merge "Add CASCADINGSOURCES parser function"

10 years agoMerge AssertEdit extension into core
Kunal Mehta [Wed, 16 Oct 2013 22:27:59 +0000 (15:27 -0700)]
Merge AssertEdit extension into core

Added &assert=user and &assert=bot for all API modules.

Some functionality was dropped:
* assert='exists': the edit API already has &nocreate/&createonly
* nassert parameter: there is no usecase for checking that your
  account is logged out or not flagged
* assert=true/false: If you want to test a failing assertion, log out
* assert=test: Not useful
* Checking edits via index.php

The error format was changed from:
{"edit": {"assert": "bot", "result": "Failure"}}
to the standard format of API errors in an 'errors' array
using the codes: 'assertuserfailed' and 'assertbotfailed'.

Bug: 27841
Bug: 53106
Change-Id: Ia4815168548fea3dbf1c305792a451374f2a3b7e

10 years agoMechanism for renaming/aliasing classes
Kevin Israel [Fri, 22 Nov 2013 04:13:03 +0000 (23:13 -0500)]
Mechanism for renaming/aliasing classes

Sometimes it is desirable to change a class name that is still referenced
in extensions or config files (e.g. for consistency, as in I507ba00a).
PHP's class_alias() function can help in preserving backward compatibility;
however, creating an alias first requires that the class be loaded.

Hence this is implemented in AutoLoader. Lazy loading continues to work,
the list of class names is still maintained in a central location, and
optionally, deprecation warnings can be generated.

Change-Id: I1d3fb04a448647b5be10bed7fec05238b9fc6fc7

10 years agoAdd reference to the current user to the PageRenderingHash hook
physikerwelt [Fri, 3 Jan 2014 17:05:24 +0000 (17:05 +0000)]
Add reference to the current user to the PageRenderingHash hook

To generate a user-dependent cache key it makes sense to pass
a reference to the user object, since $wgUser is deprecated.

Change-Id: I32a1df52912292230852c31d69968eeb312a4a97

10 years agoMake message key optional
raymond [Mon, 6 Jan 2014 13:56:49 +0000 (14:56 +0100)]
Make message key optional

https://gerrit.wikimedia.org/r/#/c/65299/

Change-Id: I2c27359696a346d92761452f598e8fe00d88156a

10 years agoCleanup HTMLCheckMatrixTest.
addshore [Fri, 15 Nov 2013 23:45:43 +0000 (00:45 +0100)]
Cleanup HTMLCheckMatrixTest.

Fix Covers tags, looks like we need more testcases
for all other HTML* classes

Change-Id: I166464da3373b45564dd770feecacafacb301604

10 years agoGender aliases for user namespaces in French and Cajun French
Dereckson [Mon, 6 Jan 2014 12:09:18 +0000 (13:09 +0100)]
Gender aliases for user namespaces in French and Cajun French

NS_USER:
* User identifies as male: Utilisateur
* User identifies as female: Utilisatrice

NS_USER_TALK:
* User identifies as male: Discussion utilisateur
* User identifies as female: Discussion utilisatrice

Languages with fallback to French:
* applies to frc (Cajun French). This language also uses « Utilisateur »
  and « Utilisatric » to translate “user”.
* doesn't apply to bm, ff, frp, ht, ln, mg, pcd, sg, ty, wa, wo.

This change is a follow-up of I5825f750a58dd196f907ad848c74f82130fd857d.

Change-Id: Icb8c787ebfa0e7dfd8289260225fef045fc1b0cb

10 years agoReplace usage of deprecated SpecialPage::getTitle() function
aude [Mon, 6 Jan 2014 11:22:47 +0000 (12:22 +0100)]
Replace usage of deprecated SpecialPage::getTitle() function

Change-Id: Ibd301b5d039026495778d7638fd272997221101b

10 years agoSet Italian (it) as fallback for Corsican (co)
Federico Leva [Mon, 6 Jan 2014 09:50:11 +0000 (10:50 +0100)]
Set Italian (it) as fallback for Corsican (co)

As requested by both active translators:
<https://translatewiki.net/wiki/Thread:Portal_talk:Co/Fallback_to_Italian>
One is French-speaking and the other Italian-speaking: turns out
this fallback is not controversial at all.

Change-Id: I050c84b0cd435379dd5ecbf22d2128101775bf12

10 years agoMerge "Revert "L10n: gender aliases for user namespaces in French""
jenkins-bot [Mon, 6 Jan 2014 09:25:16 +0000 (09:25 +0000)]
Merge "Revert "L10n: gender aliases for user namespaces in French""

10 years agoRevert "L10n: gender aliases for user namespaces in French"
Siebrand [Mon, 6 Jan 2014 09:20:29 +0000 (09:20 +0000)]
Revert "L10n: gender aliases for user namespaces in French"

This incorrectly also set gender based namespaces for at least 12 more
locales. That is too high negative impact. Please resubmit without
also impacting languages that fall back to French by adding:

 // Remove French aliases
 $namespaceGenderAliases = array();

See MessagesLbe.php for example.

This reverts commit cadbf1fc5fd094bcc5e5e4055ddce4c8dec84020.

Change-Id: I5825f750a58dd196f907ad848c74f82130fd857d

10 years agoMerge "Cleanup of includes/rcfeed"
jenkins-bot [Mon, 6 Jan 2014 04:03:01 +0000 (04:03 +0000)]
Merge "Cleanup of includes/rcfeed"

10 years agoNo need to return true/false from AutoLoader
Kevin Israel [Sat, 4 Jan 2014 19:25:44 +0000 (14:25 -0500)]
No need to return true/false from AutoLoader

Partially reverts r36942 (7e627faec6bd).

Change-Id: I5b3dfd148863413025c71de5fadef1cb5bd70dce

10 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 5 Jan 2014 20:08:28 +0000 (20:08 +0000)]
Localisation updates from https://translatewiki.net.

Change-Id: Ie4cf8986d2fc3bdf1d485958c7171b0b86cefee2

10 years agoMerge "Call Language::getLocalisationCache() static"
jenkins-bot [Sun, 5 Jan 2014 11:10:12 +0000 (11:10 +0000)]
Merge "Call Language::getLocalisationCache() static"

10 years agoCleanup of includes/rcfeed
Kunal Mehta [Sun, 5 Jan 2014 05:10:13 +0000 (21:10 -0800)]
Cleanup of includes/rcfeed

* Added license headers to everything
* Added @since tags for all classes
* Use wfParseUrl instead of parse_url
* Check for RedisConnectionPool::getConnection returning false

Change-Id: I7db808c0465bd869de3f2daa82444b5e3d1268c2

10 years agoMerge "Remove methods from SpecialPage deprecated in 1.17 and 1.18"
jenkins-bot [Sun, 5 Jan 2014 04:53:17 +0000 (04:53 +0000)]
Merge "Remove methods from SpecialPage deprecated in 1.17 and 1.18"

10 years agoMerge "Deoptimize SVG versions of enhanced recent changes collapse/show arrows"
jenkins-bot [Sun, 5 Jan 2014 02:13:00 +0000 (02:13 +0000)]
Merge "Deoptimize SVG versions of enhanced recent changes collapse/show arrows"

10 years agoDeoptimize SVG versions of enhanced recent changes collapse/show arrows
Bartosz Dziewoński [Sun, 5 Jan 2014 00:35:24 +0000 (01:35 +0100)]
Deoptimize SVG versions of enhanced recent changes collapse/show arrows

Taken from PS6 of I1fcc2556 (3b304289) which added them.
Apparently we can't even get the MIME type of SVGs right.

Bug: 59234
Change-Id: I6fcc89fddee5f1be5b678304ead303f43d682785

10 years agoProperly peform deletion updates when moving over a redirect
Brad Jorsch [Sat, 4 Jan 2014 23:41:10 +0000 (18:41 -0500)]
Properly peform deletion updates when moving over a redirect

When moving over a redirect, WikiPage::doDeleteUpdates is called to do
things like clean up obsolete entries in `redirect` and other tables.
But it doesn't pass a Content object and the WikiPage doesn't have one
cached, so it winds up not actually doing these updates.

Change-Id: I54c90cebfd6bea07137a77bd70acec02cab51084

10 years agoRemove extra parenthesis on where conditions
umherirrender [Sat, 4 Jan 2014 21:03:02 +0000 (22:03 +0100)]
Remove extra parenthesis on where conditions

No need for parenthesis there, because Database::makeList always add
parenthesis around raw where clauses.

Also replaced hard coded quotes by Database::addQuotes

Change-Id: Idcfea54383ac1ba22daa38fba81b883dc0d883f6

10 years agoCall Language::getLocalisationCache() static
umherirrender [Sat, 4 Jan 2014 20:33:12 +0000 (21:33 +0100)]
Call Language::getLocalisationCache() static

Change-Id: Ibbe03b92f2beebaaf93ba9e3c5bebbf3d7626b7a

10 years agoL10n: gender aliases for user namespaces in French
Dereckson [Sat, 4 Jan 2014 20:12:50 +0000 (21:12 +0100)]
L10n: gender aliases for user namespaces in French

NS_USER:
* M: Utilisateur
* F: Utilisatrice

NS_USER_TALK:
* M: Discussion utilisateur
* F: Discussion utilisatrice

Change-Id: I8fa805473a61677f75b04e2708ad087d99bb3c82

10 years agoImprove TestUser group handling
Brad Jorsch [Thu, 5 Dec 2013 17:41:24 +0000 (12:41 -0500)]
Improve TestUser group handling

There's no need for TestUser to remove all groups only to add some back
on. We should be able to speed things up (see bug 43762) by only
removing the groups that aren't wanted and only adding the ones that
aren't already possessed.

Change-Id: I50dd9b117a8a21c8a6170520b3bbf98e3030ae47

10 years agoAdd CASCADINGSOURCES parser function
Jackmcbarn [Thu, 2 Jan 2014 18:27:29 +0000 (13:27 -0500)]
Add CASCADINGSOURCES parser function

Add {{CASCADINGSOURCES}}, which gives a list of cascading-protected pages
that cause a given page to be protected. This is an expensive parser
function.

Change-Id: I0e9556d53d9a78bc02848c775cb667294726cea1

10 years agoMerge "Fix user-friendlyness of block confirmation screen"
jenkins-bot [Sat, 4 Jan 2014 13:27:51 +0000 (13:27 +0000)]
Merge "Fix user-friendlyness of block confirmation screen"

10 years agoFix user-friendlyness of block confirmation screen
m4tx [Mon, 23 Dec 2013 11:37:03 +0000 (12:37 +0100)]
Fix user-friendlyness of block confirmation screen

* "Confirm block" checkbox is now highlighted
* Added "check the box if you're sure" message to the errors at the top

Bug: 58783
Change-Id: I2b496d763a14fe47d7458525cb1e8bb9fa5788f6

10 years agoMerge "Various fixes for EnhancedChangesList"
jenkins-bot [Sat, 4 Jan 2014 11:19:36 +0000 (11:19 +0000)]
Merge "Various fixes for EnhancedChangesList"

10 years agoMerge "Declare visibility for class properties in DatabaseSqlite"
jenkins-bot [Sat, 4 Jan 2014 11:15:05 +0000 (11:15 +0000)]
Merge "Declare visibility for class properties in DatabaseSqlite"

10 years agoRemove methods from SpecialPage deprecated in 1.17 and 1.18
Siebrand Mazeland [Sun, 29 Dec 2013 18:26:50 +0000 (19:26 +0100)]
Remove methods from SpecialPage deprecated in 1.17 and 1.18

No longer used in core or Gerrit extensions. Some patches have been
submitted to remove the last usages. For details see:
* https://gerrit.wikimedia.org/r/#/q/status:open+topic:replace-deprecated,n,z
* https://gerrit.wikimedia.org/r/#/q/status:merged+topic:replace-deprecated,n,z

- SpecialPage::__call() (deprecated in 1.17)
- SpecialPage::executePath() (deprecated in 1.18)
- SpecialPage::exists() (deprecated in 1.18)
- SpecialPage::file() (deprecated in 1.18)
- SpecialPage::func() (deprecated in 1.18)
- SpecialPage::getGroup() (deprecated in 1.18)
- SpecialPage::getPage() (deprecated in 1.18)
- SpecialPage::getPageByAlias() (deprecated in 1.18)
- SpecialPage::getLocalNameFor() (deprecated in 1.18)
- SpecialPage::getRegularPages() (deprecated in 1.18)
- SpecialPage::getRestrictedPages() (deprecated in 1.18)
- SpecialPage::getTitleForAlias() (deprecated in 1.18)
- SpecialPage::getUsablePages() (deprecated in 1.18)
- SpecialPage::includable() (deprecated in 1.18)
- SpecialPage::init()
- SpecialPage::initAliasList() (deprecated in 1.18)
- SpecialPage::initList() (deprecated in 1.18)
- SpecialPage::name() (deprecated in 1.18)
- SpecialPage::removePage() (deprecated in 1.18)
- SpecialPage::resolveAlias() (deprecated in 1.18)
- SpecialPage::resolveAliasWithSubpage() (deprecated in 1.18)
- SpecialPage::restriction() (deprecated in 1.18)
- SpecialPage::setGroup() (deprecated in 1.18)

Change-Id: I5122f0f23255bc1e8b63a7329a6d1653899b7f59

10 years agoMerge "Further cleanup to Special:Version"
jenkins-bot [Sat, 4 Jan 2014 02:08:51 +0000 (02:08 +0000)]
Merge "Further cleanup to Special:Version"

10 years agoFurther cleanup to Special:Version
Matt Walker [Wed, 29 May 2013 02:52:05 +0000 (19:52 -0700)]
Further cleanup to Special:Version

Cleaned up some HTML, added some CSS classes for the version
information, and refactored some of the code.

Also added column headers for the extension descriptions.

Change-Id: I5bbc4d4024620ea57ab1bf778255a487fbc9b378

10 years agoMerge "Add licensing for extensions to Special:Version"
jenkins-bot [Sat, 4 Jan 2014 00:42:28 +0000 (00:42 +0000)]
Merge "Add licensing for extensions to Special:Version"

10 years agoMerge "Don't convert bad curids to the Main Page"
jenkins-bot [Sat, 4 Jan 2014 00:12:12 +0000 (00:12 +0000)]
Merge "Don't convert bad curids to the Main Page"

10 years agoMerge "Do not reveal RevDeled file title"
jenkins-bot [Sat, 4 Jan 2014 00:10:29 +0000 (00:10 +0000)]
Merge "Do not reveal RevDeled file title"

10 years agoMerge "Revert "Optimize all SVGs""
Ori.livneh [Fri, 3 Jan 2014 23:56:23 +0000 (23:56 +0000)]
Merge "Revert "Optimize all SVGs""

10 years agoRevert "Optimize all SVGs"
Ori.livneh [Fri, 3 Jan 2014 23:53:11 +0000 (23:53 +0000)]
Revert "Optimize all SVGs"

On my Mac, calling finfo_file on external-link-ltr-icon.svg gets the correct
MIME-type ("image/svg+xml"), but in production I get  "application/xml".
This is probably due to the version of fileinfo or libmagic that is deployed on
the cluster. Reverting for now.

This reverts commit a9b855eea52ba3b739a9150beb8e69db8afd2143.

Change-Id: Ie4db624ba9f561a467622878d0992847be018b7d

10 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Fri, 3 Jan 2014 20:53:21 +0000 (20:53 +0000)]
Merge "Localisation updates from https://translatewiki.net."

10 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 3 Jan 2014 20:35:25 +0000 (20:35 +0000)]
Localisation updates from https://translatewiki.net.

Change-Id: I8d9a05eb6ce4136d424c4f2ce7cdc65e8c09b0f6

10 years agoFix doc for Database::upsert
umherirrender [Fri, 3 Jan 2014 20:35:21 +0000 (21:35 +0100)]
Fix doc for Database::upsert

One @params too much

Change-Id: I8cea6228587574ff90060d46b4430b2348a68973

10 years agoAdd licensing for extensions to Special:Version
Matt Walker [Fri, 24 May 2013 11:19:49 +0000 (04:19 -0700)]
Add licensing for extensions to Special:Version

Allow extensions to register a software license and present
this on the Special:Version page. A new $wgExtensionCredits
parameter has been introduced for this purpose: 'license-name'.

This will also automatically pick up the presense of additional
licensing and/or credits files. If ((AUTHORS)|(CREDITS))(\.txt)?
exists in the extension base directory a credits link will be
created. If ((LICENSE)|(COPYING))(\.txt)? exists a license link
will be created.

The API has also been updated to produce VCS information and present
links to the license/credits files.

Bug: 48418
Change-Id: I388f3b630462f1909f30751c987f7af585e98881

10 years agoCall Database::makeInsertOptions from Database::insertSelect
umherirrender [Fri, 3 Jan 2014 15:32:33 +0000 (16:32 +0100)]
Call Database::makeInsertOptions from Database::insertSelect

This allows other database types to modify the options.

Bug: 59233
Change-Id: I45a2c7944057f43453423c8edbe5d173b1fc067d

10 years agoMerge "Revert "Declare visibility for class properties in MySQLMasterPos""
jenkins-bot [Fri, 3 Jan 2014 18:12:02 +0000 (18:12 +0000)]
Merge "Revert "Declare visibility for class properties in MySQLMasterPos""

10 years agoDo not reveal RevDeled file title
Brad Jorsch [Tue, 31 Dec 2013 14:24:13 +0000 (09:24 -0500)]
Do not reveal RevDeled file title

When an file is being uploaded, we tell the user if it has been
uploaded and deleted in the past. But we shouldn't reveal the title
under which that was done if the file was suppressed via RevDel.

Note this introduces a breaking API change: clients may now receive a
"deleted-archive" warning with an empty value if the title was
suppressed.

Bug: 59167
Change-Id: I01a3ac2ba0cbac6b28de26a7f1a1d09b6b02097e

10 years agoMerge "Leading semicolon line-bolding made visible in printable version"
jenkins-bot [Fri, 3 Jan 2014 17:32:10 +0000 (17:32 +0000)]
Merge "Leading semicolon line-bolding made visible in printable version"

10 years agoRevert "Declare visibility for class properties in MySQLMasterPos"
Anomie [Fri, 3 Jan 2014 17:18:20 +0000 (17:18 +0000)]
Revert "Declare visibility for class properties in MySQLMasterPos"

These members are accessed from DatabaseMysqlBase::masterPosWait and
DatabaseBase::masterPosWait, causing errors if the wiki has slave
databases or has fakeSlaveLag set.

This reverts commit d0325927d4a7352590e52690aa30ce63fffb6ab8.

Change-Id: I563bde457274dad2f254145426376b275b597e2a

10 years agoMerge "Declare visibility for class properties of LBFactoryMulti"
jenkins-bot [Fri, 3 Jan 2014 16:42:53 +0000 (16:42 +0000)]
Merge "Declare visibility for class properties of LBFactoryMulti"

10 years agoMerge "Change Title::isExternal to use strict comparsion"
jenkins-bot [Fri, 3 Jan 2014 16:41:12 +0000 (16:41 +0000)]
Merge "Change Title::isExternal to use strict comparsion"

10 years agoMerge "Declare visibility for class properties in DatabasePostgres.php"
jenkins-bot [Fri, 3 Jan 2014 16:31:02 +0000 (16:31 +0000)]
Merge "Declare visibility for class properties in DatabasePostgres.php"

10 years agoMerge "Update documentation for ParserCache::save()"
jenkins-bot [Fri, 3 Jan 2014 16:29:03 +0000 (16:29 +0000)]
Merge "Update documentation for ParserCache::save()"

10 years agoMerge "Fix SearchEngineTest when $wgSearchType is set to non-default"
jenkins-bot [Fri, 3 Jan 2014 16:21:01 +0000 (16:21 +0000)]
Merge "Fix SearchEngineTest when $wgSearchType is set to non-default"

10 years agoMerge "Add fastcgi_finish_request where appropriate"
jenkins-bot [Fri, 3 Jan 2014 16:06:47 +0000 (16:06 +0000)]
Merge "Add fastcgi_finish_request where appropriate"

10 years agoMerge "Typofix: less bunny hoppers"
jenkins-bot [Fri, 3 Jan 2014 13:56:09 +0000 (13:56 +0000)]
Merge "Typofix: less bunny hoppers"

10 years agoTypofix: less bunny hoppers
Niklas Laxström [Fri, 3 Jan 2014 13:45:06 +0000 (13:45 +0000)]
Typofix: less bunny hoppers

Change-Id: Ie3c067b369d794f1be73019b8e4a18f84461a17a

10 years agoMerge "Prevent selection of "Jump to" text"
jenkins-bot [Fri, 3 Jan 2014 13:36:20 +0000 (13:36 +0000)]
Merge "Prevent selection of "Jump to" text"

10 years agoMerge "Remove reference to deleted file"
jenkins-bot [Fri, 3 Jan 2014 12:08:15 +0000 (12:08 +0000)]
Merge "Remove reference to deleted file"

10 years agoRemove reference to deleted file
Bartosz Dziewoński [Fri, 3 Jan 2014 12:01:28 +0000 (13:01 +0100)]
Remove reference to deleted file

It didn't even point to the right location…

Follow-up to I70d20bf2.

Change-Id: I7f909873035b9176ba9b7c2bf41b05d9eede3cc4

10 years agoCLDR 24 update - release notes
Santhosh Thottingal [Fri, 3 Jan 2014 10:55:17 +0000 (16:25 +0530)]
CLDR 24 update - release notes

Follow up: I9930b290d004667a3bb09e5c1663ec2c9c27d8a6

Bug: 56931
Change-Id: Ic37276126dd615c2510c17455a5bbf5d8653045d

10 years agoFix SearchEngineTest when $wgSearchType is set to non-default
aude [Fri, 3 Jan 2014 01:23:16 +0000 (02:23 +0100)]
Fix SearchEngineTest when $wgSearchType is set to non-default

$wgSearchType needs to be controlled for at time the pages get created.
This patch sets the $wgSearchType global.

Also, the 'singleton' is removed from SearchEngine::getSearchTypes, which
appears to provide little or no benefit while binding all tests to the
global variable.

SearchEngine::getSearchTypes() gets called in SearchUpdate which is
run on page edits. This means the first page edit in the entire
test suite causes the global variable to be set and subsequent tests
cannot override it.

These changes allow SearchEngineTest to pass, even if one has CirrusSearch
or other such extensions enabled.

Change-Id: I39050da8659dc69db31125f469f494a5fb4b8fca

10 years agoMerge "MWMessagePack: improvements to test suite, exception handling, array detection"
jenkins-bot [Fri, 3 Jan 2014 09:06:10 +0000 (09:06 +0000)]
Merge "MWMessagePack: improvements to test suite, exception handling, array detection"

10 years agoAdd fastcgi_finish_request where appropriate
Tyler Anthony Romeo [Thu, 21 Nov 2013 23:05:00 +0000 (18:05 -0500)]
Add fastcgi_finish_request where appropriate

When using PHP-FPM to run PHP on a web server, the function
fastcgi_finish_request is provided, which flushes all response
data to the client and closes the connection, allowing PHP
to perform additional work without delaying the client.

This adds fastcgi_finish_request calls in index.php and api.php
where appropriate and if the function exists, so that the connection
is closed once the output is definitely finished.

Change-Id: Ic67a8956545874e94df5198088c0f4aa58ca376e

10 years agoMWMessagePack: improvements to test suite, exception handling, array detection
Ori Livneh [Fri, 3 Jan 2014 05:57:23 +0000 (21:57 -0800)]
MWMessagePack: improvements to test suite, exception handling, array detection

* Throw InvalidArgumentException
* Use data provider in unit tests
* Detect associative arrays without copying

Per Tyler's post-merge review of Id2833c5a9.

Change-Id: Iec6b135238ca5da3002944066843102f0ae8d23d

10 years agoUpdate Russian(ru) plural rules to CLDR 24
Santhosh Thottingal [Fri, 3 Jan 2014 08:16:19 +0000 (13:46 +0530)]
Update Russian(ru) plural rules to CLDR 24

Russian (ru) plural rules have a major change. The 'few' form is
merged with the 'other' form. The current forms are 'one', 'many', 'other'.
In MW ru plural rules were overridden using convertPlural methdod
in LanguagesRu.php with 3 forms.

Effectively forms[1] and forms[2] are swapped.

Followup: I9930b290d004667a3bb09e5c1663ec2c9c27d8a6

Bug: 56931
Change-Id: Ia5779e42315d3f41f52dce2bfffaee0a4297d23b

10 years agoMerge "Move RunningStat from profiler/ to libs/"
jenkins-bot [Fri, 3 Jan 2014 07:19:18 +0000 (07:19 +0000)]
Merge "Move RunningStat from profiler/ to libs/"

10 years agoMerge "Update plural rules to CLDR 24"
jenkins-bot [Fri, 3 Jan 2014 07:17:36 +0000 (07:17 +0000)]
Merge "Update plural rules to CLDR 24"

10 years agoMove RunningStat from profiler/ to libs/
Ori Livneh [Fri, 3 Jan 2014 06:05:07 +0000 (22:05 -0800)]
Move RunningStat from profiler/ to libs/

There is nothing about the class that mandates it be used exclusively for
profiling, or exclusively within the context of MediaWiki. The functionality it
provides is generic. So move it to libs/ to make it easier to discover & reuse.

Change-Id: Iac8f2f8e1c3231ebe76318d72cf6225e25a7b891

10 years agoUpdate plural rules to CLDR 24
Santhosh Thottingal [Wed, 1 Jan 2014 09:05:39 +0000 (14:35 +0530)]
Update plural rules to CLDR 24

Updated plurals.xml with new data from CLDR 24.

This data is according to UTS #35 Rev 33.

Update the CLDRPluralRuleParser.js to version 1.1 from upstream
https://github.com/santhoshtr/CLDRPluralRuleParser

Changes to the plural rules:

* Hebrew override removed since CLDR 24 matches with MW plural rules.

* Updated the syntax of overridden rules to TR35 Rev 33 for
  Lower Sorbian (dsb), Upper Sorbian (hsb), Belarusian in Taraskievica
  orthography (be_tarask), Old Church Slavonic (cu), Bhojpuri (bho),
  Samogitian (sgs).

* Removed Manx (gv) override. See I46ab3dadc7fe08c1e60bbd81a1ee841e166e9608.

* Removed the overriden convertPlural method for Serbian from LanguageSr.php,
  since CLDR 24 matches with MW rules. Updated and added more tests.
  Tests updated for Serbocroatian (sh), too. Old CLDR versions had 4 plural
  rules and MW had only 3. In CLDR 24, the form 'many' was removed and it
  became identical to the MW. Same for Bosnian (bs) and Croatian (hr).
  Also for variants sr-ec and sr-el

* Macedonian (mk) used to count 11 as 'other' form.
  CLDR 24 counts it as 'one'.
  Not overriding, using CLDR 24 here.
  Updated the tests. MW will not override this.

* Armenian (hy) used to count 0 as 'other'.
  Now it is 'one' form.
  Updated the tests. MW will not override this.

* Latvian (lv) used to count only 0 as 'zero' form, but CLDR 24, any number
  satisifying the following formula is counted as zero:
  n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19
  Examples: 0, 10~20, 30, 40, 50, 60, 100.
  Updated the tests accordingly. Not overriding it in MW.
  Users will see different plural form for the above numbers.

* Removed Ukranian custom plural rule since it match with MW

* Russian (ru) plural rules have a major change.
  The 'few' form is merged with the 'other' form.
  The current forms are 'one', 'many', 'other'.
  In MW ru plural rules were overridden using convertPlural methdod
  in LanguagesRu.php with 3 forms.
  Effectively forms[1] and forms[2] are swapped.
  This will affect the messages, and such messages
  must be reviewed and updated. This change is not included in this patch and
  wil be done separately.

Russian is the only remaining language class with convertPlural method overridden.

Notable impact on the exising messages:

* For languages ru, uk, be_tarask, sr, For the special case
  of two plural forms and first mapped to 1 and rest to the other form, syntax like
  {{plural:$1|1=one|other}} should be used.

For further information regarding each of the above language changes, see
1. http://unicode.org/cldr/trac/ticket/3727
2. http://goo.gl/H2HEz

CLDR 24 can handle fractions. Ideally it should start working
in MW without any code changes, but MW language test suite
does not have enough tests to confirm.

Followup: e571717e06667228ec8d689be067e00bdd06d34d

Bug: 56931
Change-Id: I9930b290d004667a3bb09e5c1663ec2c9c27d8a6

10 years agoPrevent selection of "Jump to" text
Jackmcbarn [Fri, 3 Jan 2014 02:07:53 +0000 (21:07 -0500)]
Prevent selection of "Jump to" text

When an article's heading and body text are copied together, prevent the
"Jump to" links from being copied.

Bug: 59235
Change-Id: Ibf661e94c748df0c6d65f1dee2815aeb169e7148

10 years agoAdd class implementing MessagePack serialization
Ori Livneh [Fri, 3 Jan 2014 01:07:10 +0000 (17:07 -0800)]
Add class implementing MessagePack serialization

MessagePack is a space-efficient binary data interchange format. I am going to
use it to encode profiling data in ProfilerSimpleUDP. The official PHP
implementation is provided as a C extension, so using it would further
encumber migration to HHVM. This patch adds MWMessagePack, a class implementing
a pack() method for encoding native PHP values as MessagePack byte strings. The
implementation is based on <https://github.com/onlinecity/msgpack-php>, but
revised for clarity and conformity with MediaWiki coding conventions.

Change-Id: Id2833c5a9da659cb13ec1330de9dd57138ada9c8

10 years agoMerge "Added per-node sequential ID method and made SquidUpdate use it"
jenkins-bot [Fri, 3 Jan 2014 00:57:40 +0000 (00:57 +0000)]
Merge "Added per-node sequential ID method and made SquidUpdate use it"

10 years agoDon't convert bad curids to the Main Page
Jackmcbarn [Fri, 3 Jan 2014 00:56:47 +0000 (19:56 -0500)]
Don't convert bad curids to the Main Page

When a curid that doesn't exist is requested, cause the "Bad title" error
to be displayed rather than displaying the Main Page.

Bug: 58885
Change-Id: If54ca35b3799b8cf2f76e7f8a03001caa1fac676

10 years agoMerge "Random documentation tweaks"
jenkins-bot [Fri, 3 Jan 2014 00:50:30 +0000 (00:50 +0000)]
Merge "Random documentation tweaks"

10 years agoAdded per-node sequential ID method and made SquidUpdate use it
Aaron Schulz [Tue, 24 Dec 2013 23:22:58 +0000 (15:22 -0800)]
Added per-node sequential ID method and made SquidUpdate use it

* This replaces a live wmf hack

Change-Id: Ie01fd27386d5d7197968b6a8157b7220ba685f7b

10 years agoMerge "Declare visibility for class properties in MySQLMasterPos"
jenkins-bot [Fri, 3 Jan 2014 00:01:39 +0000 (00:01 +0000)]
Merge "Declare visibility for class properties in MySQLMasterPos"

10 years agoMerge "Change Title::getInterwiki() in conditions to Title::isExternal()"
jenkins-bot [Thu, 2 Jan 2014 23:31:37 +0000 (23:31 +0000)]
Merge "Change Title::getInterwiki() in conditions to Title::isExternal()"

10 years agoRandom documentation tweaks
Siebrand Mazeland [Mon, 30 Dec 2013 17:32:53 +0000 (18:32 +0100)]
Random documentation tweaks

Change-Id: I57c3bde6551c14324cf34e4db003a319d6cebc47

10 years agoMerge "Adding a message for api-error-stasherror"
jenkins-bot [Thu, 2 Jan 2014 22:35:26 +0000 (22:35 +0000)]
Merge "Adding a message for api-error-stasherror"

10 years agoAdding a message for api-error-stasherror
mayankmadan [Thu, 2 Jan 2014 21:31:19 +0000 (03:01 +0530)]
Adding a message for api-error-stasherror

Bug: 54460
Change-Id: I2895fe77d147a9065710912b5c2673ab833dd29f

10 years agoMerge "Stop using the unholy trinity in DatabaseError"
jenkins-bot [Thu, 2 Jan 2014 22:22:36 +0000 (22:22 +0000)]
Merge "Stop using the unholy trinity in DatabaseError"

10 years agoStop using the unholy trinity in DatabaseError
Chad Horohoe [Thu, 2 Jan 2014 18:28:02 +0000 (10:28 -0800)]
Stop using the unholy trinity in DatabaseError

RequestContext::getMain() shifts the blame, but at least
it's one less place in core.

Change-Id: I36ffad0ff2703c3326690eef2c07ef66aa532210

10 years agoUpdate RELEASE-NOTES
Siebrand Mazeland [Tue, 31 Dec 2013 09:51:40 +0000 (10:51 +0100)]
Update RELEASE-NOTES

Follow-up to I02561fb1c1a6. This adds sections for removed classes,
renamed classes, and removed methods.

Change-Id: Ib8358e8bafead9b18588cf8a8b32b230b3f81599

10 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 2 Jan 2014 20:37:24 +0000 (20:37 +0000)]
Localisation updates from https://translatewiki.net.

Change-Id: Idbf58dc6bad40ceecaea84f944a5558fe62ec775

10 years agoMerge "Remove deprecated convertLinkToAllVariants()"
jenkins-bot [Thu, 2 Jan 2014 20:09:44 +0000 (20:09 +0000)]
Merge "Remove deprecated convertLinkToAllVariants()"

10 years agoRemove deprecated convertLinkToAllVariants()
Chad Horohoe [Thu, 2 Jan 2014 19:35:07 +0000 (11:35 -0800)]
Remove deprecated convertLinkToAllVariants()

Deprecated since 1.17, not used anywhere in core or extensions

Change-Id: Id90ee1765899ea331a65ce372744ed465686c84b

10 years agoMerge "Avoid interacting with LBFactory singleton in tests"
jenkins-bot [Thu, 2 Jan 2014 19:54:34 +0000 (19:54 +0000)]
Merge "Avoid interacting with LBFactory singleton in tests"

10 years agoMerge "Fix bad usage of empty() function"
jenkins-bot [Thu, 2 Jan 2014 19:33:43 +0000 (19:33 +0000)]
Merge "Fix bad usage of empty() function"

10 years agoAllow hiding redirects in Special:ProtectedPages
Jackmcbarn [Thu, 2 Jan 2014 18:45:44 +0000 (13:45 -0500)]
Allow hiding redirects in Special:ProtectedPages

Add a checkbox to hide redirects in Special:ProtectedPages.

Bug: 19233
Change-Id: If1753eddc834f55c301a6e78e0802ee9d94a24b2

10 years agoMerge "Deprecate $wgPasswordSenderName"
jenkins-bot [Thu, 2 Jan 2014 18:14:16 +0000 (18:14 +0000)]
Merge "Deprecate $wgPasswordSenderName"

10 years agoMerge "Return void for LogPager::limitPerformer and limitTitle"
jenkins-bot [Thu, 2 Jan 2014 17:55:23 +0000 (17:55 +0000)]
Merge "Return void for LogPager::limitPerformer and limitTitle"

10 years agoMerge "Update documentation for SpecialPage and SpecialPageFactory"
jenkins-bot [Thu, 2 Jan 2014 17:53:39 +0000 (17:53 +0000)]
Merge "Update documentation for SpecialPage and SpecialPageFactory"

10 years agoMerge "Add JobQueueDB::selectFields and use it"
jenkins-bot [Thu, 2 Jan 2014 17:48:51 +0000 (17:48 +0000)]
Merge "Add JobQueueDB::selectFields and use it"

10 years agoMerge "Declare visibility for class properties of LBFactory and LBFactorySimple"
jenkins-bot [Thu, 2 Jan 2014 17:37:44 +0000 (17:37 +0000)]
Merge "Declare visibility for class properties of LBFactory and LBFactorySimple"

10 years agoMerge "No variable assignment on return statement"
jenkins-bot [Thu, 2 Jan 2014 17:33:42 +0000 (17:33 +0000)]
Merge "No variable assignment on return statement"

10 years agoMerge "jquery.client: Component-wise version comparison in #test with strings"
jenkins-bot [Thu, 2 Jan 2014 16:37:39 +0000 (16:37 +0000)]
Merge "jquery.client: Component-wise version comparison in #test with strings"

10 years agovoid methods don't return anything. Especially when they always throw an exception
Reedy [Thu, 2 Jan 2014 16:21:59 +0000 (16:21 +0000)]
void methods don't return anything. Especially when they always throw an exception

Change-Id: I6c959b44b64fdc38e248e0000a6594c12a10b6b4

10 years agoUpdate documentation for SpecialPage and SpecialPageFactory
Siebrand Mazeland [Sun, 29 Dec 2013 19:20:15 +0000 (20:20 +0100)]
Update documentation for SpecialPage and SpecialPageFactory

Change-Id: Id601b24bb664a5f15951f72cca34182b72b42d87

10 years agoUpdate documentation for ParserCache::save()
Siebrand Mazeland [Mon, 30 Dec 2013 16:11:52 +0000 (17:11 +0100)]
Update documentation for ParserCache::save()

The second parameter is a WikiPage, not an Article. Rename the variable
to $page to avoid confusion.

Change-Id: I4655aa9d8c7469805362c8ec43559bb5f9be4b06