מדיה ויקי:סקריפטים/102.js
קפיצה לניווט
קפיצה לחיפוש
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
mw.loader.using( [ 'mediawiki.util', 'mediawiki.api', "mediawiki.user", "jquery.ui" ] ).then( function() { var RecentChangeID = ""; function rollbackTheRecentChange(title, user) { new mw.Api().get({ "action": "query", "format": "json", "meta": "tokens", "type": "rollback" }).done(function(d){ if (d && d.query && d.query.tokens && d.query.tokens.rollbacktoken) { window.open('/w/index.php?title=' + title + '&action=rollback&from=' + user + '&token=' + encodeURIComponent(d.query.tokens.rollbacktoken), '_blank'); } }); } function getTheRecentChange() { new mw.Api().get({ "action": "query", "format": "json", "list": "recentchanges", "rcprop": "title|timestamp|ids|user|comment", "rctype": "edit", "rcshow": "!patrolled", "rcnamespace": "0" }).done(function(d){ if (d && d.query && d.query.recentchanges) { if (RecentChangeID !== d.query.recentchanges["0"].revid) { RecentChangeID = d.query.recentchanges["0"].revid; OpenDiffDialog(d); } } else { alert(); } }); setTimeout(getTheRecentChange, 2000); } function OpenDiffDialog(d) { new mw.Api().get({ "action": "query", "format": "json", "prop": "revisions", "revids": d.query.recentchanges["0"].revid, "rvdiffto": "prev" }).done(function(e){ if (e && e.query && e.query.pages) if (d.query.recentchanges["0"].comment === "") { DialogHTML = $("<div>").append($("<h1>").append($("<a href='" + mw.util.getUrl(d.query.recentchanges["0"].title) + "'>").append(d.query.recentchanges["0"].title)), "נערך על ידי: ", $("<a href='" + mw.util.getUrl("User:" + d.query.recentchanges["0"].user) + "'>").append(d.query.recentchanges["0"].user), e.query.pages[d.query.recentchanges["0"].pageid].revisions["0"].diff["*"]); } else { DialogHTML = $("<div>").append($("<h1>").append($("<a href='" + mw.util.getUrl(d.query.recentchanges["0"].title) + "'>").append(d.query.recentchanges["0"].title)), "נערך על ידי: ", $("<a href='" + mw.util.getUrl("User:" + d.query.recentchanges["0"].user) + "'>").append(d.query.recentchanges["0"].user), $("<br>"), "תקציר עריכה: " + d.query.recentchanges["0"].comment, e.query.pages[d.query.recentchanges["0"].pageid].revisions["0"].diff["*"]); } $( '<div>' ) .dialog( { title: 'הבדל', width: 'auto', height: 'auto', position: [$('body').width() * 0.2, $('body').height() * 0.1], buttons: { "סגירה": function() {$( this ).dialog( "close" );}, "שחזור": function() {rollbackTheRecentChange(d.query.recentchanges["0"].title, d.query.recentchanges["0"].user); $(this).dialog("close");}, "!": function() {$(this).dialog("close"); new mw.Api().post({"action": "patrol", "revid": d.query.recentchanges["0"].revid, "token": mw.user.tokens.get("patrolToken")}).done(function(q){if (q && q.patrol && q.patrol.rcid){console.log(q)}else{alert();}});} } } ) .append(DialogHTML); }); } $(mw.util.addPortletLink('p-navigation', '#', 'סקריפט ניטור', 't-NRC', 'כלי חדש לניטור שינויים בזמן אמת')).click(getTheRecentChange); });