Difference between revisions of "User:CRLF/common.js"

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
(add)
(fix)
Line 1: Line 1:
function rvt( undop, undoafterp, c ) { // Implements one-click undo
+
function rvt(undop, undoafterp, c) { // Implements one-click undo
 
     $.ajax({
 
     $.ajax({
 
         url: 'https://www.explainxkcd.com/wiki/api.php',
 
         url: 'https://www.explainxkcd.com/wiki/api.php',
Line 5: Line 5:
 
             format: 'json',
 
             format: 'json',
 
             action: 'edit',
 
             action: 'edit',
             title: $("#firstHeading").text().substr(33,$("#firstHeading").text().length-34),
+
             title: $("#firstHeading").text().substr(33, $("#firstHeading").text().length - 34),
 
             undo: undop,
 
             undo: undop,
 
             undoafter: undoafterp,
 
             undoafter: undoafterp,
 
             summary: "Reverted vandalism with [[User:CRLF/common.js]]",
 
             summary: "Reverted vandalism with [[User:CRLF/common.js]]",
             token: mw.user.tokens.get( 'csrfToken' )
+
             token: mw.user.tokens.get('csrfToken')
 
         },
 
         },
 
         dataType: 'json',
 
         dataType: 'json',
 
         type: 'POST',
 
         type: 'POST',
         success: function() {if(c){$('.mw-diff-undo > a').text("success");}else{$('#link'+undop).text("success");}}
+
         success: function () { if (c) { $('.mw-diff-undo > a').text("success"); } else { $('#link' + undop).text("success"); } }
        });
+
    });
}  
+
}
  
 
var href = $('.mw-diff-undo > a').attr('href').split("=");
 
var href = $('.mw-diff-undo > a').attr('href').split("=");
 
var undop = href[4];
 
var undop = href[4];
var undoafterp = href[3].substr(0,href[3].length-5);
+
var undoafterp = href[3].substr(0, href[3].length - 5);
 
$('.mw-diff-undo > a').removeAttr('href');
 
$('.mw-diff-undo > a').removeAttr('href');
$('.mw-diff-undo > a').attr('onclick','rvt('+undop+','+undoafterp+',1)');
+
$('.mw-diff-undo > a').attr('onclick', 'rvt(' + undop + ',' + undoafterp + ',1)');
  
function lastTwoRevs(page){ // Implements undo links on contribs page
+
function lastTwoRevs(page) { // Implements undo links on contribs page
$.ajax({
+
    $.ajax({
 
         url: 'https://www.explainxkcd.com/wiki/api.php',
 
         url: 'https://www.explainxkcd.com/wiki/api.php',
         type:'GET',
+
         type: 'GET',
         dataType:'json',
+
         dataType: 'json',
         data:{action: 'query', prop:'revisions',titles:page,rvprop:'ids',formatversion:2})
+
         data: { action: 'query', prop: 'revisions', titles: page, rvprop: 'ids', formatversion: 2 },
         success: function(data) {
+
         success: function (data) {
             return {'u': data["query"]["pages"][0]["revisions"][0]["revid"], 'a': data["query"]["pages"][0]["revisions"][0]["parentid"]}
+
             return { 'u': data["query"]["pages"][0]["revisions"][0]["revid"], 'a': data["query"]["pages"][0]["revisions"][0]["parentid"] }
         }})
+
         }
 +
    })
 
}
 
}
  
for (var i in $('mw-contributions-title')){
+
for (var i in $('mw-contributions-title')) {
var title = i.attr("title");
+
    var title = i.attr("title");
var res = lastTwoRevs(title);
+
    var res = lastTwoRevs(title);
$('<a id="link'+res[u]+'" onclick="rvt('+res[u]+','+res[a]+',0)">[rvt]</a>').insertAfter(i);}
+
    $('<a id="link' + res[u] + '" onclick="rvt(' + res[u] + ',' + res[a] + ',0)">[rvt]</a>').insertAfter(i);
 +
}

Revision as of 02:06, 21 May 2022

function rvt(undop, undoafterp, c) { // Implements one-click undo
    $.ajax({
        url: 'https://www.explainxkcd.com/wiki/api.php',
        data: {
            format: 'json',
            action: 'edit',
            title: $("#firstHeading").text().substr(33, $("#firstHeading").text().length - 34),
            undo: undop,
            undoafter: undoafterp,
            summary: "Reverted vandalism with [[User:CRLF/common.js]]",
            token: mw.user.tokens.get('csrfToken')
        },
        dataType: 'json',
        type: 'POST',
        success: function () { if (c) { $('.mw-diff-undo > a').text("success"); } else { $('#link' + undop).text("success"); } }
    });
}

var href = $('.mw-diff-undo > a').attr('href').split("=");
var undop = href[4];
var undoafterp = href[3].substr(0, href[3].length - 5);
$('.mw-diff-undo > a').removeAttr('href');
$('.mw-diff-undo > a').attr('onclick', 'rvt(' + undop + ',' + undoafterp + ',1)');

function lastTwoRevs(page) { // Implements undo links on contribs page
    $.ajax({
        url: 'https://www.explainxkcd.com/wiki/api.php',
        type: 'GET',
        dataType: 'json',
        data: { action: 'query', prop: 'revisions', titles: page, rvprop: 'ids', formatversion: 2 },
        success: function (data) {
            return { 'u': data["query"]["pages"][0]["revisions"][0]["revid"], 'a': data["query"]["pages"][0]["revisions"][0]["parentid"] }
        }
    })
}

for (var i in $('mw-contributions-title')) {
    var title = i.attr("title");
    var res = lastTwoRevs(title);
    $('<a id="link' + res[u] + '" onclick="rvt(' + res[u] + ',' + res[a] + ',0)">[rvt]</a>').insertAfter(i);
}