source: branches/2.2.0.1/jabberir_messenger/jmessenger/js/AddUser.js @ 4453

Revision 4453, 9.5 KB checked in by rafaelraymundo, 13 years ago (diff)

Ticket #1726 - Adicionando jabberit_messenger da comunidade.

  • Property svn:executable set to *
Line 
1(function()
2{
3                var Xtools      = null;
4                var conn        = null;
5       
6                function addContact()
7                {
8                        if( arguments.length > 0 )
9                        {
10                                var jidFrom             = Base64.decode( loadscript.getUserCurrent().jid );
11                                var jidTo               = arguments[0];
12                                var group               = "";
13                                var name                = jidTo.substring(0, jidTo.indexOf('@'));
14
15                                var _groups             = "";
16
17                                if( TrophyIM.rosterObj)
18                                {
19                                        for (var group in TrophyIM.rosterObj.groups)
20                                        {
21                                                _groups += group + ";";
22                                        }       
23                                       
24                                        _groups = _groups.substring(0, ( _groups.length - 1) );
25                                }
26                               
27                                var _paramNewUser =
28                                {
29                                        'name_contact'          : name,
30                                        'jidFrom'                       : jidFrom,                                     
31                                        'jidTo'                         : jidTo,
32                                        'selectBoxOptions'      : _groups                                       
33                                };
34                               
35                                var winNewUser =
36                                {
37                                                id_window        : "new_user_jabberit",
38                                                width            : 320,
39                                                height           : 165,
40                                                top                      : 100,
41                                                left             : 350,
42                                                draggable        : true,
43                                                visible          : "display",
44                                                resizable        : true,
45                                                zindex           : loadscript.getZIndex(),
46                                                title            : 'Expresso Messenger - ' + i18n.NEW_USER,
47                                                closeAction  : "remove",
48                                                content          : Xtools.parse( Xtools.xml('new_user'), 'newUser.xsl', _paramNewUser)
49                                };
50
51                                _winBuild( winNewUser );
52                               
53                                // Select Editable
54                                loadscript.setSelectEditable(document.getElementById('name_group_new_user_jabberit'), 5, 99);
55
56                                var _pButtons =
57                                {
58                                        'lang1'                 : i18n.ADD,
59                                        'lang2'                 : i18n.CLOSE,
60                                        'onclickClose'  : '_winBuild("new_user_jabberit","remove");',
61                                        'onclickSubmit' : 'loadscript.addNewUser();'
62                                };
63
64                                // Add Buttons
65                                document.getElementById('buttons_newuser').innerHTML = Xtools.parse(Xtools.xml('buttons_main'), 'buttons.xsl', _pButtons);
66
67                        }
68                        else
69                        {       
70                                var jidFrom             = Base64.decode( loadscript.getUserCurrent().jid );
71                                var jidTo               = getElement('user_jid_jabberIM').value;
72                                var name                = getElement('user_name_jabberIM').value;
73                                var group               = getElement('user_group_jabberIM').value;
74                               
75                                _winBuild('add_user_info','remove');
76                               
77                                if( jidFrom != jidTo )
78                                {
79                                        TrophyIM.setAutorization( jidTo, jidFrom, 'subscribe' );
80
81                                        TrophyIM.addContact( jidTo, name, group );
82                                }
83                        }
84                }
85               
86                function addNewUser()
87                {
88                        var name        = getElement('name_new_user_jabberit').value;
89                        var group       = getElement('name_group_new_user_jabberit').value;
90                        var jidFrom     = getElement('jidFrom_new_user_jabberit').value;
91                        var jidTo       = getElement('jidTo_new_user_jabberit').value;
92
93                        // Name
94                        if(( name = name.replace(/^\s+|\s+$|^\n|\n$/g,"")) == "" )
95                                name = "";
96
97                        if( name == null || name == "")
98                                name = "";
99                       
100                        // Group
101                        if(( group = group.replace(/^\s+|\s+$|^\n|\n$/g,"")) == "" )
102                                group = "";
103
104                        if( group == null || group == "")
105                                group = "";
106                       
107                        // Add Contact
108                        if( jidFrom != jidTo )
109                        {
110                                TrophyIM.rosterObj.removeContact( jidTo );
111                               
112                                // Remove Element
113                                loadscript.removeElement( getElement('itenContact_' + jidTo ) );
114                                loadscript.removeElement( getElement('span_show_itenContact_' + jidTo ) );
115                                loadscript.removeElement( getElement('itenContactNotification_' + jidTo ) );
116
117                                TrophyIM.addContact( jidTo, name, group );
118                               
119                                TrophyIM.setAutorization( jidTo, jidFrom, 'subscribe' );
120                               
121                                _winBuild("new_user_jabberit","remove");
122                        }
123
124                }
125               
126                function getElement( elementId )
127                {
128                        return document.getElementById( elementId );
129                }
130
131                function search()
132                {
133                        var _input      = document.getElementById('search_user_jabber');
134                        var _span       = document.getElementById('span_searching_im');
135                        var _div        = document.getElementById('list_users_ldap_im');
136
137                        _span.style.display = "block";
138                       
139                        if( _input.value.substring((_input.value.length-1),_input.value.length) === "*" )
140                                _input.value = _input.value.substring(0, ( _input.value.length - 1 ));
141
142                        if( _input.value.substring(0 ,1) === "*" )
143                                _input.value = _input.value.substring( 1, _input.value.length );
144                       
145                        conn.go('p.cc.getListContacts',
146                                        function(data)
147                                        {       
148                                                var _paramsVar =
149                                                {
150                                                        'lang_addContact'       : i18n.ADD_CONTACTS ,
151                                                        'lang_empty'            : i18n.NONE_RESULT_WAS_FOUND,
152                                                        'lang_error'            : i18n.TRY_AGAIN,
153                                                        'lang_many_results' : i18n.MANY_RESULTS_PLEASE_TRY_TO_REFINE_YOUR_SEARCH
154                                                };     
155                                               
156                                                _div.innerHTML = Xtools.parse( data, 'listLdapContacts.xsl', _paramsVar );
157
158                                                var _newUser = _div.firstChild;
159                                               
160                                                while ( _newUser )
161                                                {
162                                                        if( _newUser.getAttribute('photo') === '1' )
163                                                        {
164                                                                var jid         = _newUser.getAttribute('jid');
165                                                                var ou          = _newUser.getAttribute('ou');
166                                                               
167                                                                var _img_path  = path_jabberit + 'inc/WebService.php?' + Date.parse( new Date );
168                                                                        _img_path += '&photo_session=' + jid + '&ou=' + ou;
169                                                               
170                                                                _newUser.style.backgroundImage = 'url(' + _img_path + ')';
171                                                        }
172                                                       
173                                                        loadscript.configEvents(_newUser, 'onclick', showContact);
174                                                       
175                                                        _newUser = _newUser.nextSibling;
176                                                }
177                                               
178                                                _input.focus();
179                                                _input.value            = "";
180                                                _span.style.display = "none";
181                                               
182                                        },'name=' + _input.value );
183                       
184                }
185               
186                function showContact(Element)
187                {
188                        var element             = ( Element.target ) ? Element.target : Element.srcElement;
189                        var infoUser    = null;         
190                        var img                 = document.createElement('img');
191                        var _groups             = "";
192
193                        if( TrophyIM.rosterObj)
194                        {
195                                for (var group in TrophyIM.rosterObj.groups)
196                                {
197                                        _groups += group + ";";
198                                }       
199                               
200                                _groups = _groups.substring(0, ( _groups.length - 1) );
201                        }
202                       
203                        if( element.getAttribute('value') )
204                        {
205                                var infoUser =
206                                {
207                                        'email'                         : element.getAttribute('value').substring( 0, element.getAttribute('value').indexOf(';')),
208                                        'jid'                           : element.getAttribute('jid'),
209                                        'lang_group'            : "Grupo",
210                                        'lang_name_contact'     : "Contato",                                   
211                                        'group'                         : element.getAttribute('ou'),
212                                        'name'                          : element.getAttribute('name').substring( 0, element.getAttribute('name').indexOf(' ')),
213                                        'ou'                            : element.getAttribute('ou'),
214                                        'selectBoxOptions'      : _groups,
215                                        'uid'                           : element.getAttribute('value').substring( element.getAttribute('value').indexOf(';') + 1 )
216                                };
217                        }
218                        else if( element.parentNode.getAttribute('value') )
219                        {
220                                var infoUser =
221                                {
222                                        'email'                         : element.parentNode.getAttribute('value').substring( 0, element.parentNode.getAttribute('value').indexOf(';')),
223                                        'jid'                           : element.parentNode.getAttribute('jid'),
224                                        'lang_group'            : "Grupo",
225                                        'lang_name_contact'     : "Contato",                                   
226                                        'group'                         : element.parentNode.getAttribute('ou'),
227                                        'name'                          : element.parentNode.getAttribute('name').substring( 0, element.parentNode.getAttribute('name').indexOf(' ')),
228                                        'ou'                            : element.parentNode.getAttribute('ou'),
229                                        'selectBoxOptions'      : _groups,
230                                        'uid'                           : element.parentNode.getAttribute('value').substring( element.parentNode.getAttribute('value').indexOf(';') + 1)
231                                };
232                        }
233                       
234                        var winAddUser =
235                        {
236                                        id_window        : "add_user_info",
237                                        width            : 370,
238                                        height           : 200,
239                                        top                      : 85,
240                                        left             : 220,
241                                        draggable        : true,
242                                        visible          : "display",
243                                        resizable        : true,
244                                        zindex           : loadscript.getZIndex(),
245                                        title            : 'Expresso Messenger - ' + i18n.ADD_CONTACT,
246                                        closeAction  : "remove",
247                                        content          : Xtools.parse( Xtools.xml('adduser'), 'addUser.xsl', infoUser )
248                        };
249
250                        _winBuild( winAddUser );
251                       
252                       
253                        var _pButtons =
254                        {
255                                'lang1'                 : i18n.ADD,
256                                'lang2'                 : i18n.CLOSE,
257                                'onclickClose'  : '_winBuild("' + winAddUser.id_window + '","remove");',
258                                'onclickSubmit' : 'loadscript.addContact(this);'
259                        };
260
261                        // Add Buttons
262                        document.getElementById('buttons_adduser').innerHTML = Xtools.parse(Xtools.xml('buttons_main'), 'buttons.xsl', _pButtons);
263                       
264                        // Select Editable
265                        loadscript.setSelectEditable(document.getElementById('user_group_jabberIM'),35, 155);
266                       
267                        // Load Photo;
268                        var _img = null;
269                       
270                        if( element.style.backgroundImage )
271                                _img = element.cloneNode( false );
272                                                       
273                        if( element.parentNode.style.backgroundImage )
274                                _img = element.parentNode.cloneNode( false );
275                       
276                        if( _img != null )
277                        {
278                                _img.style.width        = '60px';
279                                _img.style.height       = '80px';
280                                _img.style.display      = 'block';
281                                _img.style.backgroundRepeat = 'no-repeat';
282                               
283                        }
284                        else
285                        {
286                                _img = document.createElement("img");
287                                _img.style.width        = '60px';
288                                _img.style.height       = '80px';
289                                _img.style.display      = 'block';
290                                _img.src                        = path_jabberit + "templates/default/images/photo.png";
291                        }
292                       
293                       
294                        with ( document.getElementById('photo_user_ldap_jabber') )
295                        {
296                                if( hasChildNodes( ) )
297                                        while( hasChildNodes( ) )
298                                        {
299                                                removeNode( firstChild );
300                                        }
301                               
302                                appendChild( _img );
303                        }
304                }
305               
306                function showForm()
307                {
308                       
309                        var _paramsWindAddUser =
310                        {
311                                        'lang_group'            : i18n.GROUP,
312                                        'lang_load'                     : i18n.LOAD,
313                                        'lang_name_contact'     : i18n.NAME_CONTACT,
314                                        'lang_result'           : i18n.SEARCH_RESULT,
315                                        'path'                          : path_jabberit
316                        };
317
318                        var windAddUser =
319                        {
320                                        id_window        : "add_user_im",
321                                        width            : 440,
322                                        height           : 350,
323                                        top                      : 80,
324                                        left             : 200,
325                                        draggable        : true,
326                                        visible          : "display",
327                                        resizable        : true,
328                                        zindex           : loadscript.getZIndex(),
329                                        title            : 'Expresso Messenger - ' + i18n.SEARCH_USERS,
330                                        closeAction  : "remove",
331                                        content          : Xtools.parse( Xtools.xml('userinfo'), 'addUser.xsl', _paramsWindAddUser )
332                        };
333                       
334                        _winBuild( windAddUser );
335                       
336                }
337       
338                function loadAddUser()
339                {
340                        if( arguments.length > 0 )
341                        {
342                                Xtools  = arguments[0];
343                                conn    = arguments[1];                         
344                        }       
345                }
346
347                loadAddUser.prototype.add               = addContact;
348                loadAddUser.prototype.newUser   = addNewUser;
349                loadAddUser.prototype.search    = search;
350                loadAddUser.prototype.show              = showForm;
351                               
352                window.addUserIM        = loadAddUser;
353})();
Note: See TracBrowser for help on using the repository browser.