User:Void/common.js: Difference between revisions
Content deleted Content added
starting to work on date checking method |
global |
||
(24 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Writ_Keeper/Scripts/massRevdel.js'); |
|||
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Writ_Keeper/Scripts/massRollback.js'); |
|||
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&action=raw&ctype=text/javascript'); |
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&action=raw&ctype=text/javascript'); |
||
mw.loader.load('//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js'); |
|||
//mw.loader.load('//publictestwiki.com/w/index.php?title=User:Void/testing.js&action=raw&ctype=text/javascript'); |
//mw.loader.load('//publictestwiki.com/w/index.php?title=User:Void/testing.js&action=raw&ctype=text/javascript'); |
||
mw.loader.load('//publictestwiki.com/w/index.php?title=User:Void/findInactiveSysops.js&action=raw&ctype=text/javascript'); |
|||
//Testing js to automate finding inactive sysops. Currently logs usernames, logevent timestamps, and revision ids|timestamps. |
|||
var testlink = mw.util.addPortletLink( |
|||
'p-personal', |
|||
'#', |
|||
'Test Script', |
|||
'pt-testscript', |
|||
'Test this piece of JS', |
|||
null, |
|||
'#pt-adminlinks' |
|||
); |
|||
$( testlink ).click( function () { |
|||
var doThis = confirm('Do you want to run the script?'); |
|||
if( doThis ){ |
|||
$.getJSON( |
|||
//Get userlist |
|||
mw.util.wikiScript('api'), |
|||
{ |
|||
format: 'json', |
|||
action: 'query', |
|||
list: 'allusers', |
|||
augroup: 'sysop', |
|||
aulimit: 50, //Set limit to 50 as there are no more than 50 sysops |
|||
} |
|||
).done( function ( data ) { |
|||
try { |
|||
var users = data.query.allusers; |
|||
var userlist = []; |
|||
users.forEach(function(object){ |
|||
userlist.push(object.name); |
|||
}); |
|||
//console.log(userlist); |
|||
filterUsers(userlist); |
|||
} |
|||
catch ( e ) { |
|||
console.log( "Content request error: " + e.message ); |
|||
console.log( "Content request response: " + JSON.stringify( data ) ); |
|||
} |
|||
} ).fail( function () { |
|||
console.log( "While getting the userlist, there was an AJAX error." ); |
|||
} ); |
|||
} |
|||
} ); |
|||
function filterUsers (userlist){ |
|||
var userstring = userlist.toString(); |
|||
var exempt = ["John","Pup","Void","NDKilla","Reception123","Revi","Southparkfan","Abuse filter"]; |
|||
for (i = 0; i < exempt.length; i++){ |
|||
userstring = userstring.replace(exempt[i]+",",""); |
|||
} |
|||
var reducedList = userstring.split(","); |
|||
//console.log(reducedList); |
|||
var tribsInfo = []; |
|||
var tribsData; |
|||
var logsInfo = []; |
|||
var logsData; |
|||
for (x = 0; x < reducedList.length; x++){ |
|||
$.getJSON( |
|||
//Get contribs and log entries |
|||
mw.util.wikiScript('api'), |
|||
{ |
|||
format: 'json', |
|||
action: 'query', |
|||
list: 'logevents|usercontribs', |
|||
leprop: 'timestamp', |
|||
ledir: 'older', |
|||
leuser: reducedList[x], |
|||
lelimit: 1, //We only need the most recent log action/edit |
|||
uclimit: 1, |
|||
ucuser: reducedList[x], |
|||
ucdir: 'older', |
|||
ucprop: 'timestamp|ids' |
|||
} |
|||
).done( function ( data ) { |
|||
try { |
|||
tribsData = data.query.usercontribs; |
|||
//console.log(tribsData[0].timestamp); |
|||
logsData = data.query.logevents; |
|||
//console.log(logsData[0].timestamp); |
|||
if(typeof(logsData[0].timestamp) != "undefined") { |
|||
logsInfo.push(logsData[0].timestamp); |
|||
} |
|||
else { |
|||
logsInfo.push(null); |
|||
} |
|||
if( typeof(tribsData[0]) != "undefined" ) { |
|||
tribsInfo.push(tribsData[0].revid+"|"+tribsData[0].timestamp); |
|||
} |
|||
else { |
|||
tribsInfo.push(null); |
|||
} |
|||
} |
|||
catch ( e ) { |
|||
console.log( "Content request error: " + e.message ); |
|||
console.log( "Content request response: " + JSON.stringify( data ) ); |
|||
} |
|||
} ).fail(/*console.log( "While getting the userlist, there was an AJAX error." )*/); |
|||
} |
|||
//console.log(reducedList); |
|||
console.log(logsInfo); |
|||
console.log(tribsInfo); |
|||
compareDates(logsInfo, tribsInfo); |
|||
} |
|||
function compareDates (logsInfo, tribsInfo){ |
|||
//Gets current date in yyyymmdd |
|||
var today = new Date(); |
|||
var dd = today.getDate(); |
|||
var mm = today.getMonth()+1; //January is 0! |
|||
var yyyy = today.getFullYear(); |
|||
if(dd<10) { |
|||
dd='0'+dd; |
|||
} |
|||
if(mm<10) { |
|||
mm='0'+mm; |
|||
} |
|||
today = yyyy+mm+dd; |
|||
//console.log(today); |
|||
var logdates = []; |
|||
var tribsdates = []; |
|||
logsInfo.forEach(function(object){ |
|||
logdates.push(object.slice(0,object.indexOf('T'))); |
|||
}); |
|||
tribsInfo.forEach(function(object){ |
|||
tribsdates.push(object.slice(object.indexOf("|") + 1, object.indexOf('T'))); |
|||
}); |
|||
console.log(logdates); |
|||
console.log(tribsdates); |
|||
} |
Latest revision as of 02:36, 3 February 2018
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&action=raw&ctype=text/javascript');
//mw.loader.load('//publictestwiki.com/w/index.php?title=User:Void/testing.js&action=raw&ctype=text/javascript');
mw.loader.load('//publictestwiki.com/w/index.php?title=User:Void/findInactiveSysops.js&action=raw&ctype=text/javascript');