User:He7d3r/Tools/AbuseFilterExecutionStats.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
// [[File:User:He7d3r/Tools/AbuseFilterExecutionStats.js]] (workaround for [[phab:T35355]])
/**
 * Generates a table with statistics about abuse filters
 * @author: Helder (https://github.com/he7d3r)
 * @license: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
 */
// <nowiki>
(function(e,t){"use strict";function a(){function a(a){var i,s,n=/\(abusefilter-edit-status: ([\dm,]+), ([\dm,]+), ([\d.,]+), ([\d.,]+), ([\d.,]+)\)/,o=['{| class="wikitable sortable plainlinks"',"|+ "+e.msg("afes-table-caption"),"|-",'! data-sort-type="number" | '+e.msg("afes-table-column-filter"),'! data-sort-type="number" | '+e.msg("afes-table-column-actions"),'! data-sort-type="number" | '+e.msg("afes-table-column-hits"),'! data-sort-type="number" | '+e.msg("afes-table-column-percent"),'! data-sort-type="number" | '+e.msg("afes-table-column-time"),'! data-sort-type="number" | '+e.msg("afes-table-column-conditions")].join("\n");for(i=1;a.length>i;i++)s=a[i][1].match(n),o+=s?["\n|-","| [[Special:AbuseFilter/"+a[i][0]+"|"+a[i][0]+"]]","| "+s[1],"| [{{fullurl:Special:AbuseLog|wpSearchFilter="+a[i][0]+"&limit="+s[2]+"}} "+s[2]+"]","| "+s[3],"| "+s[4],"| "+s[5]].join("\n"):"\n|-\n| "+a[i][0]+"|| || || || || ";o+="\n|}",t("#mw-content-text").empty().append(t("<pre>").text(o)),t.removeSpinner("af-status-spinner")}function i(l){e.notify(e.msg("afes-getting-data",l),{tag:"stats",title:e.msg("afes-getting-data-title")}),t.ajax({url:e.util.getUrl("Special:AbuseFilter/"+l,{uselang:"qqx"})}).done(function(e){var l=t(e),r=l.find("#mw-abusefilter-edit-id").find(".mw-input").text();n.push([r,l.find("#mw-abusefilter-edit-status-label").find(".mw-input").text()]),o===s?a(n):(o+=1,i(o))}).fail(function(){t.removeSpinner("af-status-spinner")})}var o=1;t("#firstHeading").injectSpinner("af-status-spinner"),(new e.Api).get({action:"query",list:"abusefilters",abflimit:"max",abfprop:"id"}).done(function(e){s=e.query.abusefilters.length,i(o)})}function i(){t(e.util.addPortletLink("p-cactions","#",e.msg("afes-link"),"ca-AbuseFilterExecutionStatsLink",e.msg("afes-link-title"))).click(function(){e.loader.using(["mediawiki.api","jquery.spinner","mediawiki.notification"],a)})}e.messages.set({"afes-table-caption":"Estatísticas sobre o tempo de execução dos filtros de edição","afes-table-column-filter":"Filtro","afes-table-column-actions":"Ações","afes-table-column-hits":"Correspondências","afes-table-column-percent":"%","afes-table-column-time":"Tempo","afes-table-column-conditions":"Condições","afes-link":"Estatísticas de execução dos filtros","afes-link-title":"Gerar uma tabela com estatísticas sobre a execução dos filtros de edição","afes-getting-data-title":"Obtendo dados...","afes-getting-data":"Consultando as estatísticas sobre o filtro $1..."});var s,n=[["Filtro","Estatísticas"]];(e.config.get("wgCanonicalSpecialPageName")==="AbuseFilter"||e.config.get("wgDBname")==="ptwiki"&&e.config.get("wgPageName").indexOf("Wikipédia:Filtro_de_edições")!==-1)&&t(i)})(mediaWiki,jQuery);
// </nowiki>