Commit graph

5282 commits

Author SHA1 Message Date
Daimona Eaytoy c0f8374624 Check for 0-like floats passed to the modulo operator
That throws an error in PHP.

Bug: T237459
Change-Id: Ia0b29d6a8b9f4aac6b5b72ce8f2f45afb03f4c99
2019-11-10 11:22:04 +00:00
jenkins-bot 7ff4b95aec Merge "Expand the list of types that can be cast to int" 2019-11-10 11:00:36 +00:00
jenkins-bot 398500121a Merge "Fix conditionals examples in i18n messages" 2019-11-10 10:41:39 +00:00
DannyS712 a137992900 Restrict viewing Special:Log/AbuseFilter, and remove from recent changes
Only allow users with `abusefilter-view` to see abuse filter log
entries. Note that this is different from the abuse log itself.

Bug: T34959
Change-Id: I587c2eb9bdc2e5ca2652aa338440cdc5b6eb9235
2019-11-10 10:41:17 +00:00
Daimona Eaytoy 585d6cdb24 Make to sure to report division by zero when the LHS is undefined
Bug: T234339
Change-Id: I1575ec013c1e7e321a8f13f40804ebc5ab076268
2019-11-08 14:08:52 +00:00
Daimona Eaytoy 1abaff1aac Better handling of keywords and functions
Always run the keyword/function handler, even if there are DUNDEFINED
arguments, so that the handler can perform further validation on the
input and report any error to the user. However, replace DUNDEFINED with
DNULL before running the handler, to avoid special-casing DUNDEFINED in
every handler. If any argument was a DUNDEFINED, we will return
DUNDEFINED anyway.

Also centralize the keyword handling logic to a new method, like it
happens for functions.

Bug: T234339
Change-Id: I875cb77418a39790e91fe5867c49917bfe406ed4
2019-11-08 15:07:20 +01:00
Daimona Eaytoy e98799a00a Centralize the code for calling keywords
This allows sharing the code between cachingparser and the old parser
(for DRY-ness), and even when the old parser will be killed, having the
logic outside of the generic parse method seems saner.

This copies what I446a307e5395ea8cc8ec5ca5d5390b074bea2f24 did for
functions.

Change-Id: Ie6290243a6c78661510a9b4cb713d6e7b2778248
2019-11-08 15:02:17 +01:00
Translation updater bot e1a2aa37a4 Localisation updates from https://translatewiki.net.
Change-Id: I958d7b361b4f1b26ed02714bdcf87cb602fd9239
2019-11-08 09:43:34 +01:00
Daimona Eaytoy b7c7ae168d Explicitly forbid negative indexes in arrays
This emits its own error because:
1- It's clearer to understand
2- It's easier to find where we're dealing with negative offsets, if
we'll ever want to allow that.

Note that trying to use a negative index already results in a hard PHP
error being thrown.

Bug: T237219
Change-Id: Ib11eaaca5e21f740269141c75e62bac48093e8d0
2019-11-08 05:55:56 +00:00
Daimona Eaytoy a7b28369ea Expand the list of types that can be cast to int
Bug: T237624
Change-Id: I2220cb8a8ec998a433a4469d7e0591ec0b4f2b12
2019-11-07 15:14:17 +01:00
Translation updater bot 6a1531b7d4 Localisation updates from https://translatewiki.net.
Change-Id: I3a38fd0004d7f4f48841c304cd2e2f2fa0ac207c
2019-11-07 09:39:33 +01:00
Translation updater bot 4bbb8911d5 Localisation updates from https://translatewiki.net.
Change-Id: I95dcc01683e3eb58ed5beb648514523975e81817
2019-11-05 09:42:51 +01:00
Translation updater bot 93dcea0043 Localisation updates from https://translatewiki.net.
Change-Id: I002d7a6729067b78855a708716a63d7cfbabac7c
2019-11-04 09:25:40 +01:00
Daimona Eaytoy cb15400f97 Fix conditionals examples in i18n messages
Bug: T237131
Change-Id: I68ca3906c64f3da43c7a4985c16f1ab031caebb5
2019-11-02 11:32:05 +01:00
jenkins-bot 5562aade87 Merge "Use PHP regexps instead of SQL to filter on Special:AbuseFilter" 2019-11-01 00:52:28 +00:00
Daimona Eaytoy 7bc70d116e Use PHP regexps instead of SQL to filter on Special:AbuseFilter
As the code comment says, and as it was suggested in
Iafe54285384bc28b3e8812b495166f2682d4571c, we were validating the
provided regexp as PCRE, but using it in SQL, which only supports POSIX.
Furthermore, we won't have to worry about cross-DBMS compat anymore.

