- Timestamp:
- 05/06/10 16:11:46 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/jabberit_messenger/trophy_expresso/js/trophyim.js
r2716 r2724 644 644 var stamp = ( delay[0] != null ) ? messageDate(delay[0].getAttribute('stamp')) : dtNow; 645 645 646 if ( (type == 'chat' || type == 'normal') && elems.length > 0 ) 647 { 648 var barejid = Strophe.getBareJidFromJid(from); 649 var jid_lower = barejid.toLowerCase(); 650 var contact = ""; 651 contact = barejid.toLowerCase(); 652 contact = contact.substring(0, contact.indexOf('@')); 646 var barejid = Strophe.getBareJidFromJid(from); 647 var jid_lower = barejid.toLowerCase(); 648 var contact = ""; 649 var state = ''; 650 651 var chatBox = document.getElementById(jid_lower + "__chatState"); 652 653 contact = barejid.toLowerCase(); 654 contact = contact.substring(0, contact.indexOf('@')); 653 655 654 if( TrophyIM.rosterObj.roster[barejid] ) 655 { 656 if( TrophyIM.rosterObj.roster[barejid.toLowerCase()]['contact']['name'] ) 657 { 658 contact = TrophyIM.rosterObj.roster[barejid.toLowerCase()]['contact']['name']; 659 } 660 } 661 662 var _message = document.createElement("div"); 663 _message.innerHTML = Strophe.getText(elems[0]); 664 665 var scripts = _message.getElementsByTagName( 'script' ); 666 667 for ( var i = 0; i < scripts.length; i++ ) 668 _message.removeChild( scripts[ i-- ] ); 669 670 _message.innerHTML = _message.innerHTML.replace(/^\s+|\s+$|^\n|\n$/g,""); 671 672 if ( _message.hasChildNodes( ) ) 673 { 674 var message = 675 { 676 contact : "[" + stamp + "] <font style='font-weight:bold; color:black;'>" + contact + "</font>", 677 msg : "<br/>" + _message.innerHTML 678 }; 679 680 TrophyIM.makeChat(from); //Make sure we have a chat window 681 TrophyIM.addMessage(message, jid_lower); 682 } 683 } 684 685 return true; 686 }, 656 if( TrophyIM.rosterObj.roster[barejid] ) 657 { 658 if( TrophyIM.rosterObj.roster[barejid.toLowerCase()]['contact']['name'] ) 659 { 660 contact = TrophyIM.rosterObj.roster[barejid.toLowerCase()]['contact']['name']; 661 } 662 } 663 664 // Message with body are "content message", this mean state active 665 if (elems.length > 0) 666 { 667 state = contact + ' está ativo.'; 668 669 if (type == 'chat' || type == 'normal') { 670 671 var _message = document.createElement("div"); 672 _message.innerHTML = Strophe.getText(elems[0]); 673 674 var scripts = _message.getElementsByTagName('script'); 675 676 for (var i = 0; i < scripts.length; i++) 677 _message.removeChild(scripts[i--]); 678 679 _message.innerHTML = _message.innerHTML.replace(/^\s+|\s+$|^\n|\n$/g, ""); 680 681 if (_message.hasChildNodes() ) 682 { 683 var message = 684 { 685 contact : "[" + stamp + "] <font style='font-weight:bold; color:black;'>" + contact + "</font>", 686 msg : "</br>" + _message.innerHTML 687 }; 688 689 TrophyIM.makeChat(from); //Make sure we have a chat window 690 TrophyIM.addMessage(message, jid_lower); 691 } 692 } 693 } 694 // Message without body are "content message", this mean state is not active 695 else 696 { 697 state = contact + TrophyIM.getChatState(msg); 698 } 699 chatBox.innerHTML = "<font style='font-weight:bold; color:grey;'>" + state + "</font>"; 700 return true; 701 }, 702 703 /** Function: getChatState 704 * 705 * Parameters: 706 * (string) msg - the message to get chat state 707 * (string) jid - the jid of chat box to update the chat state to. 708 */ 709 getChatState : function(msg) 710 { 711 var state = msg.getElementsByTagName('inactive'); 712 713 if ( state.length > 0 ) { 714 return' está inativo...'; 715 } else { 716 state = msg.getElementsByTagName('gone'); 717 if ( state.length > 0 ){ 718 return ' saiu da conversa.'; 719 } else { 720 state = msg.getElementsByTagName('composing'); 721 if ( state.length > 0 ){ 722 return ' está compondo...'; 723 } else { 724 state = msg.getElementsByTagName('paused'); 725 if ( state.length > 0 ){ 726 return ' está parado...'; 727 } 728 } 729 } 730 } 731 return ''; 732 }, 733 687 734 688 735 /** Function: makeChat … … 729 776 id_window : "window_chat_area_" + barejid, 730 777 width : 387, 731 height : 3 65,778 height : 375, 732 779 top : TrophyIM.posWindow.top, 733 780 left : TrophyIM.posWindow.left,
Note: See TracChangeset
for help on using the changeset viewer.