Benutzer:ABF/eintragen.js
aus Wikipedia, der freien Enzyklopädie
Hinweis: Leere nach dem Speichern den Browser-Cache, um die Änderungen zu sehen: Mozilla/Firefox: Shift-Strg-R, Internet Explorer: Strg-F5, Opera: F5, Safari: ⌘-R, Konqueror: Strg-R.
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) // Weitergeführt von [[Benutzer:FabianL.]] // <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 > 13) || (typ == 9) || (typ == 11)) alert("Funktion " + typ + " noch nicht implementiert!"); if ((typ > 13) || (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; } } var standardsig = '-- \~\~\~\~'; var customsig; if (typeof(usersignature) == 'undefined') customsig = standardsig; else customsig = usersignature; var lemma = getLemma(); var lemma2; // special lemma handling for vandals (usernames): if (typ == 6) { 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 = 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)) grund = prompt(kurz+'-Grund:',grund); /* Shortcuts für SLA*/ if (typ==3){ switch (grund) { case "1": grund="Selbstdarsteller siehe [[Wikipedia:Selbstdarsteller]]"; break; case "a": grund="Abfall"; break; case "b": grund="Bandspam"; break; case "c": grund="Clanspam"; break; case "d": grund="Keine Diskussionsseite"; break; case "d1": grund="Verwaiste Diskussionsseite"; break; case "e": grund="Ekelig"; break; case "f": grund="Feurig dummer Artikel"; break; case "g": grund="Nicht zum grinsen"; break; case "h": grund="Hölle-Wer denkt sich sowas aus?!"; break; case "i": grund="Offensichtliche Irrelevanz"; break; case "j": grund="Bandspam"; break; case "k": grund="Kein Artikel"; break; case "l": grund="Linkcontainer"; break; case "m": grund="Müll, bitte Wegwerfen!"; break; case "n": grund="Nazispam"; break; case "o": grund="Oh Ne!"; break; case "p": grund="puh!"; break; case "q": grund="Weiß nix, was auf den Müll zutrifft..."; break; case "r": grund="Rapperspam"; break; case "s": grund="Bitte Lemmasperre, es reicht!"; break; case "t": grund="Tastaturtest dafür gibt es die [[WP:SP|Spielwiese]]"; break; case "u": grund="Unfug"; break; case "v": grund="Sperrt vllt. mal wer die IP?!"; 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) ? "&" + 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 + ']] - ' + 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; } // 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 und Lemmasperrung nichts auf aktueller Seite eintragen!!) if ((typ != 6) && (typ != 12)) { 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>