User:Tinz/monobook.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
![]() | The accompanying .css page for this skin is at User:Tinz/monobook.css. |
// by de: User:PDD
// Originalskript ursprünglich gefunden bei [[:en:User:Angela]]
// bearbeitet von [[Benutzer:Maximus Rex]]
// bearbeitet von [[Benutzer:SirJective]]
// bearbeitet von [[Benutzer:BLueFiSH.as]]
// bearbeitet von [[Benutzer:Littl]] (2005-09-07)
// bearbeitet von [[Benutzer:Schwalbe]] (2006-02-03)
// bearbeitet wieder von [[Benutzer:Littl]] (2006-02-21)
// bearbeitet von [[Benutzer:PDD]] (ab 2006-04-22)
// *************** SETUP Teil 2 **********************************
// Parameter für diese monobook.js (Quickbar, Module etc.)
var zeigeversion = false; // monobook-Version anzeigen?
var zeigehilfe = true; // kurze Hilfetexte beim überfahren mit der Maus anzeigen?
var qbnewpage = true; // sollen Seiten aus dem QuickBar im neuen Fenster aufgerufen werden?
var rclimit = 50; // angezeigte Anzahl auf "Letzte Änderungen"
var nplimit = 50; // angezeigte Anzahl auf "Neue Artikel"
var nulimit = 100; // angezeigte Anzahl auf "Neuanmeldungs-Logbuch"
var nvlimit = 50; // angezeigte Anzahl auf "Alte, gesichtete Seiten"
var usedropdown = false; // Wenn keine Dropdowns gewünscht sind, hier false eintragen!
var timeout = 500000; // 50 Sekunden auf das Neuladen der Seite warten
var timezoneshift = 0; // Unterschied lokale Zeit zur Systemzeit (bleibt für Mitteleuropäer 0)
var debugme = false; // Debug-Modus?
var qbfontsize = 100; // Schriftgröße im QuickBar (relativ in Prozent)
// systemweite Default-Optionen aus [[MediaWiki:Monobook.js]]
NavigationBarShowDefault = 0; // Navi-Leisten: alle einklappen == 0; alle ausklappen == 15 (z.B.)
var oldEditsectionLinks = false; // "Bearbeiten"-Links bei Abschnitten ganz nach rechts?
var enable_linkFA = true; // "Featured Articles" in fremdsprachigen Wikipedias markieren?
// <nowiki>
// Modul: changeBeschriftungen.js
var beschriftungen = true; // kosmetische Änderungen an der MediaWiki-Oberfläche?
var markhandsoff = true; // fremde Benutzerseiten grafisch markieren?
// Beschriftungen: personal toolbar
var cbmytalk = "Meine Diskussion";
var cbprefs = "Einstellungen";
var cbwatchlist = "Beobachtungsliste";
var cbmyconts = "Meine Beiträge";
var cblogout = "X";
// Beschriftungen: current article
var cbedit = "Bearbeiten";
var cbhistory = "Versionen";
var cbmove = "Verschieben";
var cbwatch = "Beobachten";
var cbunwatch = "Ignorieren";
// Beschriftungen: tools
var cbwhatlinkshere = "Links a. d. Seite";
var cblinked = "Verlinkte Änderungen";
var cbmail = "E-Mail senden";
var cbupload = "Datei hochladen";
var cbprint = "Druckversion";
var cbblock = "User sperren";
// Beschriftungen: portlets
var cblang = "Interwiki";
// Modul: addEditAndRevertLinks.js
var editlinkoldversion = true; // Bearbeiten-Link für ältere Versionen anzeigen?
var editlinktxt = "edit"; // Text des Edit-Links
var revertwithreason = true; // Revert-Link mit Grund-Eingabe anzeigen?
var revlinktxt = "rv"; // Text des Revert-Links
var revlinkshowuser = true; // beim Revertieren über (Rev)-Link letzten Benutzer angeben?
var rvisminor = true; // sind Reverts mit "(rev)"-Link Minor-Changes?
var aearldefault = "reason: no improvement"; // Defaultgrund beim Revertieren
var aerhistory = true; // Links auch in der Versionsgeschichte?
var aearlhere = true; // Revertaktion im selben Browserfenster?
// **************** SETUP Ende ***********************************
// (PDD: note to self: version auch in alert-Funktion ändern!)
var version = '0.99a';
var user = wgUserName; // username wird automatisch übernommen
// aktuelle Zeit ermitteln
var jetzt = new Date();
// recalculate 4 furriners
var jetztfixed = jetzt.getTime();
jetztfixed += (timezoneshift * 3600 * 1000);
jetzt.setTime(jetztfixed);
// fill date variables
var Monate = new Array("", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
var Monatekurz = new Array("", "Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
var Jahr = jetzt.getYear();
if (Jahr < 999) Jahr += 1900;
var Monat = jetzt.getMonth() + 1;
var Tag = jetzt.getDate();
// fill WP date variables
var WPDatum = Tag + '._' + Monate[Monat] + '_' + Jahr;
var WPDatum2 = Jahr + '/' + Monate[Monat] + '/' + Tag;
var WPDatum3 = Monate[Monat] + ' ' + Jahr;
var WPDatum4 = Jahr + '-' + LeadingZero(Monat);
var WPDatum5 = Jahr + LeadingZero(Monat) + '/';
var refDatum = Tag + '. ' + Monatekurz[Monat] + '. ' + Jahr;
var refDatumlang = Tag + '. ' + Monate[Monat] + ' ' + Jahr;
// Lemma-Varianten (work in progress) + redundant zu addLogsLink etc.
// get page title
var pagetitle = wgPageName;
var spagetitle = wgTitle;
// do real spaces; fix for lemmas with '&'
var ptitle = pagetitle.replace(/_/g, " ").split('&').join('%26');
var sptitle = spagetitle.replace(/_/g, " ").split('&').join('%26');
// do + escaped (" " to "+")
var pesctitle = spaceEscape(ptitle);
var spesctitle = spaceEscape(sptitle);
// lemmatitle for external lookup
var spesctitlelookup = spesctitle.split('+(')[0];
// Komma-Lemma für Personen (Klammerzusätze weg etc.)
var personlemma = spagetitle.split(' (')[0];
var titlesplit = personlemma.split(' ');
if (titlesplit.length > 1) {
personlemma = titlesplit[titlesplit.length-1] + ',';
for (i=0; i<(titlesplit.length-1); i++)
personlemma=personlemma + " "+titlesplit[i];
}
// 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]);
}
}
// page type variables: namespaces
var isArticle = (wgNamespaceNumber == 0);
var isArticleTalk = (wgNamespaceNumber == 1);
var isBild = (wgCanonicalNamespace == "Image");
var isDatei = (wgCanonicalNamespace == "File");
var isCategory = (wgCanonicalNamespace == "Category");
var isTemplate = (wgCanonicalNamespace == "Template");
var isGeneric = false;
if ((!isBild) && (!isDatei) && (!isCategory) && (!isTemplate))
isGeneric = true;
var isProject = (wgCanonicalNamespace == "Project"); /* NR Wikipedia: */
var isHelp = (wgCanonicalNamespace == "Help"); /* NR Hilfe */
// page type variables: namespace == -1
var isSpecial = (wgCanonicalNamespace == "Special");
var isRestore = (isSpecial && (wgCanonicalSpecialPageName == "Undelete"));
var isContrib = (isSpecial && (wgCanonicalSpecialPageName == "Contributions"));
var isDelContrib = (isSpecial && (wgCanonicalSpecialPageName == "DeletedContributions"));
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');
// individual page specials
var isLKpage = false;
if ((isProject) && (wgTitle.indexOf('Löschkandidaten') != -1))
isLKpage = true;
// userpage/name stuff, vor allem für IPs
var userPageOwner = "";
if (isContrib || isDelContrib) {
if (UrlParameters['target']) userPageOwner = UrlParameters['target'].split('+').join('_');
else {
userPageOwner = decodeURIComponent(location.href.substring(location.href.indexOf("/wiki/") + 6)).split('#')[0];
userPageOwner = userPageOwner.substring(userPageOwner.indexOf("Beiträge/") + 9);
}
}
// page type variables: user & user discussion lumped together
var isUserpage = ( (wgCanonicalNamespace == "User") || (wgCanonicalNamespace == "User_talk") );
var isUserMainpage = false;
if (isUserpage)
if (wgTitle == wgTitle.split("/")[0]) {
isUserMainpage = true;
userPageOwner = wgTitle;
}
// handelt es sich um eine IP?
var isIPUser = false;
if (userPageOwner != "")
if (userPageOwner.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/) != null)
if ((userPageOwner.split(".")[0] > 1) && (userPageOwner.split(".")[0] < 255))
isIPUser = true;
// Admin & editor functions
var adminflag = false;
if (hasRight("sysop")) adminflag = true;
var editorflag = false;
if (hasRight("editor")) editorflag = true;
// Browserkram
var userbrowser = "Standard";
if (navigator.userAgent.indexOf("Opera") > -1)
userbrowser = "Opera";
if (navigator.userAgent.indexOf("Safari") > -1)
userbrowser = "Standard";
if (navigator.userAgent.indexOf("MSIE") > -1) {
userbrowser = "IE";
if (navigator.userAgent.indexOf("MSIE 7") > -1)
userbrowser = "IE7";
}
// force Browserswitches
if ((userbrowser == "IE") || (userbrowser == "IE7")) {
godmodelight = false;
showredundantlinks = false;
}
if (userbrowser == "Opera") {
godmodelight = false;
}
//
// 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 dodropdown (aktion) {
var zutun = aktion.split('|');
var was = Number(zutun[0]);
var wie = zutun[1];
switch (was) {
case 1 : window.open (wie); break;
case 2 : _doopt (Number(wie)); break;
case 3 : _doopt (Number(wie)); break;
case 4 : _doopt (Number(wie)); break;
} //switch
} //dodropdown
function newdropdown (oname) {
closedropdown();
xxx = xxx+'<select size=1 onchange="dodropdown(this.value);" style="width:135px;font-size:9px;">';
if (oname > '') { xxx = xxx+'<option>'+oname+'</option>'; }
indropdown = true;
ind=2;
}
function closedropdown () {
if (indropdown) xxx=xxx+'</select>';
indropdown = false;
}
function newtext (subj,text,wo)
{ //wo=1 : Text austauschen
//wo=2 : Text am Ende anhängen
//wo=3 : Text vorne Einfügen
if (subj > "") {
if (document.editform.wpSummary.value > "") document.editform.wpSummary.value += ", ";
document.editform.wpSummary.value = document.editform.wpSummary.value + subj;
}
switch (wo) {
case 1 : document.editform.wpTextbox1.value=text+'\n'; break;
case 2 : document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+'\n'+text;break;
case 3 : document.editform.wpTextbox1.value=text+'\n'+document.editform.wpTextbox1.value;break;
}
document.editform.wpTextbox1.focus();
}
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))
}
// From PDD helperFuncions
// helperFunctions.js:
// enthält obligatorische Hilfsfunktionen für [[Benutzer:PDD/monobook.js]]
////////////////////////////////////////////////////////////////////////////////////////
// URI-Parameter für fillActionPage(), benutzt in eintragen.js, hinweise.js
// außerdem in addEditAndRevertLinks.js (nur subjp, minorp, speichernp)
// nur in [[Benutzer:Euku/markErledigt.js]] : subjaddp (plus add)
var subjp = "subj"; // Subject
var subjaddp = "subjadd"; // Subject zum Ranhängen
var textp = "txt"; // Für Text-Austausch
var insp = "ins"; // Vor dem Text einfügen
var addp = "add"; // an Text anhängen
var minorp = "minor"; // (k)leine Änderung
var nocreatep = "nocreate"; // beim Eintragen keine neue Seite generieren
// für autosave:
var asuserp = "asuser"; // usertoken
var astimep = "astime"; // timestamptoken
////////////////////////////////////////////////////////////////////////////////////////
// URI-Parameter für setReload() und doReload()
var reloadme = "neuladen"; // merker für reload
////////////////////////////////////////////////////////////////////////////////////////
// absenden()
// aufgerufen aus fillActionPage() und hinweis() in hinweise.js
function absenden() {
if (!debugme)
document.editform.wpSave.click();
else
alert ('Speichern');
}
////////////////////////////////////////////////////////////////////////////////////////
// fillActionPage() (früher aktion(), ganz früher loeschkandidat() )
// von Littl, ergänzt von Revvar
//
// Entnimmt Parameter aus der URI, fügt sie in die Textfelder ein und klickt ggf. auf "Speichern"
// (die aufgerufene Seite ist dabei immer im Editmodus)
function fillActionPage() {
// wenn Bausteineinfügung am Anfang:
// nur einfügen, wenn Seite noch nicht gelöscht
var pagedeleted = false;
if (document.getElementById("newarticletext"))
pagedeleted = true;
// nur einfügen, wenn noch nicht eingetragen
// der URI-Aktionsparameter ist immer entweder insp oder textp oder addp, daher else
var doubleinsert = false;
if (UrlParameters[textp] > "")
doubleinsert = findDoubleEntry(UrlParameters[textp], document.editform.wpTextbox1.value);
else if (UrlParameters[insp] > "")
doubleinsert = findDoubleEntry(UrlParameters[insp], document.editform.wpTextbox1.value);
else if (UrlParameters[addp] > "")
doubleinsert = findDoubleEntry(UrlParameters[addp], document.editform.wpTextbox1.value);
// Textfeld ausfüllen
if (UrlParameters[textp] > "") {
if (doubleinsert)
document.editform.wpTextbox1.value = UrlParameters[textp] + document.editform.wpTextbox1.value;
else
document.editform.wpTextbox1.value = UrlParameters[textp];
}
else if (UrlParameters[insp] > "")
document.editform.wpTextbox1.value = UrlParameters[insp] + document.editform.wpTextbox1.value;
else if (UrlParameters[addp] > "")
document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + UrlParameters[addp];
// weitere Felder ausfüllen
if (UrlParameters[subjp] > "")
document.editform.wpSummary.value = UrlParameters[subjp];
if (UrlParameters[subjaddp] > "")
document.editform.wpSummary.value += UrlParameters[subjaddp];
if (UrlParameters[minorp] == "1")
document.editform.wpMinoredit.checked=true;
// wenn Textbaustein doppelt: Warnung
if (doubleinsert)
do_rc_alert("Artikel enthält den gewählten Baustein bereits!");
// wenn Seite schon gelöscht: Warnung
else if (pagedeleted && (UrlParameters[nocreatep] == "1"))
do_rc_alert("Artikel wurde bereits gelöscht!");
// wenn autosave eingeschaltet: Seite speichern
else if (validate_asuser (UrlParameters[asuserp])) {
if (validate_astime (UrlParameters[astimep]))
absenden();
else alert("Token zur automatischen Speicherung ist abgelaufen.");
}
}
if ((isEdit) && (!isSpecial)) addOnloadHook(fillActionPage);
////////////////////////////////////////////////////////////////////////////////////////
// findDoubleEntry()
// aufgerufen aus fillActionPage()
function findDoubleEntry(baustein, artikeltext) {
var doublette = false;
// wenn keine Vorlage enthalten: Abbruch
if (baustein == baustein.split("{{")[0]) return (doublette);
var chkbaustein = baustein.split("{{")[1].split("}}")[0].split("|")[0];
chkbaustein = "{{" + chkbaustein ;
if (navigator.userAgent.indexOf("Opera") == -1) {
// checking
// Zeilen wie die nächste generieren Fehler mit Opera, daher diesen Bereich auskommentiert
// Fehler: RegExp.prototype.compile: syntax error in pattern or string
// mit Firefox2 und IE7 geht das problemlos, hmm
if (artikeltext.search(chkbaustein) != -1)
doublette = true;
// Kleinschreibung & SLA & substs
if (chkbaustein == "{{Löschen") {
if (artikeltext.search("{{löschen") != -1)
doublette = true;
if (artikeltext.search("{{SLA") != -1)
doublette = true;
}
if (chkbaustein == "{{subst:Löschantrag") {
if (artikeltext.search("{{Löschantragstext") != -1)
doublette = true;
}
if (chkbaustein == "{{subst:Qualitätssicherung") {
if (artikeltext.search("{{QS-Antrag") != -1)
doublette = true;
}
} // end of Opera hack
return (doublette);
}
////////////////////////////////////////////////////////////////////////////////////////
// doReload()
// setzt nach Reload die Reload-Selection wieder
function doReload() {
if (UrlParameters[reloadme] == "1") {
document.getElementById('reloadme').checked=true;
setReload();
}
}
if (!isEdit) addOnloadHook(doReload);
////////////////////////////////////////////////////////////////////////////////////////
// extendWpReason()
// hebt 255-Zeichen-Textfeldbegrenzung auf
function extendWpReason() {
var loeschgrund;
if (loeschgrund = document.getElementById('wpReason')) {
loeschgrund.setAttribute('maxLength',512);
}
}
if (wgAction == "delete") addOnloadHook(extendWpReason);
////////////////////////////////////////////////////////////////////////////////////////
// setReload()
// aufgerufen, wenn im Quickbar die Reload-Selection gesetzt wird
var timeoutaktiv;
function setReload() {
if (document.getElementById('reloadme').checked && (UrlParameters[reloadme] != "1")) {
var uri = (document.URL.indexOf('?') >0) ? ('&' + reloadme + '=1') : ('?' + reloadme + '=1');
timeoutaktiv = window.setTimeout(location.href=location.href+uri, timeout);
}
else if (document.getElementById('reloadme').checked && (UrlParameters[reloadme] == "1")) {
timeoutaktiv=window.setTimeout("location.reload()", timeout);
}
else {
window.clearTimeout(timeoutaktiv); // bizarr, timeoutaktiv ist hier gar nicht belegt?
}
}
/*
* Stringlänge überprüfen für Zusammenfassungszeile
*/
function EditCommentLength(str) {
return (199-str.length);
}
////////////////////////////////////////////////////////////////////////////////////////
// insertAfter()
// neuen Node nach einem referenceNode einfügen
function insertAfter(parent, node, referenceNode) {
parent.insertBefore(node, referenceNode.nextSibling);
}
////////////////////////////////////////////////////////////////////////////////////////
// trim()
// Leerzeichen am Anfang und Ende entfernen
function trim(str) {
return str.replace(/^\s*|\s*$/g,"");
}
////////////////////////////////////////////////////////////////////////////////////////
// do_rc_alert()
function do_rc_alert(str) {
if (rcalertbox) alert(str);
}
//
// Helper-Funktion getLemma()
// (aufgerufen von eintragen() aus der eintragen.js )
//
function getLemma () {
var lemma;
lemma = wgPageName;
return lemma;
}
//
// Helper-Funktion extractLemma()
// hack: nur noch für contribs
// (aufgerufen von eintragen() aus der eintragen.js )
//
function extractLemma () { //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;
}
// token functions
function generate_asuser () {
return encodeURIComponent(wgUserName);
}
function validate_asuser (asuser) {
var retval = false;
if (encodeURIComponent(asuser) == generate_asuser() )
retval = true;
return retval;
}
function generate_astime () {
var arbitrary_datestamp = Date.UTC(2008,10,1,0,0,0,0); // 1.11.2008
var current_date = new Date();
var current_timestamp = current_date.getTime();
return ( Math.floor((current_timestamp - arbitrary_datestamp) / 1000) );
}
function validate_astime (astime) {
var retval = false;
var timediff = generate_astime() - astime;
if ((timediff >= 0) && (timediff < 45))
retval = true;
return retval;
}
// Krimskrams
function isEven(myNumber) {
return (myNumber % 2 == 0);
}
function isOdd(myNumber) {
return (! isEven(myNumber));
}
function LeadingZero(x) {
return (x >= 10 || x < 0 ? "" : "0") + x;
}
// Funktion: importPage()
// zum Einbinden der Module
function importPage(seite, lang) { // all languages support
name='User:'; // international name, works in all wikipedias
if(!lang) lang = wgContentLanguage;
// new version
seite = 'http://' + lang + '.wikipedia.org' + wgScriptPath + '/index.php?title=' + name + seite +
'&action=raw&ctype=text/javascript&smaxage=0';
var head = document.getElementsByTagName('head').item(0);
var js = document.createElement('script');
js.setAttribute('type', 'text/javascript');
js.setAttribute('src', seite);
js.setAttribute('charset', 'utf-8');
head.appendChild(js);
return false;
// old version
// document.write('<SCRIPT TYPE="text/javascript" SRC="http://' + lang
// + '.wikipedia.org/w/index.php?title=' + name + seite
// + '&action=raw&ctype=text/javascript&smaxage=0"><\/SCRIPT>');
}
/*
* 3xImport von [[Benutzer:Revvar]]
* aus [[Benutzer:Revvar/wikibits.js]] und [[Benutzer:Revvar/monobook.js]]
*/
/**
Imports a user javascript page from any wikipedia project into the actual document.
@version 0.1
@date 2007/03/22
@author: based on function importPage from [[de:User:PDD]]s monobook.js, extended by [[de:User:Revvar]]
@param page Name of the user page without the "user:" prefix and the ".js" appendix
@param lang (optional) Language code of the corresponding wikipedia project. Default is the callers project.
@return "true" on success, "false" otherwise
*/
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=0';
/* 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;
}
}
/**
Imports a user css page from any wikipedia project into the actual document.
@version 0.1.1
@date 2007/03/26
@author: based on function importPage from [[de:User:PDD]]s monobook.js, rewritten by [[de:User:Revvar]]
@param page Name of the user page without the "user:" prefix and the ".css" appendix
@param lang (optional) Language code of the corresponding wikipedia project. Default is the callers project.
@return "true" on success, "false" otherwise
*/
function importCSSL(page, lang)
{
try {
/* check the parameters and set defaults */
if(!page) throw("importCSSL: Missing parameter page.");
if(!lang) lang = wgContentLanguage;
/* create import url */
var import_url = 'http://' + lang + '.wikipedia.org' + wgScriptPath + '/index.php?title=User:' + page +
'.css&action=raw&ctype=text/css&smaxage=0';
/* import page */
var Head = document.getElementsByTagName('head').item(0);
var CSS = document.createElement('style');
CSS.setAttribute('type', 'text/css');
CSS.setAttribute('charset', 'utf-8');
CSS.appendChild(document.createTextNode("@import url(" + import_url + ");"));
Head.appendChild(CSS);
return true;
} catch(e) {
alert(e.message);
return false;
}
}
/**
Asynchron import of a Javascript file from the toolserver.
@version 0.1
@date 2007/04/24
@author based on function importPage from [[de:User:PDD]]s monobook.js, rewritten by [[de:User:Revvar]]
@param path Path to the toolserver script without the ".js" appendix
*/
function import_JS_from_TS(path)
{
try {
/* check the parameter */
if(!path) throw("import_JS_from_TS: Missing parameter path.");
/* create import url */
var import_url = 'http://toolserver.org/' + path + '.js';
/* import */
setTimeout(function(e) {
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);
}, 1000);
} catch(e) {
alert(e.message);
return;
}
}
// ***** FOOT-Block *****
// </nowiki> <- nicht löschen!!!
// ausgelagerte obligatorische Funktionen
//importJavascriptL('PDD/supportFuncs','de'); // [[Benutzer:PDD/supportFuncs.js]]
//importJavascriptL('PDD/helperFunctions','de'); // [[Benutzer:PDD/helperFunctions.js]]
// Revert addEditAndRevertLinks
if (!(!aerhistory && isHistory) && !isEdit) {
if (editlinkoldversion || revertwithreason)
importJavascriptL('Tinz/addEditAndRevertLinks','en'); // [[:de:Benutzer:PDD/addEditAndRevertLinks.js]]
}
// Und hier ist die monobook.js zu Ende.