Commit graph

413 commits

Author SHA1 Message Date
Aaron Schulz
cb15755e92 Normalize use of "INNER JOIN" to "JOIN" in database queries
The ANSI SQL default join type is INNER and this might save
some line breaks here and there.

Change-Id: Ibd39976f46ca3f9b71190d3b60b76ca085787a00
2019-03-06 09:17:30 -08:00
jenkins-bot
187ef28a08 Merge "logging: Remove 'null' return from ManualLogEntry::getTags()" 2019-03-05 11:07:04 +00:00
MGChecker
84c46d38b7 Add separate log action for file reverts
This change s adds 'revert' as a separate log action for file reverts, as it
allows special formatting of log entries and revisions in UI and filtering
for file reverts specifically.

Even though there are no log entries with this log action right now, it does
seem that this was intended as some point, as there are corresponding
test cases in UploadLogFormatterTest, and is listed in
$wgLogActionsHandlers and https://www.mediawiki.org/wiki/API:Logevents
as well. Furthermore, the i18n message 'logentry-upload-revert' already
existed before this change.

Because this functionality can not be provided by tags, the 'mw-undo' tag
is not suited for this use case. However, it could be added additionally to
all log entries with this log action..

Bug: T60209
Change-Id: Ie1ccd8053dc5de58b2297a8460219f0233aab968
2019-03-02 22:16:55 +00:00
Timo Tijhof
11aef1cc02 logging: Remove 'null' return from ManualLogEntry::getTags()
The documentation already claimed it returned array,
this is now actually true. Follows-up 037c06e886.

There are two ways it could be null:

* The setTags() method was never called, and the class member
  was implicitly null by default.

* The setTags() method was called with $tags = null.
  This happens WikiPage::doUpdateRestrictions() among other places.
  That could probably be fixed, but is out of scope for this change.

The getTags() method of this clss appears to have no outside
callers in MediaWiki core, nor in any other project indexed
by Codesearch.

Change-Id: Ib89c79ef90870506187c3c3b61464c2aa788c594
2019-03-02 17:31:26 +00:00
Piotr Miazga
037c06e886 Hygiene: use null-coalescing operator when operating on tags
Change-Id: I7d5b4e05ee6c010b4f9438bc4871a3369b1871a6
2019-03-01 19:13:28 +01:00
Thalia
5be7438ed6 Correct whitespace and parentheses typos in BlockLogFormatter
Change-Id: I9e79e9d274e8ed1fa94966f5e1ac01f8fcd6d96b
2019-01-30 22:46:28 -08:00
Thiemo Kreuz
4b71077646 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
2019-01-30 20:35:14 +00:00
Dayllan Maza
85c91cfbf0 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
2019-01-25 15:46:11 -05:00
jenkins-bot
6196eaf08c Merge "Improve readability of LogFormatter::makePageLink" 2019-01-09 23:36:27 +00:00
Thalia
31ba7a3e5c Fix malformed output of block logs
Avoid adding <span> to expiry parameter whenever block log is
stored as plaintext.

Bug: T208523
Change-Id: Id3fcdfda7311484911ae1f57ec262a2c6e6ab00b
2019-01-09 16:16:53 +00:00
Thalia
c32b871ef6 Improve readability of LogFormatter::makePageLink
Change-Id: I912d9626b99697d5a0394b72a56ffc8a5e7aa1bb
2019-01-09 15:59:17 +00:00
Alangi Derick
62bf6cad3d logging: Correct $logId default value in LogPager.php
$logId holds the log entry ID of some specific log and the datatype
is an integer (int) which is correct but looking at the constructor,
it does take a bool (false) which contradicts the docs above. So per
@Thiemo's advice after review of prev PS, it would be better to replace
false with 0 and leave the docs untouched.

