source: sandbox/jabberit_messenger/trophy_expresso/js/AddUser.js @ 2577

Revision 2577, 7.4 KB checked in by alexandrecorreia, 14 years ago (diff)

Ticket #986 - Alterado a parte de autorizacao, informando se o usuario esta permitido ou nao na lista.

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             = 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                        }
50                       
51                        if( jidFrom != jidTo )
52                                TrophyIM.addContact( jidFrom, jidTo, name, group );
53                        else
54                                alert("Mesmo Usuário !");
55                }
56               
57                function getElement( elementId )
58                {
59                        return document.getElementById( elementId );
60                }
61
62                function search()
63                {
64                        var _input      = document.getElementById('search_user_jabber');
65                        var _span       = document.getElementById('span_searching_im');
66                        var _div        = document.getElementById('list_users_ldap_im');
67
68                        _span.style.display = "block";
69                       
70                        if( _input.value.substring((_input.value.length-1),_input.value.length) === "*" )
71                                _input.value = _input.value.substring(0, ( _input.value.length - 1 ));
72
73                        if( _input.value.substring(0 ,1) === "*" )
74                                _input.value = _input.value.substring( 1, _input.value.length );
75                       
76                        conn.go('p.cc.getListContacts',
77                                        function(data)
78                                        {       
79                                                var _paramsVar =
80                                                {
81                                                        'lang_addContact'       : 'Adicionar Contatos',
82                                                        'lang_empty'            : 'None result was found.',
83                                                        'lang_many_results' : 'Many results. Please, try to refine your search.'
84                                                };     
85                                               
86                                                _div.innerHTML = Xtools.parse( data, 'listLdapContacts.xsl', _paramsVar );
87
88                                                var _newUser = _div.firstChild;
89                                               
90                                                while ( _newUser )
91                                                {
92                                                        if( _newUser.getAttribute('photo') === '1' )
93                                                        {
94                                                                var jid         = _newUser.getAttribute('jid');
95                                                                var ou          = _newUser.getAttribute('ou');
96                                                               
97                                                                var _img_path  = path_jabberit + 'inc/WebService.php?' + Date.parse( new Date );
98                                                                        _img_path += '&photo_session=' + jid + '&ou=' + ou;
99                                                               
100                                                                _newUser.style.backgroundImage = 'url(' + _img_path + ')';
101                                                        }
102                                                       
103                                                        loadIM.configEvents(_newUser, 'onclick', showContact);
104                                                       
105                                                        _newUser = _newUser.nextSibling;
106                                                }
107
108                                                _input.focus();
109                                                _input.value            = "";
110                                                _span.style.display = "none";
111                                               
112                                        },'name=' + _input.value );
113                }
114               
115                function showContact(Element)
116                {
117                        var element             = ( Element.target ) ? Element.target : Element.srcElement;
118                        var infoUser    = null;         
119                        var img                 = document.createElement('img');
120                       
121                        if( element.getAttribute('value') )
122                        {
123                                var infoUser =
124                                {
125                                        'email'                         : element.getAttribute('value').substring( 0, element.getAttribute('value').indexOf(';')),
126                                        'jid'                           : element.getAttribute('jid'),
127                                        'lang_group'            : "Grupo",
128                                        'lang_name_contact'     : "Contato",                                   
129                                        'group'                         : element.getAttribute('ou'),
130                                        'name'                          : element.getAttribute('name').substring( 0, element.getAttribute('name').indexOf(' ')),
131                                        'ou'                            : element.getAttribute('ou'),
132                                        'selectBoxOptions'      : "grupo1; grupo2; grupo3",
133                                        'uid'                           : element.getAttribute('value').substring( element.getAttribute('value').indexOf(';') + 1 )
134                                };
135                        }
136                        else if( element.parentNode.getAttribute('value') )
137                        {
138                                var infoUser =
139                                {
140                                        'email'                         : element.parentNode.getAttribute('value').substring( 0, element.parentNode.getAttribute('value').indexOf(';')),
141                                        'jid'                           : element.parentNode.getAttribute('jid'),
142                                        'lang_group'            : "Grupo",
143                                        'lang_name_contact'     : "Contato",                                   
144                                        'group'                         : element.parentNode.getAttribute('ou'),
145                                        'name'                          : element.parentNode.getAttribute('name').substring( 0, element.parentNode.getAttribute('name').indexOf(' ')),
146                                        'ou'                            : element.parentNode.getAttribute('ou'),
147                                        'selectBoxOptions'      : "grupo1; grupo2; grupo3",
148                                        'uid'                           : element.parentNode.getAttribute('value').substring( element.parentNode.getAttribute('value').indexOf(';') + 1)
149                                };
150                        }
151                       
152                        var winAddUser =
153                        {
154                                        id_window        : "add_user_info",
155                                        width            : 370,
156                                        height           : 190,
157                                        top                      : 85,
158                                        left             : 220,
159                                        draggable        : true,
160                                        visible          : "display",
161                                        resizable        : true,
162                                        zindex           : loadIM.getZIndex(),
163                                        title            : 'Expresso Messenger - Add Contact',
164                                        closeAction  : "remove",
165                                        content          : Xtools.parse( Xtools.xml('adduser'), 'addUser.xsl', infoUser )
166                        };
167
168                        _winBuild( winAddUser );
169                       
170                       
171                        var _pButtons =
172                        {
173                                'lang1'                 : 'Adicionar',
174                                'lang2'                 : 'Fechar',
175                                'onclickClose'  : '_winBuild("' + winAddUser.id_window + '","remove");',
176                                'onclickSubmit' : 'loadIM.addContact(this);'
177                        };
178
179                        // Add Buttons
180                        document.getElementById('buttons_adduser').innerHTML = Xtools.parse(Xtools.xml('buttons_main'), 'buttons.xsl', _pButtons);
181                       
182                        // Select Editable
183                        loadIM.setSelectEditable(document.getElementById('user_group_jabberIM'));
184                       
185                        if( element.style.backgroundImage )
186                        {
187                                var _img = element.cloneNode( false );
188                                _img.style.width        = '60px';
189                                _img.style.height       = '80px';
190                                _img.style.display      = 'block';
191                                _img.style.backgroundRepeat = 'no-repeat';
192                                                       
193                        }
194                        else
195                        {
196                                var _img = document.createElement("img");
197                                _img.style.width        = '60px';
198                                _img.style.height       = '80px';
199                                _img.style.display      = 'block';
200                                _img.src                        = path_jabberit + "templates/default/images/photo.png";
201                        }
202                       
203                        with ( document.getElementById('photo_user_ldap_jabber') )
204                        {
205                                if( hasChildNodes( ) )
206                                        while( hasChildNodes( ) )
207                                        {
208                                                removeNode( firstChild );
209                                        }
210                               
211                                appendChild( _img );
212                        }
213                       
214                }
215               
216                function showForm()
217                {
218                        var _paramsWindAddUser =
219                        {
220                                        'lang_group'            : 'Grupo',
221                                        'lang_load'                     : 'Carregando',
222                                        'lang_name_contact'     : 'Nome do Contato',
223                                        'lang_result'           : 'Resultado da Busca',
224                                        'path'                          : path_jabberit
225                        };
226
227                        var windAddUser =
228                        {
229                                        id_window        : "add_user_im",
230                                        width            : 440,
231                                        height           : 350,
232                                        top                      : 80,
233                                        left             : 200,
234                                        draggable        : true,
235                                        visible          : "display",
236                                        resizable        : true,
237                                        zindex           : loadIM.getZIndex(),
238                                        title            : 'Expresso Messenger - Search users',
239                                        closeAction  : "remove",
240                                        content          : Xtools.parse( Xtools.xml('userinfo'), 'addUser.xsl', _paramsWindAddUser )
241                        };
242                       
243                        _winBuild( windAddUser );
244                       
245                }
246       
247                function loadAddUser()
248                {
249                        if( arguments.length > 0 )
250                        {
251                                Xtools  = arguments[0];
252                                conn    = arguments[1];                         
253                        }       
254                }
255
256                loadAddUser.prototype.add               = addContact;
257                loadAddUser.prototype.search    = search;
258                loadAddUser.prototype.show              = showForm;
259                               
260                window.addUserIM        = loadAddUser;
261})();
Note: See TracBrowser for help on using the repository browser.