lhc/web/wiklou.git
11 years agoMigrate Extension:PostEdit interface to core
Ori Livneh [Thu, 30 May 2013 18:10:46 +0000 (11:10 -0700)]
Migrate Extension:PostEdit interface to core

As requested by the VisualEditor team, this change migrates the post-edit
confirmation notice from Extension:PostEdit to core.

This entails porting the 'postedit-confirmation' en/qqq message from the
extension's i18n file (the message key remains the same) to the appropriate
message files and augmenting mediawiki.action.view.postEdit.js to not only
signal post-edit state but also act on it by displaying the confirmation.

Bug: 48276
Change-Id: I01cfc0630c3a505af82922844b5e70c1d61f3c1d

11 years agoMerge "Delete RELEASE-NOTES-1.21"
jenkins-bot [Fri, 31 May 2013 21:13:33 +0000 (21:13 +0000)]
Merge "Delete RELEASE-NOTES-1.21"

11 years agoFixed trailing slash removal code.
Aaron Schulz [Fri, 31 May 2013 17:56:12 +0000 (10:56 -0700)]
Fixed trailing slash removal code.

Change-Id: I152dcec5cc8f4c417e3503f4b8fd3fdd8bc4fda5

11 years agoDelete RELEASE-NOTES-1.21
Reedy [Thu, 30 May 2013 20:55:40 +0000 (21:55 +0100)]
Delete RELEASE-NOTES-1.21

1.21 is now released

Change-Id: Ic7519a3a81e33b2212e0c0d28d2a85f0eb7ff39e

11 years agoMerge "Darker labels in new login and create acct forms"
jenkins-bot [Thu, 30 May 2013 20:39:14 +0000 (20:39 +0000)]
Merge "Darker labels in new login and create acct forms"

11 years agoMerge "benefits icon part of background, not float"
jenkins-bot [Thu, 30 May 2013 20:32:35 +0000 (20:32 +0000)]
Merge "benefits icon part of background, not float"

11 years agoMerge "Compress PNGs used in new forms"
Swalling [Thu, 30 May 2013 19:59:47 +0000 (19:59 +0000)]
Merge "Compress PNGs used in new forms"

11 years agoMerge "Tooltips for HTMLCheckMatrix"
jenkins-bot [Thu, 30 May 2013 18:10:23 +0000 (18:10 +0000)]
Merge "Tooltips for HTMLCheckMatrix"

11 years agoTooltips for HTMLCheckMatrix
Erik Bernhardson [Thu, 2 May 2013 00:27:14 +0000 (17:27 -0700)]
Tooltips for HTMLCheckMatrix

Generates tooltips on the columns labels of HTMLCheckMatrix.
Bug: 47094

Change-Id: I9670ecdc2cb553df07ee06e3b83b003382471d27

11 years agoMerge "Micro optimization when fetching a magic from cache"
jenkins-bot [Thu, 30 May 2013 15:50:05 +0000 (15:50 +0000)]
Merge "Micro optimization when fetching a magic from cache"

11 years agoMicro optimization when fetching a magic from cache
Antoine Musso [Wed, 29 May 2013 10:21:42 +0000 (12:21 +0200)]
Micro optimization when fetching a magic from cache

The Language::getMagic() methods would request a full copy of the magic
words array from the cache.  Instead use LocalisationCache::getSubitem()
to only fetch the magic word we are interested in.

I do not think that makes that much of a difference, but that is
certainly nicer.  Note that getSubItem() returns null on miss instead of
the previous 'false', that still works for the !is_array().

Change-Id: I02824fd313eeecb5e5b26cb79d7b5549f6648f91

11 years agoMerge "tests: resources tests were not being run"
jenkins-bot [Thu, 30 May 2013 15:26:29 +0000 (15:26 +0000)]
Merge "tests: resources tests were not being run"

11 years agotests: resources tests were not being run
Antoine Musso [Thu, 30 May 2013 15:05:34 +0000 (17:05 +0200)]
tests: resources tests were not being run

The ResourcesTest class under ./resources/ were not registered anywhere.
This patch move it under the `structure` testsuite and phaseout the, now
empty, `resources` directory.

Change-Id: I53410e1dc83263c4c541f4dc278a9e616265d7b1

11 years agoMerge "Renaming files to follow name conventions"
jenkins-bot [Thu, 30 May 2013 15:11:08 +0000 (15:11 +0000)]
Merge "Renaming files to follow name conventions"

11 years agoMerge "Add setting wgLogAutopatrol to toggle logging of autopatrol actions"
jenkins-bot [Thu, 30 May 2013 13:39:39 +0000 (13:39 +0000)]
Merge "Add setting wgLogAutopatrol to toggle logging of autopatrol actions"

