source: trunk/jabberit_messenger/js/ldap.js @ 382

Revision 382, 5.3 KB checked in by niltonneto, 16 years ago (diff)

Inclusão do módulo JabberIt? Messenger, novo módulo de mensagens
instantâneas do Expresso. É uma customização do projeto original
Jeti, e foi desenvolvido em Java.

  • Property svn:executable set to *
Line 
1(function()
2{
3        var _conn;
4        var _xtools;
5        var _window;
6
7        function _add_user()
8        {
9                var _win_add = _window.load('add_user_im');
10                        _win_add.title('.:: Adicionar Novos Contatos ::.');
11                        _win_add.size(440);
12                        _win_add.position(200,80);
13                        _win_add.wc.style.padding = "3px";
14               
15                var _params = {
16                        'lang1':jabberitGetLang('Name of Contacts'),
17                        'lang2':jabberitGetLang('Search'),
18                        'lang3':jabberitGetLang('member of organization'),
19                        'lang4':jabberitGetLang('nickname'),
20                        'lang5':jabberitGetLang('group'),
21                        'lang6':jabberitGetLang('add'),
22                        'lang7':jabberitGetLang('close')
23                };
24
25                _win_add.bz.style.display = "none";
26                _win_add.bx.style.display = "none";
27
28                _win_add.content(_xtools.parse(_xtools.xml('adduser'), 'add_user.xsl', _params));
29
30                _config(_win_add.wc.childNodes[2].childNodes[0],
31                        'onclick',
32                        function()
33                        {
34                                var _name = document.getElementById('im_name');
35                                var _group = document.getElementById('im_group');
36                                var     _jid = document.getElementById('im_jid').value;
37                                var _status = document.getElementById('im_status_add');
38
39                                _status.innerHTML = '';
40                                _name.previousSibling.style.color = "#000";
41                                _group.previousSibling.style.color = "#000";
42
43                                if ( !_jid )
44                                {
45                                        _status.innerHTML = 'Selecione uma organização no campo da esquerda e em<br/>'
46                                                                                + ' seguida, no campo da direita, um membro da organização<br/>'
47                                                                                + ' para adicionar como contato';
48                                }
49                                else
50                                {
51                                        _name.value = _name.value.replace(/^( )*|( )*$/g, '');
52                                        _group.value = _group.value.replace(/^( )*|( )*$/g, '');
53
54                                        if ( !(_name.value) || !(_group.value) )
55                                        {
56                                                _status.innerHTML = '<br/>O campo destacado em vermelho é obrigatório!<br/>';
57
58                                                if ( !(_name.value) )
59                                                {
60                                                        _name.previousSibling.style.color = "#f00";
61                                                        _status.innerHTML += '<br/>** Informe um "NOME" para o contato.';
62                                                }
63
64                                                if ( !(_group.value) )
65                                                {
66                                                        _group.previousSibling.style.color = "#f00";
67                                                        _status.innerHTML += '<br/>** Informe um "GRUPO" para o contato.';
68                                                }
69                                        }
70                                        else
71                                        {
72                                                var _uid;
73
74                                                if ( (_uid = document.getElementById('im_uid')) )
75                                                        _uid = _uid.value;
76                                                else
77                                                        _uid = _jid.substr(0, (_jid.indexOf('@') - 1));
78
79                                                _name.parentNode.style.display = 'none';
80                                                _name.parentNode.nextSibling.style.display = 'none';
81                                                _status.innerHTML = '<br/>Adicionando contato, aguarde....<br/>';
82
83                                                _conn.go(
84                                                        '$this.ujabber.AddNewContact',
85                                                        function()
86                                                        {
87                                                                _status.innerHTML = '<br/>Contato adicionado !<br/>';
88                                                        },
89                                                        'uid='+_uid+'&name='+_name.value+'&group='+_group.value
90                                                );
91
92                                                _name.value = '';
93                                                _group.value = '';
94                                        }
95                                }
96                        }
97                );
98
99                _config(_win_add.wc.childNodes[2].childNodes[1],
100                        'onclick',
101                        function()
102                        {
103                                _win_add.button(_win_add.bc);
104                        }
105                );
106        }
107
108        function _config(pObj, pEvent, pHandler)
109        {
110                if ( typeof pObj == 'object' )
111                {
112                        if ( pEvent.substring(0, 2) == 'on' )
113                                pEvent = pEvent.substring(2, pEvent.length);
114
115                        if ( pObj.addEventListener )
116                                pObj.addEventListener(pEvent, pHandler, false);
117                        else if ( pObj.attachEvent )
118                                pObj.attachEvent('on' + pEvent, pHandler);
119                }
120        }
121
122        function _highlight(e)
123        {
124                var el = ( e.target ) ? e.target : e.srcElement;
125                var color = "#fff";
126                if ( e.type.indexOf('mouseover') != -1 )
127                        color = "#dedede";
128                el.style.backgroundColor = color;
129        }
130
131        function _search()
132        {
133                var _loading = document.getElementById('__span_load_im');
134                var _target = document.getElementById('im_ldap_user');
135               
136                _loading.style.display = "block";       
137
138                _conn.go(
139                                '$this.contacts_im.list_contacts',             
140                                function(_data)
141                                {
142                                        var _params = {
143                                                'many_results' : jabberitGetLang('More than 50 results. Please, try to refine your search.'),
144                                                'empty' : jabberitGetLang('None result was found.')
145                                         };
146                               
147                                        _target.innerHTML = _xtools.parse(_data,'list_ldap_contacts.xsl', _params);
148                                       
149                                        function _show(m)
150                                        {
151                                                m = ( m.target ) ? m.target : m.srcElement;
152                                                if ( m.getAttribute('value'))
153                                                        m = m.getAttribute('value');
154                                                else
155                                                        m = m.parentNode.getAttribute('value');
156                                               
157                                                if ( !m )
158                                                        return false;
159
160                                                document.getElementById('im_jid').value = m.substr(0, m.indexOf(';'));
161                                                document.getElementById('im_uid').value = m.substr((m.indexOf(';')+1));
162
163                                                var _name = document.getElementById('im_name');
164                                                _name.value = m.substr(0, m.indexOf('@'));
165                                                _name.previousSibling.style.color = "#000";
166
167                                                _name.parentNode.style.display = 'block';
168                                                _name.parentNode.nextSibling.style.display = 'block';
169                                                _name.parentNode.nextSibling.nextSibling.innerHTML = '';
170
171                                                var _group = document.getElementById('im_group');
172                                                _group.value = '';
173                                                _group.focus();
174                                        }
175
176                                        var _member = _target.firstChild;
177                                        while ( _member )
178                                        {
179                                                if( _member.getAttribute('photo') === '1' )
180                                                {
181                                                        var uid = _member.getAttribute('value');
182                                                        uid = uid.substr(uid.indexOf(';') + 1);
183                                                        _member.style.backgroundImage = 'url(' + path_jabberit + 'inc/getphoto.php?uid=' + uid + ')';
184                                                }
185                                                _config(_member, 'onclick', _show);
186                                               
187                                                _member = _member.nextSibling;
188                                        }
189                                        _loading.style.display = "none";
190                                },
191                                'name='+ arguments[0]
192                            );
193        }
194
195        function LDAP()
196        {
197                _conn = arguments[0];
198                _xtools = arguments[1];
199                _window = arguments[2];
200        }
201
202        LDAP.prototype.search = _search;
203        LDAP.prototype.add = _add_user;
204        window.JITLdap = LDAP;
205}
206)();
Note: See TracBrowser for help on using the repository browser.