//Dokumentation unter ] <nowiki>
mw.libs.deprecated = $.extend(mw.libs.deprecated, {autoantraege: 'Das Skript ] funktioniert zu großen Teilen bereits nicht mehr. Falls du es weiterhin verwenden willst, musst du jemand finden, der die Pflege übernimmt und es an die neue Version von jQuery-UI anpasst.'});
importScript('Benutzer:Schnark/js/deprecated.js');
/*global mw: true */
/*global autosave: true, defaultSLA: true, defaultVandal: true, defaultAVandal: true, usersignature: true *///Abwärtskompatibilität
(function($, libs){
var autoantraege = {
version: 3.6,
zeige_menu: true, //zeigt Menü mit Anträgen
zeige_revert: true, //zeigt dialogbasierte Revert-Links
zeige_erl: true, //zeigt Links für {{erledigt}}
zeige_inuse: false, //zeigt Links für {{InuseBot}}
autosave: true, //automatisch speichern
autosave_override: {},
inform_autor: true, //Autor infomieren?
multiline: true, //Eingabefelder mehrzeilig?
grund_kursiv: true, //(einzeiligen) Grund bei Antrag kursiv
hide_duep: false, //DÜP verstecken
no_alert: false, //bei Fehlern nicht warnen
sig: '--~~~~', //Signatur
sauberesig: false, //kann für Signaturen ohne = auf true gesetzt werden
revert_vorsatz: 'Revert: ', //Start der Revertbegründung
//Standard-Gründe
standard_grund: {'qs': ']', 'sla': 'kein Artikel', 'urv': '', 'vm_benutzer': 'vandaliert in ]', 'vm_artikel': 'Edit-War'},
//Benutzer ist Admin (wird automatisch ermittelt)
admin: false,
//Antrags-Seiten (Datum wird ergänzt)
qs_seite: 'Wikipedia:Qualitätssicherung/',
la_seite: 'Wikipedia:Löschkandidaten/',
kat_seite: 'Wikipedia:WikiProjekt_Kategorien/Diskussionen/',
urv_seite: 'Wikipedia:Löschkandidaten/Urheberrechtsverletzungen',
vm_seite: 'Wikipedia:Vandalismusmeldung',
//Hilfsfunktionen
//erstellt einen Wikilink
link: function (titel) {
return ']';
},
//escapet Text für Vorlagen
escape: function (param) {
//evt. auch mit geschweiften Klammern aufpassen
if (param.replace(/\|]+(?:\||]*)?\]\]/g, '').indexOf('|') > -1) param = param.replace(/\|/g, '{{!}}'); //Pipe außerhalb Link, sicherheitshalber alle escapen
if (param.indexOf('=') > -1 || (param.replace(/~~~~~/g, '').indexOf('~~~') > -1 && !autoantraege.sauberesig)) param = '1=' + param; //= verstecken
return param;
},
//formatiert Grund
format_grund: function (grund, inVorlage) {
grund = grund.replace(/\s*$/, '');
if (inVorlage && autoantraege.grund_kursiv && grund.indexOf('\n') === -1) {
if (grund.match(/^'/)) grund = '<nowiki' + ' />' + grund;
if (grund.match(/'$/)) grund += '<nowiki' + ' />';
grund = "''" + grund + "''";
}
grund += ' ' + autoantraege.sig;
return inVorlage ? autoantraege.escape(grund) : grund;
},
warn_abort: function (typ) {
if (typ) return;
if (autoantraege.no_alert) return;
window.alert('Bitte alle Felder ausfüllen!');
},
warn_edit: function (err, count) {
if (autoantraege.no_alert) return;
if (err == 'success') return; //sollte nicht passieren
if (count > 0 && err == 'nochange') return window.alert('Der Benutzer hat den gewählten Hinweis\n' +
'bereits auf seiner Diskussionsseite, es wurde nur der Antrag gestellt.\n' +
'Um den Benutzer musst du dich selber kümmern!');
if (count > 0) return window.alert('Ein Problem ist aufgetreten, der Antrag wurde nur zur Hälfte gespeichert!');
if (err == 'nochange') return window.alert('Artikel enthält den gewählten Baustein bereits!');
window.alert('Artikel wurde bereits gelöscht! (Oder ein Fehler trat auf, Code ' + err + '.)');
},
//ruft callback('Autor', anonym?) auf, Autor ist Urheber der aktuellen Seite
erstautor: function (callback) {
if (!autoantraege.inform_autor) return callback('', true);
$.getJSON(mw.util.wikiScript('api'), {action: 'query', prop: 'revisions', titles: mw.config.get('wgPageName'),
rvlimit: 1, rvdir: 'newer', rvprop: 'user', format: 'json'},
function (json) {
if (!json || !json.query || !json.query.pages) return callback('', true);
var pages = json.query.pages, page;
for (var p in pages) page = pages;
if (!page || !page.revisions || !page.revisions || !page.revisions.user) return callback('', true);
callback(page.revisions.user, page.revisions.anon === '');
}
);
},
//Zeigt ein Dialogfenster (Titel title, Elemente dialog) an,
//überibt die gewählten Parameter an die Funktion list, welche die Liste der notwendigen Bearbeitung liefert,
//die anschließend (automatisch?: as) durchgeführt werden.
exec: function (title, dialog, list, as) {
if (as === undefined) as = autoantraege.autosave;
mw.loader.using('jquery.ui', function() { //falls der Server rumtrödelt, muss man warten
libs.schnark_dialog.show(title, dialog, function (p) {
libs.autoedit.edit_series(list(p), as, autoantraege.warn_edit, true);
}, autoantraege.warn_abort);
}, function() { window.alert('Leider will der Server jquery.ui nicht liefern!'); });
},
standard_dialog: function (label, grund, autor, anon) {
var dialog = [{type: 'input', name: 'grund', text: label, standard: grund || '',
focus: true, multiline: autoantraege.multiline, enter: !autoantraege.multiline}];
if (autoantraege.inform_autor) {
dialog.push({type: 'toggle', name: 'inform', text: 'Autor informieren', standard: !anon, list: });
dialog.push({type: 'input', name: 'autor', text: 'Autor: ', standard: autor, enter: true});
}
return dialog;
},
standard_bearb: function (vorlage, noinclude, vorlageExpand, summary, seite, section, hinweisVorlage, p) {
var bearb = ,
t1 = '{{ers:' + vorlage + '|' + autoantraege.format_grund(p.grund, true) + '}}\n\n',
t2 = autoantraege.format_grund(p.grund, false),
t3 = '{{ers:' + hinweisVorlage + '|' + autoantraege.escape(mw.config.get('wgPageName')) + '}}';
if (noinclude && mw.config.get('wgPageName').indexOf('Vorlage') > -1) {
t1 = '<noinclude>' + t1 + '</noinclude>\n';
}
bearb.push({change: function (alt) {
if (alt.indexOf('{{' + vorlageExpand + '|') > -1) {
return false;
}
return t1 + alt;
},
summary: summary});
if (section === 'new') {
bearb.push({title: seite, section: section, summary: autoantraege.link(mw.config.get('wgPageName')), change: t2});
} else {
bearb.push({title: seite, section: section,
summary: 'Neuer Abschnitt /* ' + autoantraege.link(mw.config.get('wgPageName')) + ' */',
change: function (alt) {
return alt + '\n\n== ' + autoantraege.link(mw.config.get('wgPageName')) + ' ==\n' + t2;
}
});
}
if (p.inform) {
bearb.push({title: 'Benutzer Diskussion:' + p.autor,
summary: 'Neuer Abschnitt /* ' + autoantraege.link(mw.config.get('wgPageName')) + ' */',
change: function (alt) {
if (alt === '') return t3;
return alt + '\n\n' + t3;
}, create: true});
}
return bearb;
},
//einzelne Funktionen zum Stellen der Anträge
execute: {
'qs': function (grund, as) {
autoantraege.erstautor(function (autor, anon) {
autoantraege.exec('Qualitätssicherung', autoantraege.standard_dialog('QS-Grund: ', grund, autor, anon), function (p) {
return autoantraege.standard_bearb('QS', true, 'QS-Antrag', 'QS+', autoantraege.qs_seite, 'new', 'QS-Hinweis', p);
}, as);
});
},
'fach-qs':
function (grund, as) {
var list = [
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
];
var dialog = [{type: 'select', name: 'fach', list: list, text: 'Portal etc.: '},
{type: 'input', name: 'grund', text: 'QS-Grund: ', standard: grund || '', multiline: autoantraege.multiline, enter: !autoantraege.multiline}];
autoantraege.exec('Fach-QS', dialog, function (p) {
var bearb = ,
t1 = '{{' + p.fach.replace(/\|.*$/, '') + '}}\n\n';
if (mw.config.get('wgPageName').indexOf('Vorlage') > -1) t1 = '<noinclude>' + t1 + '</noinclude>\n';
bearb.push({change: function (alt) {return t1 + alt;}, summary: p.fach.replace(/\|.*$/, '') + '+'});
var t2 = autoantraege.format_grund(p.grund, false);
bearb.push({title: p.fach.replace(/^.*\|/, ''), section: 'new', summary: autoantraege.link(mw.config.get('wgPageName')), change: t2});
return bearb;
}, as);
},
'la': function (grund, as) {
var f;
switch (mw.config.get('wgNamespaceNumber')) {
case 0: if (mw.config.get('wgPageName').indexOf('Liste_') === 0) f = 'la_liste'; else f = 'la_artikel'; break;
case 2: f = 'la_benutzer'; break;
case 10: f = 'la_vorlage'; break;
case 14: f = 'la_kat'; break;
default: f = 'la_meta';
}
autoantraege.execute(grund, as);
},
'la_artikel':
function (grund, as) {
autoantraege.erstautor(function (autor, anon) {
autoantraege.exec('Löschantrag', autoantraege.standard_dialog('LA-Grund: ', grund, autor, anon), function (p) {
return autoantraege.standard_bearb('LA', false, 'Löschantragstext', 'LA+', autoantraege.la_seite, 'new', 'LD-Hinweis', p);
}, as);
});
},
'la_xxx': function (grund, as, typ) {
autoantraege.erstautor(function (autor, anon) {
autoantraege.exec('Löschantrag (' + typ + ')', autoantraege.standard_dialog('LA-Grund: ', grund, autor, anon), function (p) {
return autoantraege.standard_bearb('LA', false, 'Löschantragstext', 'LA+', autoantraege.la_seite, {title: typ + 'n'}, 'LD-Hinweis', p);
}, as);
});
},
'la_liste':
function (grund, as) { autoantraege.execute.la_xxx(grund, as, 'Liste'); },
'la_vorlage':
function (grund, as) {autoantraege.execute.la_xxx(grund, as, 'Vorlage'); },
'la_kat':
function (grund, as) {
autoantraege.erstautor(function (autor, anon) {
autoantraege.exec('Löschantrag (Kategorie)', autoantraege.standard_dialog('LA-Grund: ', grund, autor, anon), function (p) {
var bearb = ,
t1 = '{{ers:LA|' + autoantraege.format_grund(p.grund, true) + '}}\n\n';
bearb.push({change: function (alt) {
if (alt.indexOf('{{Löschantragstext|') > -1) return false;
return t1 + alt;
},
summary: 'LA+'});
var t2 = autoantraege.format_grund(p.grund);
bearb.push({title: autoantraege.kat_seite, section: 'new', summary: autoantraege.link(mw.config.get('wgPageName')), change: t2});
if (p.inform) {
var t3 = '{{ers:LD-Hinweis|' + autoantraege.escape(mw.config.get('wgPageName')) + '}}';
bearb.push({title: 'Benutzer Diskussion:' + p.autor, summary: 'Neuer Abschnitt /* ' + autoantraege.link(mw.config.get('wgPageName')) + ' */',
change: function (alt) {
if (alt === '') return t3;
return alt + '\n\n' + t3;
}, create: true});
}
return bearb;
}, as);
});
},
'la_benutzer':
function (grund, as) { autoantraege.execute.la_xxx(grund, as, 'Benutzerseite'); },
'la_meta':
function (grund, as) { autoantraege.execute.la_xxx(grund, as, 'Metaseite'); },
'sla': function (grund, as) {
autoantraege.erstautor(function (autor, anon) {
grund = grund || '';
if (grund.match(/^+$/)) grund = Number(grund);
if (grund == 'kein Artikel') grund = 0;
var list = ] und/oder ]',
'kein ausreichender Artikel und/oder<br />kein enzyklopädischer Inhalt'],
] vorhanden',
'Offensichtlich keine enzyklopädische Relevanz vorhanden'],
]', 'Reiner Werbeeintrag'],
] bei gleichzeitig fehlender Qualität',
'mögliche URV bei gleichzeitig fehlender Qualität'],
,
]', 'Seiteninhalt war Unsinn (mit Link auf WP:VAND)'],
]',
'Unerwünschte Wiederanlage einer gelöschten Seite'],
]', 'Unnötige bzw. unerwünschte Weiterleitung']];
if (mw.config.get('wgNamespaceNumber') % 2 == 1) {
list.unshift(
,
]', 'keine regelkonformen Diskussionsbeiträge']);
if (typeof grund == 'number') grund += 2;
} else if (mw.config.get('wgNamespaceNumber') == 2) {
list.unshift(]', 'Missachtung der Benutzernamensraum-Konventionen']);
if (typeof grund == 'number') grund += 1;
}
var dialog = [{type: 'select_other', name: 'grund', other: 'Sonstiger Grund', text: 'SLA-Grund: ', list: list,
standard: grund, html: true, focus : true, multiline: autoantraege.multiline, enter: !autoantraege.multiline}];
if (autoantraege.inform_autor) {
//TODO : ausbauen
var vorl_list = ,
,
,
];
dialog.push({type: 'toggle', name: 'inform', text: 'Autor informieren', standard: !anon, list: });
dialog.push({type: 'input', name: 'autor', text: 'Autor: ', standard: autor, enter: true});
dialog.push({type: 'select', name: 'vorlage', text: 'Vorlage: ', list: vorl_list, html: true});
}
if (autoantraege.admin) dialog.push({type: 'toggle', name: 'del', text: 'direkt löschen', standard: true, list: });
autoantraege.exec('Schnelllöschantrag', dialog, function (p) {
var bearb = ;
if (p.del) {
bearb.push({summary: p.grund.replace(/\s+/g, ' '), edit: 'del'});
} else {
var t1 = '{{löschen|' + autoantraege.format_grund(p.grund, true) + '}}\n\n';
if (mw.config.get('wgPageName').indexOf('Vorlage') > -1) t1 = '<noinclude>' + t1 + '</noinclude>\n';
bearb.push({change: function (alt) {
if (alt.indexOf('{{löschen') > -1) return false;
if (alt.indexOf('{{Löschen') > -1) return false;
if (alt.indexOf('{{SLA') > -1) return false;
return t1 + alt;
},
summary: 'SLA+'});
}
if (p.inform) {
if (p.vorlage == 'Gelöscht') {
if (p.grund == ']') p.vorlage = 'Unsinn gelöscht';
if (/tastaturtest/i.test(p.grund)) p.vorlage = 'Tastaturtest';
}
var t2 = '{{ers:' + p.vorlage;
if (p.vorlage == 'Gelöscht') {
var param = '';
if (/redundan|(?:schon|bereits).+vorhanden/i.test(p.grund)) param += '|red';
if (/wiederg(?:ä|ae)nger/i.test(p.grund)) param += '|wh';
if (/wwni/i.test(p.grund)) param += '|wwni';
if (/werb(?:ung|e)/i.test(p.grund)) param += '|wer';
if (/kein.+artikel/i.test(p.grund)) param += '|ka';
if (/falsche\s+sprache/i.test(p.grund)) param += '|lang';
if (mw.config.get('wgNamespaceNumber') % 2 == 1) param += '|disk';
if (mw.config.get('wgNamespaceNumber') == 2) param += '|bnr';
if (/relevan/i.test(p.grund)) param += '|rel';
if (/theoriefindung|\btf\b|theorieetablierung|begriffsbildung|begriffsfindung|quellenlos/i.test(p.grund)) param += '|tf';
if (/\bpov\b|neutral/i.test(p.grund)) param += '|pov';
if (/(?:selbst|eigen)darstell|interessens?konflikt/i.test(p.grund)) param += '|sd';
t2 += param + '|art=' + mw.config.get('wgPageName');
}
t2 += '}}';
if (p.vorlage == 'Gelöscht' || p.vorlage == 'Unsinn gelöscht') t2 += ' ' + autoantraege.sig;
var t3 = 'Hinweis';
switch (p.vorlage) {
case 'Gelöscht': t3 = 'Neuer Abschnitt /* Schnelllöschung deines Eintrags „' + autoantraege.link(mw.config.get('wgPageName')) + '“ */'; break;
case 'Tastaturtest': t3 = 'Neuer Abschnitt /* Deine Bearbeitung */'; break;
}
bearb.push({title: 'Benutzer Diskussion:' + p.autor, summary: t3, create: true,
change: function (alt) {
if (p.vorlage == 'Tastaturtest' && /„Artikel“/.test(alt)) return false;
if (p.vorlage == 'Test' && /Test/.test(alt)) return false;
if (/tophand\.svg/.test(alt)) return false;
if (/letzte.+warnung/i.test(alt)) return false;
if (alt === '') return t2;
return alt + '\n\n' + t2;
}
});
}
return bearb;
}, as);
});
},
'kat_versch':
function (grund, as) {
autoantraege.exec('Kategorieverschiebung', [{type: 'input', name: 'neu', text: 'Neue Kategorie: ',
standard: mw.config.get('wgPageName').replace(/^Kategorie:/, ''), focus: true},
{type: 'input', name: 'grund', text: 'Grund: ', standard: grund || '',
multiline: autoantraege.multiline, enter: !autoantraege.multiline}], function (p) {
return [{change: function (alt) {
if (alt.indexOf('{{Umbenennungstext|') > -1) return false;
return '{{ers:Umbenennen|' + autoantraege.escape(p.neu) + '}}\n\n' + alt;
},
summary: 'Umbenennungsantrag'},
{title: autoantraege.kat_seite, section: 'new',
summary: autoantraege.link(mw.config.get('wgPageName')) + ' nach ' + autoantraege.link('Kategorie:' + p.neu),
change: autoantraege.format_grund(p.grund, false)}];
}, as);
},
'urv': function (grund, as) {
autoantraege.erstautor(function (autor, anon) {
autoantraege.exec('Urheberrechtsverletzung', autoantraege.standard_dialog('Quelle: ', grund, autor, anon), function (p) {
var bearb = ,
t1 = '{{URV}}\n\n' + autoantraege.format_grund(p.grund, false);
bearb.push({change: function (alt) {
if (alt.indexOf('{{URV}}') > -1) return false;
return t1;
},
summary: 'URV'});
var t2 = '\n# ' + autoantraege.link(mw.config.get('wgPageName')) + ' von ' + autoantraege.format_grund(p.grund, false);
bearb.push({title: autoantraege.urv_seite, section: 'last', summary: '+' + autoantraege.link(mw.config.get('wgPageName')),
change: function (alt) { return alt + t2; }});
if (p.inform) {
var url = p.grund;
url = url.replace(/^.*?\]+).*$/, '$1'); //quick and dirty
var t3 = '{{ers:URV-Hinweis|' + autoantraege.escape(mw.config.get('wgPageName')) + '|' + autoantraege.escape(url).replace(/^1=/, '2=') + '}}';
bearb.push({title: 'Benutzer Diskussion:' + p.autor,
summary: 'Neuer Abschnitt /* Mögliche Urheberrechtsverletzung in ' + autoantraege.link(mw.config.get('wgPageName')) + ' */',
change: function (alt) {
if (alt === '') return t3;
return alt + '\n\n' + t3;
}, create: true});
}
return bearb;
}, as);
});
},
'vm_artikel':
function (grund, as) {
var dialog = [{type: 'input', name: 'grund', text: 'Grund: ', standard: grund || '',
focus: true, multiline: autoantraege.multiline, enter: !autoantraege.multiline}];
if (autoantraege.admin) {
dialog.push({type: 'toggle', name: 'sperren', text: 'direkt sperren', standard: true, list: });
dialog.push({type: 'input', name: 'dauer', text: 'Sperrdauer: ', standard: '1 month', enter: true});
dialog.push({type: 'toggle', name: 'sysop', text: 'Vollsperre', standard: false, list: });
}
autoantraege.exec('Bitte um Seitensperrung', dialog, function (p) {
if (p.sperren) {
return ;
} else {
return [{title: autoantraege.vm_seite, section: 'new',
change: '{{Artikel|' + autoantraege.escape(mw.config.get('wgPageName')) + '}} ' + autoantraege.format_grund(p.grund, false),
summary: 'Artikel: ' + autoantraege.link(mw.config.get('wgPageName'))}];
}
}, as);
},
'vm_benutzer':
function (grund, as) { //TODO admin
autoantraege.exec('Bitte um Benutzersperrung', [{type: 'input', name: 'grund', text: 'Grund: ', standard: grund || '',
focus: true, multiline: autoantraege.multiline, enter: !autoantraege.multiline}], function (p) {
var name = mw.config.get('wgTitle');
if (mw.config.get('wgCanonicalSpecialPageName') == 'Contributions') name = $('').val();
return [{title: autoantraege.vm_seite, section: 'new',
change: '{{Benutzer|' + autoantraege.escape(name) + '}} ' + autoantraege.format_grund(p.grund, false),
summary: ']'}];
}, as);
},
'duep':
function (grund, as) {
var s = , i;
var list = ,
,
,
,
,
];
for (i = 0; i < list.length; i++) list += ' (' + list + ')';
if (grund) {
s = grund.replace(//g, '').replace(/q/i, '0').replace(/u/i, '1').replace(/l/i, '2').replace(/f/i, '3').replace(/g/i, '4').replace(/b/i, '5')
.replace(//g, '').split('');
for (i = 0; i < s.length; i++) s = Number(s);
}
autoantraege.exec('Dateiüberprüfung', , function (p) {
return [{change: function (alt) {
if (alt.indexOf('{{Dateiüberprüfung|') > -1) return false;
if (alt.indexOf('{{DÜP|') > -1) return false;
return alt + '\n{{Dateiüberprüfung|'+ p.duep.join('|') + '}}'; },
summary: 'Dateiüberprüfung'}];
}, as);
},
'b_warn':
function (grund, as) {
var list = ,
,
,
,
,
,
,
];
for (var i = 0; i < list.length; i++) {
var e = list;
list = , e, e];
}
autoantraege.exec('Warnung an den Benutzer', , function (p) {
return [{change: function (alt) {
var v = '{{ers:' + p.v + '}}';
if (alt === '') return v;
return alt + '\n\n' + v;
},
summary: 'Hinweis', create: true}];
}, as);
},
'b_hinweis':
function (grund, as) {
var list = ,
,
//Begrüßung, HalloIP
,
,
,
];
for (var i = 0; i < list.length; i++) {
var e = list;
list = , e, e];
}
autoantraege.exec('Hinweis für den Benutzer', , function (p) {
return [{change: function (alt) {
var v = '{{ers:' + p.v + '}}';
if (alt === '') return v;
return alt + '\n\n' + v;
},
summary: 'Hinweis', create: true}];
}, as);
},
'b_hinweis_a':
function (grund, as) {
var list = ,
,
,
,
];
for (var i = 0; i < list.length; i++) {
var e = list;
list = , e, e];
}
autoantraege.exec('Hinweis für den Benutzer', [{type: 'select', name: 'v', text: 'Hinweisvorlage: ', list: list},
{type: 'input', name: 'a', text: 'Betroffener Artikel: ', enter: true}], function (p) {
var param = p.a, url = '';
if (p.v == 'URV-Hinweis') {
param = param.replace(/\|.*$/, '');
url = p.a.replace(/^.*?\|/, '');
url = '|' + autoantraege.escape(url).replace(/^1=/, '2=');
}
return [{change: function (alt) {
var v = '{{ers:' + p.v + '|' + autoantraege.escape(param) + url + '}}';
if (alt === '') return v;
return alt + '\n\n' + v;
},
summary: 'Hinweis', create: true}];
}, as);
}
},
//grund optional, kompatibel mit PDD
eintragen: function (typ, grund, as) {
typ = typ.toString();
var pdd = //Kompatibilität mit PDD
{'1': 'qs', '2': 'la', '3': 'sla', '5': 'urv', '6': 'vm_benutzer', '7': 'la_kat', '8': 'la_vorlage', '9': 'vm_artikel', '11': 'kat_versch'};
if (typ in pdd) typ = pdd;
if (!(typ in autoantraege.execute)) return window.alert('Falscher Parameter!');
if (typeof grund != 'string') grund = '';
if (grund === '') grund = autoantraege.standard_grund;
if (typeof grund != 'string') grund = '';
if (as === undefined) as = autoantraege.autosave_override;
if (as === undefined) as = autoantraege.autosave;
autoantraege.execute(grund, as);
},
//revertiert
revert: function (param, as) {
if (as === undefined) as = autoantraege.autosave_override.revert;
if (as === undefined) as = autoantraege.autosave;
//TODO
var list = ]', 'Vandalismus (mit Link)'],
]) und künftig den Hinweis „]“ nutzen.', 'Bitte inhaltliche Änderungen mit Fundstellen/Belegen/Quellen begründen (siehe auch WP:BLG) und künftig den Hinweis „Zusammenfassung und Quellen“ nutzen.'],
].', 'Weblink bietet keine weiterführenden lexikographischen Informationen.'],
]“ beachten.', 'Beitrag nicht von enzyklopädischer Textqualität. Bitte „Wie schreibe ich einen guten Artikel“ beachten.']];
var list2 = ,
,
];
var dialog = ;
if (autoantraege.inform_autor) {
dialog.push({type: 'toggle', name: 'warn', text: 'Benutzer verwarnen', standard: param.user ? true : false, list: });
dialog.push({type: 'input', name: 'user', text: 'Benutzer: ', standard: param.user || '', enter: true});
dialog.push({type: 'select', name: 'vorlage', text: 'Verwarnung: ', list: list2});
}
autoantraege.exec('Rückgängig machen', dialog, function (p) {
var bearb = ;
if (p.warn) {
if (p.vorlage == 'VM') {
bearb.push({title: autoantraege.vm_seite, section: 'new',
change: '{{Benutzer|' + autoantraege.escape(p.user) + '}} Siehe {{Artikel|' + mw.config.get('wgPageName') + '}} und meinen Revert „' +
p.grund + '“ ' + autoantraege.sig, summary: ']'});
} else {
bearb.push({change: function (alt) {
if (/Test/.test(alt)) return false;
if (/tophand\.svg/.test(alt)) return false;
if (/letzte.+warnung/i.test(alt)) return false;
var v = '{{ers:' + p.vorlage + '}}';
if (alt === '') return v;
return alt + '\n\n' + v;
},
title: 'Benutzer Diskussion:' + p.user, summary: 'Hinweis', create: true});
}
}
return bearb;
}, as);
},
init: function() {
//TODO andere Zeitzonen
var heute = new Date();
var jahr = heute.getFullYear();
var monat = ;
var tag = heute.getDate();
var datum = tag + '._' + monat + '_' + jahr;
autoantraege.qs_seite += datum;
autoantraege.la_seite += datum;
datum = jahr + '/' + monat + '/' + tag;
autoantraege.kat_seite += datum;
if (typeof autosave == 'boolean') autoantraege.autosave = autosave;
if (typeof defaultSLA == 'string') autoantraege.standard_grund.sla = defaultSLA;
if (typeof defaultVandal == 'string') autoantraege.standard_grund.vm_benutzer = defaultVandal;
if (typeof defaultAVandal == 'string') autoantraege.standard_grund.vm_artikel = defaultAVandal;
if (typeof usersignature == 'string') autoantraege.sig = usersignature;
if ($.inArray('sysop', mw.config.get('wgUserGroups')) > -1) autoantraege.admin = true;
if (autoantraege.zeige_menu || autoantraege.zeige_revert) {
mw.loader.load('jquery.ui');
if (autoantraege.zeige_menu) $(autoantraege.init_menu);
if (autoantraege.zeige_revert) $(autoantraege.init_revert);
}
if (autoantraege.zeige_erl && mw.config.get('wgNamespaceNumber') !== 0) {
$(function(){ if ( document.getElementById('autoarchiv-erledigt-baustein') || $('#Vorlage-Autoarchiv:has(a)').length > 0)
autoantraege.autoerledigt('Erledigt', 'erl.', 'erl.', 'Diesen Abschnitt als erledigt markieren'); });
}
if (autoantraege.zeige_inuse && mw.config.get('wgPageName') == 'Wikipedia:Bots/Anfragen') {
$(function(){ autoantraege.autoerledigt('InuseBot', 'Anfrage wird bearbeitet', 'inuse', 'Diese Anfrage als in Bearbeitung markieren'); });
}
},
init_menu: function() {
var ziel = 'p-tb';
var ns = mw.config.get('wgNamespaceNumber');
//QS: Artikel, Vorlagen, Kategorien
if (ns === 0 || ns == 10 || ns == 14)
mw.util.addPortletLink(ziel, '#', 'QS+', 't-qs', 'QS-Antrag stellen').onclick = function(){autoantraege.eintragen('qs'); return false;};
//Fach-QS: Artikel, Vorlagen, Kategorien
if (ns === 0 || ns == 10 || ns == 14)
mw.util.addPortletLink(ziel, '#', 'Fach-QS+', 't-fachqs', 'Fach-QS-Antrag stellen').onclick = function(){autoantraege.eintragen('fach-qs'); return false;};
//URV
if (ns != -1)
mw.util.addPortletLink(ziel, '#', 'URV+', 't-urv', 'Als Urheberrechtsverletzung markieren').onclick = function(){autoantraege.eintragen('urv'); return false;};
//LA: keine Diskussionsseiten
if (ns % 2 === 0)
mw.util.addPortletLink(ziel, '#', 'LA+', 't-la', 'Löschantrag stellen').onclick = function(){autoantraege.eintragen('la'); return false;};
//DÜP: Dateien
if (ns == 6 && !autoantraege.hide_duep)
mw.util.addPortletLink(ziel, '#', 'DÜP+', 't-duep', 'Dateiüberprüfung').onclick = function(){autoantraege.eintragen('duep'); return false;};
//KAT_VERSCH: nur Kategorien
if (ns == 14)
mw.util.addPortletLink(ziel, '#', 'Kat. verschieben', 't-katversch', 'Antrag zur Kategorie-Verschiebung stellen').onclick =
function(){autoantraege.eintragen('kat_versch'); return false;};
//SLA
if (ns != -1) {
if (autoantraege.admin) {
mw.util.addPortletLink(ziel, '#', 'Löschen', 't-sla', 'Schnelllöschen').onclick = function(){autoantraege.eintragen('sla'); return false;};
} else {
mw.util.addPortletLink(ziel, '#', 'SLA+', 't-sla', 'Schnelllöschantrag stellen').onclick = function(){autoantraege.eintragen('sla'); return false;};
}
}
//VM
if (ns == 2 || ns == 3 || mw.config.get('wgCanonicalSpecialPageName') == 'Contributions') {
mw.util.addPortletLink(ziel, '#', 'VM+', 't-vm', 'Benutzer als Vandale/Edit-Krieger melden').onclick =
function(){autoantraege.eintragen('vm_benutzer'); return false;};
} else if (ns != -1) {
mw.util.addPortletLink(ziel, '#', 'VM+', 't-vm', 'Sperrung der Seite wegen Vandalismus/Edit-War beantragen').onclick =
function(){autoantraege.eintragen('vm_artikel'); return false;};
}
//Benutzerdisk.
if (ns == 3) {
//TODO einschränken
mw.util.addPortletLink(ziel, '#', 'Warnung+', 't-warn', 'Den Benutzer verwarnen').onclick = function(){autoantraege.eintragen('b_warn'); return false;};
mw.util.addPortletLink(ziel, '#', 'Hinweis+', 't-hinweis', 'Den Benutzer freundlich auf etwas hinweisen').onclick =
function(){autoantraege.eintragen('b_hinweis'); return false;};
mw.util.addPortletLink(ziel, '#', 'Hinweis (Art.)+', 't-hinweis-a', 'Dem Benutzer einen auf einen konkreten Artikel bezogenen Hinweis geben').onclick =
function(){autoantraege.eintragen('b_hinweis_a'); return false;};
}
},
autoerledigt: function(vorlage, kommentar, link, titel) {
$('.mw-editsection').each(function() {
var $this = $(this);
var section = null;
$this.find('a').each(function() {
if (section !== null) return;
section = mw.util.getParamValue('section', $(this).attr('href') || 'x');
if (section !== null && section.search(/^\d+$/) == -1) section = null; //keine transkludierten Abschnitte
});
if (section === null) return;
section = Number(section);
var summ = $this.parent().find('.mw-headline').attr('id') || '';
summ = summ.replace(/_/g, ' ').replace(/(\.{2})+/g, function (utf8) {return decodeURIComponent(utf8.replace(/\./g, '%'));});
if (summ) summ = '/* ' + summ + ' */ ';
summ += kommentar;
var $link = $('<a/>', {title: titel, href: '#'}).text(link).click(function() {
libs.autoedit.edit_series([{section: section,
change: function (alt) {
if (alt.indexOf('{{' + vorlage) > -1) return false;
if (alt.indexOf('{{' + vorlage.replace(/^./, function (c) { return c.toLowerCase(); })) > -1) return false;
return alt + '\n\n{{' + vorlage + '|' + autoantraege.escape('~~~~') + '}}'; },
summary: summ}], autoantraege.autosave, autoantraege.warn_edit, true);
return false;
});
$this.append(' / ');
});
},
init_revert: function () {
var link = function (param) {
if (param.undoafter === null) delete param.undoafter;
if (param.user === null) delete param.user;
var text = '', tip = '';
if (param.reset) {
text = 'wiederherstellen'; tip = 'auf diese Version revertieren'; delete param.user;
} else if (param.user) {
text = 'verbessertes Rückgängig'; tip = 'Diese Änderung von Benutzer:' + param.user + ' mit Dialog rückgängig machen.';
} else {
text = 'verbessertes Rückgängig'; tip = 'Diese Änderungen mit Dialog rückgängig machen.';
}
return $(mw.html.element('a', {href: '#', title: tip}, text)).click(function(e) {
e.preventDefault();
autoantraege.revert(param);
});
};
var situation = '';
if (mw.util.getParamValue('diff')) {
situation = ($('.diff-multi').length > 0) ? 'diffmulti' : 'diff';
} else if (mw.util.getParamValue('oldid')) {
situation = 'old';
} else if (mw.config.get('wgAction') == 'history') {
situation = 'history';
} else if (mw.config.get('wgCanonicalSpecialPageName') == 'Contributions') {
situation = 'contrib';
} else if ($.inArray(mw.config.get('wgCanonicalSpecialPageName'), )) {
situation = 'changes';
}
if (situation === '') return;
switch (situation) {
case 'diff': case 'diffmulti':
$('#mw-diff-otitle1, #mw-diff-ntitle1').find('a').each(function() {
var $a = $(this), href = $a.attr('href'), $link;
if (!href) return;
if (mw.util.getParamValue('action', href) != 'edit') return;
var oldid = mw.util.getParamValue('oldid', href), undo = mw.util.getParamValue('undo', href);
if (oldid !== null) $link = link({reset: oldid});
if (undo !== null) $link = link({undo: undo, undoafter: mw.util.getParamValue('undoafter', href),
user: (situation == 'diffmulti') ? null : $('#mw-diff-ntitle2').find('.mw-userlink').text()});
if ($link) $a.after($link).after(' | ');
});
break;
case 'old':
$('#mw-revision-info').after(link({reset: mw.util.getParamValue('oldid')}));
break;
case 'history':
$('#pagehistory').find('li').each(function() {
var $li = $(this), $rev = $li.find('.mw-history-undo'), href = $rev.find('a').attr('href');
if (!href) return;
var $link1 = link({reset: mw.util.getParamValue('undo', href)}),
$link2 = link({undo: mw.util.getParamValue('undo', href), undoafter: mw.util.getParamValue('undoafter', href), user: $li.find('.mw-userlink').text()});
$rev.after($link2).after(' | ').after($link1).after(' | ');
});
break;
case 'contrib':
mw.util.$content.find('ul:last').find('li').each(function() {
$(this).find('a').each(function() {
var $a = $(this), href = $a.attr('href');
if (!href) return;
if (mw.util.getParamValue('diff', href) != 'prev') return;
var $link = link({undo: mw.util.getParamValue('oldid', href), user: $('').val(), title: mw.util.getParamValue('title', href)});
$a.after($link).after(' | ');
});
});
break;
case 'changes':
//TODO
break;
}
}
};
if (mw.config.get('debug')) window.autoantraege = autoantraege;
$(document).trigger('loadWikiScript', );
autoantraege.init();
})(jQuery, mw.libs);
//</nowiki>