Changeset 2577 for sandbox/jabberit_messenger/trophy_expresso
- Timestamp:
- 04/16/10 18:15:47 (14 years ago)
- Location:
- sandbox/jabberit_messenger/trophy_expresso
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/jabberit_messenger/trophy_expresso/js/AddUser.js
r2511 r2577 6 6 function addContact() 7 7 { 8 var jidFrom = loadIM.getUserCurrent().jid; 9 var jidTo = document.getElementById('user_jid_jabberIM').value; 10 var name = document.getElementById('user_name_jabberIM').value; 11 var group = document.getElementById('user_group_jabberIM').value; 8 if( arguments.length > 0 ) 9 { 10 var jidFrom = loadIM.getUserCurrent().jid; 11 var jidTo = arguments[0]; 12 var indexTo = arguments[1]; 13 var group = ""; 14 var name = jidTo.substring(0, jidTo.indexOf('@')); 15 16 TrophyIM.setAutorization( jidTo, loadIM.getUserCurrent().jid, 'subscribe'); 17 18 // Name 19 if(( name = prompt("Informe um nome para " + name + "!", name ))) 20 if(( name = name.replace(/^\s+|\s+$|^\n|\n$/g,"")) == "" ) 21 name = ""; 22 23 if( name == null || name == "") 24 name = ""; 25 26 // Group 27 if((group = prompt("Informe um grupo ou deixe em branco"))) 28 if(( group = group.replace(/^\s+|\s+$|^\n|\n$/g,"")) == "" ) 29 group = ""; 30 31 if( group == null || group == "") 32 group = ""; 33 34 // Remove Element html; 35 var _div = getElement('itenContact_' + jidTo + '_' + indexTo); 36 var _span = getElement('span_show_itenContact_' + jidTo + '_' + indexTo); 37 38 loadIM.removeElement( _div ); 39 loadIM.removeElement( _span ); 40 } 41 else 42 { 43 var jidFrom = loadIM.getUserCurrent().jid; 44 var jidTo = document.getElementById('user_jid_jabberIM').value; 45 var name = document.getElementById('user_name_jabberIM').value; 46 var group = document.getElementById('user_group_jabberIM').value; 47 48 _winBuild('add_user_info','remove'); 49 } 12 50 13 51 if( jidFrom != jidTo ) 14 {15 52 TrophyIM.addContact( jidFrom, jidTo, name, group ); 16 17 _winBuild('add_user_info','remove');18 }19 53 else 20 54 alert("Mesmo Usuário !"); 21 55 } 22 56 57 function getElement( elementId ) 58 { 59 return document.getElementById( elementId ); 60 } 61 23 62 function search() 24 63 { -
sandbox/jabberit_messenger/trophy_expresso/js/loadIM.js
r2511 r2577 28 28 var jid = arguments[1]; 29 29 var index = arguments[2]; 30 var coord = null; 30 31 31 32 if ( !e ) 32 33 var e = window.event; 33 34 ( ( e.target ) ? e.target : e.srcElement ).parentNode.oncontextmenu = function(e) 34 35 var _X = e.clientX + document.body.scrollLeft - document.body.clientLeft; 36 var _Y = e.clientY + document.body.scrollTop - document.body.clientTop; 37 38 coord = { X : _X, Y : _Y }; 39 40 window.document.oncontextmenu = function() 35 41 { 36 42 return false; … … 38 44 39 45 if ( ( e.which && e.which > 1 ) || ( e.button && e.button > 1 ) ) 40 optionsItensContact(jid, index); 46 { 47 optionsItensContact( jid, index, coord ); 48 } 41 49 else 42 50 { … … 321 329 var jid = arguments[0]; 322 330 var index = arguments[1]; 323 var element = document.getElementById('itenContact_' + jid + '_' + index ); 331 var coord = arguments[2]; 332 var element = getElement('itenContact_' + jid + '_' + index ); 333 324 334 325 335 if( showhidden == null ) … … 329 339 ['Autorizar', 'loadIM.setAutorization(\''+jid+'\',\''+index+'\')'], 330 340 ['Remover', 'loadIM.removeContact(\''+jid+'\',\''+index+'\')'], 331 ['Renomear', ' Renomear : ' + jid],332 ['Trocar grupo', ' Trocar grupo : ' + jid],341 ['Renomear', 'loadIM.rename()'], 342 ['Trocar grupo', 'loadIM.rename()'], 333 343 ]; 334 344 … … 343 353 344 354 var _optionsItens = document.createElement("div"); 345 _optionsItens.setAttribute("style", "margin: -10px 0px 0px 20px;");346 355 _optionsItens.className = "x-menu"; 347 _optionsItens.style.zIndex = zIndex++; 356 _optionsItens.style.top = coord.Y; 357 _optionsItens.style.left = ( coord.X - element.offsetLeft ); 358 _optionsItens.style.zIndex = getZindex(); 348 359 _optionsItens.innerHTML = _itens; 360 _optionsItens.onclick = function(){ showhidden.hiddenObject(false); }; 349 361 _optionsItens.onmouseout = function(){ showhidden.hiddenObject(false); }; 350 362 _optionsItens.onmouseover = function(){ showhidden.hiddenObject(true); }; … … 352 364 showhidden.action('onmouseover', 'onmouseout', _optionsItens); 353 365 354 element.appendChild(_optionsItens); 366 window.document.body.appendChild(_optionsItens); 367 368 369 setTimeout(function() 370 { 371 window.document.oncontextmenu = function() 372 { 373 return true; 374 }; 375 376 },500); 355 377 } 356 378 } … … 374 396 } 375 397 398 function removeElement( ) 399 { 400 if( arguments.length > 0 ) 401 { 402 var _element = arguments[0] 403 var _parent = _element.parentNode; 404 405 _parent.removeChild( _element ); 406 } 407 } 408 376 409 function removeGroup() 377 410 { … … 380 413 if( _parent.childNodes.length <= 2 ) 381 414 _parent.parentNode.removeChild(_parent); 415 } 416 417 function rename() 418 { 419 alert("Rename"); 382 420 } 383 421 … … 416 454 function searchUser() 417 455 { 418 var _input = document.getElementById('search_user_jabber');456 var _input = getElement('search_user_jabber'); 419 457 420 458 if( _input.value.length >= 3 ) … … 428 466 var divItenContact = null; 429 467 430 if( ( divItenContact = document.getElementById('itenContact_' + jidTo + '_' + indexTo )))468 if( ( divItenContact = getElement('itenContact_' + jidTo + '_' + indexTo ))) 431 469 { 432 470 var subscription = divItenContact.getAttribute('subscription'); … … 435 473 { 436 474 case 'from': 475 476 alert('SUBSCRIPTION FROM'); 477 //TrophyIM.setAutorization( jidTo, this.getUserCurrent().jid, 'subscribed'); 478 //TrophyIM.setAutorization( jidTo, this.getUserCurrent().jid, 'subscribe'); 479 break; 480 481 case 'none' : 482 483 TrophyIM.setAutorization( jidTo, this.getUserCurrent().jid, 'subscribe'); 484 TrophyIM.setAutorization( jidTo, this.getUserCurrent().jid, 'subscribed'); 485 486 break; 487 437 488 case 'not-in-roster': 438 TrophyIM.setAutorization( jidTo, this.getUserCurrent().jid, 'subscribe'); 489 490 setTimeout(function() 491 { 492 var _add = ""; 493 494 if( ( _add = confirm("Deseja adicionar o usuario!")) ) 495 { 496 addUser.add( jidTo, indexTo ); 497 } 498 499 },100); 500 439 501 break; 502 440 503 case 'to' : 441 TrophyIM.setAutorization( jidTo, this.getUserCurrent().jid, 'subscribed'); 442 break; 504 505 TrophyIM.setAutorization( jidTo, this.getUserCurrent().jid, 'subscribed'); 506 507 case 'subscribe' : 508 509 TrophyIM.setAutorization( jidTo, this.getUserCurrent().jid, 'subscribe'); 510 511 break; 443 512 } 444 513 } … … 488 557 function setSelectEditable(element) 489 558 { 490 if( document.getElementById('selectBox0') == null )559 if( getElement('selectBox0') == null ) 491 560 selectEditable.create(element); 492 561 } … … 586 655 loadIM.prototype.setSelectEditable = setSelectEditable; 587 656 loadIM.prototype.removeContact = removeContact; 657 loadIM.prototype.removeElement = removeElement; 588 658 loadIM.prototype.removeGroup = removeGroup; 659 loadIM.prototype.rename = rename; 589 660 loadIM.prototype.rosterDiv = rosterDiv; 590 661 -
sandbox/jabberit_messenger/trophy_expresso/js/trophyim.js
r2511 r2577 229 229 //Load other .js scripts needed 230 230 document.getElementsByTagName('head')[0].appendChild(DOMObjects.getScript(path_jabberit + 'strophejs/strophe.js')); 231 document.getElementsByTagName('head')[0].appendChild(DOMObjects.getScript(path_jabberit + 'strophejs/md5.js'));232 document.getElementsByTagName('head')[0].appendChild(DOMObjects.getScript(path_jabberit + 'strophejs/sha1.js'));233 document.getElementsByTagName('head')[0].appendChild(DOMObjects.getScript(path_jabberit + 'strophejs/b64.js'));234 231 document.getElementsByTagName('head')[0].appendChild(DOMObjects.getScript(path_jabberit + 'js/json2.js')); //Keep this script last 235 232 //Wait a second to give scripts time to load … … 553 550 } 554 551 555 TrophyIM.rosterObj.addContact(getAttribute('jid'), getAttribute('subscription'), getAttribute('name'), group_array); 552 if( getAttribute('ask') ) 553 TrophyIM.rosterObj.addContact(getAttribute('jid'), getAttribute('ask'), getAttribute('name'), group_array); 554 else 555 TrophyIM.rosterObj.addContact(getAttribute('jid'), getAttribute('subscription'), getAttribute('name'), group_array); 556 556 } 557 558 /*559 var groups = roster_items[i].getElementsByTagName('group');560 561 var group_array = new Array();562 563 for (var g = 0; g < groups.length; g++)564 {565 if( groups[g].firstChild != null )566 group_array[group_array.length] = groups[g].firstChild.nodeValue;567 }568 569 with ( roster_items[i] )570 {571 alert(getAttribute('jid') + "\n" + getAttribute('subscription') + "\n" + getAttribute('name'));572 TrophyIM.rosterObj.addContact(getAttribute('jid'), getAttribute('subscription'), getAttribute('name'), group_array);573 }574 */575 557 } 576 558 … … 713 695 addContact : function( jidFrom, jidTo, name, group ) 714 696 { 715 // Set Presence 716 var newPresence = $pres({from: jidFrom, to: jidTo, type: 'subscribe'}).tree(); 717 718 TrophyIM.connection.send(newPresence); 719 720 // Add Contact 697 // Add Contact 721 698 var _id = TrophyIM.connection.getUniqueId('add'); 722 699 var newContact = $iq({type: 'set', id: _id }); … … 767 744 768 745 divItenContact.parentNode.removeChild(divItenContact); 769 746 770 747 // Remove Contact 771 var _id = TrophyIM.connection.getUniqueId( 'del');748 var _id = TrophyIM.connection.getUniqueId(); 772 749 var delContact = $iq({type: 'set', id: _id}) 773 750 delContact = delContact.c('query').attrs({xmlns : 'jabber:iq:roster'}); 774 751 delContact = delContact.c('item').attrs({jid: jidTo, subscription:'remove'}).tree(); 775 776 TrophyIM.connection.send(delContact); 752 753 TrophyIM.connection.send( delContact ); 754 755 // Remove Contact 756 var _id = TrophyIM.connection.getUniqueId(); 757 var _delContact_ = $iq({type: 'set', id: _id}) 758 _delContact_ = _delContact_.c('query').attrs({xmlns : 'jabber:iq:private'}); 759 _delContact_ = _delContact_.c('storage').attrs({xmlns : 'storage:metacontacts'}).tree(); 760 761 TrophyIM.connection.send( _delContact_ ); 777 762 } 778 763 }, … … 920 905 presence = objContact.presence[resource].show; 921 906 907 if( objContact.contact.subscription != "both") 908 presence = 'subscription'; 909 922 910 if( objContact.presence[resource].status ) 923 911 { 924 status 912 status = " ( " + objContact.presence[resource].status + " ) "; 925 913 statusDisplay = "block"; 926 914 } … … 930 918 var paramsContact = 931 919 { 932 'nameContact' : nameContact, 933 'jid' : objContact.contact.jid, 934 'id' : 'itenContact_' + objContact.contact.jid + '_' + index , 935 'index' : index, 936 'path_jabberit' : path_jabberit, 937 'presence' : presence, 938 'status' : status, 939 'statusDisplay' : statusDisplay, 940 'subscription' : objContact.contact.subscription 920 nameContact : nameContact, 921 jid : objContact.contact.jid, 922 id : 'itenContact_' + objContact.contact.jid + '_' + index , 923 index : index, 924 path_jabberit : path_jabberit, 925 presence : presence, 926 status : status, 927 statusColor : "black", 928 statusDisplay : statusDisplay, 929 subscription : objContact.contact.subscription 930 } 931 932 933 934 // Authorization 935 if( objContact.contact.subscription != "both" ) 936 { 937 938 switch(objContact.contact.subscription) 939 { 940 case "none" : 941 942 paramsContact.status = " (( PEDIR AUTORIZAÇAO ! )) "; 943 paramsContact.statusColor = "red"; 944 break; 945 946 case "to" : 947 948 paramsContact.status = " (( CONTATO PEDE AUTORIZAÇÃO ! )) "; 949 paramsContact.statusColor = "orange"; 950 break; 951 952 case "from" : 953 954 paramsContact.status = " (( AUTORIZAR ? )) "; 955 paramsContact.statusColor = "green"; 956 break; 957 958 case "subscribe" : 959 960 paramsContact.status = " (( AUTORIZAÇÃO ENVIADA ! )) "; 961 paramsContact.statusColor = "red"; 962 break; 963 964 case "not-in-roster" : 965 966 paramsContact.status = " (( QUERO ADICIONÁ-LO(A) ! POSSO ? )) "; 967 paramsContact.statusColor = "orange"; 968 break; 969 970 default: 971 paramsContact.status = " ( " + objContact.contact.subscription + " ) "; 972 } 941 973 } 942 974 … … 961 993 else 962 994 { 995 963 996 // Presence e Status 964 997 var presence = "unavailable"; 965 998 var status = ""; 999 var statusColor = "black"; 966 1000 var statusDisplay = "none"; 967 1001 … … 973 1007 presence = objContact.presence[resource].show; 974 1008 1009 if( objContact.contact.subscription != "both") 1010 presence = 'subscription'; 1011 975 1012 if( objContact.presence[resource].status ) 976 1013 { 977 status 1014 status = " ( " + objContact.presence[resource].status + " ) "; 978 1015 statusDisplay = "block"; 979 1016 } … … 984 1021 is_open = is_open.indexOf("arrow_down.gif"); 985 1022 1023 // Authorization 1024 if( objContact.contact.subscription != "both" ) 1025 { 1026 switch(objContact.contact.subscription) 1027 { 1028 case "none" : 1029 1030 status = " (( PEDIR AUTORIZAÇAO ! )) "; 1031 statusColor = "red"; 1032 break; 1033 1034 case "to" : 1035 1036 status = " (( CONTATO PEDE AUTORIZAÇÃO ! )) "; 1037 statusColor = "orange"; 1038 break; 1039 1040 case "from" : 1041 1042 status = " (( AUTORIZAR ? )) "; 1043 statusColor = "green"; 1044 break; 1045 1046 case "subscribe" : 1047 1048 status = " (( AUTORIZAÇÃO ENVIADA ! )) "; 1049 statusColor = "red"; 1050 break; 1051 1052 case "not-in-roster" : 1053 1054 status = " (( QUERO ADICIONÁ-LO(A) ! POSSO ? )) "; 1055 statusColor = "orange"; 1056 break; 1057 1058 default: 1059 status = " ( " + objContact.contact.subscription + " ) "; 1060 } 1061 1062 statusDisplay = "block"; 1063 } 1064 986 1065 with ( document.getElementById('span_show_' + 'itenContact_' + objContact.contact.jid + '_' + index ) ) 987 1066 { … … 989 1068 { 990 1069 style.display = statusDisplay; 1070 style.color = statusColor; 991 1071 innerHTML = status; 992 1072 } … … 1186 1266 if( subscription !== "remove" ) 1187 1267 { 1188 1268 var contact = { jid:jid, subscription:subscription, name:name, groups:groups } 1189 1269 var jid_lower = jid.toLowerCase(); 1190 1270 … … 1295 1375 this.removeContact = function(jid) 1296 1376 { 1297 var groups = this.roster[ jid ].contact.groups; 1377 if( this.roster[ jid ] ) 1378 { 1379 var groups = this.roster[ jid ].contact.groups; 1380 1381 if( groups ) 1382 { 1383 for ( var i = 0; i < groups.length; i++ ) 1384 { 1385 delete this.groups[ groups[ i ] ][ jid ]; 1386 } 1387 1388 for ( var i = 0; i < groups.length; i++ ) 1389 { 1390 var contacts = 0; 1391 for ( var contact in this.groups[ groups[ i ] ] ) 1392 contacts++; 1298 1393 1299 if( groups ) 1300 { 1301 1302 for ( var i = 0; i < groups.length; i++ ) 1303 { 1304 delete this.groups[ groups[ i ] ][ jid ]; 1394 if ( ! contacts ) 1395 delete this.groups[ groups[ i ] ]; 1396 } 1305 1397 } 1306 1307 for ( var i = 0; i < groups.length; i++ ) 1308 { 1309 var contacts = 0; 1310 for ( var contact in this.groups[ groups[ i ] ] ) 1311 contacts++; 1312 1313 if ( ! contacts ) 1314 delete this.groups[ groups[ i ] ]; 1315 } 1398 1399 // Delete Object roster 1400 if( this.roster[jid] ) 1401 delete this.roster[jid]; 1316 1402 } 1317 1318 // Delete Object roster1319 if( this.roster[jid] )1320 delete this.roster[jid];1321 1403 } 1322 1404 … … 1334 1416 this.setPresence = function(fulljid, priority, show, status) 1335 1417 { 1336 var barejid 1337 var resource 1338 var jid_lower 1418 var barejid = Strophe.getBareJidFromJid(fulljid); 1419 var resource = Strophe.getResourceFromJid(fulljid); 1420 var jid_lower = barejid.toLowerCase(); 1339 1421 1340 1422 if( show != 'unavailable') -
sandbox/jabberit_messenger/trophy_expresso/xsl/chatBox.xsl
r2511 r2577 12 12 <div id="{$idChatBox}" style="height:190px; width:370px; overflow-y:scroll;"></div> 13 13 <div style="margin:2px;"> 14 <textarea id="{$jidTo}__sendBox" class="trophyimchatinput" style="padding- left: 78px; height:130px; width:360px;"></textarea>15 <div id="{$jidTo}__photo" style="position:relative;margin:-126px 0 0 3px;width:60px ;height:80px ;background-image:url('{$path_jabberit}templates/default/images/photo.png');" />16 <div style="margin: 5px;">14 <textarea id="{$jidTo}__sendBox" class="trophyimchatinput" style="padding-right: 78px; height:130px; width:360px;"></textarea> 15 <div id="{$jidTo}__photo" style="position:relative;margin:-126px 0 0 290px;width:60px ;height:80px ;background-image:url('{$path_jabberit}templates/default/images/photo.png');" /> 16 <div style="margin: 7px 5px 5px 295px;"> 17 17 <input type="button" value="Send" onclick="TrophyIM.sendMessage('{$jidTo}')"/> 18 18 </div> -
sandbox/jabberit_messenger/trophy_expresso/xsl/itensGroup.xsl
r2491 r2577 10 10 <xsl:param name="presence" /> 11 11 <xsl:param name="status"/> 12 <xsl:param name="statusColor" /> 12 13 <xsl:param name="statusDisplay"/> 13 14 <xsl:param name="subscription" /> … … 18 19 <xsl:value-of select="$nameContact"/> 19 20 </div> 20 <span id="span_show_{$id}" style="margin:2px 0px 0px 10px; font-size: 8pt; font-style:italic; display:{$statusDisplay}; "><xsl:value-of select="$status"/></span>21 <span id="span_show_{$id}" style="margin:2px 0px 0px 10px; font-size: 8pt; font-style:italic; display:{$statusDisplay}; color:{$statusColor};"><xsl:value-of select="$status"/></span> 21 22 22 23 </xsl:template>
Note: See TracChangeset
for help on using the changeset viewer.