Gebruiker:Inertia6084/markeer.js
Opmerking: nadat u de wijzigingen hebt gepubliceerd is het wellicht nodig uw browsercache te legen.
- Firefox / Safari: houd Shift ingedrukt terwijl u op Vernieuwen klikt of druk op Ctrl-F5 of Ctrl-R (⌘-Shift-R op een Mac)
- Google Chrome: druk op Ctrl-Shift-R (⌘-Shift-R op een Mac)
- Internet Explorer / Edge: houd Ctrl ingedrukt terwijl u op Vernieuwen klikt of druk op Ctrl-F5
- Opera: druk op Ctrl-F5.
function msbPatrolIndex(fun) {
var index = window.mw.config.get('wgScriptPath') + '/index.php';
jQuery.get(index,
{
action: 'markpatrolled',
rcid: msbRcid,
token: msbPatroltoken
},
fun
);
}
function msbPatrollinksOnDiff() {
var nextlink = null;
var prevlink = null;
if ( mw.util.getParamValue('diff') == null) return;
var ntitle4 = document.getElementById('mw-diff-ntitle4');
if (ntitle4 == null) return;
if (ntitle4.getElementsByTagName('span').length==0) return;
msbGetToken();
var ntitle1 = document.getElementById('mw-diff-ntitle1');
ntitle1.innerHTML = ntitle1.innerHTML.replace(/\([^)]+\)/, '');
var url = ntitle1.innerHTML.match(/['"]([^"']+undoafter[^'"]+)['"]/)[1];
ntitle1.innerHTML += '<div id="msb3"> (<span style="'+msbPatrolLinksStyle+'"><a href="#" onclick="msbMarkeer(\''+url+'\'); return false;"> Markeer en ongedaan maken</a></span>)</div>';
var ntitle2 = document.getElementById('mw-diff-ntitle2');
var user = ntitle2.innerHTML.match(/ijdragen\/([^"]+)"/)[1];
if (user.search(/\d+\.\d+\.\d+\.\d+/) >= 0) {
var s = '><small><a href="http://toolserver.org/~chm/whois.php?ip='+user+'">whois</a></small> (<';
ntitle2.innerHTML = ntitle2.innerHTML.replace(/>\(</,s);
}
if (document.getElementById('differences-nextlink')) {
nextlink = document.getElementById('differences-nextlink').href;
}
if (document.getElementById('differences-prevlink')) {
prevlink = document.getElementById('differences-prevlink').href;
}
if (prevlink !== null) {
var otitle4 = document.getElementById('mw-diff-otitle4');
if (otitle4) {
otitle4.innerHTML = otitle4.innerHTML.replace(/[Oo]udere\sbewerking/, 'Vorige');
otitle4.innerHTML += '<div id="msb1"> [<span style="'+msbPatrolLinksStyle+'"><a href="#" onclick="msbMarkeer(\''+prevlink+'\'); return false;"> ← Markeer en vorige</a></span>]</div>';
}
}
var ntitle4 = document.getElementById('mw-diff-ntitle4');
if (nextlink !== null) {
ntitle4.innerHTML = ntitle4.innerHTML.replace(/[Nn]ieuwere\sbewerking.*/, 'Volgende â</a>');
var s = '<div id="msb2"> [<span style="'+msbPatrolLinksStyle+'"><a href="#" onclick="msbMarkeer(); return false;">Markeer</a></span>]';
s += ' [<span style="'+msbPatrolLinksStyle+'"><a href="#" onclick="msbMarkeer(\''+nextlink+'\'); return false;"> Markeer en volgende →</a></span>]</div>';
ntitle4.innerHTML += s;
} else {
ntitle4.innerHTML = '<div id="msb2"> [<span style="'+msbPatrolLinksStyle+'"><a href="#" onclick="msbMarkeer(); return false;">Markeer</a></span>]</div>';
}
var html = '<small>Actie na markeren: ';
html += '<span style="'+msbPatrolLinksStyle+'"><input type="radio" name="msbAction" value="1" onchange="msbSetCookie()" />Geen</span> ';
html += '<span style="'+msbPatrolLinksStyle+'"><input type="radio" name="msbAction" value="2" onchange="msbSetCookie()" />Vorige pagina</span></small>';
mw.util.$content.prepend(html);
window.msbCookie = jQuery.cookie('msbAction');
if (msbCookie != 2) msbCookie=1;
document.getElementsByName('msbAction')[msbCookie-1].checked = true;
}
function msbSetCookie() {
msbCookie = 1;
if (document.getElementsByName('msbAction')[1].checked) msbCookie=2;
jQuery.cookie( 'msbAction', msbCookie, { expires: 999});
}
function msbMarkeer(target) {
msbPatrolIndex(
function(data) {
if (target !== undefined) {
window.location = target;
} else {
var n = document.getElementById("msb1");
if (n) n.style.visibility = "hidden";
n = document.getElementById("msb2");
if (n) {
var cookie = jQuery.cookie('msbAction');
if (cookie==2) {
history.back();
} else {
n.innerHTML = " [Gemarkeerd]";
}
}
var n = document.getElementById("msb3");
if (n) n.style.visibility = "hidden";
}
}
);
return false;
}
function msbGetToken() {
var node = document.getElementById('mw-diff-ntitle4');
var url = node.innerHTML.match(/"([^"]+markpatrolled[^"]+)"/)[1];
msbPatroltoken = decodeURIComponent(url.match(/token=([^"&]+)/)[1]);
msbRcid = url.match(/rcid=(\d+)/)[1];
}
var msbPatrolLinksStyle = 'background-color: #dcdcdc;';
if ( mw.util.getParamValue('diff') !== null) {
jQuery(document).ready(msbPatrollinksOnDiff);
msbUsePatrolLinks = true;
}