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
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
// helperFunctions.js:
// enthält obligatorische Hilfsfunktionen für [[Benutzer:PDD/monobook.js]]
// <nowiki>
////////////////////////////////////////////////////////////////////////////////////////
// URI-Parameter für fillActionPage(), benutzt in eintragen.js, hinweise.js
// außerdem in addEditAndRevertLinks.js (nur subjp, minorp, speichernp)
var subjp = "subj"; // Subject
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 speichernp = "speichern"; // Auf "Speichern" klicken
var nocreatep = "nocreate"; // beim Eintragen keine neue Seite generieren
var wpReason = "wpReason"; // Schnelllöschgrund
////////////////////////////////////////////////////////////////////////////////////////
// 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) {
if (UrlParameters[wpReason] > "") {
document.getElementById("deleteconfirm").wpConfirmB.click();
} else {
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];
else if (UrlParameters[wpReason] > "")
document.getElementById("deleteconfirm").wpReason.value = UrlParameters[wpReason];
// weitere Felder ausfüllen
if (UrlParameters[subjp] > "")
document.editform.wpSummary.value = UrlParameters[subjp];
if (UrlParameters[minorp] == "1")
document.editform.wpMinoredit.checked=true;
// wenn Textbaustein doppelt: Warnung
if (doubleinsert)
alert("Artikel enthält den gewählten Baustein bereits!");
// wenn Seite schon gelöscht: Warnung
else if (pagedeleted && (UrlParameters[nocreatep] == "1"))
alert("Artikel wurde bereits gelöscht!");
// wenn autosave eingeschaltet: Seite speichern
else if (UrlParameters[speichernp] == "1")
absenden();
if (UrlParameters["title"] == "Benutzer:DerHexer/Redirects" && UrlParameters["action"] == "edit") {
function newRequest()
{
try {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else {
return new ActiveXObject("MSXML2.XMLHTTP");
}
} catch (e) {
return false;
}
}
var req;
if (req = newRequest()) {
var text = "/w/query.php?format=xml&what=allpages&aplimit=100&apnamespace=11&apfrom=" + UrlParameters["beginning"] + "&apfilterredir=all";
req.open("GET", text, false);
req.send("");
var redir = req.responseXML.getElementsByTagName("title");
}
var test = 0;
for (i = 0; i < redir.length; i++) {
var redir2 = "/w/query.php?format=xml&what=allpages&aplimit=1&apnamespace=10&apfrom=" + redir[i].childNodes[0].nodeValue.replace(/Vorlage Diskussion:/, ""); + "&apfilterredir=all";
var req;
if (req = newRequest()) {
req.open("GET", redir2, false);
req.send("");
var redir_compare = req.responseXML.getElementsByTagName("title");
var redir_compare_disk = "Vorlage Diskussion:" + redir_compare[0].childNodes[0].nodeValue.replace(/Vorlage:/, "");
if ( (redir[i].childNodes[0].nodeValue != redir_compare_disk) && (redir[i].childNodes[0].nodeValue.search(/\//) == -1) && (redir[i].childNodes[0].nodeValue.search(/Archiv/i) == -1) ) {
document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + "http://de.wikipedia.org/w/index.php?title=" + redir[i].childNodes[0].nodeValue.replace(/ /g, "%20").replace(/&/g, "%26") + "&redirect=no&action=delete&wpReason=Verwaiste%20Diskussionsseite.&speichern=1<br />";
test = 1;
}
if ((i == (redir.length-1)) && (test == 0)) {
document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + redir[i].childNodes[0].nodeValue;
}
}
}
}
}
if (((isEdit) && (!isSpecial)) || (UrlParameters[wpReason] > "")) 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);
}
////////////////////////////////////////////////////////////////////////////////////////
// initQuickbar()
// positioniert den Quickbar
function initQuickbar() {
document.getElementById("p-logo").style.visibility = "hidden"; //logo ausblenden (revvar)
document.getElementById("column-one").style.paddingTop =
(10+document.getElementById("p-quickbar").clientHeight)+"px";
var quickbarpos = "fixed";
// IE6- kann kein position:fixed und hat demzufolge Pech
if ( navigator.userAgent.indexOf("MSIE") > -1 )
quickbarpos = "absolute";
// IE7 und als MSIE maskiertes Opera 8/9: können position:fixed
if (( navigator.userAgent.indexOf("MSIE 7") > -1 ) || ( navigator.userAgent.indexOf("Opera") > -1 ))
quickbarpos = "fixed";
document.getElementById("p-quickbar").style.position = quickbarpos;
}
addOnloadHook(initQuickbar);
////////////////////////////////////////////////////////////////////////////////////////
// doReload()
// setzt nach Reload die Reload-Selection wieder
function doReload() {
if (UrlParameters[reloadme] == "1") {
document.getElementById('reloadme').checked=true;
setReload();
}
}
if (!isEdit) addOnloadHook(doReload);
////////////////////////////////////////////////////////////////////////////////////////
// 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?
}
}
////////////////////////////////////////////////////////////////////////////////////////
// TaggAll()
// von Schwalbe nach Anregung von Poupou, ursprüngl. von BLueFiSH.as
// (fast) alle Checkboxen auswählen, für Spezial:Undelete Versionenwiederherstellung
function TaggAll() {
for(var i=3;i<=10000;i++)
document.getElementsByTagName("input")[i].checked=true;
}
////////////////////////////////////////////////////////////////////////////////////////
// undate()
// von [[Benutzer:D]]
// entlinkt verlinkte Daten
function undate() {
var tb=document.editform.wpTextbox1;
tb.value=tb.value.replace(/\[\[\s*(\d+(er)?( v. Chr.)?)\s*\]\]/g, "$1")
.replace(/\[\[\s*(\d+\. (Jahrhundert|Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember))\s*\]\]/g, "$1");
}
////////////////////////////////////////////////////////////////////////////////////////
// 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,"");
}
// </nowiki>