Change-Id: Ieceb79a6cbaa248e1b7a7d3c1d51eb26bb3a2d84
2019-01-02 11:58:32 +00:00
jenkins-bot
2b5cd32428 Merge "Mark protected IndexPager properties also as protected in subclasses" 2018-12-21 23:39:16 +00:00
Thiemo Kreuz
5b1cda7ae1 Mark protected IndexPager properties also as protected in subclasses
I'm intentionally only touching these protected properties and nothing
else, because I believe these are uncontroversial. They should be protected
according to modern SOLID standards, and actually are declared as
protected in the base class. What this patch effectively does is documenting
this fact, but it does not change anything.

Change-Id: I625307b58bd419c4a72e9842b2b46c08ed9b4f8e
2018-12-20 18:25:19 +01:00
jenkins-bot
0cba0ba56b Merge "LogEventsList: Don't output '0000-00-00' as default date" 2018-11-14 15:29:58 +00:00
Bartosz Dziewoński
6b328a5975 LogEventsList: Don't output '0000-00-00' as default date
It is an invalid value that should be (by spec) ignored by the
browser, but apparently some browsers don't ignore it, and when they
submit it back, it is converted to -0001-11-30 by our date parsing.

Bug: T209490
Change-Id: I2643767a0091c1c9db78706358903e1dc97b59d1
2018-11-14 15:49:22 +01:00
Volker E
b6a6c7fdf7 Special:Log: Use OOUI
Bug: T117737
Change-Id: I1a7028a35359d507f699c77a69b09853d45362f5
2018-11-10 17:10:08 -08:00
jenkins-bot
ecee5cd7c7 Merge "Use PHP 7 '??' operator instead of if-then-else" 2018-10-24 21:58:04 +00:00
Dayllan Maza
f24991c6ed Add partial block details to block-log entries.
Block information needs to be more detailed if a block is not
sitewide. With this change, page restrictions will be visible
as part of the block information in Special:Contributions,
Special:Block, and Special:Log and via API

Bug: T197108
Change-Id: I5d2ef606f709bdd60bf52e2a048890b0f6360fca
2018-10-24 00:47:27 +00:00
Fomafix
43244db9a2 Use PHP 7 '??' operator instead of if-then-else
Change-Id: If9d4be5d88c8927f63cbb84dfc8181baf62ea3eb
2018-10-21 21:46:46 +02:00
Brad Jorsch
993baa3493 ActorMigration: Remove possibility of read-both
When this was originally written, the plan was to read both the old and
new fields during the transition period, while stopping writes to them
midway through. It turns out that the WHERE conditions to do read-both
correctly are generally not handled well by the database and working
around that would require a lot of complicated code (see what's being
removed from ApiQueryUserContribs here, for example).

We can simplify things greatly by instead having it write both fields
during the transition period, reading from the old for the first part
and the new for the second part, as is being done for MCR.

Bug: T204669
Change-Id: I4764c1c7883dc1003cb12729455c8107319f70b1
Depends-On: I845f6ae462f2539ebd35cbb5f2ca8b5714e2c1fb
Depends-On: I88b31b977543fdbdf69f8c1158e77e448df94e11
2018-10-11 12:12:00 +11:00
Umherirrender
40d3ce8d17 Reduce calls to MediaWikiServices::getInstance()
In some functions MediaWikiServices::getInstance() was called twices or
in loops. Extract the variable to reduce calls.

Change-Id: I2705db11d7a9ea73efb9b5a5c40747ab0b3ea36f
2018-08-18 06:02:39 +02:00
Aryeh Gregor
e68fdb4065 Mass conversion to SpecialPageFactory service
Change-Id: Ia6e1e819ec6cbe8bf75b820109f51d47863e31fc
2018-08-17 12:03:12 -07:00
Fomafix
73f94fd8cd Add type hint Language where possible
Also use ?? instead of ?: to check for null.

Change-Id: I058b61d7e06cdefecdafa82f60109cc386e2a809
2018-08-12 10:20:11 +02:00
Aryeh Gregor
90d4f56fe4 Mass conversion of $wgContLang to service
Brought to you by vim macros.

