Difference between revisions of "User:CRLF/common.js"
(fix) |
(try) |
||
Line 23: | Line 23: | ||
$('.mw-diff-undo > a').attr('onclick', 'rvt(' + undop + ',' + undoafterp + ',1)');} catch(e) {console.log(e);console.log("assumed not undoable");} | $('.mw-diff-undo > a').attr('onclick', 'rvt(' + undop + ',' + undoafterp + ',1)');} catch(e) {console.log(e);console.log("assumed not undoable");} | ||
− | function | + | function makeLinks(page, elem) { // Implements undo links on contribs page |
$.ajax({ | $.ajax({ | ||
url: 'https://www.explainxkcd.com/wiki/api.php', | url: 'https://www.explainxkcd.com/wiki/api.php', | ||
Line 30: | Line 30: | ||
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) { | ||
− | + | $('<a id="link' + data["query"]["pages"][0]["revisions"][0]["revid"] + '" onclick="rvt(' + data["query"]["pages"][0]["revisions"][0]["revid"] + ',' + data["query"]["pages"][0]["revisions"][0]["parentid"] + ',0)">[rvt]</a>').insertAfter(elem); | |
} | } | ||
}) | }) | ||
Line 38: | Line 38: | ||
for (var i =0;i<cs.length;i++) { | for (var i =0;i<cs.length;i++) { | ||
var title = cs[i].getAttribute("title"); | var title = cs[i].getAttribute("title"); | ||
− | + | makeLinks(title,cs[i]); | |
− | + | ||
} | } |
Revision as of 02:13, 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"); } } }); } try{ 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)');} catch(e) {console.log(e);console.log("assumed not undoable");} function makeLinks(page, elem) { // 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) { $('<a id="link' + data["query"]["pages"][0]["revisions"][0]["revid"] + '" onclick="rvt(' + data["query"]["pages"][0]["revisions"][0]["revid"] + ',' + data["query"]["pages"][0]["revisions"][0]["parentid"] + ',0)">[rvt]</a>').insertAfter(elem); } }) } cs= $('.mw-contributions-title'); for (var i =0;i<cs.length;i++) { var title = cs[i].getAttribute("title"); makeLinks(title,cs[i]); }