Benutzer:Jonathan Groß/monobook.js
aus Wikisource, der freien Quellensammlung
Hinweis: Leere nach dem Speichern den Browser-Cache, um die Änderungen zu sehen: Mozilla/Firefox: Shift-Strg-R, Internet Explorer: Strg-F5, Opera: F5, Safari: ⌘-R, Konqueror: Strg-R.
var REHeading = (wgTitle.indexOf("RE:")==-1) ? "" : (wgTitle.slice(wgTitle.indexOf("RE:")+4, wgTitle.length)); MyChar = new Array('<tt>', '<ref>', '{{SperrSchrift|', '{{Polytonisch|', '·', '‚', '–', '…', '〈', '½', '¼', '¾', 'ʿ', 'ʾ'); MyCharText = new Array('<tt>', '<ref>', '{{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> ') : '', (!isEdit) ? ('<input type="checkbox" id="reloadme" name="reloadme" onchange="setReload()" title="Seite alle ' + (timeout/1000) + ' s neu laden?"></input> ') : ' ', '<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> ';break; case 2 : xxx=xxx+'<a href="#" onclick="newtext('+ lurl +')" title="'+title+'">'+linktext+'</a> ';break; case 3 : xxx=xxx+'<a href="#" onclick="insertTagsWrapper('+ lurl +')" title="'+title+'">'+linktext+'</a> ';break; case 4 : xxx=xxx+'<a href="#" onclick="'+ lurl +'" title="'+title+'">'+linktext+'</a> ';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]]