source: branches/2.2/jabberit_messenger/jmessenger/js/AddUser.mini.js @ 3260

Revision 3260, 7.0 KB checked in by alexandrecorreia, 14 years ago (diff)

Ticket #1316 - Correcoes e melhorias na busca dos contatos para o Modulo IM.

  • Property svn:executable set to *
Line 
1
2(function()
3{var Xtools=null;var conn=null;function addContact()
4{if(arguments.length>0)
5{var jidFrom=Base64.decode(loadscript.getUserCurrent().jid);var jidTo=arguments[0];var group="";var name=jidTo.substring(0,jidTo.indexOf('@'));var _groups="";if(TrophyIM.rosterObj)
6{for(var group in TrophyIM.rosterObj.groups)
7{_groups+=group+";";}
8_groups=_groups.substring(0,(_groups.length-1));}
9var _paramNewUser={'name_contact':name,'jidFrom':jidFrom,'jidTo':jidTo,'selectBoxOptions':_groups};var winNewUser={id_window:"new_user_jabberit",width:320,height:165,top:100,left:350,draggable:true,visible:"display",resizable:true,zindex:loadscript.getZIndex(),title:'Expresso Messenger - '+i18n.NEW_USER,closeAction:"remove",content:Xtools.parse(Xtools.xml('new_user'),'newUser.xsl',_paramNewUser)};_winBuild(winNewUser);loadscript.setSelectEditable(document.getElementById('name_group_new_user_jabberit'),5,99);var _pButtons={'lang1':i18n.ADD,'lang2':i18n.CLOSE,'onclickClose':'_winBuild("new_user_jabberit","remove");','onclickSubmit':'loadscript.addNewUser();'};document.getElementById('buttons_newuser').innerHTML=Xtools.parse(Xtools.xml('buttons_main'),'buttons.xsl',_pButtons);}
10else
11{var jidFrom=Base64.decode(loadscript.getUserCurrent().jid);var jidTo=getElement('user_jid_jabberIM').value;var name=getElement('user_name_jabberIM').value;var group=getElement('user_group_jabberIM').value;_winBuild('add_user_info','remove');if(jidFrom!=jidTo)
12{TrophyIM.addContact(jidTo,name,group);}}}
13function addNewUser()
14{var name=getElement('name_new_user_jabberit').value;var group=getElement('name_group_new_user_jabberit').value;var jidFrom=getElement('jidFrom_new_user_jabberit').value;var jidTo=getElement('jidTo_new_user_jabberit').value;if((name=name.replace(/^\s+|\s+$|^\n|\n$/g,""))=="")
15name="";if(name==null||name=="")
16name="";if((group=group.replace(/^\s+|\s+$|^\n|\n$/g,""))=="")
17group="";if(group==null||group=="")
18group="";if(jidFrom!=jidTo)
19{TrophyIM.rosterObj.removeContact(jidTo);loadscript.removeElement(getElement('itenContact_'+jidTo));loadscript.removeElement(getElement('span_show_itenContact_'+jidTo));loadscript.removeElement(getElement('itenContactNotification_'+jidTo));TrophyIM.addContact(jidTo,name,group);_winBuild("new_user_jabberit","remove");}}
20function getElement(elementId)
21{return document.getElementById(elementId);}
22function search()
23{var _input=document.getElementById('search_user_jabber');var _span=document.getElementById('span_searching_im');var _div=document.getElementById('list_users_ldap_im');_span.style.display="block";if(_input.value.substring((_input.value.length-1),_input.value.length)==="*")
24_input.value=_input.value.substring(0,(_input.value.length-1));if(_input.value.substring(0,1)==="*")
25_input.value=_input.value.substring(1,_input.value.length);conn.go('p.cc.getListContacts',function(data)
26{var _paramsVar={'lang_addContact':i18n.ADD_CONTACTS,'lang_empty':i18n.NONE_RESULT_WAS_FOUND,'lang_error':i18n.TRY_AGAIN,'lang_many_results':i18n.MANY_RESULTS_PLEASE_TRY_TO_REFINE_YOUR_SEARCH};_div.innerHTML=Xtools.parse(data,'listLdapContacts.xsl',_paramsVar);var _newUser=_div.firstChild;while(_newUser)
27{if(_newUser.getAttribute('photo')==='1')
28{var jid=_newUser.getAttribute('jid');var ou=_newUser.getAttribute('ou');var _img_path=path_jabberit+'inc/WebService.php?'+Date.parse(new Date);_img_path+='&photo_session='+jid+'&ou='+ou;_newUser.style.backgroundImage='url('+_img_path+')';}
29loadscript.configEvents(_newUser,'onclick',showContact);_newUser=_newUser.nextSibling;}
30_input.focus();_input.value="";_span.style.display="none";},'name='+_input.value);}
31function showContact(Element)
32{var element=(Element.target)?Element.target:Element.srcElement;var infoUser=null;var img=document.createElement('img');var _groups="";if(TrophyIM.rosterObj)
33{for(var group in TrophyIM.rosterObj.groups)
34{_groups+=group+";";}
35_groups=_groups.substring(0,(_groups.length-1));}
36if(element.getAttribute('value'))
37{var infoUser={'email':element.getAttribute('value').substring(0,element.getAttribute('value').indexOf(';')),'jid':element.getAttribute('jid'),'lang_group':"Grupo",'lang_name_contact':"Contato",'group':element.getAttribute('ou'),'name':element.getAttribute('name').substring(0,element.getAttribute('name').indexOf(' ')),'ou':element.getAttribute('ou'),'selectBoxOptions':_groups,'uid':element.getAttribute('value').substring(element.getAttribute('value').indexOf(';')+1)};}
38else if(element.parentNode.getAttribute('value'))
39{var infoUser={'email':element.parentNode.getAttribute('value').substring(0,element.parentNode.getAttribute('value').indexOf(';')),'jid':element.parentNode.getAttribute('jid'),'lang_group':"Grupo",'lang_name_contact':"Contato",'group':element.parentNode.getAttribute('ou'),'name':element.parentNode.getAttribute('name').substring(0,element.parentNode.getAttribute('name').indexOf(' ')),'ou':element.parentNode.getAttribute('ou'),'selectBoxOptions':_groups,'uid':element.parentNode.getAttribute('value').substring(element.parentNode.getAttribute('value').indexOf(';')+1)};}
40var winAddUser={id_window:"add_user_info",width:370,height:200,top:85,left:220,draggable:true,visible:"display",resizable:true,zindex:loadscript.getZIndex(),title:'Expresso Messenger - '+i18n.ADD_CONTACT,closeAction:"remove",content:Xtools.parse(Xtools.xml('adduser'),'addUser.xsl',infoUser)};_winBuild(winAddUser);var _pButtons={'lang1':i18n.ADD,'lang2':i18n.CLOSE,'onclickClose':'_winBuild("'+winAddUser.id_window+'","remove");','onclickSubmit':'loadscript.addContact(this);'};document.getElementById('buttons_adduser').innerHTML=Xtools.parse(Xtools.xml('buttons_main'),'buttons.xsl',_pButtons);loadscript.setSelectEditable(document.getElementById('user_group_jabberIM'),35,155);var _img=null;if(element.style.backgroundImage)
41_img=element.cloneNode(false);if(element.parentNode.style.backgroundImage)
42_img=element.parentNode.cloneNode(false);if(_img!=null)
43{_img.style.width='60px';_img.style.height='80px';_img.style.display='block';_img.style.backgroundRepeat='no-repeat';}
44else
45{_img=document.createElement("img");_img.style.width='60px';_img.style.height='80px';_img.style.display='block';_img.src=path_jabberit+"templates/default/images/photo.png";}
46with(document.getElementById('photo_user_ldap_jabber'))
47{if(hasChildNodes())
48while(hasChildNodes())
49{removeNode(firstChild);}
50appendChild(_img);}}
51function showForm()
52{var _paramsWindAddUser={'lang_group':i18n.GROUP,'lang_load':i18n.LOAD,'lang_name_contact':i18n.NAME_CONTACT,'lang_result':i18n.SEARCH_RESULT,'path':path_jabberit};var windAddUser={id_window:"add_user_im",width:440,height:350,top:80,left:200,draggable:true,visible:"display",resizable:true,zindex:loadscript.getZIndex(),title:'Expresso Messenger - '+i18n.SEARCH_USERS,closeAction:"remove",content:Xtools.parse(Xtools.xml('userinfo'),'addUser.xsl',_paramsWindAddUser)};_winBuild(windAddUser);}
53function loadAddUser()
54{if(arguments.length>0)
55{Xtools=arguments[0];conn=arguments[1];}}
56loadAddUser.prototype.add=addContact;loadAddUser.prototype.newUser=addNewUser;loadAddUser.prototype.search=search;loadAddUser.prototype.show=showForm;window.addUserIM=loadAddUser;})();
Note: See TracBrowser for help on using the repository browser.