diff options
Diffstat (limited to 'static')
| -rw-r--r-- | static/js/admin.js | 3 | ||||
| -rw-r--r-- | static/js/pichat.js | 35 |
2 files changed, 23 insertions, 15 deletions
diff --git a/static/js/admin.js b/static/js/admin.js index fc18685..948fa99 100644 --- a/static/js/admin.js +++ b/static/js/admin.js @@ -37,6 +37,8 @@ Admin.mute = function(nick) { if (!r) { reason.addClass('ui-state-error'); } if (!t || !u || !r) { return; } + html.dialog("option", "disabled", true); + $.ajax({ type: 'POST', timeout: 5000, @@ -47,6 +49,7 @@ Admin.mute = function(nick) { success: close, error: function(s) { alert("Error muting user: " + s.responseText); + close(); } }); }; diff --git a/static/js/pichat.js b/static/js/pichat.js index 884e01f..24b8f0c 100644 --- a/static/js/pichat.js +++ b/static/js/pichat.js @@ -5,11 +5,16 @@ expires='; expires='+date.toUTCString();} var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}} return cookieValue;}}; -var cache = {} -var PendingMessages = {} -var MessageContentCache = {} -var RawFavs = {} -var MaxImagePosts = 30 +// The root domain is used so that subdomains don't result in +// spurious extra urls (e.g. both dump.fm/nick and sub.dump.fm/nick) +var RootDomain = location.href.match(/http:\/\/(\w)+\./) + ? 'http://dump.fm/' : '/'; + +var cache = {}; +var PendingMessages = {}; +var MessageContentCache = {}; +var RawFavs = {}; +var MaxImagePosts = 30; // todo: preload these. also, look into image sprites (no go on animating their sizes tho) // css clipping perhaps? @@ -139,7 +144,7 @@ function getImagesAsArray(text) { function topicReplace(text) { text = $.trim(text).toLowerCase(); var topicLabel = text.substring(1); - return ' <a target="_blank" href="http://dump.fm/t/' + topicLabel + '">' + text + '</a> '; + return ' <a target="_blank" href="'+ RootDomain + 't/' + topicLabel + '">' + text + '</a> '; } function recipientReplace(atText, recips) { @@ -161,7 +166,7 @@ function recipientReplace(atText, recips) { } if (matchedRecip) { - return space + '<a target="_blank" href="http://dump.fm/' + matchedRecip + '">@' + matchedRecip + '</a>'; + return space + '<a target="_blank" href="' + RootDomain + matchedRecip + '">@' + matchedRecip + '</a>'; } else { return space + atText; } @@ -369,7 +374,7 @@ function buildMessageDiv(msg, opts) { var displayStyle = ((ImgsEnabled && LastMsgContainsImage) || (TextEnabled && !LastMsgContainsImage)) ? '' : ' style="display: none"'; return '<div class="msgDiv dump ' + loadingClass + containsImageClass + '" ' + msgId + displayStyle + '>' - + '<span class="nick"><b><a href="http://dump.fm/' + nick + ' ">' + nick + '</a></b>' + + '<span class="nick"><b><a href="' + RootDomain + nick + ' ">' + nick + '</a></b>' + ' <img src="'+Imgs.chatThumbDot+'" class="chat-thumb" onclick="Tag.favorite(this)"> ' + '</span>' + '<span class="content">' + builtContent + '</span>' @@ -379,13 +384,13 @@ function buildMessageDiv(msg, opts) { function buildUserDiv(user) { if (user.avatar) { return '<div class="username">' - + '<a href="http://dump.fm/' + escapeHtml(user.nick) + '" target="_blank">' + + '<a href="' + RootDomain + escapeHtml(user.nick) + '" target="_blank">' + '<img src="' + user.avatar + '" width="50" height="50">' + escapeHtml(user.nick) + '</a></div>'; } else { return '<div class="username">' - + '<a href="http://dump.fm/' + escapeHtml(user.nick) + '" target="_blank">' - + '<img src="/static/img/noinfo.png" width="50" height="50">' + + '<a href="' + RootDomain + escapeHtml(user.nick) + '" target="_blank">' + + '<img src="' + RootDomain + 'static/img/noinfo.png" width="50" height="50">' + escapeHtml(user.nick) + '</a></div>'; } } @@ -394,8 +399,8 @@ function buildUserDiv(user) { function buildFav(f) { var h = '<div class="fav-note">' - + '<img src="http://dump.fm/static/img/thumbs/chatheartover.gif">' - + '<a href="http://dump.fm/' + f.from + '">' + f.from + '</a>' + + '<img src="' + RootDomain + 'static/img/thumbs/chatheartover.gif">' + + '<a href="' + RootDomain + f.from + '">' + f.from + '</a>' + ' <span>just faved you!</span>' + '</div>'; return $(h); @@ -429,7 +434,7 @@ function updateFavs(fs) { function buildGrowlDataAndPopDatShit(msg) { var nick = escapeHtml(msg.nick); - nick = '<a href="http://dump.fm/' + nick + ' " style="color:pink">' + nick + '</a>:' + nick = '<a href="' + RootDomain + nick + ' " style="color:pink">' + nick + '</a>:' var msg = buildMsgContent(msg.content) growl(nick, msg) } @@ -939,9 +944,9 @@ function setupUploadAvatar(elementId) { + maxWidth + "x" + maxHeight); return; } - var s = '<img id="dashavatarPic" src="' + r + '" />'; $('#dashavatar').html(s).show(); + $('#dashtotal').css('background-image', 'url(' + r + ')'); }; new AjaxUpload(elementId, { action: '/upload/avatar', |
