⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 punjab.js

📁 Punjab is a jabber XMLRPC/SOAP/REST client. It is a xmlrpc, soap, or REST server that allows for p
💻 JS
📖 第 1 页 / 共 2 页
字号:
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' />&nbsp;<img src='/images/glade-offline.gif' onClick='hide_offline();' id='punjab_hide_offline' title='Show/Hide Offline'/>&nbsp;<img src='/images/glade-groupchat.gif' onClick='join_chat();' id='group_chat' title='Join Group Chat'/>&nbsp;<img src='/images/glade-new-user.gif' onclick='new_user()'/>&nbsp;<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 + -