lhc/web/wiklou.git
5 years agoFix PHP warnings "preg_replace(): [...] invalid range in character class"
Edward Chernenko [Mon, 18 Jun 2018 22:53:52 +0000 (01:53 +0300)]
Fix PHP warnings "preg_replace(): [...] invalid range in character class"

This was spotted when running tests on Travis (PHP 7.3 nighly, trusty).

Two expressions inside preg_replace() contained non-escaped "-" inside [],
where this "-" meant an actual "-" character.
The warning is because "-" has special meaning inside [] ("a-z" for range),
and things like [\w-.] are considered "invalid range".

Solution is to escape "-" like this: [\w\-.]

Change-Id: I41cc217081f00f54d957b6d8052ee209412f5ff6

5 years agoMerge "Revert "Use type Language instead of string for $lang of doEditSectionLink""
jenkins-bot [Mon, 18 Jun 2018 23:29:29 +0000 (23:29 +0000)]
Merge "Revert "Use type Language instead of string for $lang of doEditSectionLink""

5 years agoRevert "Use type Language instead of string for $lang of doEditSectionLink"
Legoktm [Mon, 18 Jun 2018 23:11:17 +0000 (23:11 +0000)]
Revert "Use type Language instead of string for $lang of doEditSectionLink"

This reverts commit 531e71acdab55df6f567ef43ffaccf4615fe5e66.

Was a breaking change that did not following the deprecation
policy.

Change-Id: Idefd38e1f42ee849a09da0fc5793fb7f051b2a4c

5 years agoMerge "Adjust layout for saved filters empty state"
jenkins-bot [Mon, 18 Jun 2018 23:07:17 +0000 (23:07 +0000)]
Merge "Adjust layout for saved filters empty state"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 18 Jun 2018 19:54:31 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Idafba5d45cb472eb430092517016d0666fe0f30d

5 years agoAdjust layout for saved filters empty state
Hagar Shilo [Wed, 13 Jun 2018 08:09:25 +0000 (11:09 +0300)]
Adjust layout for saved filters empty state

Bug: T191534
Change-Id: Ia3f9509dce41a7fec44c93eb02239257a491499d

5 years agoMerge "docs/hooks.txt: fix incorrect description of UploadForm:* hooks"
jenkins-bot [Mon, 18 Jun 2018 18:07:33 +0000 (18:07 +0000)]
Merge "docs/hooks.txt: fix incorrect description of UploadForm:* hooks"

5 years agoMove lbFactory defintion from construct to execute in populateChangeTagDef
Amir Sarabadani [Mon, 18 Jun 2018 16:34:48 +0000 (18:34 +0200)]
Move lbFactory defintion from construct to execute in populateChangeTagDef

It seems the class doesn't load needed classes in construct so we get
Uncaught Error: Class 'MediaWiki\MediaWikiServices' not found

Bug: T193871
Change-Id: I0d6a49232cbc256a34ab49e8a4e41f6cc942fe4b

5 years agoMerge "Make ChangeTag use NameTableStore for change_tag_def table"
jenkins-bot [Mon, 18 Jun 2018 15:37:20 +0000 (15:37 +0000)]
Merge "Make ChangeTag use NameTableStore for change_tag_def table"

5 years agoMerge "Use type Language instead of string for $lang of doEditSectionLink"
jenkins-bot [Mon, 18 Jun 2018 01:14:30 +0000 (01:14 +0000)]
Merge "Use type Language instead of string for $lang of doEditSectionLink"

5 years agoMerge "Title: Use directly Language::factory instead of wfGetLangObj"
jenkins-bot [Mon, 18 Jun 2018 01:12:07 +0000 (01:12 +0000)]
Merge "Title: Use directly Language::factory instead of wfGetLangObj"

5 years agodocs/hooks.txt: fix incorrect description of UploadForm:* hooks
Edward Chernenko [Wed, 30 May 2018 16:48:25 +0000 (19:48 +0300)]
docs/hooks.txt: fix incorrect description of UploadForm:* hooks

Hooks [UploadForm:BeforeProcessing] and [UploadForm:initial] get SpecialUpload
object as their parameter (NOT the UploadForm object).

Also replaced obsolete note "use UploadVerification and UploadVerifyFile"
with modern "use UploadVerifyUpload".

Change-Id: I09ac5b238c8619c94978bdc771653127d3a6264d

5 years agoUse type Language instead of string for $lang of doEditSectionLink
Fomafix [Wed, 30 May 2018 04:33:01 +0000 (06:33 +0200)]
Use type Language instead of string for $lang of doEditSectionLink

The call of wfGetLangObj( $lang ) is not necessary anymore.

