Nutza:WikiBayer/js/block.js
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
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
mw.loader.using( ['jquery.ui'] ).then( function () {
var spamoderwerbung;
var vand;
var sperrumgehung;
var proxy;
var crosswiki;
var sockenpuppen;
var ipblock;
var spGrundZusammmenfassung;
var username = mw.config.get( 'wgRelevantUserName' );
if (mw.config.get('wgDBname') === 'barwiki') {
spamoderwerbung = "Spam oder Werbung";
vand = "Vandalismus";
sperrumgehung = "Sperrumgehung";
proxy = "Offener Proxy";
angriffe = "Greift andere Benutzer an";
sockenpuppen = "Mehrare Kontn ned Reglgrecht vawendt";
crosswiki = "Bringt Probleme von anderen Projekten hier her";
spGrundZusammmenfassung = ["", "Vandalenaccount:", "Sperrumgehung keine Verbesserung:", "Wiederholter Verstoß gegen die Richtlinen für Weblinks:", "Beteiligung an einem [[:de:WP:WAR|Editwar]]:", " Wegen anhaltender regelwidriger Bearbeitungen längerfristig gesperrte [[de:IP-Adresse|IP-Adresse]]:", "Wiederholtes einstellen von Werbung:", "Kein erkennbarer Wille:"];
}
else if (mw.config.get('wgDBname') === 'metawiki') {
spamoderwerbung = "Spam or promotion";
vand = "Vandalism only";
sperrumgehung = "Abusing multiple accounts or sockpuppetry";
proxy = "[[w:Open proxy|Open proxy]] or [[w:Zombie computer|zombie]] ([[No open proxies|more info]])";
angriffe = "Attaks/harassment";
crosswiki = "crosswiki issues";
sockenpuppen = "Abusing multiple accounts or sockpuppetry";
spGrundZusammmenfassung = ["", "vandalism:", "Editwar:", "Attack:", "Open Proxy:", "long-term abuse:", "Promotion", "Crosswiki issues:"];
}
else if (mw.config.get('wgDBname') === 'wikidatawiki') {
spamoderwerbung = "Spam or promotion";
vand = "Vandalism only";
sperrumgehung = "Abusing multiple accounts or sockpuppetry";
proxy = "[[w:Open proxy|Open proxy]] or [[w:Zombie computer|zombie]] ([[No open proxies|more info]])";
angriffe = "Attaks/harassment";
crosswiki = "crosswiki issues";
sockenpuppen = "Abusing multiple accounts or sockpuppetry";
spGrundZusammmenfassung = ["", "vandalism:", "Editwar:", "Attack:", "Open Proxy:", "long-term abuse:", "Promotion", "Crosswiki issues:"];
}
else {
spamoderwerbung = "Spam or promotion ([[:m:Global sysops|global sysop action]])";
vand = "Vandalism only ([[:m:Global sysops|global sysop action]])";
sperrumgehung = "Abusing multiple accounts or sockpuppetry ([[:m:Global sysops|global sysop action]])";
proxy = "[[w:Open proxy|Open proxy]] or [[w:Zombie computer|zombie]] ([[:m:No open proxies|more info]]) ([[:m:Global sysops|global sysop action]])";
angriffe = "Attaks/harassment ([[:m:Global sysops|global sysop action]])";
crosswiki = "crosswiki issues ([[:m:Global sysops|global sysop action]])";
spGrundZusammmenfassung = ["", "vandalism:", "Editwar:", "Attack:", "Open Proxy:", "long-term abuse:", "Promotion", "Crosswiki issues:"];
sockenpuppen = "Abusing multiple accounts or sockpuppetry ([[:m:Global sysops|global sysop action]])";
ipblock = "vandalism ([[:m:Global sysops|global sysop action]])";
}
var spGrundselect;
var spGrundText = ["Anderer", "Vandaliert", "Sperrumgehung keine Besserung", "Wiederholter Verstoß gegen die Richtlinen für Weblinks", "Editwar", "IP Adresse mit anhaltenden Missbrauch", "Werbeaccount", "Kein Wille"];
var einklickSperreselect;
var einklickSperreText = ['Spambot', 'Keine Proxys', 'Vandal', 'Persöhnliche Angriffe', 'Crosswiki', 'Mehrere Accounts','IP Vandalismus'];
var einklickSperreZeit = ['indefinite', '345 Days', 'indefinite', 'indefinite', 'indefinite', 'indefinite', '1 day'];
var einklickSperreZf = [spamoderwerbung, proxy, vand, angriffe , crosswiki, sockenpuppen, ipblock];
var oberflaeche = ['Benutzerdefinierte Sperre', 'Schnell sperren', 'Sperrgrund', 'Sperren', 'Eigene Diskussionseite sperren', 'E-Mail-Versand sperren', 'Autoblock', 'Nur Anonyme', 'fertig'];
var einklickSperreautob = ['true', 'false', 'true', 'true', 'true', 'true'];
var einklickSperredisk = ['true', 'false', 'true', 'true', 'true', 'true'];
var einklickSperreanonym = ['', 'true', 'false', 'false', '' , 'false'];
var einklickSperremail = ['true', 'false', 'true', 'true', 'true', 'true'];
for (i = 0; i < spGrundZusammmenfassung.length; i++) {
spGrundselect += '<option value="' + spGrundZusammmenfassung[i] + '">' + spGrundText[i] + '</option>';
}
for (u = 0; u < einklickSperreText.length; u++) {
einklickSperreselect += '<option onclick="fastblock(2, \'' + einklickSperreautob[u] + '\', \'' + einklickSperremail[u] + '\', \'' + einklickSperredisk[u] + '\',\'' + einklickSperreanonym[u] + '\', \'' + einklickSperreZeit[u]+ '\', \'' + einklickSperreZf[u] + '\');" value="' + einklickSperreZf[u] + '">' + einklickSperreText[u] + '</option>';
}
var dialoghtml = '<div id="dialog" title="Fastblock"><table align="center" border="1" cellpadding="1" cellspacing="1" style="width: 500px; font-size:medium;"><tbody><tr><td>' + oberflaeche[0] + '</td><td>' + oberflaeche[1] + '</td></tr><tr><td><select id="sperrdauer" size="9" style="width:190px;"><option value="2 hours">2 Stunden</option><option value="6 hours">6 Stunden</option><option value="24 hours">1 Tag</option><option value="1 Week">1 Woche</option><option value="2 Weeks">2 Wochen</option><option value="4 Weeks">4 Wochen</option><option value="26 Weeks">6 Monate</option><option value="52 Weeks">1 Jahr</option><option value="infinite">Unbeschränkt</option></select><br /><b>' + oberflaeche[2] + '</b><br><select id="grundauswahl">' + spGrundselect + ' </select><input id="grund" type="text" /><br /><button onclick="fastblock();" style="width: 150px;color:darkblue;">' + oberflaeche[3] + '</button><br /><input id="diskussionsblock" type="checkbox" />' + oberflaeche[4] + '<br /><input id="mailblock" type="checkbox" />' + oberflaeche[5] + '<br /><input id="autoblock" type="checkbox" >' + oberflaeche[6] + '<br /><input id="nuranonyme" type="checkbox" >' + oberflaeche[7] + '</td><td><select id="sperrdauer" size="' + einklickSperreText.length + '" style="width:180px;">' + einklickSperreselect + '</select></td></tr><tr><td id="benutzername">Benutzer:' + username +' </td></tr></tbody></table></div>';
$('#firstHeading').append(dialoghtml);
$('#dialog').dialog({
resizable: false,
height: "auto",
width: 655,
modal: true
});
});
function fastblock(sperrgrund, autob, email, disk, nanonym, spDauer, sperrgrundschnell) {
var dauer;
var username = mw.config.get( 'wgRelevantUserName' );
var grund;
var mailblock;
var autoblock;
var nuranonyme;
var diskussionsblock;
if (sperrgrund == 2) {
grund = sperrgrundschnell;
dauer = spDauer;
diskussionsblock = disk;
mailblock = email;
autoblock = autob;
nuranonyme = nanonym;
} else {
dauer = document.getElementById('sperrdauer').value;
grund = document.getElementById('grundauswahl').value + document.getElementById('grund').value;
if (document.getElementById('autoblock').checked === true) {
autoblock = true;
} else {
autoblock = false;
}
if (document.getElementById('mailblock').checked === true) {
mailblock = true;
} else {
mailblock = false;
}
if (document.getElementById('diskussionsblock').checked === true) {
diskussionsblock = true;
} else {
diskussionsblock = false;
}
if (document.getElementById('nuranonyme').checked === true) {
nuranonyme = true;
} else {
nuranonyme = false;
}
}
if (confirm('Möchtest du den Benutzer "' + username + '" wirklich mit der Begründung "' + grund + '" für eine Zeit von ' + dauer + ' sperren?\n Mail:' + mailblock + '\n Autoblock:' + autoblock + '\n Nur Anonyme:' + nuranonyme + '\n Eigene Diskussionsseite:' + diskussionsblock)) {
var parameter = {
action: 'block',
allowusertalk: diskussionsblock,
autoblock: autoblock,
nocreate: 'true',
expiry: dauer,
anononly: nuranonyme,
noemail: mailblock,
reason: grund,
user: username
},
api = new mw.Api();
api.postWithToken('csrf', parameter).done(function(data) {
console.log(data);
});
var status = document.createElement("b");
status.innerText = oberflaeche[8];
document.getElementById('status').appendChild(status);
} else {
alert('abgebrochen');
}
}