Bug: T193068
Change-Id: If6d8717795b6c1dcf619a23363eb6144902cfaed
2019-11-01 11:26:17 +11:00
Translation updater bot 61742d946e Localisation updates from https://translatewiki.net.
Change-Id: Ia909ee4552530bd21da4c5e1fec174bcde658468
2019-10-31 09:24:25 +01:00
Petr Pchelko 915b9a1538 Remove usages of deprecated User methods
Bug: T220191
Change-Id: I54e20870a32ff98b41a98495694ff563c4c4c5ca
2019-10-30 12:51:01 +00:00
Translation updater bot e3cffb465d Localisation updates from https://translatewiki.net.
Change-Id: Ide766b61933462b10dfd8c6d2aafb93afa75d070
2019-10-30 09:30:27 +01:00
Daimona Eaytoy 03b3a555ba SECURITY: Check visibility for each version in ViewDiff
Instead of checking if the filter is currently hidden, check the
visibility for each version and, if the user cannot see private filters,
only show the diff if none of the revision is hidden.
Also avoid showing a "diff" link if the user cannot see it.

Bug: T104807
Change-Id: Ie23e8234ae550273bf3f6f9c5ac45b7fc54eec2a
2019-10-28 15:32:00 -05:00
Translation updater bot c3e78ced15 Localisation updates from https://translatewiki.net.
Change-Id: I78563bb06749bdf44aab9539f7c7bbc3204ba9b9
2019-10-28 14:53:16 +01:00
Translation updater bot 037f037995 Localisation updates from https://translatewiki.net.
Change-Id: If929688a7909e9e110a72f7d344fa213ab16a8e3
2019-10-25 09:15:41 +02:00
Translation updater bot aa5c8d8ae3 Localisation updates from https://translatewiki.net.
Change-Id: I31c266b6342164a516f156a843c692eaf9b78002
2019-10-24 10:37:49 +02:00
Daimona Eaytoy 3a9eac9ad5 Unbreak filter edit form
In Ib7427e15f673a575738489476e604c387f449ddd, I thought that $parameters could've only been null if $action wasn't
enabled, but actually, they're null even if the action is just not set.
Which is true for all actions when creating a new filter, and all
non-set actions when editing an existing one.

Hence, revert the part that touched ViewEdit.

Also add a selenium test to ensure that warn parameters are visible.

Bug: T236286
Change-Id: I8150baa077208eb1fc54ebc1d8415a243d0f3bd3
2019-10-23 18:50:44 +02:00
Translation updater bot cdee6802ea Localisation updates from https://translatewiki.net.
Change-Id: I9d7a230175216f5228571eadfd9f0d292656333e
2019-10-23 09:50:54 +02:00
Translation updater bot 25873c9cbe Localisation updates from https://translatewiki.net.
Change-Id: I750fdc2dd1ccd16073f5d2b6072dc40807f21e31
2019-10-22 09:11:08 +02:00
Translation updater bot 65e48fae59 Localisation updates from https://translatewiki.net.
Change-Id: I8fd625c0252a68bd2fafb3240956ecd6e3e9b2b5
2019-10-21 09:56:15 +02:00
libraryupgrader 08d3431130 build: Updating grunt-stylelint to 0.11.1
Additional changes:
* Added .eslintcache to .gitignore.

Change-Id: Ia603aec7dd94a397867a24ebf721906d50b959ea
2019-10-20 23:04:43 +00:00
Thalia 63eb7eafb7 Use AbstractBlock setters and getters instead of deprecated properties
Change-Id: I01728f919254a9435f051af3fc390eb80ca8d17e
2019-10-20 00:35:00 +01:00
jenkins-bot af86fe62a4 Merge "build: Upgrade mediawiki-phan-config to 0.8.0" 2019-10-19 20:04:47 +00:00
Translation updater bot 2c51fb37e9 Localisation updates from https://translatewiki.net.
Change-Id: I4f3768315556119b0bcb8391085333d4d4851760
2019-10-16 20:37:22 +02:00
Translation updater bot 828f1d881c Localisation updates from https://translatewiki.net.
Change-Id: I0fa3509ad517b045d93835777ddc3f553b54fdaa
2019-10-16 10:36:44 +02:00
Translation updater bot 7bd97f6a13 Localisation updates from https://translatewiki.net.
Change-Id: Ic514113078f2f18297269ce445fd265216837df6
2019-10-10 09:30:09 +02:00
James D. Forrester 4d988471be build: Upgrade mediawiki-codesniffer to v28.0.0
Change-Id: I7ef6ec1614718c016562281a166867ee3bd93df7
2019-10-09 18:34:07 +00:00
Daimona Eaytoy b9e4475985 build: Upgrade mediawiki-phan-config to 0.8.0
This is to verify that our CI is able to handle the new version.

