importPage('PDD/alertOnChanges.js','de');
// 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)
// adapted for Russian Wikipedia by [[ru:User:ariely]] from [[:de:Benutzer:PDD/eintragen.js]] (30.12.2008)
// <nowiki>
// Funktion eintragen(typ)
// Вносит, в зависимости от типа сообщения, изменения в модули или обоснование на страницах
// Trägt, je nach Typ der Meldung, Bausteine bzw. Begründung auf den Seiten ein
// (вызывается из monobook.js)
function eintragen(typ) { // Littl, PDD
var wpath = 'http://ru.wikipedia.org/w/index.php?title=';
var wnamesp = 'Википедия:';
var wdnamesp = 'Обсуждение_Википедии:';
// alert (for old monobooks)
if (minimalVersionStrong(40) < 40) return;
// function placeholders:
// 4 = BildLA (obsolet) заявка на удаление файла
// 11 = Lemmasperrung (alt) заявка на защиту страницы
// 13 = Benutzersperrung (neues Konzept, nicht durchgesetzt) заявка на блокировку участника (новая концепция, не нашла поддержку)
if ((typ > 12) || (typ == 11))
alert("Функция " + typ + " ещё не реализованна!");
if (typ == 4)
alert("Обновление: Bildlöschanträge gibt es nicht mehr, stattdessen wird der DÜP-Button verwendet. Пожалуйста обновите Ваш monobook.js."); //заявок на удаление изображений больше нет. Вместо этого используется DÜP-Button.
if (typ == 12)
alert("Обновление: Lemmasperren werden jetzt mit dem Karteireiter Schützen vorgenommen. Пожалуйста обновите Ваш monobook.js."); //заявки на защиту страниц производятся с помощью закладки "защитить"
if ((typ > 12) || (typ == 12) || (typ == 11) || (typ == 4))
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 = "Вандализм в статье [[]]";
if (typeof(defaultAVandal) == 'undefined')
defaultAVandal = "Война правок";
if (typeof(Monate) == 'undefined')
var Monate = new Array("", "января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря");
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) пока только шаблон delete
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="КУЛ";
vorlage="subst:QS";
seite="К улучшению";
if (!signogrundparam) {
grundparam = true;
dontformat = true;
}
break; }
case 2: { kurz="КУ";
vorlage="subst:Löschantrag";
seite="К удалению";
grundparam = true;
substnoinclude = true;
dontformat = true;
break; }
case 3: { kurz="SLA";
vorlage="удалить";
if (!signogrundparam) {
grundparam = true;
dontformat = true;
}
break; }
case 4: { kurz="Файл_КУ";
vorlage="subst:Löschantrag";
seite="Löschkandidaten/Bilder";
grundparam = true;
substnoinclude = true;
dontformat = true;
break; }
case 5: { kurz="КОПИ";
vorlage="КОПИВИО";
seite="Löschkandidaten/Urheberrechtsverletzungen";
break; }
case 6: { kurz="Вандал2";
vorlage="Участник";
seite="ЗКА";
break; }
case 7: { kurz="КАТ_КУ";
vorlage="subst:Löschantrag";
seite="WikiProjekt_Kategorien/Diskussionen";
grundparam = true;
substnoinclude = true;
dontformat = true;
break; }
case 8: { kurz="ШАБЛ_КУ";
vorlage="subst:Löschantrag";
seite="К удалению";
grundparam = true;
substnoinclude = true;
dontformat = true;
break; }
case 9: { kurz="Вандал1";
vorlage="Статья";
seite="ЗКА";
break; }
case 10: { kurz="Стереть";
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="Блок участника";
seite="Unbegrenzt gesperrte Benutzer";
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 = "";
// Begründung für die Zusammenfassungszeile
var grund = "";
if (typ == 3) grund = defaultSLA;
if (typ == 5)
grund = prompt(kurz+'-Источник (z.B. URL):','[]');
else if (typ == 6)
grund = prompt('VM-Причина:',defaultVandal);
else if (typ == 9)
grund = prompt('VM-Причина:',defaultAVandal);
else if ((typ != 10) && (typ != 11) && (typ != 12) && (typ != 13))
grund = prompt(kurz+'-Причина:',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
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) {
// открыть страницу ЗКА для записи заявки, текст передаётся как параметр
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) {
// открыть страницу ЗКА для записи заявки, текст передаётся как параметр
uri = encodeURI(wpath + wnamesp + seite +'&action=edit§ion=new')
+ "&" + subjp + "="
+ encodeURIComponent( 'Artikel [[' + lemma2 + ']]' )
+ "&" + textp + "="
+ encodeURIComponent( '{{' + vorlage + '|' + lemma2 + '}} ' + grund + ' ' + customsig + '\n' )
+ speichernpa;
}
//защита страницы
if (typ == 12) {
// открыть страницу защиты статей и записать
// Achtung: wdnamesp statt wnamesp
uri = encodeURI(wpath + wdnamesp + seite + '/' + WPDatum4 + '&action=edit')
+ "&" + subjp + "="
+ encodeURIComponent( '+[[' + lemma2 + ']]')
+ "&" + addp + "="
+ encodeURIComponent('# {{:' + lemma2 + '}} ' + customsig + '\n' )
+ speichernpa;
}
//блокировка участника
if (typ == 13) {
// выбор подстраницы
var ugspage = "Sonstige"; //"прочие"
if ((lemma2.charAt(0) >= 'A') && (lemma2.charAt(0) <= 'Z'))
ugspage = lemma2.charAt(0);
// открыть страницу блокировки участника и записать
uri = encodeURI(wpath + wnamesp + seite + '/' + ugspage + '&action=edit')
+ "&" + subjp + "="
+ encodeURIComponent( '+[[Benutzer:' + lemma2 + ']]')
+ "&" + addp + "="
+ encodeURIComponent('# {{:Benutzer:' + lemma2 + '}} ' + customsig + '\n' + '# {{:Benutzer Diskussion:' + lemma2 + '}} ' + customsig + '\n' )
+ speichernpa;
}
// открыть новую страницу в новом окне
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 != 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 += "|";
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 ( (mw.config.get('wgNamespaceNumber') == 10) ||
(aktuelleslemma.indexOf("Vorlage:") > -1) ||
(aktuelleslemma.indexOf(":Vorlage/") > -1) ||
(aktuelleslemma.indexOf("/Vorlage/") > -1) )
return true;
else
return false;
}
// </nowiki>