Benutzer:S8w4/monobook.js

aus Wikisource, der freien Quellensammlung

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
 MyChar = new Array('<tt>', '<ref>', '{{SperrSchrift|', '{{Polytonisch|', '·', '‚', '–', '…', '⟨', '½', '¼', '¾', 'ʿ', 'ʾ', '’');
 MyCharText = new Array('&lt;tt&gt;', '&lt;ref&gt;', '{{SperrSchrift}}', '{{Polytonisch}}', 'm.', '‚‘', '–', '…', '⟨⟩', '½', '¼', '¾', 'ʿ', 'ʾ', '’');
 MyCharEnd = new Array('</tt>', '</ref>', '}}', '}}', '', '‘', '', '', '⟩', '', '', '', '', '', '');
 MyCharDefault = new Array('', '', '', '', '', '', '', '', '', '', '', '', '', '', '');

function ersetzen() {
 var text = document.getElementById("wpTextbox1").value;
 document.getElementById("wpTextbox1").value = text.split("—").join("–");
}

function AddMyCharsDo(thechar, thecharend, thechartext, thechardefault) {
	var specialcharslist = document.getElementById('specialchars');
 
	var addtext = "<p class=\"specialbasic\" id=\"Eigene\" title=\"Eigene\" style=\"display: none;\">\n\r";
	addtext += " <font style=\"text-decoration: none;\" face=\"Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif\">";
  
	for (var i = 0; i < thechar.length; i++) {
		if (!thecharend[i]) thecharend[i]="";
		if (!thechardefault[i]) thechardefault[i]="";
		jsfunction ="insertTags('" + thechar[i] + "','" + thecharend[i] + "','" +  thechardefault[i] +"')";
		//Autoinkrement-Funktion einsetzen
		if (thechardefault[i].charAt(0) == "+" && !isNaN(parseInt(thechardefault[i].substr(1)))) {
			jsfunction = "insertTagsValue('" + thechar[i] + "','" + thecharend[i] + "','" +  thechardefault[i] + "','" + i +"')";
		}
		if (!thechartext[i]) thechartext[i] = thechar[i]+" "+thecharend[i];
		addtext += "<a href=\"javascript:" +jsfunction +"\">" + thechartext[i] + "</a>\n\r";
	}
	addtext += "<a href='http://de.wikipedia.org/wiki/Unicode-Block_Zahlzeichen'>…</a>⃕ <a href='http://en.wikipedia.org/wiki/Dot_(diacritic)'>Ḥ</a></font></p>";
	specialcharslist.innerHTML = addtext+specialcharslist.innerHTML;
 }
 // ============================================================
 // BEGIN Enable multiple onload functions
 
 // setup onload functions this way:
 // aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets!
 
 if (!window.aOnloadFunctions) {
   var aOnloadFunctions = new Array();
 }
 
 window.onload = function() {
   if (window.aOnloadFunctions) {
     for (var _i=0; _i<aOnloadFunctions.length; _i++) {
       aOnloadFunctions[_i]();
     }
   }
 }

 // Taken from [[Benutzer:DerHexer/monobook.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]);
  }
 }
 
 function fillActionPage() {
   if (UrlParameters["deletereason"] > "") {
      if (UrlParameters["deletereason"] != 'undefined') {
       if (wgCanonicalNamespace != "Image") {
        document.getElementById("deleteconfirm").wpReason.value = UrlParameters["deletereason"].replace(/\%7C/g, "|");
       } else {
        document.forms[0].wpReason.value = UrlParameters["deletereason"].replace(/\%7C/g, "|");
       }
      }
      window.setTimeout(function() { 
       if (wgCanonicalNamespace != "Image") {
         document.getElementById("deleteconfirm").wpConfirmB.click();
       } else {
         var inputs = document.getElementsByTagName("input");
         for (i=0; i<inputs.length; i++) {
           if ((inputs[i].getAttribute('type') == 'submit') && (inputs[i].getAttribute('value') == 'Löschen')) {
             inputs[i].click();
           }
         }
       }
      }, 100);
   }
   if (UrlParameters["blockreason"] > "" && UrlParameters["blockduration"] > "") {
     if (UrlParameters[blockreason] != "abcxyz") { document.forms["blockip"].wpBlockReason.value = UrlParameters[blockreason]; } else { document.forms["blockip"].wpEmailBan.checked=true; }  
     if (UrlParameters["blockduration"].match(/\s/) || UrlParameters["blockduration"] == 'infinite') {
       document.forms["blockip"].wpBlockOther.value = UrlParameters["blockduration"];
     } else if (UrlParameters["blockduration"].match(/\d+/)) {
       document.forms["blockip"].wpBlockOther.value = UrlParameters["blockduration"] + " hours";
     }
     window.setTimeout(function() { document.forms["blockip"].wpBlock.click(); }, 100);
   }
   if (UrlParameters["protectreason"] > "" && UrlParameters["protectduration"] > "" && UrlParameters["protecttype"] > "") {
     document.getElementById("mwProtect-reason").value = UrlParameters["protectreason"];
     document.getElementById("mwProtectExpirySelection-edit").selectedIndex = 0;
     document.getElementById("mwProtectExpirySelection-move").selectedIndex = 0;
     document.getElementById("mwProtect-edit-expires").value = UrlParameters["protectduration"];
     document.getElementById("mwProtect-move-expires").value = UrlParameters["protectduration"];
     document.getElementById("mwProtect-level-edit").selectedIndex = UrlParameters["protecttype"];
     if (UrlParameters[anotherprotecttype] != '') {
       document.getElementById("mwProtect-level-move").selectedIndex = UrlParameters["anotherprotecttype"];
     } else {
       document.getElementById("mwProtect-level-move").selectedIndex = UrlParameters["protecttype"];
     }
     document.getElementById('mw-Protect-submit').click();
   }
   if ( ( (UrlParameters["title"] == 'Spezial:Logbuch') && (UrlParameters["type"] == 'newusers') ) || (location.href.substring(location.href.indexOf("/wiki/")).search(/Spezial\:Logbuch\/newusers/) != -1) ) {
    if ( (UrlParameters["limit"] < 51) || (document.body.getElementsByTagName("p")[1].childNodes[0].nodeValue.match(/\d+/) < 51) ) {
     var as = document.body.getElementsByTagName("ul")[0].getElementsByTagName("a");
     for (i=0; i < as.length; i++) {
       if (as[i].childNodes[0].nodeValue == "sperren") {
         var newlink = document.createElement('a');
         newlink.setAttribute('href', 'http://de.wikisource.org/w/index.php?title=Spezial:Sperren/' + as[i].title.replace(/Spezial:Sperren\//, '') + '&blockreason=abcxyz&blockduration=infinite&speichern=1'); 
         var EditTextNode = document.createTextNode("schnellsperren");
         newlink.appendChild(EditTextNode);
         as[i].parentNode.insertBefore( newlink, as[i].nextSibling );
         as[i].parentNode.insertBefore( document.createTextNode(' | '), as[i].nextSibling );
       }
     }
    }
   }
 }


 if ( (UrlParameters["deletereason"] > "") || ( (UrlParameters["blockreason"] > "") && (UrlParameters["blockduration"] > "") )  || ( (UrlParameters["protectreason"] > "") && (UrlParameters["protectduration"] > "") && (UrlParameters["protecttype"] > "") ) || ( ( (UrlParameters["title"] == 'Spezial:Logbuch') && (UrlParameters["type"] == 'newusers') ) || (location.href.substring(location.href.indexOf("/wiki/")).search(/Spezial\:Logbuch\/newusers/) != -1) ) ) {
   addOnloadHook(fillActionPage);
 }
 
 // <nowiki>
 
 // Funktionen im Quickbar (monobook.js)
 var usedropdown = false;        // Wenn keine Dropdowns gewünscht sind, hier false eintragen!
 var qbnewpage = false;           // sollen Seiten aus dem QuickBar im neuen Fenster aufgerufen werden?
 var timeout = 50000;            // 50 Sekunden auf das Neuladen der Seite warten
 var zeigeversion = false;        // monobook-Version anzeigen?
 var zeigehilfe = true;          // kurze Hilfetexte beim überfahren mit der Maus anzeigen ? default true
 var debugme = false;            // Debug-Modus?
 var usersignature = '\~\~\~\~';         //Standardsignatur
 
 // Modul: admin.js
 
 var showadminbar = true;             // Adminbar standardmäßig anzeigen?
 

 // Wer nicht mit den Standardknöpfen zufrieden sein sollte, lese sich bitte das Tutorial auf [[:w:de:Benutzer_Diskussion:DerHexer/admin.js]] durch.
 
 var delreason = true;             // Löschgründe ergänzen?
 var deletereasons = "Verschieberest|Verschieberest; Urheberrechtsverletzung|URV";
 
 var blockreason = true;             // Blockgründe ergänzen?
 var blockreasons = "Vandalismus|1|Vandalismus; Botlauf fehlerhaft|1|Bot";
 
 var protectreason = true;             // Schutzgründe ergänzen?
 var protectreasons = "fertig|indefinite|1|fertig";
  
 // **************** SETUP Ende ***********************************
 
 var user  = wgUserName ; // username wird automatisch übernommen
 
  // page type variables: namespaces
 var isArticle       = (wgNamespaceNumber == 0);
 var isArticleTalk   = (wgNamespaceNumber == 1);
 var isBild          = (wgCanonicalNamespace == "Image");
 var isCategory      = (wgCanonicalNamespace == "Category");
 var isTemplate      = (wgCanonicalNamespace == "Template");
 var isGeneric       = false;
 if ((!isBild) && (!isCategory) && (!isTemplate))
     isGeneric  = true;
 var isProject       = (wgCanonicalNamespace == "Project");
 
 // page type variables: namespace == -1
 var isSpecial  = (wgCanonicalNamespace == "Special");
 var isRestore = (isSpecial && (wgCanonicalSpecialPageName == "Undelete"));
 var isContrib = (isSpecial && (wgCanonicalSpecialPageName == "Contributions"));
 var isWatchlist = (isSpecial && (wgCanonicalSpecialPageName == "Watchlist"));
 
 // page type variables: namespace == -1
 var isTalk = (!isSpecial && isOdd(wgNamespaceNumber));
 
 // page type variables: other stuff
 var isPHP     = (document.URL.indexOf('index.php') > 0);
 var isDiff    = UrlParameters["diff"];
 var isEdit    = ((UrlParameters['action']=='edit') || (UrlParameters['action']=='submit'));
 var isHistory = (UrlParameters['action']=='history');
 
 // Admin functions
 var adminflag = false;
 if (isAdmin()) adminflag = true;
 
  /*
  * ab hier wird der Quickbar (der Kasten oben links) zusammengebaut
  *
  * zuerst die allgemeinen Variablen (hier bitte nix ändern!)
  */
 
 var Quickbar = '<div class="pBody noprint" id="p-quickbar" style="position:absolute; top:5px; z-index:10; width:14em;">';
 var xxx      = '';
 
 var trenner='<hr />';
 var br     ='<br />';
 
 var qbtarget = '_self';
 if (qbnewpage) qbtarget = '_blank';
 
 var dropdown = usedropdown;
 var scrpt    = '';
 var scrptn   = 0;
 var indropdown;
 var ind;
 
 /*
  * Quickbar-Zusammenbau, Teil 1:
  *
  * zuerst die Reihenfolge der einzelnen Abschnitte:
  */
 
 function buildQuickbar() {
    if (showadminbar) {
      showadminbar2 = "block";
    } else {
      showadminbar2 = "none";
    }
    // der folgende Abschnitt wird nur bei Admins eingeblendet
    qbAdminTools();
 }
 
 
 /*
  * Quickbar-Zusammenbau, Teil 2:
  *
  * die Belegung der einzelnen Abschnitte
  */
 
  function qbAdminTools() {
    if (!adminflag) return;
    
      if (showadminbar == false) {
        w (0,'<hr />','','');
        w (4,"switchbars('adminbar');switchbars('quickbar');","Adminbar an-/ausschalten","","Adminbar an-/ausschalten");
      }
      w (0,'<div id="adminbar" style="display:' + showadminbar2 + '"><hr />','Adminbar','');
      if (delreason) {
        w (0,'<center>Löschen</center>','Löschen','');
        decodeadminreasons(deletereasons);
      }
      if (blockreason) {
        w (0,'<center>Sperren</center>','Sperren','');
        decodeadminreasons(blockreasons);
      }
      if (protectreason) {
        w (0,'<center>Schützen</center>','Schützen','');
        decodeadminreasons(protectreasons);
      }
      w (0,'</div>','','');
  }
 
  /*
  * hier wird der Quickbar in die Seite geschrieben
  * (ab hier bitte nichts ändern)
  */
 
 buildQuickbar();
 document.write(Quickbar);
 
 if (typeof(version) == 'undefined') var version = "?";
 if (!isEdit || zeigeversion || isPHP) {
  document.write(
      '<div align=right>',
 
    (zeigeversion) ?
      ('<a href="#" onclick="amIuptodate()" title="Versionscheck">' + (adminflag ? 'A/' : '') + version + '</a>&nbsp;&nbsp;')
         : '',
 
    (!isEdit) ?
      ('<input type="checkbox" id="reloadme" name="reloadme" onchange="setReload()" title="Seite alle ' + (timeout/1000) + ' s neu laden?"></input>&nbsp;&nbsp;')
         : '&nbsp;',
 
      '<a href="/w/index.php?title=Spezial%3APrefixindex&from=',user,
          '&namespace=2" target="', qbtarget, '" title="Meine Seiten im Benutzernamensraum">',
          (user.split(' ')[0].length < 10) ? user.split(' ')[0] : 'MyPages',
      '</a>',
 
      '</div>');
 }                
 document.write(xxx,'</div>');
 
 if (scrpt > '') {
    document.write('<script> function _doopt (was) { switch (was) {', scrpt, '}}<\/script>');
    scrpt='';
 }
 
 //
 // ab hier functions
 //
 
 function w (was,lurl,linktext,targt,title) {
  if (!title) title=linktext;	
  if (!zeigehilfe) title='';  
  if (!dropdown) {
   switch (was) {
    case 0 : xxx=xxx+lurl;break;
    case 1 : xxx=xxx+'<a href="'+lurl+'" target="'+targt+'" title="'+title+'">'+linktext+'</a>&nbsp; ';break;
    case 2 : xxx=xxx+'<a href="#" onclick="newtext('+ lurl +')" title="'+title+'">'+linktext+'</a>&nbsp; ';break;  	
    case 3 : xxx=xxx+'<a href="#" onclick="insertTagsWrapper('+ lurl +')" title="'+title+'">'+linktext+'</a>&nbsp; ';break;  	   
    case 4 : xxx=xxx+'<a href="#" onclick="'+ lurl +'" title="'+title+'">'+linktext+'</a>&nbsp; ';break;  	   
   }	 	    
  } //if
  else //todo: Hilfe bei Dropdowns. Benutzt die überhaupt jemand????
  {
   var ltext='__________'.substr(1,ind)+linktext;
   switch (was) {
    case 0 : if (lurl==br) {xxx=xxx+'<option>'+linktext+'</option>';ind=2;} 
             else
             if (lurl==trenner) newdropdown(linktext);
             break;             
    case 1 : xxx=xxx+'<option value="1|'+lurl+'">'+ltext+'</option>';break;
    case 2 : xxx=xxx+'<option value="2|'+scrptn+'">'+ltext+'</option>';
             scrpt=scrpt+'case '+scrptn+':newtext('+lurl+');break;';scrptn++;break;    
    case 3 : xxx=xxx+'<option value="3|'+scrptn+'">'+ltext+'</option>';    
             scrpt=scrpt+'case '+scrptn+':insertTagsWrapper('+lurl+');break;';scrptn++;break;                     
    case 4 : xxx=xxx+'<option value="4|'+scrptn+'">'+ltext+'</option>';
             scrpt=scrpt+'case '+scrptn+':'+lurl+';break;';scrptn++;break;    
   } //switch	  	
  } //else	
 } //w
 
 function isEven(myNumber) {
    return (myNumber % 2 == 0);
 }
 function isOdd(myNumber) {
    return (! isEven(myNumber));
 }
 
 function insertTagsWrapper(tagOpen, tagClose, sampleText, subj) {
   if (subj > "") {
      if (document.editform.wpSummary.value > "") document.editform.wpSummary.value += ", ";
      document.editform.wpSummary.value = document.editform.wpSummary.value + subj;
   }
   insertTags(untagEscape(tagOpen), untagEscape(tagClose), untagEscape(sampleText))
 }
 
 function untagEscape(text)
 {
   text = text.replace(/%27/g, "'");
   text = text.replace(/%22/g, "\"");
   return(text);
 }
 
 function isAdmin() {
   var specialrights = false;
   if (typeof wgUserGroups != 'object') return(specialrights);
   if (typeof wgUserGroups[0] != 'string') return(specialrights); 
   for (i=0;i<wgUserGroups.length;i++) {
       if (wgUserGroups[i] == "sysop") specialrights = true;
   }
   return(specialrights); 
 }
 
 function importJavascriptL(page, lang)
 {
    try {
        /* check the parameters and set defaults */
        if(!page) throw("importJavascriptL: Missing parameter page.");
        if(!lang) lang = wgContentLanguage;
 
        /* create import url */
        var import_url = 'http://' + lang + '.wikisource.org' + wgScriptPath + '/index.php?title=User:' + page +
           '.js&action=raw&ctype=text/javascript&smaxage=2678400&dontcountme=s';
 
        /* import page */
        var Head = document.getElementsByTagName('head').item(0);
        var Script = document.createElement('script');
        Script.setAttribute('type', 'text/javascript');
        Script.setAttribute('src', import_url);
        Script.setAttribute('charset', 'utf-8');
        Head.appendChild(Script);
 
        return true;
    } catch(e) {
        alert(e.message);
        return false;
    }
 }
 
 function decodeadminreasons(adminreasons) { // DerHexer
   var adminreason = adminreasons.split('; ');
   for (i=0; i < adminreason.length; i++) {
     if(adminreason[i] == 'br') {
      w (0,'<br />','','');
     } else {
       var adminreasoncount = adminreason[i].split("|");
       switch(adminreasoncount.length) {
         case 1 : w (4,"deleting('" + adminreasoncount[0] + "');","" + adminreasoncount[0] + ""); break;
         case 2 : w (4,"deleting('" + adminreasoncount[0] + "');","" + adminreasoncount[1] + ""); break;
         case 3 : w (4,"blocking('" + adminreasoncount[0] + "', '" + adminreasoncount[1] + "');","" + adminreasoncount[2] + ""); break;
         case 4 : w (4,"protecting('" + adminreasoncount[0] + "', '" + adminreasoncount[1] + "', '" + adminreasoncount[2] + "');","" + adminreasoncount[3] + ""); break;
         case 5 : w (4,"protecting('" + adminreasoncount[0] + "', '" + adminreasoncount[1] + "', '" + adminreasoncount[2] + "', '" + adminreasoncount[3] + "');","" + adminreasoncount[4] + ""); break;
       }
     }
   }
 }
 
 function switchbars(ids)
 {
   var element = document.getElementById(ids);
   if(element.style.display == "none")
   {
     element.style.display = "block";
   }
   else
   {
     element.style.display = "none";
   }
 }
 
 // ***** FOOT-Block *****
 
 if (adminflag && (delreason || blockreason || protectreason)) 
    importJavascriptL('DerHexer/admin','de'); // [[Benutzer:DerHexer/admin.js]]


 hotcat_autocommit=1