Benutzer:J*/vector.js: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
K
K
 
(29 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
/* für's Bürokratenspiel */
 
/* für's Bürokratenspiel */
function bksp ()
+
/*function bksp ()
 
{
 
{
 
if (wgPageName.indexOf("Projekt:Bürokratenspiel") != -1 )
 
if (wgPageName.indexOf("Projekt:Bürokratenspiel") != -1 )
Zeile 9: Zeile 9:
 
}
 
}
 
}
 
}
addOnloadHook(bksp);
+
addOnloadHook(bksp);*/
  
 
/* Zusammenfassungs-Warnung */
 
/* Zusammenfassungs-Warnung */
Zeile 55: Zeile 55:
 
}
 
}
  
 +
/* Bt-extras-bibliothek */
 +
function bt_extras_load () {
  
/* Zeug für die Buschtrommel */
+
        console.log("Hallo");
function serialize (obj)
+
 
{
+
/* --- prepare --- */
    if (obj == null)
+
 
        return "z";
+
/* dbcheat */
 +
 
 +
if (window.bt_extra_dbcheat == null)
 +
window.bt_extra_dbcheat = false;
  
    switch (typeof obj)
+
/* --- add ui --- */
    {
 
        case "string":
 
            return "s"+escape(obj)
 
            break;
 
        case "number":
 
            return "n"+escape(String(obj));
 
            break;
 
        case "object":
 
            var arr = [];
 
            for (var k in obj)
 
            {
 
                arr.push(serialize(k) + "=" + serialize(obj[k]))
 
            }
 
            if (obj instanceof Array)
 
                return "a"+escape(arr.join("&"));
 
            else
 
                return "o"+escape(arr.join("&"));
 
  
        default:
+
jQuery("#buschtrommel-eingabe .options").append("<br/>")
            throw "Cannot serialize " + (typeof obj) + " type."
+
jQuery("#buschtrommel-eingabe .options").append("<span id='bt-extra-dbcheat'>Drumbot austricksen: </span><span id='bt-extra-show-dbcheat'>ein</span> ")
    }
+
jQuery("#buschtrommel-eingabe .options").append("&nbsp;&nbsp; ")
}
+
jQuery("#buschtrommel-eingabe .options").append("<span id='bt-extra-jaja'>Jaja-ich-habs-gesehen</span>")
  
function deserialize (str)
+
/* --- add functionality --- */
{
 
    var type = str[0]
 
    var data = str.substr(1)
 
  
    switch(type)
+
/* jaja */
    {
 
        case "z":
 
            return null;
 
        case "s": //string
 
            return unescape(data);
 
            break;
 
        case "n": //number
 
            if (data == "Infinity")
 
                return Infinity
 
            else if (data == "-Infinity")
 
                return -Infinity
 
            else
 
                return parseInt(unescape(data));
 
            break;
 
        case "a": // Array
 
        case "o": //Object
 
  
            var ret = {};
+
jQuery("#bt-extra-jaja").click( function () {
            if (type == "a")
+
document.title = "–⚑–";
                ret = [];
+
})
           
 
            var pairs = unescape(data).split("&")
 
            for (var i=0; i<pairs.length; i++)
 
            {
 
                var kv = pairs[i].split("=")
 
                ret[deserialize(kv[0])] = deserialize(kv[1]);
 
            }
 
            return ret;
 
            break;
 
       
 
        default:
 
            throw "Cannot deserialize " + type + " type."
 
    }
 
}
 
  
if (wgPageName=="Spezial:KamelBox")
 
{
 
    addOnloadHook( function () {
 
        jQuery("#buschtrommel").append("<div id='buschtrommel-log'/>");
 
        var oldPrepare = prepare;
 
        prepare = function (j)
 
        {
 
            if (window.log)
 
                window.log(j);
 
            else if (console.log)
 
                console.log(j);
 
            return oldPrepare(j);
 
        }
 
    });
 
}
 
  
chatLog = {log:[]};
+
/* dbcheat */
loadChatLog()
 
  
function saveChatLog ()
+
var toggleDBCheat = function () {
{
+
window.bt_extra_dbcheat = ! window.bt_extra_dbcheat;
    document.cookie = "kpChatLog="+serialize(chatLog.log)
+
jQuery("#bt-extra-show-dbcheat").text(window.bt_extra_dbcheat ?"ein":"aus");
}
+
}
  
function loadChatLog ()
+
// init
{
+
window.bt_extra_dbcheat = (! window.bt_extra_dbcheat);
    var cookie = document.cookie.match(/(^|;)\s*kpChatLog=([^;]+);/);
+
toggleDBCheat();
    try
 
    {
 
        if (cookie != null)
 
            chatLog.log = deserialize(cookie[2]);  
 
        else
 
            throw 1
 
    }
 
    catch (e)
 
    {
 
        chatLog.log = [];
 
    }
 
}
 
  
function log (d)
+
jQuery("#bt-extra-dbcheat").click(toggleDBCheat);
{
 
    if (chatLog.log.length > 0 && parseInt(chatLog.log[chatLog.log.length-1].last_ts) < parseInt(d.time) )
 
    {
 
        // do not log as it is already logged
 
        // switch to append mode
 
        chatLog.current = chatLog.log[chatLog.log.length-1]
 
        return;
 
    }
 
    else if (chatLog.current == null || chatLog.log.length == 0)
 
    {
 
        // init
 
        console.log("init");
 
        chatLog.current = {data: []};
 
        chatLog.log.push(chatLog.current);
 
    }
 
  
    chatLog.current.last_ts = d.time;
+
jQuery("#buschtrommel-form").submit( function() {
    chatLog.current.data.push(d);
+
if (!window.bt_extra_cheatDrumbot)
    saveChatLog();
+
return true;
    listChatLogs();
 
}
 
  
function showChatLog(idx)
+
var bti = jQuery("#buschtrommel-input")[0];
{
+
bti.value = bti.value.replace("o","ο");
    str = "";
+
return true;
    var entries = chatLog.log[idx].data;
+
});
    for (var i in entries)
 
    {
 
        str += prepare(entries[i]);
 
    }
 
    newwin = window.open();
 
    newwin.document.write(str);
 
}
 
  
function listChatLogs ()
 
{
 
    jQuery("#buschtrommel-log").empty()
 
    for(var i in chatLog.log)
 
    {
 
        var time = new Date();
 
        time.setTime(chatLog.log[i].data[0].time);
 
        var showButton = jQuery("<input type='button' onclick='showChatLog("+parseInt(i)+")' value='Anzeigen'>");
 
        var deleteButton = jQuery("<input type='button' onclick='deleteChatLog("+parseInt(i)+")' value='Löschen'>");
 
        var container = jQuery("<div/>")
 
        container.append(time.toLocaleString());
 
        container.append(showButton);
 
        container.append(deleteButton);
 
        jQuery("#buschtrommel-log").append(container)
 
    }
 
 
}
 
}
  
