AbuseLogRC adds a table on top of Special:RecentChanges showing the last triggered anti-abuse filters. Generally useful for admins, but also for anyone who wants to keep an eye on a wiki.
Installation
This script won't run on wikis without AbuseFilter enabled, but it won't create any issue either, therefore it can also be added on one's own global.js to have it enabled on any wiki with AbuseFilter.
Configuration
The script can be used as it is, but it does also support these customizable variables that can be added before the import on Common.js or the chosen JS page. Common.js will run before MediaWiki:ImportJS.
General configuration | |||
---|---|---|---|
Variable | Description | Default value | Type |
abuseLogRC_interval
|
Sets the refresh intervals in seconds. Limited at 5 seconds minimum. | 60
|
number |
Example: abuseLogRC_interval = 30;
| |||
abuseLogRC_entries
|
How many entries show in the table. | 3
|
number |
Example: abuseLogRC_entries = 5;
| |||
abuseLogRC_showTo
|
User groups—other than sysop , soap , wiki-specialist , and staff —that should see the table. For authenticated users, use the group name user . For all—including anonymous—users, use the group name * . Note: users who don't have the abusefilter-log right will not see the table.
|
None | array |
Example: abuseLogRC_showTo = [ 'content-moderator' ];
| |||
abuseLogRC_users
|
Specify additional users who should see the table; this is useful for when they don't belong to a unique set of groups. Note: users who don't have the abusefilter-log right will not see the table.
|
None | array |
Example: abuseLogRC_users = [ 'Leviathan 89' , 'Levibot' ];
| |||
Appearance customization | |||
Variable | Description | Default value | Type |
abuseLogRC_order
|
older will show older entries on top while newer will show the newer ones instead.
|
newer
|
string |
Example: abuseLogRC_order = 'older';
| |||
abuseLogRC_position
|
after will place the table after RC's content, at the bottom of the page, while before will place it before, at the top.
|
before
|
string |
Example: abuseLogRC_position = 'after';
| |||
abuseLogRC_collapsible
|
true will make the table collapsible while false will not.
|
false
|
boolean |
Example: abuseLogRC_collapsible = false;
| |||
abuseLogRC_userInfo
|
true will show extra details of the user while false will not.
|
false
|
boolean |
Example: abuseLogRC_userInfo = false;
| |||
|
Will set up to 3 time limits that will mark an entry with a specific CSS class allowing further customization by highlighting newer entries. Values are in hours, if you desire to "kill" a class just set the previous limit to 0. See Styling for further informations. |
|
number |
Example: abuseLogRC_timeFrame1 = 4;
abuseLogRC_timeFrame2 = 24;
abuseLogRC_timeFrame3 = 48;
|
Using configuration options with Fandom Developers Wiki scripts
The instructions on this page describe how to use configuration options with a script. Here on the Fandom Developers Wiki, many scripts provide optional configuration settings as a mean to alter or enhance the default behavior of the script. When installing configuration options in your JavaScript file, please note that they need to go above the import statement in order to work — unless the directions say otherwise. In case MediaWiki:ImportJS
is used to load the scripts, it will be executed last.
// 1. AjaxRC import statement
importArticles({
type: 'script',
articles: [
'u:dev:MediaWiki:AjaxRC.js'
]
});
// 2. AjaxRC configuration option
window.ajaxRefresh = 30000;
// 1. AjaxRC configuration option
window.ajaxRefresh = 30000;
// 2. AjaxRC import statement
importArticles({
type: 'script',
articles: [
'u:dev:MediaWiki:AjaxRC.js'
]
});
Styling
The table has various classes and IDs that allow further styling through CSS. In particular, entries have the class abItemRowFilter#
, with # the ID of the triggered filter, and are also divided by the abuseLogRC_timeFrame#
variables in four classes:
abUrgency1
: for entries newer thenabuseLogRC_timeFrame1
hours ago.abUrgency2
: for entries newer thenabuseLogRC_timeFrame2
hours ago.abUrgency3
: for entries newer thenabuseLogRC_timeFrame3
hours ago.abUrgency4
: for the remaining entries.
Example of customization
You can import the above customization placing this at the beginning of your MediaWiki:Common.css
or personal CSS page:
@import url("/load.php?mode=articles&only=styles&articles=u:dev:MediaWiki:AbuseLogRC.css");
If you are importing other pages, you have to separate them with a pipe, read more at w:Help:Including additional CSS and JS. Alternatively you can also copy and paste or edit the above CSS from MediaWiki:AbuseLogRC.css.
Notes
- There is currently a bug with the API which doesn't return all actions taken by Abuse Filter, but it lists only one instead.
Changelog
Date | Notes | Updated by |
---|---|---|
October 1st, 2016 | Created | leviathan 89 |
October 2nd, 2016 | Added support for live options | leviathan 89 |
October 4th, 2016 | Added "position option" and bugfixes | leviathan 89 |
October 5th, 2016 | Added other languages | leviathan 89 |
October 6th, 2016 |
Added collapsible table support; |
leviathan 89 |
October 7th, 2016 |
Time bugfixes; |
leviathan 89 |
October 8th, 2016 |
Fixed API permission error for non-sysops; |
leviathan 89 |
October 9th, 2016 |
Added more languages. |
leviathan 89 |
October 15th, 2016 |
Added more languages. |
leviathan 89 |
February 25th, 2017 |
Added a link to Special:AbuseLog |
DarkBarbarian |
︙ | ︙ | ︙ |
January 28th, 2019 |
Changed the throbber base URL to use style path from |
puxlit |
February 7th, 2019 |
Changed internals to perform proper user rights checking (instead of making assumptions based on group membership); |
puxlit |
October 26th, 2020 |
Permit wiki managers and content team members to load this script; |
C.Syde65, DarkBarbarian, and puxlit |