Benutzer:Sinn/monobook2.js
aus Wikipedia, der freien Enzyklopädie
< Benutzer:Sinn
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 8. September 2021 um 17:49 Uhr durch imported>Ladsgroup(567577) (Maintenance: Replacing legacy global variable (phab:T72470)).
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
// 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]);
}
}
// <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 [[Benutzer_Diskussion:DerHexer/admin.js]] durch.
var delreason = true; // Löschgründe ergänzen?
var deletereasons = "Unfug; Kein Artikel; keine Diskussion|k. Disk.; Unnötiger Redirect|Unnötiger Red.; Falschschreiberedirect; Werbung; Wiedergänger; Falsches Lemma; Wunsch des Benutzers; Nicht von Benutzer angelegt|Nicht von Benutzer; Verwaiste Diskussionsseite|Verwaiste Disk.; Offensichtlich enyzklopädisch irrelevant|Irrelevant; Offensichtliche Urheberrechtsverletzung|URV; Unzureichende Lizenzierung|Unzureichende Lizenz; Ohne Lizenz; Unnötige Bildwarnung von [[Benutzer:DuesenBot]]|DBot; Unnötige Bildbeschreibungsseite zu Commons-Bild|Unn-CBild";
var blockreason = true; // Blockgründe ergänzen?
var blockreasons = "Erstellen unerwünschter Einträge|1|UA1; Erstellen unerwünschter Einträge|2|UA2; Erstellen unerwünschter Einträge|7|UA7; Nicht nachvollziehbares Entfernen längerer Textabschnitte durch einen anonymen Benutzer von dieser IP-Adresse|1|L1; Nicht nachvollziehbares Entfernen längerer Textabschnitte durch einen anonymen Benutzer von dieser IP-Adresse|2|L2; Unsinnige Bearbeitungen eines anonymen Benutzers von dieser IP-Adresse|2|uV-2; Unsinnige Bearbeitungen eines anonymen Benutzers von dieser IP-Adresse|1|uV-1; Unsinnige Bearbeitungen eines anonymen Benutzers von dieser IP-Adresse|5|uV-5; Unsinnige Bearbeitungen eines anonymen Benutzers von dieser IP-Adresse|7|uV-7; Unsinnige Bearbeitungen eines anonymen Benutzers von dieser IP-Adresse|31|uV31; Kein Wille zur enzyklopädischen Mitarbeit erkennbar|infinite|kWzeM; Vandalismusaccount|infinite|VAi; Ungeeigneter Benutzername|infinite|UB; Sperrumgehung durch gesperrten Benutzer|infinite|Sp. GB; Beteiligung an einem Editwar|2|EW2";
var protectreason = true; // Schutzgründe ergänzen?
var protectreasons = "IP-Vandalismus|infinite|1|IP-Vand Diskussion halb; V|1 \{\{Offener Proxy\}\}|infinite|2|OProxy; \{\{Gesperrter Benutzer\}\}|infinite|2|Gesperrter Benutzer";
var blockedtext = " IP für zwei Stunden gesperrt."; // Standardtext für die VM
var allowlogblock = true; // Schnellsperre aus dem Neuanmeldungslogbuch gestatten
var warningafterdeletion = true; // Warnung nach Löschung
// Modul: rollback.js
var newrollback = true; // Erweiterten Rollback aktivieren
var allowmessage = true; // Rollback mit Ansprache und VM-Meldung bzw. Block aktivieren? Dafür bitte PopUps für de.wikipedia.org aktivieren.
var autowarning = true; // Wenn die ergänzte Vorlage automatisch gespeichert werden soll, ändere false auf true.
var leveltwowarning = false; // Wenn du zwei Warnungen vor einer VM oder Sperre setzen möchtest, gib true ein, um einen Standardkommentar zu ergänzen. Ansonsten ersetze false/true durch eine zweite Vorlage inklusive Unterschrift.
var optionnames = false; // Hier bitte alle Bezeichnungen der Rollbacks angeben, so man mit den Standards nicht zufrieden ist
var templatenames = false; // Hier bitte die zu verwendenden Vorlagen angeben. Genausoviele wie darüber, dies ist eine 1:1-Zuordnung!
// Auf '1' setzen, um mehrere, unter optionnames und templatenames selbstdefinierte Links hinter dem normalen Zurücksetzen zu ergänzen; auf '2', wenn die oben definierten Links in einem Dropdownmenü erscheinen sollen; auf '3', wenn man keine Ansprache, aber ein Zusammenfassungskürzel wie beim (rev) haben möchte; auf '4', wenn man automatisch sperren möchte
var rollbacktype = '1';
// **************** SETUP Ende ***********************************
var user = wgUserName ; // username wird automatisch übernommen
// page type variables: namespaces
var isArticle = (mw.config.get('wgNamespaceNumber') == 0);
var isArticleTalk = (mw.config.get('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(mw.config.get('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 showadminbar2 = '';
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 + '.wikipedia.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++) {
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";
}
}
//
// Helper-Funktion getLemma()
// extrahiert Lemma, entfernt "Bild:" und "Kategorie:"
// (aufgerufen von eintragen() aus der eintragen.js, nowcomm() )
//
function getLemma () { //Littl
var lemma;
if ((isContrib) && ( UrlParameters["target"] > "" ))
lemma = UrlParameters["target"];
else if ( UrlParameters["title"] > "" )
lemma = UrlParameters["title"];
else {
lemma = decodeURIComponent(location.href.substring(location.href.indexOf("/wiki/") + 6)).split('#')[0];
// fix linky links (?redirect=no)
//lemma = lemma.split['\x3F'][0];
if (lemma.indexOf("redirect=no")!=-1)
lemma=lemma.substring(0,lemma.indexOf("redirect=no")-1);
}
// if (lemma.substring(0, 5) == "Bild:") lemma=lemma.slice(5);
// if (lemma.substring(0, 10) == "Kategorie:") lemma=lemma.slice(10);
if (isPHP) lemma=lemma.split('+').join('_');
return lemma;
}
// ***** FOOT-Block *****
if (adminflag && (delreason || blockreason || protectreason) && wgUserName == 'Sinn')
importJavascriptL('DerHexer/admin','de'); // [[Benutzer:DerHexer/admin.js]]
// Schnellsperre aus dem Logbuch ergänzen
if (allowlogblock)
importJavascriptL('DerHexer/logblock','de'); // [[Benutzer:DerHexer/logblock.js]]
// Erweiterten Rollback aktivieren
if (newrollback)
importJavascriptL('DerHexer/rollback','de'); // [[Benutzer:DerHexer/rollback.js]]