Nutza:WikiBayer/js/block.js

Aus Wikipedia

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&auml;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 +'&nbsp;</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');
    }
}