User:WhyBeNormal/monobook.js
From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Mozilla/Safari: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Internet Explorer: press Ctrl-F5, Opera/Konqueror: press F5.
//Interiot's javascript edit counter if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) { document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); } //Edit and "revert to" JS //addOnloadHook(adddifflinks) function adddifflinks() { var editlink = '<strong><span style="color:black;">[</span>edit this version<span style="color:black;">]</span></strong> '; var rvname = ' <strong><span style="color:black;">[</span><span style="color:red;">restore this revision</span><span style="color:black;">]</span></strong><br>'; var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML; if (location.href.indexOf('diff=') != -1 && location.href.indexOf('&oldid=') != -1) { var doctd = document.getElementById('bodyContent').getElementsByTagName('td'); var good_user = doctd[0].getElementsByTagName('a')[2].innerHTML; var link = doctd[0].getElementsByTagName('a')[0].href.replace('&','&') + "&action=edit"; var rvlink = doctd[0].getElementsByTagName('a')[0].href.replace('&','&') + "&action=edit&fakeaction=autorevert&byuser=" + escape(user_name) + "&oldrvtouser=" + escape(good_user); document.getElementById('bodyContent').getElementsByTagName('td')[0].innerHTML = '<a href="' + rvlink + '">' + rvname + '</a>' + document.getElementById('bodyContent').getElementsByTagName('td')[0].innerHTML; } } //END addOnloadHook(IEhistory_revert) function IEhistory_revert() { if (location.href.indexOf('&action=history&limit=8&fakeaction=IEnormalrevert&user=') != -1) { var found = 0; var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML; if (unescape(location.href.split('&byuser=')[1]) != user_name){alert('Invalid user match'); return;} var vandal = unescape(location.href.split('&fakeaction=IEnormalrevert&user=')[1].split('&byuser=')[0]); var l = document.getElementsByTagName('li'); if (l[0].getElementsByTagName('a')[2].innerHTML != vandal) {alert('Could not rollback. Last contributor has changed.'); return;} for (i = 1; i < l.length; i++) { if (!l[i].getElementsByTagName('a')[3]){alert('Could not find a version of this page that is not by the user you attempted to rollback from.' + '\n' + 'Most likely, the user is the only author of the page.' + '\n' + 'This revert function only looks at the last 6 page edits, so you may want to look back further and use "restore".'); history.go(-1); return;} if (l[i].getElementsByTagName('a')[3].innerHTML != vandal) { var good_user = l[i].getElementsByTagName('a')[3].innerHTML; var URL = l[i].getElementsByTagName('a')[2].href + "&action=edit&fakeaction=autorevert&byuser=" + escape(user_name) + "&oldrvtouser=" + escape(good_user) + "&revertfromuser=" + escape(vandal); location.href = URL; found = 1; break; } } if (found == 0) {alert('Could not find a version of this page that is not by the user you attempted to rollback from.' + '\n' + 'Most likely, the user is the only author of the page.' + '\n' + 'This revert function only looks at the last 6 page edits, so you may want to look back further and use "restore".'); history.go(-1);} } if (location.href.indexOf('&action=history&limit=8&fakeaction=IErollback&vandal=') != -1) { var found = 0; var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML; if (unescape(location.href.split('&byuser=')[1]) != user_name){alert('Invalid user match'); return;} var vandal = unescape(location.href.split('&fakeaction=IErollback&vandal=')[1].split('&byuser=')[0]); var l = document.getElementsByTagName('li'); if (l[0].getElementsByTagName('a')[2].innerHTML != vandal) {alert('Could not rollback vandal. Last contributor has changed.'); return;} for (i = 1; i < l.length; i++) { if (!l[i].getElementsByTagName('a')[3]){alert('Could not find a version of this page that is not by the user you attempted to rollback from.' + '\n' + 'Most likely, the user is the only author of the page.' + '\n' + 'This revert function only looks at the last 6 page edits, so you may want to look back further and use "restore".'); history.go(-1); return;} if (l[i].getElementsByTagName('a')[3].innerHTML != vandal) { var good_user = l[i].getElementsByTagName('a')[3].innerHTML; var URL = l[i].getElementsByTagName('a')[2].href + "&action=edit&fakeaction=autorevertvandal&byuser=" + escape(user_name) + "&oldrvtouser=" + escape(good_user) + "&revertfromuser=" + escape(vandal); location.href = URL; found = 1; break; } } if (found == 0) {alert('Could not find a version of this page that is not by the user you attempted to rollback from.' + '\n' + 'Most likely, the user is the only author of the page.' + '\n' + 'This revert function only looks at the last 6 page edits, so you may want to look back further and use "restore".'); history.go(-1);} } } //END function autosave() { user_name = escape(document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML); if (location.href.indexOf("&fakeaction=autorevert&byuser=" + user_name) != -1 || location.href.indexOf("&fakeaction=autorevertvandal&byuser=" + user_name) != -1) { if (location.href.indexOf('&revertfromuser') == -1 && location.href.indexOf('&fakeaction=autorevertvandal') == -1) { var message = "Are you sure you want to revert to this revision?"; var return_value = confirm(message); if (return_value != true){history.go(-1); return;} } var good_user = unescape(location.href.split("&oldrvtouser=")[1].split('&revertfromuser=')[0]); var ID = location.href.split("&oldid=")[1].split("&action=edit")[0]; form = document.getElementById('bodyContent'); l = form.getElementsByTagName('input'); for (i = 0; i < l.length; i++) { if (l[i].name == 'wpMinoredit') {l[i].value = '1'; l[i].checked=true;} } if (location.href.indexOf('&fakeaction=autorevertvandal') != -1) { var artname = document.title.split('Editing ')[1].split(' - ')[0]; var vandal = unescape(location.href.split('&revertfromuser=')[1]); document.editform.wpSummary.value += 'JS: Reverted [[WP:VAND|vandalism]] by [[Special:contributions/' + vandal + '|' + vandal + ']] to last version by ' + good_user + '.'; var form = document.getElementById('editform'); window.open('http://en.wikipedia.org/w/index.php?title=User talk:' + vandal + '&action=edit' + '&action=edit&vanarticle=' + artname, 'targetname', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,width=1024,height=768'); form.submit(); } else if (location.href.indexOf('&revertfromuser=') != -1) { var vandal = unescape(location.href.split('&revertfromuser=')[1]); document.editform.wpSummary.value += 'JS: Reverted edits by [[Special:contributions/' + vandal + '|' + vandal + ']] to last version by ' + good_user + '.'; var form = document.getElementById('editform'); form.submit(); } else { document.editform.wpSummary.value += 'JS: Revert to revision ' + ID + ' by [[User:' + good_user + '|' + good_user + ']].'; var form = document.getElementById('editform'); form.submit(); } } } //END //Revert options addOnloadHook(NArevertfunctions) function NArevertfunctions() { adddifflinks(); autosave(); } // Script from [[User:Lupin/recent2.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/recent2.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); //This code will change ISBN links to point to the url of your choice, //instead of Special:Book_sources. // //How to use it: // //First, you must copy this code to your user javascript page. This is //at User:<your username>/monobook.js . My username is Lunchboxhero so //my javascript page is User:Lunchboxhero/monobook.js . You must be logged //in to edit your javascript page. // //Once you have copied the code and saved the page, you need to refresh your //browser's cache. For Mozilla/Safari/Konqueror: hold down Shift while clicking //Reload (or press Ctrl-Shift-R), IE: press Ctrl-F5, Opera: press F5. // //The code should now work, as long as you are logged in. // //You can change the destination url by simply modifying the quoted url that //follows document.links[i].href= // //Good luck, and if you have any questions, leave me a comment on the discussion //page of User:Lunchboxhero/monobook.js . // //(Every line that starts with "//" is a comment and can be discarded.) function externISBN() { for (var i = 0; i < document.links.length; i++) { var ln = document.links[i].href.match(/isbn=(.*)/); if (ln) { document.links[i].href='http://www.amazon.com/exec/obidos/ASIN/'+RegExp.$1; } } } addOnloadHook(externISBN); // This will add an [edit top] link at the top of all pages except preview pages // by User:Pile0nades setTimeout("editTopLink()", 0) // this is equivalent of onload function editTopLink() { // if this is preview page or generated page, stop if(document.getElementById("wikiPreview") || window.location.href.indexOf("w/index.php?title=Special:") != -1) return; // get the page title var pageTitle = document.title.split(" - ")[0].replace(" ", "_"); // create div and set innerHTML to link var divContainer = document.createElement("div"); divContainer.innerHTML = '<div class="editsection" style="float:right;margin-left:5px;margin-top:3px;">[<a href="/w/index.php?title='+pageTitle+'&action=edit§ion=0" title="'+document.title.split(" - ")[0]+'">edit top</a>]</div>'; // insert divContainer into the DOM before the h1 document.getElementById("content").insertBefore(divContainer, document.getElementsByTagName("h1")[0]); }