function deleteChatLog(i)
+
//jQuery("body.mw-special-Buschtrommel").load(bt_extras_load);
{
+
window.setTimeout(bt_extras_load,"3000");
    chatLog.log.pop(i);
 
    saveChatLog();
 
    listChatLogs();
 
}
 

Aktuelle Version vom 22. Mai 2015, 06:50 Uhr

/* für's Bürokratenspiel */
/*function bksp ()
{
	if (wgPageName.indexOf("Projekt:Bürokratenspiel") != -1 )
	{
		var t = wgTitle.split("/");
		var e = (wgAction = "edit") ? "$ " : "";
		document.title = t[t.length-1];
	}
}
addOnloadHook(bksp);*/

/* Zusammenfassungs-Warnung */

addOnloadHook( function () {
	jQuery("#wpSummary, #wpTextbox1").bind("keypress", function() {
		jQuery("#wpSummary").css("background-color","#ffffff");
		try {
			clearInterval(summaryWarnInterval);
			summaryWarnInterval = null;
		}
		catch (e) {}
		summaryWarnState = -1;
	});

	jQuery("#editform").bind("submit", function (e) {

		if ( e.originalEvent.explicitOriginalTarget != jQuery("#wpSave")[0] )
			return true;

		if (! jQuery("#wpSummary").val().replace(/^\s+/,"").replace(/\s+$/,"").replace(/\/\*.*?\*\//,"") && summaryWarnState == -1)
		{
                        jQuery("#wpSummary").focus();
			summaryWarnInterval = window.setInterval(summaryWarn,70);
			return false;
		}

		return true;
	});
});

summaryWarnState = -1;
summaryWarnInterval = null;

function summaryWarn() 
{
	summaryWarnState ++;
	if (summaryWarnState % 2 == 0)
		jQuery("#wpSummary").css("background-color","#ffff99");
	else
		jQuery("#wpSummary").css("background-color","#ffffff");

	if (summaryWarnState > 11)
		clearInterval(summaryWarnInterval);
}

/* Bt-extras-bibliothek */
function bt_extras_load () {

        console.log("Hallo");

	/* --- prepare --- */

	/* dbcheat */

	if (window.bt_extra_dbcheat == null)
		window.bt_extra_dbcheat = false;

	/* --- add ui --- */

	jQuery("#buschtrommel-eingabe .options").append("<br/>")
	jQuery("#buschtrommel-eingabe .options").append("<span id='bt-extra-dbcheat'>Drumbot austricksen: </span><span id='bt-extra-show-dbcheat'>ein</span> ")
	jQuery("#buschtrommel-eingabe .options").append("&nbsp;&nbsp; ")
	jQuery("#buschtrommel-eingabe .options").append("<span id='bt-extra-jaja'>Jaja-ich-habs-gesehen</span>")

	/* --- add functionality --- */

	/* jaja */

	jQuery("#bt-extra-jaja").click( function () {
		document.title = "–⚑–";
		})


	/* dbcheat */

	var toggleDBCheat = function () {
	window.bt_extra_dbcheat = ! window.bt_extra_dbcheat;
	jQuery("#bt-extra-show-dbcheat").text(window.bt_extra_dbcheat ?"ein":"aus");
	}

	// init
	window.bt_extra_dbcheat = (! window.bt_extra_dbcheat);
	toggleDBCheat();

	jQuery("#bt-extra-dbcheat").click(toggleDBCheat);

	jQuery("#buschtrommel-form").submit( function() {
		if (!window.bt_extra_cheatDrumbot)
			return true;

		var bti = jQuery("#buschtrommel-input")[0];
		bti.value = bti.value.replace("o","ο");
		return true;
	});

}

//jQuery("body.mw-special-Buschtrommel").load(bt_extras_load);
window.setTimeout(bt_extras_load,"3000");