Bug: T200246
Change-Id: I79e919f4553e3bd3eb714073fed7a43051b4fb2a
2018-08-11 22:44:29 -06:00
jenkins-bot
e96b9055fb Merge "LogFormatter: Fail softer when trying to link an invalid titles" 2018-08-08 15:35:56 +00:00
Prateek Saxena
5161ee2a65 LogEventsList: Stop showing deprecation warning when $input is empty
Follows-up on I697e158887fcca1da88763a4c929a981d9211490

Bug: T201006
Change-Id: I140cde3f71e2bd8106f0c0ce7da1ec822a8da072
2018-08-07 13:30:13 +05:30
jenkins-bot
62fa503bc3 Merge "Force phan-taint-check to think LogFormatter stuff is safe for html" 2018-08-02 10:15:50 +00:00
Bartosz Dziewoński
26bb9d9b23 LogFormatter: Fail softer when trying to link an invalid titles
Old log entries contain titles that used to be valid, but now are not.

Bug: T185049
Change-Id: Ia66d901aedf1b385574b3910b29f020b3fd4bd97
2018-08-01 16:19:55 +02:00
Bartosz Dziewoński
23cd9d6d2e Prefill date in form on Special:Log when calling with old parameters
When the date is specified using &year=...&month=... URL parameters
rather than &wpdate=..., HTMLForm can't automatically fill it in,
but we can explicitly specify the default.

Bug: T199856
Change-Id: I71f4953d57a3893190778e5bd763db108dc433d3
2018-07-26 22:11:52 +02:00
Jayprakash12345
593f2f4276 Prefill username in form when calling Special:Log/<username>
Bug: T200446
Change-Id: I3f2fcedee8440d5943e556f7c1c06dfb1085e549
2018-07-26 22:20:56 +05:30
jenkins-bot
4db9564e50 Merge "LogEventsList: Correct typo" 2018-07-24 01:54:31 +00:00
jenkins-bot
8ef9135781 Merge "LogPager: Add backwards-compatibility for hide_[type]_log URL params" 2018-07-23 20:55:21 +00:00
Bartosz Dziewoński
5f7bf1942b LogEventsList: Correct typo
The parameter to getTitleInputDesc() is actually unused, so this was
not breaking anything.

Change-Id: Ia301faf511e30b4fc4542ccb80b24cf807cf731c
2018-07-23 18:18:04 +02:00
Prateek Saxena
f8a777b903 LogEventsList: Use DerivativeContext
Bug: T200136
Change-Id: Ie2b7753684dc0257b0b53d9c9314feeb14d99182
2018-07-23 09:52:36 +05:30
Prateek Saxena
8aaa50b6ef LogPager: Add backwards-compatibility for hide_[type]_log URL params
Also, the $default value in LogEventsList#getFiltersDesc was not
being generated properly and would have always been an empty array.

Bug: T199856
Change-Id: Id286c76259406521f12cda67a4a715032e022637
2018-07-20 07:18:46 +05:30
Max Semenik
9b0c621d7f Deprecate wfArrayFilter() and wfArrayFilterByKey()
Now that all our supported PHP versions have array_filter()
with a third parameter, these functions aren't needed anymore.

Depends-On: I3b097a1a048baabcaca15dc214a3a1bb06e746cc
Depends-On: I0187e27ac47cbab099249572201d1a649226a734
Change-Id: I7cabd0252691a083cb749cf9d3a7a23f1d076c39
2018-07-19 08:40:46 +02:00
jenkins-bot
a55a6f2424 Merge "LogEventsList: Remove options not used by HTMLForm" 2018-07-19 02:25:04 +00:00
jenkins-bot
6934d1db03 Merge "LogEventsList: Add backwards-compatibility for log-show-hide messages" 2018-07-18 21:03:59 +00:00
Bartosz Dziewoński
6205c06ebe LogEventsList: Remove options not used by HTMLForm
HTMLForm gets the input value from the request. The values
specified in the form descriptor were never used. (You can specify a
default value, but that uses the 'default' key anyway.)

