Benutzer:J*/vector.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
J* (Diskussion | Beiträge) |
J* (Diskussion | Beiträge) (doof) |
||
Zeile 197: | Zeile 197: | ||
for (var i in entries) | for (var i in entries) | ||
{ | { | ||
− | str += | + | str += prepareLog(entries[i]); |
} | } | ||
newwin = window.open(); | newwin = window.open(); | ||
Zeile 226: | Zeile 226: | ||
listChatLogs(); | listChatLogs(); | ||
} | } | ||
+ | |||
+ | function prepareLog(response) { | ||
+ | var d = new Date(); | ||
+ | d.setTime(response.time); | ||
+ | var currentHours = ( d.getHours() < 10 ? "0" : "" ) + d.getHours(); | ||
+ | var currentMinutes = ( d.getMinutes() < 10 ? "0" : "" ) + d.getMinutes(); | ||
+ | var mytime = currentHours+':'+currentMinutes; | ||
+ | if (mytime != oldmytime) { | ||
+ | oldmytime = mytime; | ||
+ | } else { | ||
+ | mytime = "<span style='color:#aaa;'>≀</span>" ; | ||
+ | }; | ||
+ | var tempnick = response.nickname; | ||
+ | var tempnick2 = " '@"+response.nickname+" '"; | ||
+ | if (tempnick.length > 16) { | ||
+ | tempnick = tempnick.substr(0, 16)+"~" | ||
+ | } | ||
+ | if ((tempnick != ' ') && (tempnick != wgUserName ) ){ | ||
+ | var nick = '<span style="color:#00137F; cursor:pointer;" onclick="document.Trommel.message.value += '+tempnick2+';document.Trommel.message.focus()" title="Nachricht an '+response.nickname+'">'+tempnick+'</span>'; | ||
+ | } else if (tempnick == wgUserName ){ | ||
+ | nick = '<span style="color:#7F0000;">'+tempnick+'</span>'; | ||
+ | } else { | ||
+ | var nick = ' ' ; | ||
+ | } | ||
+ | var checkkamel = response.message; | ||
+ | var kamel = wgUserName+" "; | ||
+ | var kamel2 = wgUserName+":"; | ||
+ | if ((checkkamel.indexOf (kamel) != -1 || checkkamel.indexOf (kamel2) != -1) && tempnick != ' ' ) { | ||
+ | var string = '<table width="100%" cellspacing="0" cellpadding="0" class="buschtrommel-list">' | ||
+ | + '<tr><td width="35px" class="buschtrommel-list-time" valign="top" align="right">'+mytime+'</td>' | ||
+ | + '<td width="115px" style="text-align:right;" class="buschtrommel-kamelname" valign="top">'+nick+'</td>' | ||
+ | + '<td class="buschtrommel-list-message" valign="top"><span style="background-color:#FFFF00;border:1px solid #FFFF00;border-radius:.5em;">'+response.message+'</span></td>' | ||
+ | +'</tr></table>'; | ||
+ | } else { | ||
+ | var string = '<table width="100%" cellspacing="0" cellpadding="0" class="buschtrommel-list">' | ||
+ | + '<tr><td width="35px" class="buschtrommel-list-time" valign="top" align="right">'+mytime+'</td>' | ||
+ | + '<td width="115px" style="text-align:right;" class="buschtrommel-kamelname" valign="top">'+nick+'</td>' | ||
+ | + '<td class="buschtrommel-list-message" style="padding-left:.3em;" valign="top">'+response.message+'</td>' | ||
+ | +'</tr></table>'; | ||
+ | } | ||
+ | if (tempnick == " ") { | ||
+ | tempnick=""; | ||
+ | }; | ||
+ | |||
+ | if (tempnick.indexOf("&" != -1)) { | ||
+ | tempnick = tempnick.replace(/Ä/g, "Ä"); | ||
+ | tempnick = tempnick.replace(/ä/g, "ä"); | ||
+ | tempnick = tempnick.replace(/ö/g, "ö"); | ||
+ | tempnick = tempnick.replace(/Ö/g, "Ö"); | ||
+ | tempnick = tempnick.replace(/ü/g, "ü"); | ||
+ | tempnick = tempnick.replace(/Ü/g, "Ü"); | ||
+ | tempnick = tempnick.replace(/ß/g, "ß"); | ||
+ | } | ||
+ | return string; | ||
+ | } |
Version vom 12. Dezember 2010, 12:19 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);
}
/* Zeug für die Buschtrommel */
function serialize (obj)
{
if (obj == null)
return "z";
switch (typeof obj)
{
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:
throw "Cannot serialize " + (typeof obj) + " type."
}
}
function deserialize (str)
{
var type = str[0]
var data = str.substr(1)
switch(type)
{
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 = {};
if (type == "a")
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:[]};
loadChatLog()
function saveChatLog ()
{
document.cookie = "kpChatLog="+serialize(chatLog.log)
}
function loadChatLog ()
{
var cookie = document.cookie.match(/(^|;)\s*kpChatLog=([^;]+);/);
try
{
if (cookie != null)
chatLog.log = deserialize(cookie[2]);
else
throw 1
}
catch (e)
{
chatLog.log = [];
}
}
function log (d)
{
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]
listChatLogs();
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;
chatLog.current.data.push(d);
saveChatLog();
listChatLogs();
}
function showChatLog(idx)
{
str = "";
var entries = chatLog.log[idx].data;
for (var i in entries)
{
str += prepareLog(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)
{
chatLog.log.pop(i);
saveChatLog();
listChatLogs();
}
function prepareLog(response) {
var d = new Date();
d.setTime(response.time);
var currentHours = ( d.getHours() < 10 ? "0" : "" ) + d.getHours();
var currentMinutes = ( d.getMinutes() < 10 ? "0" : "" ) + d.getMinutes();
var mytime = currentHours+':'+currentMinutes;
if (mytime != oldmytime) {
oldmytime = mytime;
} else {
mytime = "<span style='color:#aaa;'>≀</span>" ;
};
var tempnick = response.nickname;
var tempnick2 = " '@"+response.nickname+" '";
if (tempnick.length > 16) {
tempnick = tempnick.substr(0, 16)+"~"
}
if ((tempnick != ' ') && (tempnick != wgUserName ) ){
var nick = '<span style="color:#00137F; cursor:pointer;" onclick="document.Trommel.message.value += '+tempnick2+';document.Trommel.message.focus()" title="Nachricht an '+response.nickname+'">'+tempnick+'</span>';
} else if (tempnick == wgUserName ){
nick = '<span style="color:#7F0000;">'+tempnick+'</span>';
} else {
var nick = ' ' ;
}
var checkkamel = response.message;
var kamel = wgUserName+" ";
var kamel2 = wgUserName+":";
if ((checkkamel.indexOf (kamel) != -1 || checkkamel.indexOf (kamel2) != -1) && tempnick != ' ' ) {
var string = '<table width="100%" cellspacing="0" cellpadding="0" class="buschtrommel-list">'
+ '<tr><td width="35px" class="buschtrommel-list-time" valign="top" align="right">'+mytime+'</td>'
+ '<td width="115px" style="text-align:right;" class="buschtrommel-kamelname" valign="top">'+nick+'</td>'
+ '<td class="buschtrommel-list-message" valign="top"><span style="background-color:#FFFF00;border:1px solid #FFFF00;border-radius:.5em;">'+response.message+'</span></td>'
+'</tr></table>';
} else {
var string = '<table width="100%" cellspacing="0" cellpadding="0" class="buschtrommel-list">'
+ '<tr><td width="35px" class="buschtrommel-list-time" valign="top" align="right">'+mytime+'</td>'
+ '<td width="115px" style="text-align:right;" class="buschtrommel-kamelname" valign="top">'+nick+'</td>'
+ '<td class="buschtrommel-list-message" style="padding-left:.3em;" valign="top">'+response.message+'</td>'
+'</tr></table>';
}
if (tempnick == " ") {
tempnick="";
};
if (tempnick.indexOf("&" != -1)) {
tempnick = tempnick.replace(/Ä/g, "Ä");
tempnick = tempnick.replace(/ä/g, "ä");
tempnick = tempnick.replace(/ö/g, "ö");
tempnick = tempnick.replace(/Ö/g, "Ö");
tempnick = tempnick.replace(/ü/g, "ü");
tempnick = tempnick.replace(/Ü/g, "Ü");
tempnick = tempnick.replace(/ß/g, "ß");
}
return string;
}