📄 punjab.js
字号:
function show_presence(from,status,show,type) { status = unescape(status); show = unescape(show); from = unescape(from); type = unescape(type); jid_arr = from.split("/"); var item = 0; for (var i = 0;i<punjab_roster.length;i++) { if (punjab_roster[i]['jid']==jid_arr[0]) { item = i; } } var jid_item = document.getElementById(trim(jid_arr[0])); if ((typeof jid_item != 'undefined')&&(jid_item != null)) { if (type != 'error') { jid_item.style.display = 'block'; jid_item.style.visibility = 'visible'; } if (type=='unavailable' && get_hideoffline() == 1) { jid_item.style.display = 'none'; jid_item.style.visibility = 'hidden'; } } if (type=='error') { //alert('error in presence'); return; } if (type=='unavailable') { //alert(jid_arr[0] + ' logged out'); } if (type=='groupchat') { return; } if (type=='subscribe') { alert('subscribe was sent'); return; } img = document.getElementById('img_'+trim(jid_arr[0])); if ((typeof img != "undefined")&&(img != null)) { if ((img_array[jid_arr[0]]==null)||(img_array[jid_arr[0]]==-1)) { if ((typeof(show) != "undefined")&&(show.length>1)) { img.src = "/images/roster/available-"+show+".gif"; } else { //alert(type); if (type=='unavailable') { img.src = "/images/roster/unavailable.gif"; } else { img.src = "/images/roster/available.gif"; } } } if ((typeof status != "undefined")&&(status.length>1)) { document.getElementById('href_'+trim(jid_arr[0])).title = status; } }}// Notifies us that we have a messagefunction show_message(from,subject,body,type) { from = unescape(from); subject = unescape(subject); body = unescape(body); type = trim(unescape(type)); jid_arr = from.split("/"); if (type=='error') { alert('error in message '+body); return; } if (type=='groupchat') { return; } else { img = document.getElementById('img_'+trim(jid_arr[0])); if (img!=null) { img_array[jid_arr[0]] = 1; img.src = "/images/msg.gif"; } }}function change_status() { var status = document.getElementById('punjab_status'); // TODO : Also a prompt for message? switch(status.options[status.selectedIndex].value) { case 'online': send_presence(status_cb,null,null,'Online'); break case 'chat': send_presence(status_cb,null,null,'Free for Chat','chat'); break case 'dnd': send_presence(status_cb,null,null,'Do not Disturb','dnd'); break case 'xa': send_presence(status_cb,null,null,'Not Available','xa'); break case 'away': send_presence(status_cb,null,null,'Away','away'); break case 'unavailable': send_presence(status_cb,null,null,null,null,'unavailable'); break case 'Invisible': send_presence(status_cb,null,null,null,null,'invisible'); break default: send_presence(status_cb,null,null,'Online'); }}function join_chat(){ var win_chat = window.open('/group_chat.html','GroupchatWin','width=540,height=380');}function show_roster(roster) { punjab_roster = roster; var roster_html = "<div id='roster'>\n"; var display_nick; try { var last_group = ''; // the groups need to be ordered for (var i = 0;i<roster.length;i++) { // put together the html display_nick = roster[i]['jid']; jid_arr = roster[i]['jid'].split("/"); if (roster[i]['name']) { display_nick = roster[i]['name']; } // Order by groups if (last_group != roster[i]['group_name']) { roster_html = roster_html + "<br/><div id='"+roster[i]['group_name']+"' class='group'><b>"+roster[i]['group_name']+"</b></div>\n"; } last_group = roster[i]['group_name']; if (roster[i]['subscription']=='both') { // Add to global roster array? var off = get_hideoffline(); //alert(off); var item_style = ''; if (off==1) { item_style = "display:none;visibility:hidden"; } else { item_style = "display:block;visibility:visible"; } var trim_jid = trim(jid_arr[0]); roster_html = roster_html + "\n<div style='"+item_style+"' name='roster_item' id='"+trim_jid+"'><a id='href_"+trim_jid+"' name='' title='' href='#' onclick='display_chat(\""+jid_arr[0]+"\");'><img id='img_"+trim_jid+"' name='img_"+trim_jid+"' src='/images/roster/unavailable.gif' border='0'/>" + display_nick +"</a>("+ roster[i]['subscription'] +") <br/></div>\n"; } else { // do something else //roster_html = roster_html + "\n<div name='roster_item' id='"+trim_jid+"'><a id='href_"+trim_jid+"' name='' title='' href='#' onclick='display_chat(\""+jid_arr[0]+"\");'><img id='img_"+trim_jid+"' name='img_"+trim_jid+"' src='/images/roster/unavailable.gif' border='0'/>" + display_nick +"</a>("+ roster[i]['subscription'] +") <br/></div>\n"; } } roster_html = roster_html + "</div>\n"; } catch(e) { alert(e);} document.getElementById("chat").innerHTML = "<div id='events'></div><div id='top_bar'><form name='login' action='' method='get'><img src='/images/quit.png' onClick='punjab_logout(logout_cb);' title='Logout' align='top' /> <img src='/images/glade-offline.gif' onClick='hide_offline();' id='punjab_hide_offline' title='Show/Hide Offline'/> <img src='/images/glade-groupchat.gif' onClick='join_chat();' id='group_chat' title='Join Group Chat'/> <img src='/images/glade-new-user.gif' onclick='new_user()'/> <img src='/images/jb.gif' /><br/><select onchange='change_status()' class='dropdown' id='punjab_status' name='status'><option value='online'>Online</option><option value='chat'>Free For Chat</option><option value='away'>Away</option><option value='xa'>Not Available</option><option value='dnd'>Do Not Disturb</option><option value='Invisible'>Invisible</option><option value='unavailable'>Offline</option></select></form></div>"+ roster_html; // TODO : The above needs changing and cleaning up! if (roster.length>1) { try { get_presence_stream(presence_stream_cb); // Stream presence and show if (typeof(presence_int) == 'undefined' || presence_int == null) { presence_int = window.setInterval('get_presence_stream(presence_stream_cb)',1000); } // Stream messages and show get_message_stream(message_stream_cb,null,null,1); if (typeof(message_int) == 'undefined' || message_int == null) { message_int = window.setInterval('get_message_stream(message_stream_cb,null,null,1)',2000); } } catch(e) { alert("Stream Error? \n"+e); } }}function new_user(){ alert("Roster stuff is not implemented yet."); }function hide_offline(){ try { var off = get_hideoffline(); var display = ''; var visibility = ''; if (off==1) { off = 0; //style = "display:block;visibility:visible"; display = 'block'; visibility = 'visible'; status = 'Hide'; } else { off = 1; //style = 'display:none;visibility:hidden'; display = 'none'; visibility = 'hidden'; status = 'Show'; } //var roster = document.getElementsByName('roster_item'); //var roster = document.getElementById('roster'); var pon = document.getElementById("punjab_hide_offline"); pon.title = status + ' Offline'; for (var i=0; i<punjab_roster.length; i++) { id = punjab_roster[i]['jid']; var jid_item = document.getElementById(trim(id)); img = document.getElementById('img_'+trim(id)); var test_array = img.getAttribute('src').split("/"); if (test_array[test_array.length-1] == 'unavailable.gif') { jid_item.style.visibility = visibility; jid_item.style.display = display; } } if (can_progress==0) { // history.go(); } set_hideoffline(off); } catch(e) { alert(e); } }function delay(gap){ /* gap is in millisecs */ var then,now; then=new Date().getTime(); now=then; while((now-then)<gap) {now=new Date().getTime();}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -