Jump to content

User:Maxim's JS test account/monobook.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Maxim's JS test account (talk | contribs) at 23:54, 6 December 2007. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
importScript('User:^demon/vero.js')
 // get URL parameters (used for page type variables)
 var UrlParameters = new Array ();
 readparams();
 
 function readparams() {
  var asReadInUrlParameters;
  var asReadInUrlParameter;
 
  // Get URL parameters
  asReadInUrlParameters = location.search.substring(1, location.search.length).split("&");
  for (i = 0; i < asReadInUrlParameters.length; i++) {
    asReadInUrlParameter = asReadInUrlParameters[i].split("=");
    UrlParameters[decodeURIComponent(asReadInUrlParameter[0])] = decodeURIComponent(asReadInUrlParameter[1]);
  }
 }

 if(!usersignature) var usersignature = '\~\~\~\~'         //Standardsignatur
 
 function fillActionPageRevert() {
   if (UrlParameters["blockreason"] > "") {
     document.forms["blockip"].wpBlockReason.value = UrlParameters["blockreason"];
     var isBlocked = UrlParameters["title"].replace(/Special:Blockip\//, '');
     if (UrlParameters["blockduration"] == 'infinite') {
       var blockduration = prompt('Duration of block for ' + isBlocked + '?','infinite');
       if (blockduration) {
         document.forms["blockip"].wpBlockOther.value = blockduration;
         var newurl = "http://en.wikipedia.org/w/index.php?title=User:" + isBlocked + "&action=edit&addtemplate=2";
         window.setTimeout(function() { document.forms["blockip"].wpBlock.click(); }, 100);
         window.setTimeout(function() { location.href = newurl; }, 1000);
       }
     } else {
       var blockduration = prompt('Duration of block for ' + isBlocked + '?','24 hours');
       if (blockduration) {
         document.forms["blockip"].wpBlockOther.value = blockduration;
         var newurl = "http://en.wikipedia.org/w/index.php?title=User_talk:" + isBlocked + "&action=edit&addtemplate=1&blockduration=" + blockduration;
         window.setTimeout(function() { document.forms["blockip"].wpBlock.click(); }, 100);
         window.setTimeout(function() { location.href = newurl; }, 1000);
       }
     }
   }
 
   if (UrlParameters["diff"] > "") {
     function searchRollbackLink() {
       var tds = document.getElementsByTagName("td");
       for (var i=0; i<tds.length; i++) {
         var td = tds[i]; 
         if (td.className != "diff-ntitle") continue;
         var as = td.getElementsByTagName("a");
         for (var j=0; j<as.length; j++) {
           var a = as[j];
           if (!/.*action=rollback.*/(a.href)) continue;
           var newlink = document.createElement('a');
           a.setAttribute('accesskey', "s");
           newlink.setAttribute('href', a.href);
           var EditTextNode = document.createTextNode("normal rollback");
           newlink.appendChild(EditTextNode);
           as[j].parentNode.insertBefore( newlink, as[j].nextSibling );
           as[j].parentNode.insertBefore( document.createTextNode(' | '), as[j].nextSibling );
           return a;
         }
       }
       return tds;
     }
 
     function RollAndSpam(rolluri) {
       location.href = rolluri;
       var backrolled = rolluri.split("from=")[1].split("&token=")[0];
       var vandalizedpage = wgPageName;
       var uri = "http://en.wikipedia.org/w/index.php?title=User talk:" + backrolled + "&vandalizedpage=" + vandalizedpage + "&action=edit&spam=1";
       window.setTimeout(function() { location.href = uri; }, 500);
     }
     var revlink = searchRollbackLink();
     revlink.onclick = function() { RollAndSpam(revlink.href); return false; }
   }
 
   if ( (UrlParameters["spam"] > "") && (UrlParameters["vandalizedpage"] > "") ) {
       document.editform.wpMinoredit.checked=true;
       if (document.forms["editform"].wpTextbox1.value == "") {
         document.editform.wpSummary.value = "General note: Vandalism on \[\[" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\]\]";
         document.forms["editform"].wpTextbox1.value = "\{\{subst\:uw-vandalism1\|" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\|subst\=subst\:\}\} " + usersignature;
         document.editform.wpSave.click();
         window.setTimeout(function() { window.close(); }, 1000);
       } else {
         var now = new Date();
         var actual_time = now.getTime();
         var splitted = document.forms["editform"].wpTextbox1.value.split("<!--");
         var last_time = splitted[splitted.length-1].match(/([\:\d]+)\, (\d+) ([^\d]+) (\d+)/);
         var last_timestamp = Date.parse(RegExp.$2 + " " + RegExp.$3 + " " + RegExp.$4 + " " + RegExp.$1 + ":00 GMT");
         var difftime = last_timestamp + 86400000 - actual_time;
         if (difftime < 0) {
           document.editform.wpSummary.value = "General note: Vandalism on \[\[" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\]\]";
           document.forms["editform"].wpTextbox1.value = document.forms["editform"].wpTextbox1.value + "\n\n\{\{subst\:uw-vandalism1\|" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\|subst\=subst\:\}\} " + usersignature;
           document.editform.wpSave.click();
           window.setTimeout(function() { window.close(); }, 1000);
         } else {
           if ((splitted[splitted.length-1].search(/uw\-[^\d]*(\d)/) != -1) || (splitted[splitted.length-1].search(/Template\:Test/) != -1)) {
             var matchedtemplate = splitted[splitted.length-1].match(/uw\-[^\d]*(\d)/);
             var matchednumber = RegExp.$1;
             var matchedtemplate2 = splitted[splitted.length-1].match(/Template\:Test(\d)/);
             var matchednumber2 = RegExp.$1;
             if ((matchednumber == 4) || (matchednumber2 == 4)) {
               if (wgTitle.match(/\d+\.\d+\.\d+\.\d+/)) {
                 var blockurl = "http://en.wikipedia.org/w/index.php?title=Special:Blockip/" + wgTitle + "&blockreason=vandalism";
               } else {
                 var blockurl = "http://en.wikipedia.org/w/index.php?title=Special:Blockip/" + wgTitle + "&blockduration=infinite&blockreason=vandalism";
               }
               window.setTimeout(function() { location.href = blockurl; }, 1000);
             } else if ((matchednumber == 3) || (matchednumber2 == 3)) {
               document.editform.wpSummary.value = "Final warning: Vandalism on \[\[" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\]\]";
               document.forms["editform"].wpTextbox1.value = document.forms["editform"].wpTextbox1.value + "\n\n\{\{subst\:uw-vandalism4\|" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\|subst\=subst\:\}\} " + usersignature;
               document.editform.wpSave.click();
               window.setTimeout(function() { window.close(); }, 1000);
             } else {
               document.editform.wpSummary.value = "Warning: Vandalism on \[\[" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\]\]";
               document.forms["editform"].wpTextbox1.value = document.forms["editform"].wpTextbox1.value + "\n\n\{\{subst\:uw-vandalism3\|" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\|subst\=subst\:\}\} " + usersignature;
               document.editform.wpSave.click();
               window.setTimeout(function() { window.close(); }, 1000);
             }
           } else {
             document.editform.wpSummary.value = "General note: Vandalism on \[\[" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\]\]";
             document.forms["editform"].wpTextbox1.value = document.forms["editform"].wpTextbox1.value + "\n\n\{\{subst\:uw-vandalism1\|" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\|subst\=subst\:\}\} " + usersignature;
             document.editform.wpSave.click();
             window.setTimeout(function() { window.close(); }, 1000);
           }
         }
       }
   }
 
   if (UrlParameters["addtemplate"] > '') {
     document.editform.wpMinoredit.checked=true;
     if (UrlParameters["addtemplate"] == 1) {
       document.editform.wpSummary.value = "You have been temporarily blocked.";
       document.forms["editform"].wpTextbox1.value = document.forms["editform"].wpTextbox1.value + "\n\n\{\{subst\:uw-block1\|time=" + UrlParameters["blockduration"] + "\|reason=vandalism\|subst\=subst\:\|sig\=y\}\}";
     } else if (UrlParameters["addtemplate"] == 2) {
       document.editform.wpSummary.value = "\{\{indefblockeduser\}\}";
       document.forms["editform"].wpTextbox1.value = "\{\{indefblockeduser\}\}";
     }
     document.editform.wpSave.click();
     window.setTimeout(function() { window.close(); }, 1000);
   }
 }


 if ( (UrlParameters["blockreason"] > "") || (UrlParameters["diff"] > "") || ( (UrlParameters["spam"] > "") && (UrlParameters["vandalizedpage"] > "") ) || (UrlParameters["addtemplate"] > '') ) {
   addOnloadHook(fillActionPageRevert);
 }
