Benutzer:Thaniel/eintragen.js
aus Wikipedia, der freien Enzyklopädie
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
importPage('PDD/alertOnChanges.js');
// LA (generisch, Bild, Kategorie, Vorlage) / QS / URV / Vandalen eintragen
//
// Fragt nach der Begründung, füllt die Eingabefelder aus, und ruft die Löschkandidatenseite/QSSeite auf.
// Ursprünglich von [[Benutzer:BLueFiSH.as]]
// Modifiziert von [[Benutzer:Littl]]
// Modifiziert von [[Benutzer:Revvar]] (Aufpassen, falls bei SLA Seite bereits gelöscht)
// Modifiziert von [[Benutzer:PDD]] (Vandalensperrmeldung, Kategorien-LAs, viele kleine Fixes)
// Modifiziert von [[Benutzer:C-M]] (SLA-Shortcuts)
// <nowiki>
// Funktion eintragen(typ)
// Trägt, je nach Typ der Meldung, Bausteine bzw. Begründung auf den Seiten ein
// (aufgerufen aus der monobook.js)
//
function eintragen(typ) { // Littl, PDD
var wpath = 'http://de.wikipedia.org/w/index.php?title=';
var wnamesp = 'Wikipedia:';
// alert (for old monobooks)
if (minimalVersionStrong(40) < 40) return;
if ((typ > 12) || (typ == 9) || (typ == 11)) alert("Funktion " + typ + " noch nicht implementiert!");
if ((typ > 12) || (typ == 9) || (typ == 11)) return;
// Variables that should be defined in your monobook
if (typeof(autosave) == 'undefined')
autosave = false;
if (typeof(signogrundparam) == 'undefined')
signogrundparam = false;
if (typeof(emptylinesafterhr) == 'undefined')
emptylinesafterhr = 1;
if (typeof(defaultSLA) == 'undefined')
defaultSLA = "";
if (typeof(defaultVandal) == 'undefined')
defaultVandal = "vandaliert in [[]]";
if (typeof(Monate) == 'undefined')
Monate = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
if (typeof(jetzt) == 'undefined')
jetzt = new Date();
if (typeof(Jahr) == 'undefined')
Jahr = jetzt.getYear(); if (Jahr < 999) Jahr += 1900;
if (typeof(WPDatum) == 'undefined')
WPDatum = jetzt.getDate() + '._' + Monate[jetzt.getMonth()] + '_' + Jahr;
if (typeof(WPDatum2) == 'undefined')
WPDatum2 = Jahr + '/' + Monate[jetzt.getMonth()] + '/' + jetzt.getDate();
if (typeof(isEdit) == 'undefined')
isEdit = (document.URL.indexOf('action=edit') > 0) || (document.URL.indexOf ('action=submit') > 0);
if (typeof(isUserpage) == 'undefined')
isUserpage = ( (wgCanonicalNamespace == "User") || (wgCanonicalNamespace == "User_talk") );
if (typeof(isSpecial) == 'undefined')
isSpecial = (wgCanonicalNamespace == "Special");
if (typeof(isContrib) == 'undefined')
isContrib = (isSpecial && (wgCanonicalSpecialPageName == "Contributions"));
if (typeof(isPHP) == 'undefined')
isPHP = (document.URL.indexOf('index.php') > 0);
// Variablen für die einzelnen Bausteine
var kurz = "";
var vorlage = "";
var seite = "";
// bei bestimmten Vorlagen wird Grund als Parameter übergeben
// (momentan nur Vorlage:Löschantrag, Vorlage:Löschen, Vorlage:QS)
var grundparam = false;
// bestimmte Subst-Vorlagen haben schon noincludes
// (momentan nur Vorlage:Löschantrag)
var substnoinclude = false;
// bestimmte Vorlagen beinhalten bereits die Formatierung (Returns, Hline)
// (momentan nur Vorlage:Löschantrag und Vorlage:Löschen)
var dontformat = false;
switch (typ) {
case 1: { kurz="QS";
vorlage="subst:QS";
seite="Qualitätssicherung";
if (!signogrundparam) {
grundparam = true;
dontformat = true;
}
break; }
case 2: { kurz="LA";
vorlage="subst:Löschantrag";
seite="Löschkandidaten";
grundparam = true;
substnoinclude = true;
dontformat = true;
break; }
case 3: { kurz="SLA";
vorlage="Löschen";
if (!signogrundparam) {
grundparam = true;
dontformat = true;
}
break; }
case 4: { kurz="BildLA";
vorlage="subst:Löschantrag";
seite="Löschkandidaten/Bilder";
grundparam = true;
substnoinclude = true;
dontformat = true;
break; }
case 5: { kurz="URV";
vorlage="URV";
seite="Löschkandidaten/Urheberrechtsverletzungen";
break; }
case 6: { kurz="Vandale";
vorlage="Benutzer";
seite="Vandalismusmeldung";
break; }
case 7: { kurz="LAKAT";
vorlage="subst:Löschantrag";
seite="WikiProjekt_Kategorien/Diskussionen";
grundparam = true;
substnoinclude = true;
dontformat = true;
break; }
case 8: { kurz="LAVORL";
vorlage="subst:Löschantrag";
seite="Löschkandidaten";
grundparam = true;
substnoinclude = true;
dontformat = true;
break; }
case 10: { kurz="Reset";
vorlage="Bitte erst NACH dieser Zeile schreiben! (Begrüßungskasten)";
break; }
case 11: { kurz="Lemmasperrung"; // outdated, do not use!
vorlage="gesperrtes Lemma";
break; }
case 12: { kurz="Lemmasperrung";
seite="Gesperrte Lemmata";
break; }
case 13: { kurz="Benutzersperrung";
seite="Unbegrenzt gesperrte Benutzer";
break; }
}
var standardsig = '-- \~\~\~\~';
var customsig;
if (typeof(usersignature) == 'undefined')
customsig = standardsig;
else
customsig = usersignature;
var lemma = getLemma();
var lemma2;
// special lemma handling for usernames (vandals, banned users):
if ((typ == 6) || (typ == 13)) {
if (isUserpage) {
// leading stuff
lemma2 = lemma.replace(/Benutzer.Diskussion./,'');
if (lemma2 == lemma)
lemma2 = lemma.replace(/Benutzer./,'');
lemma = lemma2;
// trailing stuff
lemma = lemma.replace(/\/.*/,'').replace(/&action.*/,'');
}
if (isContrib) {
lemma = lemma.replace(/.*\//,'');
}
}
lemma2 = lemma.split('_').join(' ');
// zu öffnende Zielseite
var uri = "";
// Begründung für die Zusammenfassungszeile
var grund = "";
if (typ == 3) grund = prompt(
"mögliche SLA-Gründe:\n"
+ "\n irrel: \t Es ist keinerlei enzyklopädische Relevanz erkennbar. "
+ "\n Unf: \t Unfug "
+ "\n Wg: \t Wiedergänger "
+ "\n kA: \t kein Artikel "
+ "\n un: \t unnötig "
+ "\n Va: \t Vandalismus "
+ "\n kAirrel: \t a, kein Artikel und b, Es ist keinerlei enzyklopädische Relevanz erkennbar. "
+ "\n le: \t leer "
+ "\n kAURV: \t a, kein Artikel und b, wahrscheinlich URV "
+ "\n kAeRgaAnh: \t a, kein Artikel und b, Aus dem \Artikel\ geht die evtl. enzyklopädische Relevanz nicht hervor. "
+ "\n eRgaAnh: \t Aus dem Artikel geht die evtl. enzyklopädische Relevanz nicht hervor. "
+ "\n unRedir: \t unnötiger Redirect "
,defaultSLA);
if (typ == 5)
grund = prompt(kurz+'-Quelle (z.B. URL):','[]');
else if (typ == 6)
grund = prompt('Vandalismusbelege:',defaultVandal);
else if ((typ != 10) && (typ != 11) && (typ != 12) && (typ != 13))
grund = prompt(kurz+'-Grund:',grund);
/* Shortcuts für SLA*/
if (typ==3){
switch (grund) {
case "irrel": grund="Es ist keinerlei enzyklopädische Relevanz erkennbar."; break;
case "Unf": grund="Unfug"; break;
case "Wg": grund="Wiedergänger"; break;
case "kA": grund="kein Artikel"; break;
case "un": grund="unnötig"; break;
case "Va": grund="Vandalismus"; break;
case "kAirrel": grund="a, kein Artikel und b, Es ist keinerlei enzyklopädische Relevanz erkennbar."; break;
case "le": grund="leer"; break;
case "kAURV": grund="a, kein Artikel und b, wahrscheinlich URV"; break;
case "kAeRgaAnh": grund="a, kein Artikel und b, Aus dem \"Artikel\" geht die evtl. enzyklopädische Relevanz nicht hervor."; break;
case "eRgaAnh": grund="Aus dem Artikel geht die evtl. enzyklopädische Relevanz nicht hervor."; break;
case "unRedir": grund="unnötiger Redirect"; break;
}
}
// Parameter für die URI
var speichernpa = (autosave) ? "&" + speichernp + "=1" : "";
var nocreatepa = "&" + nocreatep + "=1";
// ab hier wird eingetragen
if (grund != null) {
grund = trim(grund);
// Eintragen auf der entsprechenden LK/QS/usw.-Seite
// (wird dann ausgeführt von fillActionPage() in der monobook.js)
//QS / LA / BildLA / LAKAT / LAVORL
if (typ == 1 || typ == 2 || typ == 4 || typ == 7 || typ == 8) {
// Öffnen der QS- oder LK- oder BildLK-Seite, gleich zum Eintragen des QS/LA
// Texte werden als Parameter übergeben
uri = wpath
+ encodeURI(wnamesp + seite
+ ((typ == 7)? ('/' + WPDatum2):('/' + WPDatum)))
+ "&action=edit" + "§ion=new"
+ "&" + subjp + "="
+ encodeURIComponent( '[['
/* + ((typ == 4)? ':Bild:':'') + ((typ == 7)? ':Kategorie:':'') */
+ ( ((typ == 4)||(typ == 7)) ? ':' : '')
+ lemma2 + ']]' )
+ "&" + textp + "="
+ encodeURIComponent( grund + ' ' + customsig + '\n' )
+ speichernpa;
}
//URV
if (typ == 5) {
// Öffnen der URV-Seite gleich zum Eintragen der Meldung, Texte werden als Parameter übergeben
uri = encodeURI(wpath + wnamesp + seite + '&action=edit')
+ "&" + subjp + "="
+ encodeURIComponent( '+[[' + lemma2 + ']]')
+ "&" + addp + "="
+ encodeURIComponent('# [[' + lemma2 + ']] von ' + grund + ' ' + customsig + '\n' )
+ speichernpa;
}
//Vandale
if (typ == 6) {
// Öffnen der VM-Seite gleich zum Eintragen der Meldung, Texte werden als Parameter übergeben
uri = encodeURI(wpath + wnamesp + seite +'&action=edit§ion=new')
+ "&" + subjp + "="
+ encodeURIComponent( '[[Benutzer:' + lemma2 + ']]' )
+ "&" + textp + "="
+ encodeURIComponent( '{{' + vorlage + '|' + lemma2 + '}} ' + grund + ' ' + customsig + '\n' )
+ speichernpa;
}
//Lemmasperrung
if (typ == 12) {
// Öffnen der Lemmasperrseite und Eintragen
uri = encodeURI(wpath + wnamesp + seite + '/' + WPDatum4 + '&action=edit')
+ "&" + subjp + "="
+ encodeURIComponent( '+[[' + lemma2 + ']]')
+ "&" + addp + "="
+ encodeURIComponent('# {{:' + lemma2 + '}} ' + customsig + '\n' )
+ speichernpa;
}
//Benutzersperrung
if (typ == 13) {
// Auswahl der Unterseite
var ugspage = "Sonstige";
if ((lemma2.charAt(0) >= 'A') && (lemma2.charAt(0) <= 'Z'))
ugspage = lemma2.charAt(0);
// Öffnen der Benutzersperrseite und Eintragen
uri = encodeURI(wpath + wnamesp + seite + '/' + ugspage + '&action=edit')
+ "&" + subjp + "="
+ encodeURIComponent( '+[[Benutzer:' + lemma2 + ']]')
+ "&" + addp + "="
+ encodeURIComponent('# {{:Benutzer:' + lemma2 + '}} ' + customsig + '\n' + '# {{:Benutzer Diskussion:' + lemma2 + '}} ' + customsig + '\n' )
+ speichernpa;
}
// neue Seite wird in neuem Fenster geöffnet
if (uri != "") {
window.open(uri);
window.focus();
}
// bearbeiten der Artikelseite und eintragen lassen
// (wird dann ausgeführt von fillActionPage() in der monobook.js)
// (bei Vandalenmeldung, Lemmasperrung, Benutzersperrung nichts auf aktueller Seite eintragen!!)
if ((typ != 6) && (typ != 12) && (typ != 13)) {
var grundsig = " \'\'" + grund + "\'\' " + customsig;
// wenn grund als Parameter übergeben wird: | und = escapen
if (grundparam) {
grundsig = grundsig.split('|').join('{{!}}').split('=').join('=');
}
// vereinheitlicht plus kursiv (PDD)
var txt = "{{" + vorlage;
if (grundparam)
txt += "|";
else
txt += "}}";
if ((typ != 10) && (typ != 11)) {
txt += grundsig;
if (grundparam)
txt += "}}";
if (!dontformat) {
txt += "\n----\n\n";
for (var i = 0; i < emptylinesafterhr; i++)
txt += "\n";
}
else if (!looksLikeTemplate(lemma2))
txt += "\n";
if (!substnoinclude) {
if (looksLikeTemplate(lemma2))
txt = "<noinclude>\n" + txt + "</noinclude>";
}
}
else { // typ==10 oder 11
txt += "\n";
}
if (isEdit) {
// wir sind schon im Edit-Modus
if ((typ == 5) || (typ == 10) || (typ == 11)) {
document.editform.wpTextbox1.value = txt;
} else {
document.editform.wpTextbox1.value = txt + document.editform.wpTextbox1.value;
}
document.editform.wpSummary.value = kurz + '+';
document.editform.wpWatchthis.checked = false;
if (autosave) {
if ((typ != 11) && (document.getElementById("newarticletext"))) {
alert("Artikel wurde bereits gelöscht!");
}
else document.editform.wpSave.click();
}
} else {
// Wir müssen die Seite erst zum Editieren öffnen
if ((typ == 5) || (typ == 10) || (typ == 11)) {
// URV-Baustein & Spielwiese-Reset ersetzen den kompletten Text
uri = wpath + encodeURIComponent(lemma) + "&action=edit"
+ "&" + subjp + "=" + encodeURIComponent(kurz + "+")
+ "&" + textp + "=" + encodeURIComponent(txt)
+ speichernpa;
} else {
// alle anderen Bausteine werden am Anfang eingefügt
uri = wpath + encodeURIComponent(lemma) + "&action=edit"
+ "&" + subjp + "=" + encodeURIComponent(kurz + "+")
+ "&" + insp + "=" + encodeURIComponent(txt)
+ speichernpa;
}
if (typ != 11) uri += nocreatepa;
// neue Seite im aktuellen Fenster öffnen
location.href = uri;
} // END: if (isEdit)...else...
} // END: if (typ != 6)...
} // END: if (grund != null)...
} // END: function eintragen(typ)...
//
// Funktion looksLikeTemplate()
// Vorlagen-Check
// (aufgerufen aus eintragen() )
//
function looksLikeTemplate(aktuelleslemma) {
if ( (wgNamespaceNumber == 10) ||
(aktuelleslemma.indexOf("Vorlage:") > -1) ||
(aktuelleslemma.indexOf(":Vorlage/") > -1) ||
(aktuelleslemma.indexOf("/Vorlage/") > -1) )
return true;
else
return false;
}
// </nowiki>