11 years agoAdd setting wgLogAutopatrol to toggle logging of autopatrol actions
aude [Wed, 8 May 2013 06:31:55 +0000 (06:31 +0000)]
Add setting wgLogAutopatrol to toggle logging of autopatrol actions

Per bug 47415, this is needed for Wikidata and could be useful for
other wikis, as well.

Bug: 47415
Change-Id: Ic999454d001c38dea08746d1e8184f0163cb7330

11 years agoMerge "tests: group structures tests in their own directory"
jenkins-bot [Thu, 30 May 2013 09:28:55 +0000 (09:28 +0000)]
Merge "tests: group structures tests in their own directory"

11 years agoMerge "overhaul maintenance/mwdocgen.php"
jenkins-bot [Thu, 30 May 2013 09:05:50 +0000 (09:05 +0000)]
Merge "overhaul maintenance/mwdocgen.php"

11 years agoMerge "Merge 'passwordreset-pretext' and 'passwordreset-text' messages"
jenkins-bot [Thu, 30 May 2013 08:57:25 +0000 (08:57 +0000)]
Merge "Merge 'passwordreset-pretext' and 'passwordreset-text' messages"

11 years agoMerge "doc: various updates"
jenkins-bot [Thu, 30 May 2013 08:46:35 +0000 (08:46 +0000)]
Merge "doc: various updates"

11 years agoMerge "Customise linktrail for Gujarati (gu)"
jenkins-bot [Thu, 30 May 2013 06:15:31 +0000 (06:15 +0000)]
Merge "Customise linktrail for Gujarati (gu)"

11 years agoDarker labels in new login and create acct forms
S Page [Wed, 29 May 2013 22:06:39 +0000 (15:06 -0700)]
Darker labels in new login and create acct forms

Bug: 47777
Change-Id: I01dd960d673a37d519ae8805db1fbbcb5a4306c9

11 years agoMerge "Add TitleQuickPermissions hook to Title::checkQuickPermissions"
jenkins-bot [Wed, 29 May 2013 21:18:37 +0000 (21:18 +0000)]
Merge "Add TitleQuickPermissions hook to Title::checkQuickPermissions"

11 years agoAdd new parameter $patrolFooterShown to hook ArticleViewFooter
bsitu [Wed, 29 May 2013 19:29:42 +0000 (12:29 -0700)]
Add new parameter $patrolFooterShown to hook ArticleViewFooter

Some extensions like PageTriage will be able to use this new
parameter to determine whether to show its own curation toolbar.

Change-Id: I07e85aa37edc994c5a2bf9d011976b91ff01ab14

11 years agoMerge "Fixed OracleUpdater::doPageRestrictionsPKUKFix prefix"
jenkins-bot [Wed, 29 May 2013 20:10:40 +0000 (20:10 +0000)]
Merge "Fixed OracleUpdater::doPageRestrictionsPKUKFix prefix"

11 years agoFixed OracleUpdater::doPageRestrictionsPKUKFix prefix
freakolowsky [Sat, 25 May 2013 10:43:24 +0000 (12:43 +0200)]
Fixed OracleUpdater::doPageRestrictionsPKUKFix prefix

Previously OracleUpdater::doPageRestrictionsPKUKFix had the
database prefix hard-coded into the SQL query. This removes
the hard-coded value and replaces it with the actual configured
prefix.

Change-Id: If60f23af7fd238d4c91ebf25b095749345a2718d

11 years agoMerge "Oracle: DRCP and persistent connections support"
jenkins-bot [Wed, 29 May 2013 19:58:53 +0000 (19:58 +0000)]
Merge "Oracle: DRCP and persistent connections support"

11 years agoOracle: DRCP and persistent connections support
freakolowsky [Fri, 24 May 2013 14:05:20 +0000 (16:05 +0200)]
Oracle: DRCP and persistent connections support

Adds $wgDBOracleDRCP, when set to true, enables persistent connection
with DRCP on Oracle.

Requires Oracle DB 11gR1 or above. More informations about DRCP can be
found at:
http://www.oracle-base.com/articles/11g/database-resident-connection-pool-11gr1.php

Change-Id: I2be7120a2ebec39d866b79be62ac715bbc3738a9

11 years ago(bug 48294) API: Fix chunk upload async mode
Brad Jorsch [Thu, 9 May 2013 22:09:20 +0000 (18:09 -0400)]
(bug 48294) API: Fix chunk upload async mode

I915c1678 fixed single-chunk chunked uploads for the common case, but
didn't store the data for async uploads under the correct filekey. This
fixes that.

Bug: 48294
Change-Id: Idbeab2fd0d801974b610198dcf02c81798f65a0d

