Benutzer:PDD/eintragen.js
Zur Navigation springen
Zur Suche springen
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
importJavascriptL('PDD/alertOnChanges','de'); // [[Benutzer: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, grund)
// Trägt, je nach Typ der Meldung, Bausteine bzw. Begründung auf den Seiten ein
// (aufgerufen aus der monobook.js)
//
function eintragen(typ, grund) { // Littl, PDD
var wpath = mw.util.wikiScript() + '?title=';
var wnamesp = 'Wikipedia:';
var wdnamesp = 'Wikipedia_Diskussion:';
// function placeholders:
// 4 = BildLA (obsolet)
// 11 = Lemmasperrung (alt)
// 12 = Lemmasperrung (neu)
// 13 = Benutzersperrung (neues Konzept, nicht durchgesetzt)
if (typ == 4)
alert("Update: Bildlöschanträge gibt es nicht mehr, stattdessen wird der DÜP-Button verwendet. Bitte update deine monobook.js.");
if ((typ == 11) || (typ == 12))
alert("Update: Lemmasperren werden jetzt mit dem Karteireiter Schützen vorgenommen. Bitte update deine monobook.js.");
if (typ == 13)
alert("Update: Diese Benutzersperrfunktion wird nicht mehr verwendet. Bitte update deine monobook.js.");
if (typ > 14)
alert("Funktion " + typ + " noch nicht implementiert!");
if ((typ == 4) || (typ == 11) || (typ == 12) || (typ == 13) || (typ > 14))
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(grund) == 'undefined')
grund = "";
if (typeof(defaultSLA) == 'undefined')
defaultSLA = "";
if (typeof(defaultVandal) == 'undefined')
defaultVandal = "vandaliert in [[]]";
if (typeof(defaultAVandal) == 'undefined')
defaultAVandal = "Edit-War";
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 = ( ( mw.config.get( 'wgCanonicalNamespace' ) == "User") || ( mw.config.get( 'wgCanonicalNamespace' ) == "User_talk") );
if (typeof(isSpecial) == 'undefined')
isSpecial = ( mw.config.get( 'wgCanonicalNamespace' ) == "Special");
if (typeof(isContrib) == 'undefined')
isContrib = (isSpecial && ( mw.config.get( '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)
// außerdem bei RENKAT: neuer Katname als "Grund"
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 9: { kurz="Artikelvandalismus";
vorlage="Artikel";
seite="Vandalismusmeldung";
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; }
case 14: { kurz="Kategorieverschiebung";
vorlage="subst:Umbenennen";
seite="WikiProjekt_Kategorien/Diskussionen";
grundparam = true;
break; }
}
var standardsig = '-- \~\~\~\~';
var customsig;
if (typeof(usersignature) == 'undefined')
customsig = standardsig;
else
customsig = usersignature;
var lemma;
if (isContrib)
lemma = extractLemma();
else
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 = "";
// für typ 14 (RENKAT): Zielkategorie
var oldkat = mw.config.get( 'wgTitle' );
var neukat = oldkat;
if (typ == 14) {
while (oldkat == neukat)
neukat = prompt('Neuer Kategoriename:',neukat);
}
// Begründung für die Bausteinsetzung
if(grund == "") {
if (typ == 3) grund = defaultSLA;
if (typ == 5)
grund = prompt(kurz+'-Quelle (z.B. URL):','[]');
else if (typ == 6)
grund = prompt('VM-Grund:',defaultVandal);
else if (typ == 9)
grund = prompt('VM-Grund:',defaultAVandal);
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 "b": grund="Bandspam"; break;
case "c": grund="Clanspam"; break;
case "d": grund="Verwaiste Diskussionsseite"; break;
case "i": grund="Offensichtliche Irrelevanz"; break;
case "k": grund="Kein Artikel"; break;
case "l": grund="Linkcontainer"; break;
case "m": grund="Müll"; break;
case "r": grund="Rapperspam"; break;
case "t": grund="Tastaturtest"; break;
case "u": grund="Unfug"; break;
case "w": grund="Wörterbucheintrag"; break;
case "x": grund="Wiedergänger"; break;
case "z": grund="Werbeeintrag"; break;
}
}
}
// Parameter für die URI
var speichernpa = (autosave) ? "&" + asuserp + "=" + generate_asuser() + "&" + astimep + "=" + generate_astime() : "";
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 / RENKAT
if (typ == 1 || typ == 2 || typ == 4 || typ == 7 || typ == 8 || typ == 14) {
// Ö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) || (typ == 14) )? ('/' + WPDatum2) : ('/' + WPDatum)))
+ "&action=edit" + "§ion=new"
+ "&" + subjp + "="
+ encodeURIComponent( '[['
+ ( ((typ == 4) || (typ == 7) || (typ == 14) ) ? ':' : '')
+ lemma2 + ']]'
+ ( (typ == 14)? (' nach [[:Kategorie:' + neukat + ']]' ) : '' ) )
+ "&" + 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;
}
//AVandale
if (typ == 9) {
// Ö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( 'Artikel [[' + lemma2 + ']]' )
+ "&" + textp + "="
+ encodeURIComponent( '{{' + vorlage + '|' + lemma2 + '}} ' + grund + ' ' + customsig + '\n' )
+ speichernpa;
}
//Lemmasperrung
if (typ == 12) {
// Öffnen der Lemmasperrseite und Eintragen
// Achtung: wdnamesp statt wnamesp
uri = encodeURI(wpath + wdnamesp + 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 (aktuellen) 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 != 9) && (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 += "|1=";
else
txt += "}}";
if ((typ != 10) && (typ != 11)) {
if (typ == 14) txt += neukat;
else 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 ( ( mw.config.get( 'wgNamespaceNumber' ) == 10 ) ||
( aktuelleslemma.indexOf("Vorlage:") > -1 ) ||
( aktuelleslemma.indexOf(":Vorlage/") > -1 ) ||
( aktuelleslemma.indexOf("/Vorlage/") > -1 ) )
return true;
else
return false;
}
// </nowiki>