Bug: T235049
Change-Id: Ib7427e15f673a575738489476e604c387f449ddd
2019-10-09 19:12:51 +02:00
Translation updater bot 347146ef8a Localisation updates from https://translatewiki.net.
Change-Id: Ib6d909ccb9160f7ecc1c4888325806df023502c8
2019-10-09 09:15:59 +02:00
Max Semenik b3d11b48cb tests: setExpectedException() is deprecated
Bug: T192167
Change-Id: I899a8f03c6cc1f79f58bec09c2d8b2ba10b895d8
2019-10-08 16:31:15 -07:00
Translation updater bot be360b520d Localisation updates from https://translatewiki.net.
Change-Id: I49f60d52fc29c84916ac282ea641de462366dc8f
2019-10-08 09:30:51 +02:00
Translation updater bot 0465d64a5f Localisation updates from https://translatewiki.net.
Change-Id: Ice510a596cdeeac02f4fa075f7341d5b8571396e
2019-10-07 09:07:26 +02:00
jenkins-bot feae26116a Merge "Remove disabled variables deprecation" 2019-10-04 20:07:10 +00:00
jenkins-bot c6ee722273 Merge "Remove AFPData::dup" 2019-10-04 19:42:52 +00:00
jenkins-bot 9ab13cf24b Merge "Replace array_map with foreach" 2019-10-04 19:42:49 +00:00
Daimona Eaytoy c7fa503e9b Remove AFPData::dup
The method, which simply duplicates an AFPData instance, is only used
when casting types, to return a different instance when the object
already has the desired type.
However, nothing is assuming that, so we can just return the original
instance and save some time.

Bug: T234427
Change-Id: Id8067b418a00260ceead35f234e55268390699ab
2019-10-04 19:15:08 +00:00
Željko Filipin 0a95a6572c Selenium: make it possible to run daily Jenkins job targeting beta cluster
Bug: T199113
Change-Id: Idce6d7d014ab5bb0c9602d5f1e5321cd9c0d1615
2019-10-04 16:23:22 +02:00
Daimona Eaytoy 328dbc99c7 Remove disabled variables deprecation
I just realized that the parser is already throwing if it finds a
disabled variable. Hence, all calls to getVar with a disabled var are
from old entries and the like, and we don't care.

Bug: T234048
Change-Id: I39429d286575df91108a4119177a0d3aef181d0b
2019-10-04 15:03:08 +02:00
Translation updater bot 5b8502caa4 Localisation updates from https://translatewiki.net.
Change-Id: I22dac70a8802c17512d7588114faaf761798c5c4
2019-10-04 09:27:03 +02:00
Daimona Eaytoy 703835e835 Drop HHVM support
Change-Id: Ib7ccb4f68278ba8ca009e9d18e9d8b127f799cde
2019-10-03 12:27:18 +00:00
Translation updater bot 3985f979ea Localisation updates from https://translatewiki.net.
Change-Id: I1b24aff7cc326bb1e3276f21d99b617f60b6ef43
2019-10-03 10:02:29 +02:00
Daimona Eaytoy 337771f83b Replace array_map with foreach
This is a micro-optimization, but IMHO it's necessary. The AF parser
code is executed for every active filter, for every
edit/move/deletion/accountcreation. In PHP, foreach is usually faster
than array_map. Especially in the case of variadic functions potentially
taking hundreds of strings, foreach will consume less time.

Bug: T234427
Change-Id: I1beedf419a6637a9a3dd668635645df950ceda21
2019-10-02 11:29:19 +00:00
Translation updater bot 188742a07e Localisation updates from https://translatewiki.net.
Change-Id: Iec3bf5ff81ce46cd56557aa51a61201d7d028f69
2019-10-02 09:17:45 +02:00