11 years agoMerge "Make 'subnet' feature of $wgRateLimits work with IPv6"
jenkins-bot [Wed, 29 May 2013 16:55:30 +0000 (16:55 +0000)]
Merge "Make 'subnet' feature of $wgRateLimits work with IPv6"

11 years agoMerge "Newlines should be converted to spaces for IRC feed"
jenkins-bot [Wed, 29 May 2013 15:07:02 +0000 (15:07 +0000)]
Merge "Newlines should be converted to spaces for IRC feed"

11 years agoRenaming files to follow name conventions
David E. Narváez [Sat, 25 May 2013 17:27:45 +0000 (12:27 -0500)]
Renaming files to follow name conventions

And renamed the inner class name.

Change-Id: I2ed94a61214439d5c70d04bd1dbddd68754b595e

11 years agooverhaul maintenance/mwdocgen.php
Antoine Musso [Tue, 21 May 2013 22:04:11 +0000 (00:04 +0200)]
overhaul maintenance/mwdocgen.php

Now based on Maintenance class.
Reinstate {{EXCLUDE}} which got removed by 8199984

This is roughly back compatible.

bug: 34436
Change-Id: Ic1a2b2c29718054ec740b2ffb90350af700a6a58

11 years agowfIniGetBool: reduce strtolower() calls
Antoine Musso [Wed, 29 May 2013 09:16:25 +0000 (11:16 +0200)]
wfIniGetBool: reduce strtolower() calls

We were calling strtolower() up to three times. As a micro optimization,
call it once around ini_get() and do the logical checks against the
variable containing the lower case output.

Change-Id: I16c149fbb9de84d7b6f3e68da06de208c5572b7c

11 years agorevert last 'ru' l10n update
Antoine Musso [Wed, 29 May 2013 10:40:00 +0000 (12:40 +0200)]
revert last 'ru' l10n update

The russian localisation update made in 4455865 are apparently wrong.  A
side effect is also the 'mainpage' message that got changed and which is
breaking tests in master.

Change-Id: I99bcda82f524ddde25a860dc5c08a77a31acd604

11 years agoLocalisation updates from http://translatewiki.net.
Translation updater bot [Wed, 29 May 2013 08:37:37 +0000 (08:37 +0000)]
Localisation updates from translatewiki.net.

Change-Id: I9832bfa9e077c7f71e95a64d615dd83b98676124

11 years agoMerge "Localisation updates from http://translatewiki.net."
Translation updater bot [Wed, 29 May 2013 07:49:28 +0000 (07:49 +0000)]
Merge "Localisation updates from translatewiki.net."

11 years agoMerge 'passwordreset-pretext' and 'passwordreset-text' messages
Alexandre Emsenhuber [Thu, 18 Apr 2013 07:18:54 +0000 (09:18 +0200)]
Merge 'passwordreset-pretext' and 'passwordreset-text' messages

It is confusing to have in the same two messages which can be interpreted
with different meanings. When there is more than one way of resetting a
password, two messages are being show to the user:
- 'passwordreset-pretext' saying to fill only one of the fields below
- 'passwordreset-text' saying to *complete* the form, which people
  can interpret as "fill all the fields below"

This already got changed at the English Wikipedia, see
https://en.wikipedia.org/wiki/Wikipedia:MediaWiki_messages/Archive_5#Special:PasswordReset_improvements
I think it's worth changing MediaWiki too.

Change-Id: Ia2f0c889959d11396411ba44ae595ffad5d498d2

11 years agoMerge "Check if API enabled before loading dependent JS modules"
jenkins-bot [Wed, 29 May 2013 00:43:27 +0000 (00:43 +0000)]
Merge "Check if API enabled before loading dependent JS modules"

11 years agobenefits icon part of background, not float
S Page [Tue, 28 May 2013 23:47:06 +0000 (16:47 -0700)]
benefits icon part of background, not float

The separate icon floating left made the benefit text not request a
width, so the benefits column width was determined by the h2 "made by
people like you" heading and a short h2 could clip big numbers.

Now the icon is part of the background for the text div, and the column
width is the larger of h2 heading and benefits.

Bug: 48909
Change-Id: Iaf5fb1ccb4f50d34cad8a29b2bdd8f5b267ef008

11 years agoCheck if API enabled before loading dependent JS modules
Kevin Israel [Tue, 28 May 2013 12:00:52 +0000 (08:00 -0400)]
Check if API enabled before loading dependent JS modules

Affects whether these modules are loaded:

* mediawiki.searchSuggest ($wgEnableAPI only)
* mediawiki.page.watch.ajax ($wgEnableAPI, $wgEnableWriteAPI,
  'writeapi' right)
* mediawiki.page.patrol.ajax (same as above)