Keep $lang as optional parameter to avoid the coding style check error
 Required argument follows optional

Depends-On: Ibe295e7020e995eea52e319feaf59c635f8bb4dc
Change-Id: Id49201957e716ef8a2ea930b3616ca4fe6e35633

5 years agoMake ChangeTag use NameTableStore for change_tag_def table
Amir Sarabadani [Thu, 14 Jun 2018 16:37:19 +0000 (18:37 +0200)]
Make ChangeTag use NameTableStore for change_tag_def table

Also adding a regression test to fix upsert AUTO_INCREMENT issue

Bug: T193868
Change-Id: I0363c93a824c41d12b33aedb05e92e1d9943c40d

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 17 Jun 2018 20:00:00 +0000 (22:00 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I98ff6cea4c6f300ddbe91e383d709e65da2fdcfd

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 16 Jun 2018 19:52:56 +0000 (21:52 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I9c4e0d3ae69eae41d25bf120e93954d93e127037

5 years agoMerge "Remove inadequate render-blocking styles for jquery.tablesorter"
jenkins-bot [Sat, 16 Jun 2018 17:44:06 +0000 (17:44 +0000)]
Merge "Remove inadequate render-blocking styles for jquery.tablesorter"

5 years agoMerge "Add maintenance to populate change_tag_def table and ct_tag_id field"
jenkins-bot [Sat, 16 Jun 2018 12:59:28 +0000 (12:59 +0000)]
Merge "Add maintenance to populate change_tag_def table and ct_tag_id field"

5 years agoMerge "Improve timeouts in MultiHttpClient"
jenkins-bot [Fri, 15 Jun 2018 23:28:12 +0000 (23:28 +0000)]
Merge "Improve timeouts in MultiHttpClient"

5 years agoMerge "stats: Hard-deprecate BufferingStatsdDataFactory::getBuffer()"
jenkins-bot [Fri, 15 Jun 2018 23:20:20 +0000 (23:20 +0000)]
Merge "stats: Hard-deprecate BufferingStatsdDataFactory::getBuffer()"

5 years agostats: Hard-deprecate BufferingStatsdDataFactory::getBuffer()
Timo Tijhof [Fri, 15 Jun 2018 22:15:26 +0000 (23:15 +0100)]
stats: Hard-deprecate BufferingStatsdDataFactory::getBuffer()

Follows-up 7fdc3d09a3b6. Also document the getData method.

This method seems unused from a quick glance at Code Search, but
there's a lot of false positives from Monolog instances.

To play safe, rather than removing, add hard-deprecation for
a few days just in case we find another hit.

Change-Id: I8aab93744e66c1a583c67f0bbac27a45250a8fbb

5 years agoMerge "mw.special.contributions: Do not infuse the date input while it has user focus"
jenkins-bot [Fri, 15 Jun 2018 22:12:30 +0000 (22:12 +0000)]
Merge "mw.special.contributions: Do not infuse the date input while it has user focus"

5 years agoMerge "resourceloader: move hook() and html() from mediawiki.js to base module"
jenkins-bot [Fri, 15 Jun 2018 21:09:57 +0000 (21:09 +0000)]
Merge "resourceloader: move hook() and html() from mediawiki.js to base module"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 15 Jun 2018 20:01:30 +0000 (22:01 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I8725e92d4f6aea313e6461a4c6ef5c76e87d86ed

5 years agoresourceloader: move hook() and html() from mediawiki.js to base module
Aaron Schulz [Thu, 7 Jun 2018 10:54:24 +0000 (03:54 -0700)]
resourceloader: move hook() and html() from mediawiki.js to base module

Bug: T192623
Change-Id: I9c2ff828b663fdc1b0345b72c6c45289d2e2a7cf

5 years agoAdd maintenance to populate change_tag_def table and ct_tag_id field
Amir Sarabadani [Tue, 5 Jun 2018 22:59:11 +0000 (00:59 +0200)]
Add maintenance to populate change_tag_def table and ct_tag_id field

Bug: T193871
Change-Id: I5e863ffcfad5f2b66fb8d50666494acae3480d1a

5 years agoMerge "resourceloader: qualify $ variable in script() call to handle the case of...
jenkins-bot [Fri, 15 Jun 2018 15:49:26 +0000 (15:49 +0000)]
Merge "resourceloader: qualify $ variable in script() call to handle the case of jQuery"

5 years agoMerge "Make LinkCache::invalidateTitle() use the instance WAN cache"
jenkins-bot [Fri, 15 Jun 2018 15:46:43 +0000 (15:46 +0000)]
Merge "Make LinkCache::invalidateTitle() use the instance WAN cache"

5 years agoresourceloader: qualify $ variable in script() call to handle the case of jQuery
Aaron Schulz [Fri, 8 Jun 2018 00:57:10 +0000 (17:57 -0700)]
resourceloader: qualify $ variable in script() call to handle the case of jQuery

Bug: T192623
Change-Id: Id3016dfdc32bff5b5437bf5961cde8d9f6047150

5 years agoMerge "Reduce frequency of refreshCounts() calls in LinksDeletionUpdate"
jenkins-bot [Fri, 15 Jun 2018 13:38:36 +0000 (13:38 +0000)]
Merge "Reduce frequency of refreshCounts() calls in LinksDeletionUpdate"

5 years agoBetter logging for reauth operations
Brian Wolff [Fri, 15 Jun 2018 07:29:49 +0000 (07:29 +0000)]
Better logging for reauth operations

Include username and IP address in log

Change-Id: I25c6d298e50876601ccd6a906eb7a7c65d2e8d87

5 years agoMerge "services: Update comment mentioning non-existent method"
jenkins-bot [Fri, 15 Jun 2018 12:38:32 +0000 (12:38 +0000)]
Merge "services: Update comment mentioning non-existent method"

5 years agoMerge "Update grunt and grunt-contrib-watch to resolve vulnerabilities"
jenkins-bot [Fri, 15 Jun 2018 12:38:29 +0000 (12:38 +0000)]
Merge "Update grunt and grunt-contrib-watch to resolve vulnerabilities"

5 years agoservices: Update comment mentioning non-existent method
Timo Tijhof [Fri, 15 Jun 2018 12:18:25 +0000 (13:18 +0100)]
services: Update comment mentioning non-existent method

Follows-up bca436db920.

Change-Id: I1e356d30912fa47799656ee8210a5fdd3d008edb

5 years agoUpdate grunt and grunt-contrib-watch to resolve vulnerabilities
Željko Filipin [Fri, 15 Jun 2018 11:46:46 +0000 (13:46 +0200)]
Update grunt and grunt-contrib-watch to resolve vulnerabilities

`npm audit` found 27 vulnerabilities (11 low, 12 moderate, 4 high).
`npm audit fix` fixed most of them.
There are 8 vulnerabilities remaining (2 low, 6 moderate).

Bug: T194280
Change-Id: I05d80bc38d16be8249a27d94dad8e13c65139545

5 years agoMerge "Move getFieldsToStore to own method in NameTableStore"
jenkins-bot [Fri, 15 Jun 2018 11:42:25 +0000 (11:42 +0000)]
Merge "Move getFieldsToStore to own method in NameTableStore"

5 years agoImprove timeouts in MultiHttpClient
Tim Starling [Fri, 15 Jun 2018 10:31:02 +0000 (20:31 +1000)]
Improve timeouts in MultiHttpClient

* PHP 7 only checks for request/connection timeout after the timeout
  passed to curl_multi_select() expires. So it's necessary to use a
  select timeout which is much shorter than 10s. I filed
  https://bugs.php.net/bug.php?id=76480 for this.
* Use millisecond resolution timeout parameters. These have been
  available since libcurl 7.16.2, released Jan 2008, available in
  Debian 7, Ubuntu 14.04 and CentOS 6.

Change-Id: Ia07b824dde179b33e14b81a76d580ce547bca315

5 years agoMerge "Ignore order of slot roles in test assertions"
jenkins-bot [Fri, 15 Jun 2018 10:47:45 +0000 (10:47 +0000)]
Merge "Ignore order of slot roles in test assertions"

5 years agoMerge "RCFilters: Make active filters area collapsible"
jenkins-bot [Fri, 15 Jun 2018 10:36:11 +0000 (10:36 +0000)]
Merge "RCFilters: Make active filters area collapsible"

5 years agoIgnore order of slot roles in test assertions
daniel [Fri, 15 Jun 2018 09:56:36 +0000 (11:56 +0200)]
Ignore order of slot roles in test assertions

Bug: T197271
Change-Id: I1448c3907157d4d79f69f5344e6069b4f8be43bc

5 years agoMerge "resourceloader: Un-deprecate ClientHtml::setModuleStyles()"
jenkins-bot [Fri, 15 Jun 2018 08:01:27 +0000 (08:01 +0000)]
Merge "resourceloader: Un-deprecate ClientHtml::setModuleStyles()"

5 years agoMove getFieldsToStore to own method in NameTableStore
addshore [Thu, 14 Jun 2018 07:36:42 +0000 (08:36 +0100)]
Move getFieldsToStore to own method in NameTableStore

In the future this opens up an easy posibility of subclassing
if this is made protected.

Change-Id: I640c9f12f52dbb3328523402d9223ee8c967adda

5 years agoMake LinkCache::invalidateTitle() use the instance WAN cache
Aaron Schulz [Fri, 15 Jun 2018 04:00:38 +0000 (21:00 -0700)]
Make LinkCache::invalidateTitle() use the instance WAN cache

Change-Id: Idefcee9b37dcb73b2f18351123b097f4ae68fa76

5 years agoMerge "services: Add linebreak between regular and spread parameter"
jenkins-bot [Fri, 15 Jun 2018 02:55:43 +0000 (02:55 +0000)]
Merge "services: Add linebreak between regular and spread parameter"

5 years agoMerge "Fix flaky MessageBlobStoreTest assertion failures"
jenkins-bot [Fri, 15 Jun 2018 00:11:14 +0000 (00:11 +0000)]
Merge "Fix flaky MessageBlobStoreTest assertion failures"

5 years agoMerge "Avoid deprecated LinkCache::singleton()"
jenkins-bot [Thu, 14 Jun 2018 23:48:54 +0000 (23:48 +0000)]
Merge "Avoid deprecated LinkCache::singleton()"

5 years agoMerge "DefaultSettings: fix "advanced example" for $wgPasswordConfig"
jenkins-bot [Thu, 14 Jun 2018 23:26:02 +0000 (23:26 +0000)]
Merge "DefaultSettings: fix "advanced example" for $wgPasswordConfig"

5 years agoservices: Add linebreak between regular and spread parameter
Timo Tijhof [Thu, 14 Jun 2018 23:22:52 +0000 (00:22 +0100)]
services: Add linebreak between regular and spread parameter

Follows-up 1e680456b4, which removed some array_merge/call_user_func
abstraction, but improved readability a lot, but the absence of a
line break makes it slightly less obvious how and what parameters
are being passed. It's usually either comma-separated segments on
the same line that as the open parenthesis, or one expression per
line.

Change-Id: Ic388cf41ed3ed60d9b47c04392242e40cdcb69b0

5 years agoDefaultSettings: fix "advanced example" for $wgPasswordConfig
Kevin Israel [Mon, 11 Jun 2018 01:45:29 +0000 (21:45 -0400)]
DefaultSettings: fix "advanced example" for $wgPasswordConfig

Follows-up 95a8974c6.

The version of EncryptedPassword that was merged doesn't use mcrypt, but
rather OpenSSL. Also, show one way of specifying the key, and remove the
"cost" option, which would instead need to be specified for the underlying
type ("bcrypt").

Change-Id: Idaaca765835656113c8f0f1e83cc7e5a2a922fa2

5 years agoUpdate OOjs to v2.2.2
James D. Forrester [Thu, 14 Jun 2018 22:55:50 +0000 (15:55 -0700)]
Update OOjs to v2.2.2

Release notes:
 https://gerrit.wikimedia.org/r/plugins/gitiles/oojs/core/+/v2.2.2/History.md

Change-Id: I9d442180d54b8778119d79fa07118f65e62adf78

5 years agohooks.txt: Use "array" in a sentence instead of `[]`
Timo Tijhof [Thu, 14 Jun 2018 22:33:27 +0000 (23:33 +0100)]
hooks.txt: Use "array" in a sentence instead of `[]`

Follows-up 49806d37, which accidentally replaced this "array()"
with "[]".

Change-Id: Ib61e377cc66523aae2df2d42f7b3af2e5bf6c841

5 years agoresourceloader: Un-deprecate ClientHtml::setModuleStyles()
Timo Tijhof [Thu, 14 Jun 2018 22:09:52 +0000 (23:09 +0100)]
resourceloader: Un-deprecate ClientHtml::setModuleStyles()

This follows 80e5b160e0985, which introduced ClientHtml::setModuleScripts()
and setModuleStyles() with @deprecated marks. There was a vague intention
to remove both at some point.

The commit did not deprecate the related methods in OutputPage and ParserOutput.

The plan that eventually formed at T188689 was to keep methods relating to
"setModuleStyles" for the time being, and focus first on the removal of the
methods relating to "setModuleScripts". The latter since been properly
marked as deprecated and removal is scheduled for 1.33.

There is no current plan to deprecate/remove addModuleStyles
from OutputPage and ParserOutput. As such, the internal helper method
that makes those possible, probably shouldn't me marked as deprecated.

Bug: T188689
Change-Id: Ia36c057b73fe834bcbb2e3e8993d1a793a12ab72

5 years agoMerge "resourceloader: move track() from mediawiki.js to the base module"
jenkins-bot [Thu, 14 Jun 2018 20:23:36 +0000 (20:23 +0000)]
Merge "resourceloader: move track() from mediawiki.js to the base module"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 14 Jun 2018 20:14:20 +0000 (22:14 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I693bcc8f16293b435b4b334d0c48e09671f73d36

5 years agoresourceloader: move track() from mediawiki.js to the base module
Aaron Schulz [Thu, 7 Jun 2018 06:23:07 +0000 (23:23 -0700)]
resourceloader: move track() from mediawiki.js to the base module

Handlers will not run until the base module is loaded. The track()
method in the loader is upgraded to fire the handlers once the base
module loads.

Refactor the exception logging bits to call logError more directly
instead of subscribing a logging handler to the event queue.

Bug: T192623
Change-Id: I2372bbf70a8775c7ce4c2c78c5edccf1195a9875

5 years agoMerge "maintenance: Update update-oojs.sh to use misc files from package"
jenkins-bot [Thu, 14 Jun 2018 19:36:02 +0000 (19:36 +0000)]
Merge "maintenance: Update update-oojs.sh to use misc files from package"

5 years agomaintenance: Update update-oojs.sh to use misc files from package
Timo Tijhof [Thu, 14 Jun 2018 17:23:33 +0000 (19:23 +0200)]
maintenance: Update update-oojs.sh to use misc files from package

These are already included in the package. Using them from the dist/
directory is somewhat against the way things are normally done in NPM,
given the repository itself already becomes the package.

If we were building a separate directory for a tarball, that
would make more sense, but that isn't the case.

Note: In verions prior to OOjs v2.2.1, all files were included in the package,
version v2.2.1 added the 'files' whitelist which included only dist/, LICENSE*,
README*, History* and package.json, which in particular means AUTHORS.txt
is missing. This was fixed in v2.2.2 on the same day. MediaWiki will upgrade
from v2.2.0 to v2.2.2 directly.

Change-Id: I4bd91811c754addac6c9826e91580eff47c7c5d6

5 years agojqueryMsg: Add missing '$' prefix to jQuery collection variables
Ed Sanders [Thu, 14 Jun 2018 18:41:29 +0000 (19:41 +0100)]
jqueryMsg: Add missing '$' prefix to jQuery collection variables

Change-Id: Ic39ca379c373e43d885f6ac9df746e25f744f9d9

5 years agoRCFilters: Make active filters area collapsible
Moriel Schottlender [Wed, 13 Jun 2018 01:57:48 +0000 (18:57 -0700)]
RCFilters: Make active filters area collapsible

Bug: T177206
Change-Id: I32547b71fe1b9d91fe42ea924f28fb1036781438

5 years agoMerge "Introduce argument for insert callback in NameTableStore"
jenkins-bot [Thu, 14 Jun 2018 16:06:00 +0000 (16:06 +0000)]
Merge "Introduce argument for insert callback in NameTableStore"

5 years agoIntroduce argument for insert callback in NameTableStore
Amir Sarabadani [Mon, 11 Jun 2018 10:52:31 +0000 (12:52 +0200)]
Introduce argument for insert callback in NameTableStore

This will be useful in cases we need to define more data
when inserting a new row

Bug: T193868
Change-Id: Ib5c2da2ef951e0bc782847ff8bd4606681ee2196

5 years agoMerge "MCR RevisionStore, multi content mode.."
jenkins-bot [Thu, 14 Jun 2018 15:50:26 +0000 (15:50 +0000)]
Merge "MCR RevisionStore, multi content mode.."

5 years agoMerge "Make LocalFile file locking calls use Status::wrap"
jenkins-bot [Thu, 14 Jun 2018 15:44:18 +0000 (15:44 +0000)]
Merge "Make LocalFile file locking calls use Status::wrap"

5 years agoMerge "EditPage::getContextTitle(): Deprecate falling back to $wgTitle"
jenkins-bot [Thu, 14 Jun 2018 15:39:38 +0000 (15:39 +0000)]
Merge "EditPage::getContextTitle(): Deprecate falling back to $wgTitle"

5 years agoMCR RevisionStore, multi content mode..
addshore [Tue, 17 Apr 2018 07:49:20 +0000 (08:49 +0100)]
MCR RevisionStore, multi content mode..

Bug: T174024
Change-Id: Ifabf39e12ba843eb754ad0c029b7d16a311047a5

5 years agoEditPage::getContextTitle(): Deprecate falling back to $wgTitle
James D. Forrester [Tue, 12 Jun 2018 17:44:44 +0000 (10:44 -0700)]
EditPage::getContextTitle(): Deprecate falling back to $wgTitle

Bug: T176526
Change-Id: I7b692def1695119291b26b2f2d25064af9e621f7

5 years agoMerge "Prepare newNullRevision for MCR."
jenkins-bot [Thu, 14 Jun 2018 15:23:11 +0000 (15:23 +0000)]
Merge "Prepare newNullRevision for MCR."

5 years agoMerge "Tests for preserving content ID and origin during undeletion"
jenkins-bot [Thu, 14 Jun 2018 15:23:09 +0000 (15:23 +0000)]
Merge "Tests for preserving content ID and origin during undeletion"

5 years agoPrepare newNullRevision for MCR.
daniel [Wed, 9 May 2018 10:06:51 +0000 (12:06 +0200)]
Prepare newNullRevision for MCR.

Bug: T174024
Change-Id: I8c607ed666295a5072c4fbfad1cf91d74d743abb

5 years agoMerge "rdbms: avoid redundant SPI logging fields in ChronologyProtector log entries"
jenkins-bot [Thu, 14 Jun 2018 14:54:53 +0000 (14:54 +0000)]
Merge "rdbms: avoid redundant SPI logging fields in ChronologyProtector log entries"

5 years agoMerge "[MCR] RevisionStore, enable insertions for new schema"
jenkins-bot [Thu, 14 Jun 2018 14:11:27 +0000 (14:11 +0000)]
Merge "[MCR] RevisionStore, enable insertions for new schema"

5 years agoMerge "Preferences: Allow only languages with translations in user options"
jenkins-bot [Thu, 14 Jun 2018 13:56:39 +0000 (13:56 +0000)]
Merge "Preferences: Allow only languages with translations in user options"

5 years agoMerge "Replace deprecated language codes in user options"
jenkins-bot [Thu, 14 Jun 2018 13:56:36 +0000 (13:56 +0000)]
Merge "Replace deprecated language codes in user options"

5 years agoTests for preserving content ID and origin during undeletion
daniel [Tue, 10 Apr 2018 15:31:33 +0000 (17:31 +0200)]
Tests for preserving content ID and origin during undeletion

Bug: T194015
Change-Id: I6d9a1390c7080d910d43097afb703d13cd500c1b

5 years ago[MCR] RevisionStore, enable insertions for new schema
addshore [Mon, 29 Jan 2018 15:54:02 +0000 (15:54 +0000)]
[MCR] RevisionStore, enable insertions for new schema

Enable inserts to the new MCR db schema in single slot mode only.

TODO:
 - RELEASE NOTES

Notes:
 - When in MIGRATION_WRITE_NEW or greater, deleting and then
 restoring a page will result in different data in the revision table.
 For example, if you delete a page that has text_ids present in the
 revision table and restore it, the text_ids will be blank after.
 - When in MIGRATION_WRITE_BOTH or greater the archive table will
 start to ar_content_model entries where previously it would have been
 given NULL. This is due to the old content schema having NULL in the db
 when the default content model is used, but the new schema will always
 have a value, taken from the content_models table

Note: If259b1e1c49ce was squashed into this change.

Bug: T183488
Bug: T174024
Change-Id: Ic2221da30c8f6ac2ba42720fcd568f2d0ed70534

5 years agoPreferences: Allow only languages with translations in user options
Fomafix [Sat, 24 Feb 2018 14:49:46 +0000 (15:49 +0100)]
Preferences: Allow only languages with translations in user options

This change allows only language codes with translations for the user
option 'language'. This restrict the selectable values in the
preferences and also prevents setting the user option via API.

With the URL parameter 'uselang' the user interface language can
still set to a language code without translation.

In the current situation this change will remove the following language
codes from the allowed values:
> print '* ' . implode( "\n* ", array_diff(
array_keys( Language::fetchLanguageNames( null, 'mw' ) ),
array_keys( Language::fetchLanguageNames( null, 'mwfile' ) )
) );
* aa
* als
* bat-smg
* be-x-old
* cho
* fiu-vro
* ho
* hz
* kj
* kr
* mh
* mus
* ng
* no
* rn
* roa-rup
* shi-latn
* shi-tfng
* simple
* tum
* uz-cyrl
* uz-latn
* zh-classical
* zh-min-nan
* zh-yue

The change I1dd6fb1f240ce3319b132d0f29f0622fba33e655 ensures that the
deprecated language codes get replaced by the new language codes. The
other untranslated language codes get replaced by the content language
codes when the user loads the preferences.

Bug: T118199
Change-Id: I1382996b031af3fe9f6e1568beeb6376dcbcd217

5 years agoReplace deprecated language codes in user options
Fomafix [Mon, 28 Mar 2016 08:22:43 +0000 (08:22 +0000)]
Replace deprecated language codes in user options

This change replaces deprecated language codes in the user options by
the new language codes when loading the user setting from database.

The database entry for the user gets updated with the new language code
when the user saves the preferences.

Bug: T131042
Change-Id: I1dd6fb1f240ce3319b132d0f29f0622fba33e655

5 years ago[MCR] Factor PageUpdater out of WikiPage
daniel [Sat, 27 Jan 2018 01:48:19 +0000 (17:48 -0800)]
[MCR] Factor PageUpdater out of WikiPage

This introduces PageUpdater to replace WikiPage::doEditContent,
and DerivedPageDataUpdater, to replace WikiPage::doEditUpdates
and WikiPage::prepareContentForEdit.

See docs/pageupdater.txt for a description of their
functionality.

MCR migration notes:

* The interface of PageUpdater is expected to
remain mostly stable after this patch. Code that has been using
WikiPage::doEditContent can be confidently migrated to using the
new mechanism for revision creation.

* This patch keeps the code inside PageUpdater largely aligned
with the old code in WikiPage, to make review easier to to avoid
mistakes. It is intended to be refactored further, moving
application logic into stateless services.

* DerivedPageDataUpdate is intended as a stepping stone for further
refactoring. Its behavior is designed to be compatible with
callback code that currently relies on
WikiPage::prepareContentForEdit. Much of the code that currently
lives in DerivedPageDataUpdate should be factored out into
services, all behavior relevant to calling code should be exposed
via narrow interfaces.

Bug: T174038
Bug: T196653
Change-Id: If610c68f4912e89af616cdcac1d35a1be3946afa

5 years agoMerge "Fix typo in method documentation"
jenkins-bot [Thu, 14 Jun 2018 11:44:06 +0000 (11:44 +0000)]
Merge "Fix typo in method documentation"

5 years agoMerge "Add @since tags to come MediaWikiTestCase methods"
jenkins-bot [Thu, 14 Jun 2018 09:03:07 +0000 (09:03 +0000)]
Merge "Add @since tags to come MediaWikiTestCase methods"

5 years agoFix typo in method documentation
Niklas Laxström [Thu, 14 Jun 2018 08:47:08 +0000 (10:47 +0200)]
Fix typo in method documentation

Change-Id: I891f9725acfac993966238abff255e59e9aee07a

5 years agoMerge "Suppress addCoreDBData() in tests overriding the revision schema."
jenkins-bot [Thu, 14 Jun 2018 07:56:10 +0000 (07:56 +0000)]
Merge "Suppress addCoreDBData() in tests overriding the revision schema."

5 years agoMerge "PHPSessionHandler: Suppress warnings in initialize()"
jenkins-bot [Thu, 14 Jun 2018 07:52:44 +0000 (07:52 +0000)]
Merge "PHPSessionHandler: Suppress warnings in initialize()"

5 years agoAdd @since tags to come MediaWikiTestCase methods
addshore [Thu, 14 Jun 2018 07:46:18 +0000 (08:46 +0100)]
Add @since tags to come MediaWikiTestCase methods

Follow up to:
 - I86e140ec981dfa4e904822b1600399c533f9e3d6 /
 e4b775acf113d021ce35f69a177d7444b8ed8412

Change-Id: Ib45f8ba30dfd382318dd87bc232a529c47c9a307

5 years agoMerge "selenium: add RecentChanges test to page spec"
jenkins-bot [Thu, 14 Jun 2018 07:43:59 +0000 (07:43 +0000)]
Merge "selenium: add RecentChanges test to page spec"

5 years agoMerge "Improve help text of forced password change"
jenkins-bot [Thu, 14 Jun 2018 07:42:13 +0000 (07:42 +0000)]
Merge "Improve help text of forced password change"

5 years agoSuppress addCoreDBData() in tests overriding the revision schema.
daniel [Tue, 12 Jun 2018 16:36:34 +0000 (18:36 +0200)]
Suppress addCoreDBData() in tests overriding the revision schema.

Some unit tests for the MCR schema migration change the DB schema
in the test setup. However, addCoreDBData() will not work with the
modified schema. Since these tests don't actually need addCoreDBData()
to do anything, they can simply override it to do nothing.

Without this change, tests for Ic2221da30c and Ifabf39e12ba843
fail with $wgMultiContentRevisionSchemaMigrationStage = MIGRATION_WRITE_BOTH.

Change-Id: I86e140ec981dfa4e904822b1600399c533f9e3d6

5 years agoMake LocalFile file locking calls use Status::wrap
Aaron Schulz [Wed, 13 Jun 2018 23:52:31 +0000 (16:52 -0700)]
Make LocalFile file locking calls use Status::wrap

This avoids the assumption that a wrapper was set in the FileBackend.

Change-Id: I4d41d63b00e41476d885f714d17d1ba62b63b6ec

5 years agordbms: disable ChronologyProtector if EmptyBagOStuff is used
Aaron Schulz [Thu, 14 Jun 2018 00:14:23 +0000 (17:14 -0700)]
rdbms: disable ChronologyProtector if EmptyBagOStuff is used

Bug: T197206
Change-Id: Ic07634224fac1ae72d1ba20176c028fdda5ba415

5 years agoImprove help text of forced password change
Gergő Tisza [Thu, 14 Jun 2018 06:36:14 +0000 (06:36 +0000)]
Improve help text of forced password change

"reset" sounds confusing; password reset normally means you get a new
random password via email. (This is mainly a problem in
resetpass-validity-soft, where the current wording might make one think
that the password will automatically reset if they skip the form now;
the patch changes the other resetpass-* messages as well for
consistency.)

Change-Id: I3a7129c941ff597741ebdaf0aea15ffdc91e0779

5 years agoMerge "Hard deprecate a trio of functions from Language.php"
jenkins-bot [Wed, 13 Jun 2018 23:36:51 +0000 (23:36 +0000)]
Merge "Hard deprecate a trio of functions from Language.php"

5 years agoMerge "Do not require titles on Special:ComparePages"
jenkins-bot [Wed, 13 Jun 2018 22:58:28 +0000 (22:58 +0000)]
Merge "Do not require titles on Special:ComparePages"

5 years agoMerge "Provide backwards compatibility for RevisionInsertComplete hook."
jenkins-bot [Wed, 13 Jun 2018 20:07:02 +0000 (20:07 +0000)]
Merge "Provide backwards compatibility for RevisionInsertComplete hook."

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 13 Jun 2018 20:02:55 +0000 (22:02 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I0c3b7f72cd71155ca6c5cd5fa1571fcb702508df

5 years agoProvide backwards compatibility for RevisionInsertComplete hook.
daniel [Wed, 13 Jun 2018 18:18:47 +0000 (20:18 +0200)]
Provide backwards compatibility for RevisionInsertComplete hook.

Call the RevisionInsertComplete from RevisionStore for now, so extensions
that still rely on this hook don't break when more code uses RevisionStore
instead of Revision.

This specifically avoid breaking EventBus and Translate when If610c68f491
is merged.

Change-Id: I3356c8250d7934e0089d4627fdebddf7983f194f

5 years agoHard deprecate a trio of functions from Language.php
C. Scott Ananian [Wed, 13 Jun 2018 17:48:02 +0000 (13:48 -0400)]
Hard deprecate a trio of functions from Language.php

These have been soft deprecated since 1.28; let's start the process of
actually removing them.

Change-Id: I33bb6f501e5df419683d06fb9e4516fddc03741b

5 years agoDeprecate Language::markNoConversion, which confuses readers
C. Scott Ananian [Fri, 8 Jun 2018 16:18:05 +0000 (12:18 -0400)]
Deprecate Language::markNoConversion, which confuses readers

Language::markNoConversion is used only within Parser.php and differs
from LanguageConverter::markNoConversion in that, contrary to its name
and its namesake, it only protects *things which look like URLs* from
language conversion.

This wasted several days of my time before I realized what was going on.
It's needless; just hoist the "looks like a URL" special casing inline
to the single place where that functionality is used.  (And I wonder
if the "looks like a URL" case is actually needed at all any more,
since most of those cases are probably free external links, which
go through a different code path, not bracketed external links.)

This is a clean-up to the clean-up that liangent performed in 2012
with e01adbfc0bd9f39adffc1f955ccc711e73818194.

Change-Id: I80479600f34170651732b032e8881855aa1204d8

5 years agoMerge "Move RELEASE-NOTES-1.31 into HISTORY"
jenkins-bot [Wed, 13 Jun 2018 16:36:58 +0000 (16:36 +0000)]
Merge "Move RELEASE-NOTES-1.31 into HISTORY"

5 years agoMerge "Update feedbacklink text"
jenkins-bot [Wed, 13 Jun 2018 16:34:04 +0000 (16:34 +0000)]
Merge "Update feedbacklink text"

5 years agoMerge "Expose sort orders from search engine in ApiQuerySearch"
jenkins-bot [Wed, 13 Jun 2018 16:29:36 +0000 (16:29 +0000)]
Merge "Expose sort orders from search engine in ApiQuerySearch"