//feeder
addOnloadHook(function () {
	var url = unescape(document.location.toString()).replace('_', ' ');
 
	if (url.indexOf('&diff=') > -1) {
		var otitle1 = document.getElementById('mw-diff-otitle1');
 
		if (otitle1) {
			var oldlink = otitle1.getElementsByTagName('a')[0];
 
			if (oldlink) {
				var oldid = oldlink.href.substring(oldlink.href.indexOf('oldid=') + 6)
				var title;
 
				if (url.indexOf('http://en.wikipedia.org/wiki/') >= 0) {
					title = url.substring(url.indexOf('http://en.wikipedia.org/wiki/') + 29);
					if (title.indexOf('?') >= 0) title = title.substring(0, title.indexOf('?'));
 
				} else if (url.indexOf('title=') >= 0) {
					title = url.substring(url.indexOf('title=') + 6);
					if (title.indexOf('&') >= 0) title = title.substring(0, title.indexOf('&'));
				}
 
				if (title) {
					var rvSpan = document.createElement('span');
					rvSpan.id = 'mw-diff-orevertto';
					rvSpan.style.fontWeight = 'bold';
					otitle1.insertBefore(rvSpan, otitle1.lastChild.nextSibling);
 
					var rvLink = document.createElement('a');
					rvLink.href = 'http://en.wikipedia.org/w/index.php?title=' + title 
						+ '&action=edit&oldid=' + oldid + '&script=rv';
					rvLink.innerHTML = 'revert-to';
					rvLink.title = 'revert';
					rvLink.accessKey = 'r';
					rvSpan.insertBefore(rvLink, rvSpan.lastChild);
					rvSpan.innerHTML = ' [' + rvSpan.innerHTML + ']';
				}
			}
 
			var prevLink = document.getElementById('differences-prevlink');
			if (prevLink) prevLink.accessKey = 'z';
 
			var nextLink = document.getElementById('differences-nextlink');
			if (nextLink) nextLink.accessKey = 'x';
		}
	}
 
	if (url.indexOf('&script=rv') > -1) {
		var wpSummary = document.getElementById('wpSummary');
 
		if (wpSummary) {
			wpSummary.value = 'revert';
			var editForm = document.getElementById('editform');
			if (editForm) editForm.submit();
		}
	}
 
	if (url.indexOf('Special:Recentchanges') > -1) {
		var rcOptionsQuery = document.evaluate('//div[@class="rcoptions"]',
			document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
 
		if (rcOptionsQuery.snapshotItem(0)) {
			var rcOptions = rcOptionsQuery.snapshotItem(0);
 
			if (url.indexOf('&script=rcopenall') > -1) {
				var newChangesFrom = rcOptions.getElementsByTagName('a')[14];
 
				if (newChangesFrom) {
					var newChangesFromHref = newChangesFrom.href;
 
					var openAllDiv = document.createElement('div');
					openAllDiv.id = 'mw-openall';
					openAllDiv.style.fontWeight = 'bold';
					rcOptions.insertBefore(openAllDiv, rcOptions.lastChild.nextSibling);
 
					var openAllLink = document.createElement('a');
					openAllLink.href = newChangesFromHref + '&namespace=0&script=rcopenall';
					openAllLink.innerHTML = 'Open next batch in tabs';
					openAllLink.accessKey = 'q';
					openAllDiv.insertBefore(openAllLink, openAllDiv.lastChild);
				}
 
				var rcListQuery = document.evaluate('//ul[@class="special"]',
					document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
 
				if (rcListQuery.snapshotItem(0)) {
					var rcList = rcListQuery.snapshotItem(0);
 
					for (var i = 0; i < rcList.childNodes.length; i++) {
						var rcLink = rcList.childNodes[i].childNodes[1];
						if (rcLink) window.open(rcLink.href);
					}
				}
 
			} else {
				var openAllLink = document.createElement('a');
				openAllLink.href = 'http://en.wikipedia.org/wiki/Special:Recentchanges?limit=10&namespace=0&hideliu=1&script=rcopenall';
				openAllLink.innerHTML = 'Open next batch in tabs';
				rcOptions.insertBefore(openAllLink, rcOptions.lastChild.nextSibling);
			}
		}
	}
});