Checking of $wgUseAjax has not been removed where it was
already present, in case some users have set the variable
to false to disable these specific features.

Bug: 30213
Change-Id: If2ec219cfbb94e7c9718c58b9b54a508d0e0c656

11 years agowikibits: Pass JSHint
Timo Tijhof [Tue, 23 Apr 2013 18:28:05 +0000 (20:28 +0200)]
wikibits: Pass JSHint

Change-Id: I95897e01b339c16abdd12190129d2b343be43d30

11 years agowikibits: Wrap jsMsg in mw.log.deprecate
Timo Tijhof [Mon, 22 Apr 2013 13:24:39 +0000 (15:24 +0200)]
wikibits: Wrap jsMsg in mw.log.deprecate

No release notes since it was already deprecated (in 1.17 to
mw.util.jsMessage and in 1.20 to mediawiki.notify, though we
don't fallback to that directly since it is not compatible).

Change-Id: I359c94929e58363d5b38f410a60b456111bb0897

11 years agowikibits: Replace checkboxShiftClick globals with dummies
Timo Tijhof [Mon, 22 Apr 2013 13:05:31 +0000 (15:05 +0200)]
wikibits: Replace checkboxShiftClick globals with dummies

They have been deprecated in favour of jquery.checkboxShiftClick for
many releases now (since MediaWiki 1.17) and aren't used anywhere in
MediaWiki core (or extensions that I know of).

Though removal is justified, given the slow pace at which the tour[1]
is progressing and the amount of garbage I still find on a daily basis,
I'm replacing them with dummies instead and marking the dummies as
deprecated for easier tracking.

[1] https://meta.wikimedia.org/wiki/User:Krinkle/Le_Tour_de_Wik%C3%AD/2011_Resource_Walker

Change-Id: I72aac6111b9be974f160fecad8312c49c9460c5b

11 years agowikibits: Wrap UA and accesskey globals in mw.log.deprecate
Timo Tijhof [Mon, 22 Apr 2013 12:33:55 +0000 (14:33 +0200)]
wikibits: Wrap UA and accesskey globals in mw.log.deprecate

Change-Id: I026d3d3110fe1580733324d50e8a4c8b04798234

11 years agoMerge "new Create account contributors icon"
jenkins-bot [Tue, 28 May 2013 21:40:19 +0000 (21:40 +0000)]
Merge "new Create account contributors icon"

11 years agoMerge "Give skin more control of OutputPage modules"
jenkins-bot [Tue, 28 May 2013 21:30:07 +0000 (21:30 +0000)]
Merge "Give skin more control of OutputPage modules"

11 years agoMerge "mediawiki.searchSuggest: Use mw.Api instead of jQuery.ajax"
jenkins-bot [Tue, 28 May 2013 21:28:40 +0000 (21:28 +0000)]
Merge "mediawiki.searchSuggest: Use mw.Api instead of jQuery.ajax"

11 years agoMerge "Allow setting the ID of the main table in HTMLForm"
jenkins-bot [Tue, 28 May 2013 21:23:44 +0000 (21:23 +0000)]
Merge "Allow setting the ID of the main table in HTMLForm"

11 years agoAllow setting the ID of the main table in HTMLForm
Alexandre Emsenhuber [Mon, 29 Apr 2013 06:13:05 +0000 (08:13 +0200)]
Allow setting the ID of the main table in HTMLForm

- Added new method HTMLForm::setTableId() to allow to set the ID
  of the main table (or the outermost <div> element depending on
  the format).
- Changed the second parameter of HTMLForm::displaySection()
  to take the full ID so that the one set with setTableId()
  will not get prefixed with "mw-htmlform-"

Note: If someone has a better idea for the name of that method
(since it also applies to <div> elements), please tell me it :)

Change-Id: Id01bd0fa44512b0320f3c3ff79627e8a9bccd5bb

11 years agoMerge "De-duplicate refreshLinks2 base jobs on insert."
jenkins-bot [Tue, 28 May 2013 17:34:30 +0000 (17:34 +0000)]
Merge "De-duplicate refreshLinks2 base jobs on insert."

11 years agoGive skin more control of OutputPage modules
jrobson [Mon, 13 May 2013 22:09:33 +0000 (15:09 -0700)]
Give skin more control of OutputPage modules

Remove addDefaultModules from OutputPage
Instead only enforce mediawiki.page.startup

Add a method getDefaultModules which groups modules
by type allowing a skin to tweak

Change-Id: I89d529f0378d90af0fe0a5adea5d5dbdca83a86e

11 years agoApiHelp: Avoid header for example, when there no examples
umherirrender [Sun, 26 May 2013 18:48:17 +0000 (20:48 +0200)]
ApiHelp: Avoid header for example, when there no examples

