lhc/web/wiklou.git
5 years agoMerge "Password: replace equals() with verify()"
jenkins-bot [Wed, 30 Jan 2019 23:04:08 +0000 (23:04 +0000)]
Merge "Password: replace equals() with verify()"

5 years agoMerge "Localisation updates from https://translatewiki.net."
jenkins-bot [Wed, 30 Jan 2019 20:54:55 +0000 (20:54 +0000)]
Merge "Localisation updates from https://translatewiki.net."

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 30 Jan 2019 20:53:36 +0000 (21:53 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: If0c6e253be60e3b6b0b36f1281936b4719cb1eeb

5 years agoRemove a few obscure "done" and "empty" comments
Thiemo Kreuz [Wed, 9 Jan 2019 16:15:21 +0000 (17:15 +0100)]
Remove a few obscure "done" and "empty" comments

These don't add any knowledge to what is already obvious from the
code, I find.

Change-Id: Ia613b6a059f78dbeefdfd020899bd1a6e239a731

5 years agoRemove some exemptions that are no longer needed
Kunal Mehta [Wed, 30 Jan 2019 05:49:15 +0000 (21:49 -0800)]
Remove some exemptions that are no longer needed

Manually identified, it's possible that there are more.

Change-Id: Ifda5ecdb12915f4005161f1f98eae5f1162fbee1

5 years agoRequire ClassMatchesFilename sniff to pass for most of tests/
Kunal Mehta [Wed, 30 Jan 2019 05:47:05 +0000 (21:47 -0800)]
Require ClassMatchesFilename sniff to pass for most of tests/

phpunit-patch-coverage assumes that the filename matches the classname
as a performance optimization. And for most test cases, this is true. We
should enforce this with PHPCS, mostly to help developers not make
mistakes.

Test cases that have mock classes will need to ensure that the test case
class that matches the filename comes first, since that's the only class
the sniff will look at.

Tests in GlobalFunctions/ and maintenance/ are still exempted for now,
since they don't match yet.

Change-Id: Iede341504290f5ba2da1c81908069ba9d465600f

5 years agoRename FirejailCommandIntegrationTest to match class name
Kunal Mehta [Wed, 30 Jan 2019 07:56:46 +0000 (23:56 -0800)]
Rename FirejailCommandIntegrationTest to match class name

Change-Id: I581c0d95c38e6d22ab19d68e58e2f48c98b2379b

5 years agoRename UncategorizedCategoriesPageTest to match class name
Kunal Mehta [Wed, 30 Jan 2019 05:35:52 +0000 (21:35 -0800)]
Rename UncategorizedCategoriesPageTest to match class name

Change-Id: Iedf32a15e0a8cb79a2823ccffa3b486a38fb1dc6

5 years agoRename tests/phpunit/includes/media files to match class names
Kunal Mehta [Wed, 30 Jan 2019 05:35:11 +0000 (21:35 -0800)]
Rename tests/phpunit/includes/media files to match class names

The classes were renamed in 9bf39163, this updates the test cases to
match. Also take care of XCF while we're at it too.

Change-Id: Iaaeee93e496af6cdd610df5bc75302ecfe273f64

5 years agoUse TestingAccessWrapper in FormOptionsInitializationTest
Kunal Mehta [Wed, 30 Jan 2019 05:33:42 +0000 (21:33 -0800)]
Use TestingAccessWrapper in FormOptionsInitializationTest

Avoids the need for an extra wrapper class just to make a property
public.

Change-Id: I08ae2fb24604a2bde352525abdcadf6251045f5b

5 years agoinstaller: Suggest using 127.0.0.1 in the db not found error message
Brian Wolff [Sat, 7 Jul 2018 15:36:10 +0000 (15:36 +0000)]
installer: Suggest using 127.0.0.1 in the db not found error message

Its a really common error people have where they specify
localhost, not realizing that mysql does socket magic for that
value, and they need to specify 127.0.0.1 instead.

Also remove windows specific language in the help text.
Although more of an issue on windows, it is not unheard of
to happen on linux if the mysql socket is not configured.

Change-Id: Ie8199ab50d37dc2bc43dfafe2e5ef7812e9d832c

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 28 Jan 2019 21:03:28 +0000 (22:03 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I55f7b5a4c28e9756e5432573a67a179aed70fa4c

5 years agoAdd Namespace Restrictions to Special:BlockList
David Barratt [Fri, 23 Nov 2018 05:08:27 +0000 (00:08 -0500)]
Add Namespace Restrictions to Special:BlockList

The editing restrictions will be split by type and add a heading for each type.
The namespace will be linked to Special:AllPages with the namespace set so the
user can see what pages the user is blocked from.

Bug: T204990
Change-Id: Idb1de20c1a780562b072ea350e5ba7dd1518d177

5 years agoMerge "Fix typo in tests/phpunit/includes/Revision/MainSlotRoleHandlerTest.php"
jenkins-bot [Mon, 28 Jan 2019 16:39:17 +0000 (16:39 +0000)]
Merge "Fix typo in tests/phpunit/includes/Revision/MainSlotRoleHandlerTest.php"

5 years agoFix typo in tests/phpunit/includes/Revision/MainSlotRoleHandlerTest.php
zoranzoki21 [Sat, 26 Jan 2019 19:41:31 +0000 (20:41 +0100)]
Fix typo in tests/phpunit/includes/Revision/MainSlotRoleHandlerTest.php

Bug: T201491
Depends-On: I47530e01d8061d6826deaf0b9111d77a0b269d0a
Change-Id: Iaf1abd06cd35444cf4c6c4edef65f973089579c1

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 26 Jan 2019 20:54:16 +0000 (21:54 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia1d66a4d2b2aa5fb06b85b15c89cdc941dea363d

5 years agoAdd missing dependency on 'mediawiki.storage'
Fomafix [Sat, 26 Jan 2019 10:45:39 +0000 (11:45 +0100)]
Add missing dependency on 'mediawiki.storage'

mediawiki.special.preferences.ooui/tabs.js uses mw.storage from module
'mediawiki.storage'.

Change-Id: Ia0d02a9445449645ce1054b4eb9c935f51e374c0

5 years agoMerge "Add namespace restrictions to block's log messages"
jenkins-bot [Fri, 25 Jan 2019 21:33:16 +0000 (21:33 +0000)]
Merge "Add namespace restrictions to block's log messages"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 25 Jan 2019 21:08:04 +0000 (22:08 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I371f47ad51f9cce54686e9e7dad8e186274c8962

5 years agoAdd namespace restrictions to block's log messages
Dayllan Maza [Fri, 25 Jan 2019 04:45:11 +0000 (23:45 -0500)]
Add namespace restrictions to block's log messages

Currently, there are 3 block messages: sitewide, partial with restrictions, and
non-editing partial blocks. This will add namespace restrictions to the
partial editing blocks message type.

Bug: T204985
Change-Id: Ic17d5459e67c267fdee1fb2513d67428148ac85d

5 years agoMerge "wdio-mediawiki: Release 0.3.0"
jenkins-bot [Fri, 25 Jan 2019 19:07:33 +0000 (19:07 +0000)]
Merge "wdio-mediawiki: Release 0.3.0"

5 years agowdio-mediawiki: Release 0.3.0
addshore [Wed, 16 Jan 2019 09:06:54 +0000 (09:06 +0000)]
wdio-mediawiki: Release 0.3.0

Bug: T211038
Change-Id: I5036034be75a39d21234987e78edb927d6a9e7a4

5 years agoMerge "Add block and unblock commands to WDIO"
jenkins-bot [Fri, 25 Jan 2019 09:58:45 +0000 (09:58 +0000)]
Merge "Add block and unblock commands to WDIO"

5 years agoMerge "Don't check anon permissions for maint scripts in autoCreateUser()"
jenkins-bot [Fri, 25 Jan 2019 02:22:32 +0000 (02:22 +0000)]
Merge "Don't check anon permissions for maint scripts in autoCreateUser()"

5 years agoDon't check anon permissions for maint scripts in autoCreateUser()
James Montalvo [Wed, 23 Jan 2019 20:14:37 +0000 (14:14 -0600)]
Don't check anon permissions for maint scripts in autoCreateUser()

AuthManager::autoCreateUser() causes createAndPromote.php to give error
"Automatic account creation is not allowed." when
$wgGroupPermissions['*']['createaccount']=false is set. Anonymous user
checks should be skipped for maintenance scripts.

Change-Id: Ib61889a758e542abe991707d8b7853a25cfed8e9

5 years agohttp: Support callback functions in GuzzleHttpRequest
Bill Pirkle [Wed, 2 Jan 2019 22:16:44 +0000 (16:16 -0600)]
http: Support callback functions in GuzzleHttpRequest

Provide backward compatibility for callback functions in
GuzzleHttpRequest, which was missing in T202110, and restore
GuzzleHttpRequest as the default provided by HttpRequestFactory.

Bug: T212175
Depends-On: I4b45e79d35252d13f714f3271b87301ca515121a
Change-Id: I60d1a034b44874f6d24a04058db264eeb565f5e1

5 years agoPassword: replace equals() with verify()
Max Semenik [Thu, 24 Jan 2019 02:51:21 +0000 (18:51 -0800)]
Password: replace equals() with verify()

So far, our key derivation code assumed that it has control over
the salt used by the derivation routines, however I want to add Argon2
support and it doesn't work this way: password_hash() generates the
salt itself, and the only way to verify a password is by using
password_verify(). Current way the things are done doesn't support it
because it relies on the result of password hashing with parameters we
provide to be deterministic.

Therefore, I'm deprecating Password::equals(), as well as whole concept
of comparing Password objects - it's used only in tests anyway. It's
getting replaced with verify() that only accepts password strings.
Uses of old function are fixed with exception of a few calls in tests
that will be addressed in my Argon2 patch.

Change-Id: I2b2be9a422ee0f773490eac316ad81505c3f8571

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 24 Jan 2019 21:16:57 +0000 (22:16 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia3e8a3a29198b7032e95618445aa53ab72f65cf0

5 years agoMerge "Add missing `@return` PHPDoc to __sleep() function"
jenkins-bot [Thu, 24 Jan 2019 20:40:31 +0000 (20:40 +0000)]
Merge "Add missing `@return` PHPDoc to __sleep() function"

5 years agoMerge "Clone the Title object to prevent mutations."
jenkins-bot [Thu, 24 Jan 2019 20:24:01 +0000 (20:24 +0000)]
Merge "Clone the Title object to prevent mutations."

5 years agoAdd missing `@return` PHPDoc to __sleep() function
Derick Alangi [Thu, 24 Jan 2019 20:17:47 +0000 (21:17 +0100)]
Add missing `@return` PHPDoc to __sleep() function

Change-Id: I97547938041264440af621694f08a067f1d0791f

5 years agoMerge "HTMLForm OOUI: Reduce distance between flatlist label and widgets"
jenkins-bot [Thu, 24 Jan 2019 18:51:00 +0000 (18:51 +0000)]
Merge "HTMLForm OOUI: Reduce distance between flatlist label and widgets"

5 years agoMerge "Document Uri.js constructor and methods throwing Errors"
jenkins-bot [Thu, 24 Jan 2019 13:27:43 +0000 (13:27 +0000)]
Merge "Document Uri.js constructor and methods throwing Errors"

5 years agoMerge "MIME: Re-classify DjVu files as OFFICE, like PDFs, and not as BITMAP"
jenkins-bot [Thu, 24 Jan 2019 11:11:19 +0000 (11:11 +0000)]
Merge "MIME: Re-classify DjVu files as OFFICE, like PDFs, and not as BITMAP"

5 years agoMerge "Make sure database update succeeds from older database versions too."
jenkins-bot [Thu, 24 Jan 2019 08:57:33 +0000 (08:57 +0000)]
Merge "Make sure database update succeeds from older database versions too."

5 years agoDocument Uri.js constructor and methods throwing Errors
Thiemo Kreuz [Wed, 23 Jan 2019 21:01:07 +0000 (22:01 +0100)]
Document Uri.js constructor and methods throwing Errors

I, personally, think the fact an empty `new Uri()` call can fail with
an Error being thrown is a bug. But it seems others think this is a
feature (see Ib4dc568). Can we at least document it then? And then
somehow (not sure how) tell everybody who ever used this class to fix
their code?

Change-Id: I86ef1ccf90f9be9c61bc6a8312369ae09d622b0c

5 years agoSpecial:AllMessages: Visually hide repeating text
Volker E [Tue, 8 Jan 2019 02:13:33 +0000 (18:13 -0800)]
Special:AllMessages: Visually hide repeating text

Leaving it in for better screen reader navigation though.
Also, in order for this to use 'mediawiki.mixins' renaming special
stylesheet from CSS to LESS.

Bug: T209253
Change-Id: I40ac43d0a4a379a71ce78f2bd1f62b828170f4d8

5 years agoHTMLForm OOUI: Reduce distance between flatlist label and widgets
Volker E [Thu, 24 Jan 2019 02:12:08 +0000 (18:12 -0800)]
HTMLForm OOUI: Reduce distance between flatlist label and widgets

With `.oo-ui-fieldLayout-header` set to `padding-bottom: 0;` label
is visually appearing equally to other “normal” label and widget
combinations.

Change-Id: I1efa11301b631304ef1d9cc7613fc139e84fa9c0

5 years agoMerge "Add tests to ensure that NamespaceRestrictions are returned from Block APIs."
jenkins-bot [Thu, 24 Jan 2019 00:22:44 +0000 (00:22 +0000)]
Merge "Add tests to ensure that NamespaceRestrictions are returned from Block APIs."

5 years agoClone the Title object to prevent mutations.
David Barratt [Wed, 23 Jan 2019 22:53:56 +0000 (17:53 -0500)]
Clone the Title object to prevent mutations.

The Title object that is loaded from master gets reloaded from the replicas
and mutates the original object. When pages are moved, the Title no longer
exists on master, but still exists on the replicas. Cloning the object allows
the item to be loaded from the replicas, without mutating the original Title.

Bug: T210739
Change-Id: I9ad973e9a609124749909605f37bc1e1fc549585

5 years agoMerge "Fix typo in apierror message"
jenkins-bot [Wed, 23 Jan 2019 21:41:08 +0000 (21:41 +0000)]
Merge "Fix typo in apierror message"

5 years agoAdd tests to ensure that NamespaceRestrictions are returned from Block APIs.
David Barratt [Thu, 15 Nov 2018 22:32:09 +0000 (17:32 -0500)]
Add tests to ensure that NamespaceRestrictions are returned from Block APIs.

Bug: T204989
Change-Id: Ibe44da41e9efa6688615dc9b0712f9713d4e8158

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 23 Jan 2019 21:05:11 +0000 (22:05 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I19182d49545679c7e86a71009616f23ba335efa5

5 years agoMerge "RELEASE-NOTES: Note upgrade of OOUI (to be updated as we go)"
jenkins-bot [Wed, 23 Jan 2019 20:48:58 +0000 (20:48 +0000)]
Merge "RELEASE-NOTES: Note upgrade of OOUI (to be updated as we go)"

5 years agoMerge "Fix Title::getFragmentForURL for bad interwiki prefix."
jenkins-bot [Wed, 23 Jan 2019 20:02:52 +0000 (20:02 +0000)]
Merge "Fix Title::getFragmentForURL for bad interwiki prefix."

5 years agoRELEASE-NOTES: Note upgrade of OOUI (to be updated as we go)
James D. Forrester [Wed, 23 Jan 2019 19:28:44 +0000 (11:28 -0800)]
RELEASE-NOTES: Note upgrade of OOUI (to be updated as we go)

Follows-up Ibb166a30ad; let's start doing this regularly now.

Change-Id: I9dd092aed1da5d4d89cdb586fe27491142f20b4b

5 years agoUpdate OOUI to v0.30.2
Volker E [Wed, 23 Jan 2019 18:51:25 +0000 (10:51 -0800)]
Update OOUI to v0.30.2

Release notes:
 https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.30.2

Bug: T198231
Bug: T210862
Bug: T212806
Bug: T213137
Bug: T213199
Bug: T213507
Bug: T213517
Bug: T213544
Bug: T213574
Depends-On: Ic2163347ed522199ba3a9dbd5cb45b32e138cb5d
Change-Id: Ibb166a30adfa87225fec3e256450db55b71e0f14

5 years agoMerge "Add namespace restrictions to Special:Block and API"
jenkins-bot [Wed, 23 Jan 2019 17:04:55 +0000 (17:04 +0000)]
Merge "Add namespace restrictions to Special:Block and API"

5 years agoMerge "Introduce multiselect widgets for namespaces"
jenkins-bot [Wed, 23 Jan 2019 17:02:41 +0000 (17:02 +0000)]
Merge "Introduce multiselect widgets for namespaces"

5 years agoMerge "Add NamespaceRestriction class so that BlockRestriction can handle namespaces."
jenkins-bot [Wed, 23 Jan 2019 12:39:55 +0000 (12:39 +0000)]
Merge "Add NamespaceRestriction class so that BlockRestriction can handle namespaces."

5 years agoFix Title::getFragmentForURL for bad interwiki prefix.
daniel [Wed, 23 Jan 2019 10:17:21 +0000 (11:17 +0100)]
Fix Title::getFragmentForURL for bad interwiki prefix.

Calling Title::getLinkURL or any other method that relies on
getFragmentForURL on a title with an unknown interwiki prefix
was triggering a fatal error. With this patch, that situation is
handled more gracefully.

Bug: T204800
Change-Id: I665cd5e983a80c15c68c89541d9c856082c460bb

5 years agobuild: Remove newer HHVM versions we'll never support
Timo Tijhof [Wed, 23 Jan 2019 03:22:28 +0000 (19:22 -0800)]
build: Remove newer HHVM versions we'll never support

Been failing for months. The believe that, defacto, the only version
we support is HHVM 3.18. Interestingly, that build is failing too,
possibly due to configuration differences between WMF and Travis.
I'll keep it for now, in case wants to try and make it pass.

Change-Id: Id2fd32db14686cba1f65f9aa015e2b7f9275f00c

5 years agoMerge "Datatable: Unify `padding` with `.wikitable`"
jenkins-bot [Wed, 23 Jan 2019 04:28:02 +0000 (04:28 +0000)]
Merge "Datatable: Unify `padding` with `.wikitable`"

5 years agoMerge "Datatable: Apply `padding` only on `th` & `td` elements"
jenkins-bot [Wed, 23 Jan 2019 04:18:29 +0000 (04:18 +0000)]
Merge "Datatable: Apply `padding` only on `th` & `td` elements"

5 years agoDatatable: Unify `padding` with `.wikitable`
Volker E [Sat, 19 Jan 2019 00:52:15 +0000 (16:52 -0800)]
Datatable: Unify `padding` with `.wikitable`

Unifying `padding` with `.wikitable`.

Bug: T214208
Change-Id: Ic04b647d2fa90ee0002a4d5b4597e271ea543194

5 years agoDatatable: Apply `padding` only on `th` & `td` elements
Volker E [Fri, 18 Jan 2019 23:35:24 +0000 (15:35 -0800)]
Datatable: Apply `padding` only on `th` & `td` elements

Applying it on `table` as well results in issues when wanting
to override `border-radius` together with `border-collapse`.
It's not needed in a well-formed table as every child element would
need to reside within a `th` or `td` anyways.
Also the only other content carrying element `caption` doesn't receive
table's `padding` by default.

Change-Id: I5e8c9d47fab806b56e6d03f1611ddbf6d4ea8924

5 years agoMerge "Better detection for old MS Office files"
jenkins-bot [Wed, 23 Jan 2019 01:01:43 +0000 (01:01 +0000)]
Merge "Better detection for old MS Office files"

5 years agoBetter detection for old MS Office files
Tim Starling [Tue, 15 Jan 2019 03:15:18 +0000 (14:15 +1100)]
Better detection for old MS Office files

* Introduce MSCompoundFileReader, which reads the CFB directory and
  detects the file type from well-known names in the root directory
* Do not detect a ZIP file if the EOCDR is not at the end. Other
  containers, especially CFB files, may contain ZIP files embedded
  within them in the last 64KB, but this is not a security concern
  unless the EOCDR is exactly at the end of the file.

Bug: T40432
Change-Id: Id5b1a258ccf3c3c8951e32f6b7a5b1bafe941082

5 years agoMerge "Remove deprecated module alias "jquery.byteLimit""
jenkins-bot [Tue, 22 Jan 2019 21:56:57 +0000 (21:56 +0000)]
Merge "Remove deprecated module alias "jquery.byteLimit""

5 years agoMerge "mediawiki.api: Remove deprecated module aliases"
jenkins-bot [Tue, 22 Jan 2019 21:56:51 +0000 (21:56 +0000)]
Merge "mediawiki.api: Remove deprecated module aliases"

5 years agoFix typo in apierror message
Ammarpad [Tue, 22 Jan 2019 09:44:41 +0000 (09:44 +0000)]
Fix typo in apierror message

Replace "conjuction" with "conjunction" in Apierror-redirect-appendonly/en message

Bug: T201491
Change-Id: Ia121deecf256888736a9a4de18967f85f063d153

5 years agoMerge "Localisation updates from https://translatewiki.net."
jenkins-bot [Tue, 22 Jan 2019 20:54:56 +0000 (20:54 +0000)]
Merge "Localisation updates from https://translatewiki.net."

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 22 Jan 2019 20:53:23 +0000 (21:53 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia9ecbc8465dd445aa109916f2e8dda5161ed2ebd

5 years agoMerge "Fix more jquery event shorthand usages"
jenkins-bot [Tue, 22 Jan 2019 20:50:52 +0000 (20:50 +0000)]
Merge "Fix more jquery event shorthand usages"

5 years agoMerge "rdbms: Remove references to pg_attrdef.adsrc in Postgres code"
jenkins-bot [Tue, 22 Jan 2019 19:52:58 +0000 (19:52 +0000)]
Merge "rdbms: Remove references to pg_attrdef.adsrc in Postgres code"

5 years agoMerge "Convert RandomImageGenerator to use the new execution framework"
jenkins-bot [Tue, 22 Jan 2019 19:33:49 +0000 (19:33 +0000)]
Merge "Convert RandomImageGenerator to use the new execution framework"

5 years agordbms: Remove references to pg_attrdef.adsrc in Postgres code
Jeff Janes [Thu, 17 Jan 2019 23:41:51 +0000 (18:41 -0500)]
rdbms: Remove references to pg_attrdef.adsrc in Postgres code

PostgreSQL v12 will remove the long-deprecated column
pg_attrdef.adsrc.  The supported way to introspect into column
default values is pg_get_expr(adbin, adrelid), which works
back through all versions of PostgreSQL supported by wikimedia.

Changing to the supported method will allow the upcoming v12 of the
database to be used while maintaining compatibility with older
versions, without needing to write version-specific code.

This patch has been tested with maintenance/update.php and
with phpunit in PostgreSQL versions 9.2, 11, and 12dev.  It does
not harm the first two, and fixes errors that would otherwise
arise in the dev version.  All unit tests which pass under version
11 now pass under 12dev as well.

Change-Id: I874d347fd286b26773113d4f0c6c30d9a4055ad3

5 years agoMerge "build: Remove unused 'deepmerge' package"
jenkins-bot [Tue, 22 Jan 2019 18:27:42 +0000 (18:27 +0000)]
Merge "build: Remove unused 'deepmerge' package"

5 years agoAdd block and unblock commands to WDIO
Thomas Arrow [Fri, 11 Jan 2019 17:36:12 +0000 (17:36 +0000)]
Add block and unblock commands to WDIO

Defaults to expiry time of never to mirror API default

This leaves it up to individual test suite to assert that the user
they use is in the right blocked/unblocked state

Bug: T211038
Change-Id: Icf94458eb9c9a1fa25e5ef9291d9fc2c54a5567c

5 years agoAdd namespace restrictions to Special:Block and API
Thalia [Fri, 14 Dec 2018 21:08:40 +0000 (21:08 +0000)]
Add namespace restrictions to Special:Block and API

This adds a UI for blocking namespaces to Special:Block
and a namespacerestrictions parameter to the block API.

The number of namespace restrictions in a single block
is not limited as page restrictions are.

The checkbox allowing the blocker to specify whether
the target can edit their own user page is normally
disabled for a partial block, but is re-enabled if
the block is to the user talk namespace.

If the config $wgBlockAllowsUTEdit is set to false, the
checkbox will not appear, and the target will not be
able to edit their own user talk page if they are
sitewide-blocked, namespace-blocked from the user talk
namespace, or page-blocked from their user talk page.

Bug: T204986
Change-Id: I9e231ad109d7285486ec332b26780339592b8df7

5 years agoIntroduce multiselect widgets for namespaces
Thalia [Fri, 14 Dec 2018 17:55:01 +0000 (17:55 +0000)]
Introduce multiselect widgets for namespaces

Bug: T204986
Change-Id: Ie3916e2322d8b1a7effe9ba4604b596b568004e6

5 years agoMerge "tests: Remove use of $IP and MediaWikiTestCase in libs/composer tests"
jenkins-bot [Tue, 22 Jan 2019 08:27:05 +0000 (08:27 +0000)]
Merge "tests: Remove use of $IP and MediaWikiTestCase in libs/composer tests"

5 years agotests: Remove use of $IP and MediaWikiTestCase in libs/composer tests
Timo Tijhof [Tue, 22 Jan 2019 04:17:54 +0000 (20:17 -0800)]
tests: Remove use of $IP and MediaWikiTestCase in libs/composer tests

Reference the fixture files relatively instead of absolutely,
this is done for most other references to data files as well
I believe.

Use plain arrayEquals(), which seems to suffice here. In PHP 7 at
least, regular == doesn't require the declaration order of the
keys to be the same in order to evaluate to true.

Change-Id: Iddc874ec811f5c960e13d480d70bcb20334cfa1e

5 years agoHard-deprecate wfArrayFilter() and wfArrayFilterByKey()
Max Semenik [Tue, 22 Jan 2019 07:04:01 +0000 (23:04 -0800)]
Hard-deprecate wfArrayFilter() and wfArrayFilterByKey()

Deprecated in 1.32, no callers.

Change-Id: Id6147cff1336cc39863c985023933ce9c6afca31

5 years agoConvert RandomImageGenerator to use the new execution framework
Max Semenik [Tue, 14 Nov 2017 04:11:53 +0000 (20:11 -0800)]
Convert RandomImageGenerator to use the new execution framework

Introduces a stringifier for Command, useful for debugging.

Change-Id: Ifcfccaef5a609e0cf30186e39a6bd0fa971c2dbd

5 years agoMerge "htmlform: Move HTMLSelectLanguageField into includes/htmlform/fields"
jenkins-bot [Tue, 22 Jan 2019 05:12:14 +0000 (05:12 +0000)]
Merge "htmlform: Move HTMLSelectLanguageField into includes/htmlform/fields"

5 years agohtmlform: Move HTMLSelectLanguageField into includes/htmlform/fields
SamanthaNguyen [Tue, 22 Jan 2019 03:35:32 +0000 (21:35 -0600)]
htmlform: Move HTMLSelectLanguageField into includes/htmlform/fields

This was originally directly under includes/htmlform. This is
a specific type of field, so it should go here instead.

Follows-up d0c31ac988888764.

Change-Id: Iac196068ce2cbca063948bc78d21913482717d9a

5 years agoregistration: Fix typo in schemas
Bartosz Dziewoński [Tue, 22 Jan 2019 02:09:13 +0000 (03:09 +0100)]
registration: Fix typo in schemas

Change-Id: I8d39290904593c1ef962be2995a536028d0635bc

5 years agoMerge "Remove unnecessary placeholders from RELEASE-NOTES"
jenkins-bot [Tue, 22 Jan 2019 01:05:33 +0000 (01:05 +0000)]
Merge "Remove unnecessary placeholders from RELEASE-NOTES"

5 years agoMerge "Replace deprecated `setIconTitle` with `setTitle`"
jenkins-bot [Tue, 22 Jan 2019 00:19:38 +0000 (00:19 +0000)]
Merge "Replace deprecated `setIconTitle` with `setTitle`"

5 years agoMerge "RELEASE-NOTES: Add note for jquery.async deprecation"
jenkins-bot [Tue, 22 Jan 2019 00:19:33 +0000 (00:19 +0000)]
Merge "RELEASE-NOTES: Add note for jquery.async deprecation"

5 years agoMerge "Return to LESS multiple value escape mechanism to prevent invalid output"
jenkins-bot [Tue, 22 Jan 2019 00:09:47 +0000 (00:09 +0000)]
Merge "Return to LESS multiple value escape mechanism to prevent invalid output"

5 years agoRemove unnecessary placeholders from RELEASE-NOTES
Bartosz Dziewoński [Tue, 22 Jan 2019 00:03:18 +0000 (01:03 +0100)]
Remove unnecessary placeholders from RELEASE-NOTES

Change-Id: Ic30da7d03b0d34774e7d24d8b0616b6c6f66ae40

5 years agoRELEASE-NOTES: Add note for jquery.async deprecation
James D. Forrester [Tue, 15 Jan 2019 00:25:33 +0000 (16:25 -0800)]
RELEASE-NOTES: Add note for jquery.async deprecation

Change-Id: I245fd9141f1b3040bed031ede7cb4327d900f5af

5 years agoReturn to LESS multiple value escape mechanism to prevent invalid output
Volker E [Thu, 17 Jan 2019 07:14:51 +0000 (23:14 -0800)]
Return to LESS multiple value escape mechanism to prevent invalid output

LESS doesn't accept JS evaluation in PHP via `'@{arguments}'.replace`,
therefore we need to go back to manual escaping multiple comma separated
values.

Change-Id: I4c46afc012d804350ccee2cd5b1eed4e6ea61d8a

5 years agobuild: Remove unused 'deepmerge' package
Timo Tijhof [Mon, 21 Jan 2019 23:13:42 +0000 (15:13 -0800)]
build: Remove unused 'deepmerge' package

Was added for wdio-related code, but not used in the end.
The only reference to this module anywhere in Wikimedia Git is
mediawiki/extensions/CirrusSearch, which doesn't use it for
its regular or daily tests, but rather the integration test,
which already has its own copy of this module in package.json.

Change-Id: Ifdf4362077f4684a2866363e35d0aca2f89f48b5

5 years agoMerge "WebInstallerOutput: Add getLanguage()"
jenkins-bot [Mon, 21 Jan 2019 22:45:19 +0000 (22:45 +0000)]
Merge "WebInstallerOutput: Add getLanguage()"

5 years agoAdd NamespaceRestriction class so that BlockRestriction can handle namespaces.
David Barratt [Tue, 30 Oct 2018 18:19:22 +0000 (14:19 -0400)]
Add NamespaceRestriction class so that BlockRestriction can handle namespaces.

This begins work on making namespaces a valid restriction type. The CRUD
operations of BlockRestriction can now handle namespaces. Since
NamespaceRestriction implements Restriction, enforcement should start working
immediately, but testing enforcement will come in a subsequent patch since it's
impossible to create them.

Bug: T204991
Change-Id: I7264b452d9ad788c146d6ea25d01d4d7cb5ac4f6

5 years agoDocument header case in MWHttpRequest
Lucas Werkmeister [Mon, 21 Jan 2019 11:46:36 +0000 (12:46 +0100)]
Document header case in MWHttpRequest

The lack of this documentation resulted in some confusion in T214032 and
related tasks.

Change-Id: I08fc201b625197614ef5e163ed3686638b630b13

5 years agoRemove deprecated module alias "jquery.byteLimit"
Timo Tijhof [Sat, 19 Jan 2019 02:55:03 +0000 (18:55 -0800)]
Remove deprecated module alias "jquery.byteLimit"

Follows-up 777336288bc8 (MW 1.31).

Bug: T202154
Depends-On: I91b88601334f72e9d7e897853d0e075c86928c60
Change-Id: Ief22737b9f64cec4f0cc7b25e79e385f2e9eb2b1

5 years agomediawiki.api: Remove deprecated module aliases
Timo Tijhof [Fri, 18 Jan 2019 06:31:33 +0000 (22:31 -0800)]
mediawiki.api: Remove deprecated module aliases

Bug: T202154
Bug: T196802
Depends-On: If1bd7521563b8574d12d45988737e0e838337f8a
Change-Id: Ic7020e43747774bfdad2e63263ee8caadc5d2f45

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 20 Jan 2019 21:04:06 +0000 (22:04 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I74147fe057b8b4c35deba3146787d4e7082d3656

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 19 Jan 2019 20:53:48 +0000 (21:53 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I9718a0adfc58858c00092a962f7d592cdc6f55db

5 years agoWebInstallerOutput: Add getLanguage()
Fomafix [Tue, 23 Oct 2018 15:48:31 +0000 (17:48 +0200)]
WebInstallerOutput: Add getLanguage()

Combine the functions getLanguageCode() and getDir() to the single
function getLanguage().

Also mark the class WebInstallerOutput as @private.

Change-Id: Ic7deea5f3040fe8f1211b96622bdae222ca9e072

5 years agoMerge "TablePager: Unify `padding` with `.wikitable`"
jenkins-bot [Sat, 19 Jan 2019 01:40:29 +0000 (01:40 +0000)]
Merge "TablePager: Unify `padding` with `.wikitable`"

5 years agoMerge "Reduce selector specificity of `.wikitable`"
jenkins-bot [Sat, 19 Jan 2019 01:13:07 +0000 (01:13 +0000)]
Merge "Reduce selector specificity of `.wikitable`"

5 years agoTablePager: Unify `padding` with `.wikitable`
Volker E [Sat, 19 Jan 2019 01:01:53 +0000 (17:01 -0800)]
TablePager: Unify `padding` with `.wikitable`

This should be at best temporarily until `.mw-datatable` gets same
`padding`.

Bug: T214208
Change-Id: Ib86808803fd6fa41704e7a69687a1ab41ef3c43d

5 years agoMerge "registration: Add @codeCoverageIgnore for statement that can't be covered"
jenkins-bot [Sat, 19 Jan 2019 00:47:00 +0000 (00:47 +0000)]
Merge "registration: Add @codeCoverageIgnore for statement that can't be covered"

5 years agoReduce selector specificity of `.wikitable`
Volker E [Sat, 19 Jan 2019 00:15:52 +0000 (16:15 -0800)]
Reduce selector specificity of `.wikitable`

Reducing selector specificity by removing `table` from `.wikitable`.
All use cases seem to be covered by direct child `>` selectors anyways.

Bug: T214218
Change-Id: Iae532d6389348972a85404926aaa0c45de7e02e1

5 years agoMerge "filerepo: avoid dynamic calls to FileRepo::isVirtualUrl"
jenkins-bot [Fri, 18 Jan 2019 21:59:32 +0000 (21:59 +0000)]
Merge "filerepo: avoid dynamic calls to FileRepo::isVirtualUrl"