Change-Id: I27934e1118492371e547dd5e94feb172a0510cc9
2018-07-18 19:55:07 +02:00
Prateek Saxena
682e4464a1 LogEventsList: Use GET in HTMLForm
I missed this during conversion.

Follows-up on Iba3c6aa5ac40dcdee0792c2d045b238b02d76521.

Bug: T199856
Change-Id: If3f228425b217c9ccdb7d32e0bc899647797ed70
2018-07-18 10:39:33 +05:30
Prateek Saxena
cab5b3afc7 LogEventsList: Add backwards-compatibility for log-show-hide messages
Also updated the release notes.

Bug: T199657
Change-Id: I027effbc7bd797ee241281ddd57334a5dc5c8a57
2018-07-18 09:49:36 +05:30
Prateek Saxena
52c62c65cd LogEventsListGetExtraInputs: Keep $input and add $formDescriptor
Follows-up on Iba3c6aa5ac40dcdee0792c2d045b238b02d76521.

Bug: T117737
Bug: T199495
Change-Id: I697e158887fcca1da88763a4c929a981d9211490
2018-07-17 20:35:55 +02:00
jenkins-bot
48a72eee82 Merge "Special:Log: Convert to HTMLForm" 2018-07-12 11:10:22 +00:00
jenkins-bot
ef97002179 Merge "Simplify PHP by using ?? and ?:" 2018-07-11 09:09:18 +00:00
Fomafix
6866cfec37 Simplify PHP by using ?? and ?:
Also remove not necessary surrounding parentheses.

Change-Id: I0eb5c9c1bdfb09a800258379cdcefb5fd4d3d21c
2018-07-10 20:03:17 +00:00
Prateek Saxena
38756eae46 Special:Log: Convert to HTMLForm
* All Xml generation code has been removed.

* The LogEventsListGetExtraInputs hook now needs a form
  descriptor array and not plain HTML.
  See I37e0d3e81a46239750465b9299279fbbd7c7f87a.

* LogPager and LogEventList also take the $day parameter
  for 'From date (and earlier)' and pass it to getDateCond
  as well.

* Since FormOptions can't automatically extract the date
  from the request this is being done manually in the
  execute method of Special:Log using MWTimestamp.

Bug: T117737
Change-Id: Iba3c6aa5ac40dcdee0792c2d045b238b02d76521
2018-07-10 16:55:33 +05:30
Brian Wolff
6b19444b32 Force phan-taint-check to think LogFormatter stuff is safe for html
Whether or not LogFormatter::getActionText() and friends are safe
for html depends on the runtime value of LogFormatter::$plaintext
which is beyond the abilities of phan-taint-check's static analysis
to determine. Thus this method results in a lot of false positives.

To prevent that, add an annotation that marks the method as always
safe for html. This is not ideal, but refactoring this method while
maintaining back-compat looks like it would be very challenging.

Bug: T197002
Change-Id: I9aded350ed4acc733b4fb697dd3400686a178fa9
2018-07-08 16:56:37 +00:00
Umherirrender
130ec2523d Fix PhanTypeMismatchDeclaredParam
Auto fix MediaWiki.Commenting.FunctionComment.DefaultNullTypeParam sniff

Change-Id: I865323fd0295aabd06f3e3c75e0e5043fb31069e
2018-07-07 00:34:30 +00:00
Matěj Suchánek
1000236bb9 Prevent "Undefined offset notice"
The number provided by the query can be arbitrary, so let's narrow the
input validation to booleans.

Bug: T194616
Change-Id: If03e6e2d5bbcf4f2d85047cc23ee5388b39fe114
2018-06-29 07:42:36 +00:00