When writing a new extension the source:

public function getExamples() {
return array(
//TODO
);
}

would produce a empty "Example:" header on the help page. Avoid this, by
changing the condition to check for truthy instead of false and empty
string.

Change-Id: I67ecacbbac66b97ed96412abf79b49aebe0ebdbf

11 years agoCustomise linktrail for Gujarati (gu)
Federico Leva [Sat, 25 May 2013 13:29:45 +0000 (15:29 +0200)]
Customise linktrail for Gujarati (gu)

Release notes will follow with another commit when this is merged.

Bug: 48798
Change-Id: I872a9f141f64a664bc3743fcff5f036634445ba0

11 years agomediawiki.searchSuggest: Use mw.Api instead of jQuery.ajax
Alex Monk [Sun, 26 May 2013 18:46:04 +0000 (19:46 +0100)]
mediawiki.searchSuggest: Use mw.Api instead of jQuery.ajax

Change-Id: I5e12371bf7e0a6eaeb2507b8942773f63281139b

11 years agoMerge "ResourceLoader: Prevent prefixless modules from overwriting others"
jenkins-bot [Tue, 28 May 2013 10:29:49 +0000 (10:29 +0000)]
Merge "ResourceLoader: Prevent prefixless modules from overwriting others"

11 years agoResourceLoader: Prevent prefixless modules from overwriting others
Henning Snater [Mon, 27 May 2013 15:13:59 +0000 (17:13 +0200)]
ResourceLoader: Prevent prefixless modules from overwriting others

Expanding prefixless modules should not overwrite the result set
of expanded modules.

Change-Id: Ic6e0e1c9e3fe7a585d34de21c532ee5ac3e7fdc5

11 years agoLocalisation updates from http://translatewiki.net.
Translation updater bot [Tue, 28 May 2013 06:42:04 +0000 (06:42 +0000)]
Localisation updates from translatewiki.net.

Change-Id: I488ebb99fba311a78fc879933606f797a1f640ad

11 years agoAdd autocreate to addNewUserLogEntry docs.
Matthew Flaschen [Mon, 27 May 2013 20:43:06 +0000 (16:43 -0400)]
Add autocreate to addNewUserLogEntry docs.

Change-Id: I40bdd510dbbc32d32ceee39b54bb4c66ace0ccfc

11 years agoMerge "Avoid changing the global on special pages"
TheDJ [Mon, 27 May 2013 20:11:14 +0000 (20:11 +0000)]
Merge "Avoid changing the global on special pages"

11 years agoFieldset legends is broken.
nischayn22 [Tue, 21 May 2013 07:57:23 +0000 (13:27 +0530)]
Fieldset legends is broken.

HTMLForm constructor didn't use messagePrefix if context is null.

Bug: 48650
Change-Id: I26367bd597f873838c8cf45d75800661d37c0f95

11 years agoMoved job queue aggregator classes to a subdirectory.
Aaron Schulz [Wed, 22 May 2013 19:12:21 +0000 (12:12 -0700)]
Moved job queue aggregator classes to a subdirectory.

Change-Id: Iabbf566b05d44e19770db7b4519abfe00e4a8d90

11 years agoAdd Release notes for I1e24733c
Marius Hoch [Sat, 25 May 2013 10:27:42 +0000 (12:27 +0200)]
Add Release notes for I1e24733c

Change-Id: I271cf65b74ff9101914670b3e0c70241b5638020

11 years agoMerge "Updated profiling table definition."
jenkins-bot [Sun, 26 May 2013 21:42:09 +0000 (21:42 +0000)]
Merge "Updated profiling table definition."

11 years agoMerge "Enable fallback languages when retrieving messages"
jenkins-bot [Sun, 26 May 2013 14:02:27 +0000 (14:02 +0000)]
Merge "Enable fallback languages when retrieving messages"

11 years agoEnable fallback languages when retrieving messages
Tyler Romeo [Wed, 16 Jan 2013 07:28:54 +0000 (23:28 -0800)]
Enable fallback languages when retrieving messages

The core function behind wfMessage() (MessageCache->get()) did not
apply the language fallback chain to on-wiki messages.

This patch has changed the behavior to iterate over all possible
languages, first checking on-wiki and then checking the CDB cache,
until it finds the message. Note that fallback languages never
take precedence over the actual requested language.

This patch was taken from the following changes and then
adjusted to fix issues that caused bug 46579.

