Stash may return false if the value hasn't been set yet. This basically
means 'zero'.
Steps to reproduce: create a new filter and open it. If it doesn't have
any hits, the second message parameter is missing instead of being '0'.
Change-Id: I8f240dd87664ec99a98b843f9e5c4c8c9eed0532
Users can now sort filters by whether they are visible and which group
they belong to. Sorting by hit count is only possible if the user can
actually see it.
Change-Id: I516111f96b9ef0beaa0c04f902e03712591371d1
If the user cannot see hit counts, this field is always empty, so there
is no need to have it shown.
Change-Id: I27c8639f901a3c7fa686378a1205b2ddebb7d665
All usages of Linker::link() and Linker::linkKnown() has been replaced with LinkRenderer
Bug: T149346
Change-Id: Id087fe2aeaae81445e83e020ef66b541d9da4060
d0439337 (I9e15326c) made abusefilter-view-private required
even for users with abusefilter-modify that can see and
change private filters.
Bug: T143365
Change-Id: I401effc5f1e429b5ec12c7f48dcc00ada74eafb6
These pages are read only pages so it's better to let users with
'abusefilter-view-private' to view history and diff of private filters
as 'abusefilter-modify' is a read+write right.
Bug: T126129
Change-Id: I9e15326c8d681000ab13ef8a50fa0eed4c24dbe6
Rename $wgAbuseFilterAvailableActions / $wgAbuseFilterRestrictedActions
to $wgAbuseFilterActions / $wgAbuseFilterRestrictions and make
them an associative array instead of a plain one, as that works more
sanely with extension registration. (The renaming helps to give more
useful errors to sites using the old config.)
Change-Id: I790d39c2849922d7daf7479f298cd90cf30af129
* Defer the slow profiling updates to post-send
* Convert to the object stash, so that all DCs see
the same values
Change-Id: I08316c6a3192bd69248cf5ab5a3ed8185341c313
Follow-up to b60829a60c.
I'll fix up message translations on Translatewiki when this is merged.
Bug: T132189
Change-Id: I1ecaedd7489b264ed621309b6fbfb63b9287a437
This reverts commit afb78deb84.
I'll guard this behind a global and fix up the localisation messages
in a separate commit. This is a straight revert.
Bug: T132189
Change-Id: Iff4aa6d7d543db8f47c5f81f3c206dafcd5373dc
Also
* Fix a bug where action-reverts doesn't work for anons
since the userid is always 0 for them, instead use the username.
* Start adding block log flags consistently with core
Bug: T124789
Change-Id: Ic6680dad891e2169b392fcfefc1e313af85bc92f
These boolean values go through DatabaseBase::makeList,
which passes them along to DatabaseBase::addQuotes, which
shoves the value through DatabaseMysqlBase::strencode,
which in turn passes it on to DatabaseMysqli::mysqlRealEscapeString,
which eventually calls mysqli::real_escape_string on it.
This last one will turn trues into '1' and falses into ''.
MySQL (or at least my version, 5.6.17 Homebrew) complains about
receiving incorrect integer value '' for these tinyint(1) columns.
Bug: T67807
Change-Id: Iaef98c08589370f9288c1f3c80803b1a16b2506e
It'll show the timestamp at which the filter was last triggered.
If there is no hit or if the user does not have the proper permissions,
it'll be blank.
Bug: T93564
Change-Id: I435af5caf457c548fa0737ed226d7f8640ff25d8
* This is very slow as there can easily be hundreds of filters,
each doing 6 memcached queries. Xenon flamegraphs show a lot
of time spent in this method, slowing down editing.
Change-Id: I31e4502bbd45cc284db3cd89eb34ad365c59905b
* Also removed some code duplication
* Use getConnectionRef in checkAllFilters so that the
DB connection can be reused
Bug: T93141
Change-Id: I17c5a976b6c45029cde4ed34ad82d69e365ae8c5
* Use ChangeTags::purgeTagCacheAll().
* The prior code did not change that actual tag table and
in any case did nothing since 878523f6225 due to a key
rename. This covers the two keys using two AF hooks.
Bug: T91815
Change-Id: I227414cde2e95d4533fdf708579113cd3bf2856a
only affects filter list on central wiki. You can now select to see
local only, global ones or both filters.
Bug: T78495
Change-Id: Idb37aa4f5c3515e0295b74a43176edd2c62508f8
without it, you get redirected to the main page (index.php) when
$wgUsePathInfo = false; as no title-parameter is given.
also don't rely on __tostring.
Change-Id: I6b97d61c58b196c95836036219201cff8e2e0657
Currently, there is no link to the current version of the filter
from the history (unless one clicks on the last timestamp link of
that filter) and that is sub-optimal.
Change-Id: Ibc7fcfab386e687d052878602fa810c5a3590d6c
When examining AbuseFilter logs using user scripts, it is convenient to have
access to the variables shown in the table, without having to interact with
the page to get the content of the table cells.
This change introduces the variable wgAbuseFilterVariables on these pages:
* Special:AbuseFilter/examine
* Special:AbuseLog/<logId>
Change-Id: I2cebf141e6c1d26e62ed7e6ba0b5c327694e2ef8
Notice: Undefined index: af_throttled in
extensions/AbuseFilter/Views/AbuseFilterViewEdit.php on line 148
This assumes af_throttled to exist in $newRow, which comes
from AbuseFilterViewEdit::loadRequest, which in turn comes
from AbuseFilterViewEdit::loadFilterData, where no
af_throttled property is added to the newly created object.
Bug: 65805
Change-Id: I45ad0ea2cea242711b6109e67b99b71242ff57f6