User:Viki/eintragen.js
From Wikipedia
< User:Viki
Note: After saving, you may have to bypass your browser's cache to see the changes. Mozilla / Firefox / Safari: hold down Shift while clicking Reload, or press Ctrl-Shift-R (Cmd-Shift-R on Apple Mac); IE: hold Ctrl while clicking Refresh, or press Ctrl-F5; Konqueror:: simply click the Reload button, or press F5; Opera users may need to completely clear their cache in Tools→Preferences.
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) // <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 (minimalVersion(20)<20) return; if (typ > 8) alert("Funktion noch nicht implementiert!"); if (typ > 8) return; // Variables that should be defined in your monobook if (typeof(autosave) == 'undefined') autosave = false; if (typeof(usekatproject) == 'undefined') usekatproject = true; 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 && (wgTitle == "Contributions")); if (typeof(isPHP) == 'undefined') isPHP = (document.URL.indexOf('index.php') > 0); switch (typ) { case 1: { var kurz="QS"; var vorlage="subst:Qualitätssicherung"; var seite="Qualitätssicherung"; break; } case 2: { var kurz="LA"; var vorlage="subst:Löschantrag"; var seite="Löschkandidaten"; break; } case 3: { var kurz="SLA"; var vorlage="Löschen"; var seite=""; break; } case 4: { var kurz="BildLA"; var vorlage="subst:Löschantrag"; var seite="Löschkandidaten/Bilder"; break; } case 5: { var kurz="URV"; var vorlage="subst:URV"; var seite="Löschkandidaten/Urheberrechtsverletzungen"; break; } case 6: { var kurz="Vandale"; var vorlage="Vandale"; var seite="Vandalensperrung"; break; } case 7: { var kurz="LAKAT"; if (usekatproject) { var vorlage="subst:Löschantrag"; var seite="WikiProjekt_Kategorien/Diskussionen"; } else { var vorlage="subst:Löschantrag"; var seite="Löschkandidaten"; } break; } case 8: { var kurz="LAVORL"; var vorlage="subst:Löschantrag"; var seite="Löschkandidaten"; 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(' '); if (typ == 5) var grund=prompt(kurz+'-Quelle (z.B. URL):','[]'); else if (typ == 6) var grund=prompt('Vandalismusbelege:','vandaliert in [[]]'); else var grund=prompt(kurz+'-Grund:',''); if (grund != null) { grund=trim(grund); var speichernpa = (autosave) ? "&" + speichernp + "=1" : ""; // Eintragen auf der entsprechenden LK/QS/usw.-Seite //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 var uri = encodeURI(wpath + wnamesp + seite + ((typ == 7 && usekatproject)? ('/' + 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; window.open(uri); } //URV if (typ == 5) { // Öffnen der URV-Seite gleich zum Eintragen des LA, Texte werden als Parameter übergeben var uri = encodeURI(wpath + wnamesp + seite + '&action=edit') + "&" + subjp + "=" + encodeURIComponent( '+[[' + lemma2 + ']]') + "&" + addp + "=" + encodeURIComponent('# [[' + lemma2 + ']] - ' + grund + ' ' + customsig + '\n' ) + speichernpa; window.open(uri); } //Vandale if (typ == 6) { // Öffnen der VS-Seite gleich zum Eintragen der Meldung, Texte werden als Parameter übergeben var uri = encodeURI(wpath + wnamesp + seite +'&action=edit§ion=new') + "&" + subjp + "=" + encodeURIComponent( '[[Benutzer:' + lemma2 + ']]' ) + "&" + textp + "=" + encodeURIComponent( '{{' + vorlage + '|' + lemma2 + '}} ' + grund + ' ' + customsig + '\n' ) + speichernpa; window.open(uri); } // bearbeiten der Artikelseite und eintragen lassen (macht aktion() weiter unten) // (bei Vandalenmeldung nichts auf aktueller Seite eintragen!!) if (typ != 6) { // Vorlage eintragen window.focus(); // vereinheitlicht plus kursiv (PDD) var txt = '{{' + vorlage + '}} \'\'' + grund + '\'\' ' + customsig + '\n----\n\n\n'; // das hier ist etwas wacklig, hoffe es funktioniert if ((typ == 8) || ( lemma2.indexOf("Vorlage:") > -1 ) || ( lemma2.indexOf(":Vorlage/") > -1 ) || ( lemma2.indexOf("/Vorlage/") > -1 ) ) txt = '<noinclude>\n' + txt + '</noinclude>'; if (isEdit) { // wir sind schon im Edit-Modus if (typ == 5) { 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==3) { if (document.getElementById("newarticletext")) { alert("Artikel wurde bereits gelöscht!"); } else absenden(); } else absenden(); } } else { // Wir müssen die Seite erst zum editieren öffnen if (typ != 5) { uri = wpath + encodeURIComponent( /* ((typ == 7)? 'Kategorie:':'') +*/ lemma) + "&action=edit" + "&" + subjp + "=" + encodeURIComponent(kurz + "+") + "&" + insp + "=" + encodeURIComponent(txt) + speichernpa; } else { uri = wpath + encodeURIComponent(lemma) + "&action=edit" + "&" + subjp + "=" + encodeURIComponent(kurz + "+") + "&" + textp + "=" + encodeURIComponent(txt) + speichernpa; } location.href = uri; } // END: if (isEdit)...else... } // END: if (typ != 6)... } // END: if (grund != null)... } // END: function eintragen(typ)... // // Funktion nowcomm() // Trägt NowCommons-Baustein ein // (aufgerufen aus der monobook.js) // function nowcomm() { var lemma = getLemma(); if (lemma.substring(0, 5) == "Bild:") lemma=lemma.slice(5); var lemmaneu = prompt('Neuer Dateiname',lemma); if (lemmaneu != null ) newtext('NowCommons','{{NowCommons|' + lemmaneu +'}}',3); } // // Helper-Funktion getLemma() // extrahiert Lemma, entfernt "Bild:" und "Kategorie:" // (aufgerufen von eintragen() und nowcomm() aus der eintragen.js) // function getLemma () { //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]; // 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; } // </nowiki>