* Change-Id: Iaaf6ccebd8c40c9602748c58c3a5c73c29e7aa4d
- Author: Matthew Walker <mwalker@wikimedia.org>
- (cherry picked from commit d434bfcf3bbab05660ed8f798a4622487dd8ba56)
* Change-Id: Ib607a446d3499a3c042dce408db5cbaf12fa9e3d
- Author: Mormegil <mormegil@centrum.cz>
- (cherry picked from commit 1b8cb8dc3119bfb12d86d2f044018dc12553939b)

Bug: 1495
Bug: 46579
Change-Id: I420457863eeb79824698d06abc7784032b267af2

11 years agoMerge "Language::convertPlural: check if matching form exists"
jenkins-bot [Sun, 26 May 2013 10:31:10 +0000 (10:31 +0000)]
Merge "Language::convertPlural: check if matching form exists"

11 years agoUpdated profiling table definition.
freakolowsky [Sun, 26 May 2013 10:14:58 +0000 (12:14 +0200)]
Updated profiling table definition.

Change-Id: I20e92f2bc9b57a9c06cbcdfd30370fedf3c0e2f7

11 years ago[JobQueue] Allow using gzip on larger jobs in JobQueueRedis.
Aaron Schulz [Wed, 1 May 2013 03:00:20 +0000 (20:00 -0700)]
[JobQueue] Allow using gzip on larger jobs in JobQueueRedis.

Change-Id: I74ebdcfa0d3f2bcdc429394f7873fa25b7eb0f58

11 years agoLocalisation updates from http://translatewiki.net.
Translation updater bot [Sun, 26 May 2013 08:40:58 +0000 (08:40 +0000)]
Localisation updates from translatewiki.net.

Change-Id: Ie17b0ec177b58826a9fa3e8131d29ffdb75dc8dd

11 years agoEnsure title in NS_FILE before showing archived file
Kevin Israel [Sun, 26 May 2013 01:27:56 +0000 (21:27 -0400)]
Ensure title in NS_FILE before showing archived file

Avoid an MWException "X is not a valid file title." with invalid
input such as index.php?title=Special:Undelete&title=X&file=Y .

Change-Id: Ie915726fdde8e772a63713d3eb9da232d9fd83bd

11 years agoLanguage::convertPlural: check if matching form exists
Kevin Israel [Sat, 25 May 2013 23:19:55 +0000 (19:19 -0400)]
Language::convertPlural: check if matching form exists

It is possible that only explicit plural forms are specified, and
therefore, it is possible that none match. However, handling of
explicit forms came after the count( $forms ) check, so input such
as {{PLURAL:|1=}} would trigger a "PHP Notice: Undefined offset: -1".

Change-Id: I8494de8ceb9e0cfff7203c69c21f02b3731275af
Follows-Up: I50eb0c6d1c02ca936848d310de625ed1fe43d91a

11 years agoNewlines should be converted to spaces for IRC feed
Alex Monk [Sat, 25 May 2013 15:47:37 +0000 (16:47 +0100)]
Newlines should be converted to spaces for IRC feed

Instead of just removing them, which was causing reasons to show up like this:
"Automatically blocked by abuse filter.Description of matched rule: Long-term Chinese spambots"
While showing like this on the web pages:
"Automatically blocked by abuse filter. Description of matched rule: Long-term Chinese spambots"

Change-Id: I058e4b446aaa42b4dfe3369f101191f36b6f6978

11 years agoMerge "Rename $usableSkins to $allowedSkins"
jenkins-bot [Sat, 25 May 2013 11:22:57 +0000 (11:22 +0000)]
Merge "Rename $usableSkins to $allowedSkins"

11 years agoRename $usableSkins to $allowedSkins
Waldir Pimenta [Sat, 25 May 2013 11:10:34 +0000 (12:10 +0100)]
Rename $usableSkins to $allowedSkins

This change is entirely in local scope.
The function is still called getUsableSkins()
so this change won't break anything.
But the variable name and the updated documentation comment
make it clearer what the purpose of this function is,
for anyone reading the code or reading the autogenerated docs.

This change also includes minor changes to documentation
in skin-related files (typos and small edits for clarity).

Change-Id: I4220408f4d3b64cf87be4ad1af4b72d3a4524922

11 years agoMerge "Patrol overhaul phase 1: Remove rcid parameters"
jenkins-bot [Sat, 25 May 2013 10:08:50 +0000 (10:08 +0000)]
Merge "Patrol overhaul phase 1: Remove rcid parameters"

11 years agoPatrol overhaul phase 1: Remove rcid parameters
Marius Hoch [Sat, 29 Dec 2012 02:53:18 +0000 (03:53 +0100)]
Patrol overhaul phase 1: Remove rcid parameters

I've changed the logic in Article::showPatrolFooter to be able
to fetch the recent changes id and to only show the patrol link
in case the change hasn't yet been patrolled.

