summaryrefslogtreecommitdiff
path: root/www/static/js/chat.js
diff options
context:
space:
mode:
authorroot <root@dino.fm>2013-04-21 20:00:42 -0400
committerroot <root@dino.fm>2013-04-21 20:00:42 -0400
commit3790eedc2f48c725c586b8c7b924875fedbeb7b4 (patch)
tree6ad7a958495ea2bf8f02846eb9b8ec6127bcb136 /www/static/js/chat.js
parent5a309541befe767901b24ca2389a1497d16ab5f5 (diff)
getting ready to push
Diffstat (limited to 'www/static/js/chat.js')
-rwxr-xr-xwww/static/js/chat.js280
1 files changed, 0 insertions, 280 deletions
diff --git a/www/static/js/chat.js b/www/static/js/chat.js
deleted file mode 100755
index 822e1ee..0000000
--- a/www/static/js/chat.js
+++ /dev/null
@@ -1,280 +0,0 @@
-var VIMEOregexp = /^(\bhttps?:\/\/)(www.)?vimeo.com\/([0-9]+).*$/i
-var Chat =
- {
- timer: null,
- oldChat: {},
- oldVideo: {},
- lastPoll: 0,
- delay: 1000,
- delayShort: 1000,
- delayLong: 5000,
- messages: {},
- callback: false,
- parse: function (row)
- {
- var s = '<a href="/profile/' + row[2] + '" class="u">' + row[2] + "</a> <span>"
- s += Chat.parseWords(row[3])
- s += "</span><br />"
- return s
- },
- parseWords: function (raw)
- {
- if (! raw)
- return ""
- var words = raw.split(" ")
- var s = ""
- for (i in words)
- {
- var word = words[i]
- if (word.indexOf("http") !== -1)
- {
- if (word.indexOf("youtube.com/watch?") !== -1)
- {
- var ytid = "youtube_"+Youtube.getYtid(word)
- var txt
- if (ytid in Player.videos)
- txt = Player.videos[ytid].title
- else
- txt = word
- s += '<a href="'+word+'" class="ytlink" id="'+ytid+'" target="_parent">'+txt+'</a> '
- }
- else if (word.indexOf("youtube.com/v/") !== -1)
- {
- var index = word.indexOf("/v/")
- var ytid = "youtube_"+word.substr(index+3,11)
- var txt
- if (ytid in Player.videos)
- txt = Player.videos[ytid].title
- else
- txt = word
- s += '<a href="'+word+'" class="ytlink" id="'+ytid+'" target="_parent">'+txt+'</a> '
- }
- else if (word.indexOf("youtu.be") !== -1)
- {
- var ytid = "youtube_"+word.substr(16,11)
- var txt
- if (ytid in Player.videos)
- txt = Player.videos[ytid].title
- else
- txt = word
- s += '<a href="'+word+'" class="ytlink" id="'+ytid+'" target="_parent">'+txt+'</a> '
- }
- // http://www.youtube.com/user/ahchachachacha#p/f/28/1GSBekxLR1E
- else if (word.indexOf("youtube.com/user") !== -1)
- {
- var ytid = "youtube_"+word.substr(-11)
- var txt
- if (ytid in Player.videos)
- txt = Player.videos[ytid].title
- else
- txt = word
- s += '<a href="'+word+'" class="ytlink" id="'+ytid+'" target="_parent">'+txt+'</a> '
- }
- else if (word.indexOf("vimeo.com") !== -1)
- {
- var vimeoid = word.replace(VIMEOregexp, "vimeo_$3")
- if (vimeoid in Player.videos)
- txt = Player.videos[vimeoid].title
- else
- txt = word
- s += '<a href="'+word+'" class="ytlink" id="'+vimeoid+'" target="_parent">'+txt+'</a> '
- }
- else if (word.indexOf("soundcloud.com") !== -1)
- {
- var scid = "soundcloud_" + $.md5(word)
- if (scid in Player.videos)
- txt = Player.videos[scid].title
- else
- txt = word
- s += '<a href="'+word+'" class="ytlink" id="'+scid+'" target="_parent">'+txt+'</a> '
- }
- else if (word.indexOf(".jpeg") !== -1 ||
- word.indexOf(".JPG") !== -1 ||
- word.indexOf(".GIF") !== -1 ||
- word.indexOf(".PNG") !== -1 ||
- word.indexOf(".JPEG") !== -1 ||
- word.indexOf(".jpg") !== -1 ||
- word.indexOf(".gif") !== -1 ||
- word.indexOf(".png") !== -1)
- {
- s += '<a href="'+word+'" target="_blank" class="pic"><img src="'+word+'" /></a>'
- }
- else if (word.indexOf("scannerjammer.com/profile") !== -1)
- {
- var username = word.substr( word.indexOf("profile")+8 ).replace("/","")
- s += '<a href="'+word+'">@'+username+'</a>'
- }
- // else if (word.indexOf("@") === 0 && word.length > 2)
- // {
- // }
- else
- {
- var poffset = word.indexOf('//')
- var linktext = word.substr(poffset+2, word.indexOf('/', poffset+2) - 2).replace("www.","").replace(/\/+$/,"")
- s += '<a href="'+word+'" target="_blank">'+linktext+'</a> '
- }
- }
- else if (word.indexOf(".com") !== -1 ||
- word.indexOf(".net") !== -1 ||
- word.indexOf(".org") !== -1 ||
- word.indexOf(".us") !== -1 ||
- word.indexOf(".nu") !== -1 ||
- word.indexOf(".uk") !== -1 ||
- word.indexOf(".fr") !== -1 ||
- word.indexOf(".de") !== -1 ||
- word.indexOf(".fm") !== -1)
- {
- var txt = word.replace("www.","")
- s += '<a href="http://'+word+'" target="_blank">'+txt+'</a> '
- }
- else
- s += word + " "
- }
- return s
- },
- store: function (lines)
- {
- var newVideos = []
- var newChat = []
- var postponeScroll = false
- for (i in lines)
- {
- if (! lines[i])
- continue
- row = lines[i].split("\t")
- if (row[0] === 'VIDEO')
- {
- row.shift()
- if (row[0] in Chat.oldVideo)
- continue
- Chat.oldVideo[row[0]] = row
- Playlist.enqueueOldVideoFormat([row])
- }
- else if (row[0] === 'ROOM')
- {
- Room.updateSetting(row[1],row[2])
- }
- else if (row[0] === 'LIKE')
- {
- username = row[1]
- Like.enqueue(username)
- }
- else if (row[0] === 'CAM')
- {
- VideoChat.updateCount(row[1])
- }
- else
- {
- // 0 id 1 date 2 user 3 msg
- if (row[0] in Chat.oldChat)
- continue
- Chat.oldChat[row[0]] = row
- var c = Chat.parse(row)
- if (c.indexOf("<img") !== -1)
- {
- postponeScroll = true
- d.joy(">> POSTPONING")
- }
- if (row[2] === Auth.username && $.md5(row[3]) in Chat.messages)
- continue
- newChat.push(c)
- }
- }
- if (newChat.length)
- {
- $("#chat").append(newChat.join(""))
- if (postponeScroll)
- setTimeout('d.scrollToBottom("#chat")', 2000)
- else
- d.scrollToBottom("#chat")
- }
- },
- say: function ()
- {
- d.act("+ sent message")
- var msg = d.sanitize( $("#chat-message").val() )
- $("#chat-message").val("")
- if (! msg) return
- if (msg === "debug=1") { $("#msg").show(); d.scrollToBottom("#msg"); return }
- if (msg === "debug=0") { $("#msg").hide(); return }
- if (msg === "poll=0") { d.error("+ DISABLED POLLING"); clearTimeout(Chat.timer); return}
- var hash = $.md5(msg)
- Chat.messages[hash] = true
- var newrow = [0, 0, Auth.username, msg]
- var newdiv = Chat.parse(newrow)
- $("#chat").append(newdiv)
- // if (Chat.callback)
- // Chat.callback(1)
- if (newdiv.indexOf("<img") !== -1)
- setTimeout('d.scrollToBottom("#chat")', 2000)
- $.post(API.URL.room.say, {room: Room.name, session: Auth.session, msg: msg}, Room.sayCallback)
- d.scrollToBottom("#chat")
- },
- send: function (msg)
- {
- $.post(API.URL.room.say, {room: Room.name, session: Auth.session, msg: msg}, Room.sayCallback)
- // var hash = $.md5(msg)
- // Chat.messages[hash] = true
- // var newrow = [0, 0, Auth.username, msg]
- // var newdiv = Chat.parse(newrow)
- // $("#chat").append(newdiv)
- // if (newdiv.indexOf("<img") !== -1)
- // setTimeout('d.scrollToBottom("#chat")', 2000)
- // d.scrollToBottom("#chat")
- },
- sayCallback: function (raw)
- {
- var lines = API.parse("/room/say", raw)
- if (! lines) return
- var newid = lines.split("\t")[0]
- Chat.oldChat[newid] = true
- // Room.store(lines)
- d.joy("MESSAGE SENT")
- },
- poll: function ()
- {
- // d.warn("Polling")
- $.post(API.URL.room.poll,
- {
- room: Room.name,
- session: Auth.session,
- last: Chat.lastPoll,
- cam: VideoChat.isOpen,
- }).success(Chat.pollCallback).error(Chat.pollErrorCallback)
- },
- pollErrorCallback: function ()
- {
- d.error("Poll failed, waiting "+Math.floor(Chat.delayLong)+"s...")
- Chat.timer = setTimeout(Chat.poll, Chat.delayLong)
- },
- pollCallback: function (raw)
- {
- // d.warn("Poll successful")
- Chat.timer = setTimeout(Chat.poll, Chat.delay)
- var lines = API.parse("/room/poll", raw)
- if (! lines)
- return d.error("Poll failed")
- Chat.lastPoll = parseInt(lines.shift()) - 1
- Lastlog.update(lines.shift())
- Chat.store(lines)
- }
- }
-
-var Lastlog =
- {
- old: "",
- update: function (lastlog)
- {
- if (Lastlog.old === lastlog)
- return
- Lastlog.old = lastlog
- var names = lastlog.split("\t")
- var s = ""
- for (i in names.sort())
- {
- s += "<li class='ll'><a href='/profile/"+names[i]+"'>"+names[i]+"</a></li>"
- }
- $("#lastlog").html(s)
- $("#lastlogbg").css("height", $("#lastlogbox").height())
- }
- }