In case recentchanges patrolling is enabled this will try to
create a patrol link for the revision the user is currently
viewing. If only new page patrolling is enabled it tries to
create a patrol link for the first revision of the page.

Furthermore I've removed the passing around of &rcid parameters
within MediaWiki as those had several issues (some even security
related) and were only a workaround to protect the DB from some
queries, which is no longer needed.

This has already been partly implemented in a different manner in
r45778 but had to be reverted in r46542 due to performance issues.
This version shouldn't cause such issues as I'm only adding one or
two indexed database queries per page view.

I've written this new version of the patch with mostly
performance in mind and even tested the database queries it uses
against the replicated databases of enwiki on the toolserver. I'm
pretty sure this can't be implemented any faster without creating
a new index on the recentchanges table.

As I was on it I've implemented RecentChange::isInRCLifespan which
checks whether the given timestamp is new enough to may have a RC
row. That way we can avoid some DB queries for timestamps which are
older than the max RC age.

Fixes bugs:
(bug 15936) New page's patrol button should always be visible
(bug 35810) ! N pages non-patrol-able
(bug 36641) Patrol page link shows on non-existent revs

Change-Id: I1e24733cafbfdc51b7a5a9a1c1baf948e760fe1a

11 years agoMerge "Remove 'SkinTemplateTabs' from docs/hooks.txt"
jenkins-bot [Sat, 25 May 2013 08:40:30 +0000 (08:40 +0000)]
Merge "Remove 'SkinTemplateTabs' from docs/hooks.txt"

11 years agoMerge "Localisation updates from http://translatewiki.net."
Translation updater bot [Sat, 25 May 2013 08:31:38 +0000 (08:31 +0000)]
Merge "Localisation updates from translatewiki.net."

11 years agoLocalisation updates from http://translatewiki.net.
Translation updater bot [Sat, 25 May 2013 08:18:55 +0000 (08:18 +0000)]
Localisation updates from translatewiki.net.

Change-Id: I95c3d4327c845da676a4f646e5ffaa925d453a0b

11 years agoMerge "Set context when using UserrightsPage"
jenkins-bot [Sat, 25 May 2013 07:59:47 +0000 (07:59 +0000)]
Merge "Set context when using UserrightsPage"

11 years agoRemove 'SkinTemplateTabs' from docs/hooks.txt
Kevin Israel [Sat, 25 May 2013 03:50:26 +0000 (23:50 -0400)]
Remove 'SkinTemplateTabs' from docs/hooks.txt

According to online documentation: "This feature was removed completely
in version 1.18.0."

Change-Id: I410dce8b04ff788cd6573b3b11fd56ce41a96395

11 years agoMerge "displaytitle: reject some CSS if $wgRestrictDisplayTitle set"
jenkins-bot [Fri, 24 May 2013 21:19:46 +0000 (21:19 +0000)]
Merge "displaytitle: reject some CSS if $wgRestrictDisplayTitle set"

11 years agoMerge "Reset the error string in LoadBalancer::getConnection() to avoid it crufting...
jenkins-bot [Fri, 24 May 2013 20:52:50 +0000 (20:52 +0000)]
Merge "Reset the error string in LoadBalancer::getConnection() to avoid it crufting up."

11 years agoMerge "Added a --profiler option to all maintenance scripts."
jenkins-bot [Fri, 24 May 2013 20:48:56 +0000 (20:48 +0000)]
Merge "Added a --profiler option to all maintenance scripts."

11 years agoFixed misleading @since tag.
Aaron Schulz [Fri, 24 May 2013 20:00:59 +0000 (13:00 -0700)]
Fixed misleading @since tag.

Change-Id: Ief77172a286ffb98389b22968296217d37dac35f

11 years agoAdd TitleQuickPermissions hook to Title::checkQuickPermissions
Tyler Anthony Romeo [Fri, 8 Mar 2013 20:15:27 +0000 (15:15 -0500)]
Add TitleQuickPermissions hook to Title::checkQuickPermissions

Currently Title permissions hooks get called after
Title::checkQuickPermissions, preventing users from
overriding quick permission checks. Added a hook to
allow this. Needed for bug 45898.

Change-Id: Id672270741282778815b06eff8b234ca4d819744

11 years agoPreferences: Add link to user contributions on value of "Number of edits".
Michał Zieliński [Fri, 24 May 2013 19:04:52 +0000 (21:04 +0200)]
Preferences: Add link to user contributions on value of "Number of edits".

Bug: 43637
Change-Id: I10a662051fc23ff007b8749c4dc46a4b53a7f4bd

11 years agoDe-duplicate refreshLinks2 base jobs on insert.
Aaron Schulz [Fri, 24 May 2013 18:46:56 +0000 (11:46 -0700)]
De-duplicate refreshLinks2 base jobs on insert.

* This should work better and take up less space than using root job
  de-duplication alone.

Change-Id: Ie339ccf0eed93f5d525a24519d20811de8f6c0b5

11 years agoActually update $lastTime in runJobs.php
Aaron Schulz [Wed, 22 May 2013 23:26:46 +0000 (16:26 -0700)]
Actually update $lastTime in runJobs.php

Change-Id: Ic51b0941aa72f444b1bad919e6a05ff0ba273ce7

11 years agoApply default robot policy for non-existing user pages
umherirrender [Fri, 24 May 2013 14:17:12 +0000 (16:17 +0200)]
Apply default robot policy for non-existing user pages

MediaWiki is sending HTTP 200 for every user page, this can result in
search engine indexing user pages with block hint. This is not happen,
when the page exists (even it is empty), so applying the default robot
policy also for non-existing user pages to avoid this.

Change-Id: Ia62b977b3488d6b002c7b129d9308b7887e4f42d

11 years agoSet context when using UserrightsPage
umherirrender [Fri, 24 May 2013 13:58:54 +0000 (15:58 +0200)]
Set context when using UserrightsPage

SpecialPage::getContext called and $mContext is null. Return
RequestContext::getMain(); for sanity

Change-Id: Ie0ed360835164e8a4eb1c675ec8edd944ab95898

11 years agodisplaytitle: reject some CSS if $wgRestrictDisplayTitle set
MatmaRex [Wed, 22 May 2013 08:48:14 +0000 (10:48 +0200)]
displaytitle: reject some CSS if $wgRestrictDisplayTitle set

$wgRestrictDisplayTitle is intended to make it possible to simply
copy-and-paste the title text even if it requires some styling like
subscript or superscript. Using a <span style="display: none;" />
broke that expectation, as the text hidden in such way becomes
completely invisible and unselectable. This patch rejects such styles.

Also disallowed 'user-select' and 'visibility', since they both
prevent the user from selecting and/or copying the text as well.

Minor changes in Sanitizer:
* checkCss() was made to pass through values which consist of nothing
  but a single comment, to allow this rejection to display some sort
  of a notification to the user.
* encodeTagAttributes() was added as a counterpart to
  decodeTagAttributes(), pulling some code out of fixTagAttributes().

Bug: 26547
Change-Id: Ie162535b6bcbebce4ee69f6dcc1957ccccc3c672

11 years agoMerge "Change space to non-breaking space to keep headers aligned"
jenkins-bot [Fri, 24 May 2013 11:09:55 +0000 (11:09 +0000)]
Merge "Change space to non-breaking space to keep headers aligned"

11 years agoMerge "jquery.byteLimit: Fix infinite loop if text is longer than max"
jenkins-bot [Fri, 24 May 2013 09:34:23 +0000 (09:34 +0000)]
Merge "jquery.byteLimit: Fix infinite loop if text is longer than max"

11 years agoMerge "jquery.byteLimit: Improve unit tests"
jenkins-bot [Fri, 24 May 2013 09:29:33 +0000 (09:29 +0000)]
Merge "jquery.byteLimit: Improve unit tests"

11 years agojquery.byteLimit: Fix infinite loop if text is longer than max
umherirrender [Mon, 13 May 2013 18:34:26 +0000 (20:34 +0200)]
jquery.byteLimit: Fix infinite loop if text is longer than max

When the length of the returned text of the callback is longer than the
max, the slicing of the input text, should not go into a endless loop.

Without this change, the added unit tests would fail as a result of
the infinite loop.

Bug: 41450
Change-Id: Iad84522659ab160e18828cbfc463db83bc7e4795

11 years agoMerge "Actually try to load intl for test which requires it."
jenkins-bot [Fri, 24 May 2013 09:23:32 +0000 (09:23 +0000)]
Merge "Actually try to load intl for test which requires it."

11 years agojquery.byteLimit: Improve unit tests
Timo Tijhof [Tue, 21 May 2013 20:33:38 +0000 (22:33 +0200)]
jquery.byteLimit: Improve unit tests

* Update outdated documentation
* Remove hasLimit and limit properties of the test helper
  function. These just repeated data already provided
  (hasLimit if input != output, limit == expected.length)
* Add tests for a filter that increases the length
  (currently only a decreasing filter was tested).

Change-Id: Ib4c19f4d49ed9d19117bbbaccedb0fccaeb34719

11 years agoLocalisation updates from http://translatewiki.net.
Translation updater bot [Fri, 24 May 2013 08:32:06 +0000 (08:32 +0000)]
Localisation updates from translatewiki.net.

Change-Id: I394beb54391ba868283759f889e64c86e8af8538