source: branches/2.2/jabberit_messenger/js/ldap.js @ 3102

Revision 3102, 7.9 KB checked in by amuller, 14 years ago (diff)

Ticket #986 - Efetuado merge para o Branch 2.2( atualizacao do modulo)

  • Property svn:executable set to *
Line 
1(function()
2{
3        var _conn;
4        var Xtools;
5        var _myWindow;
6        var _is_ie;
7
8        function addUser()
9        {
10                var _name = document.getElementById('im_name');
11                var _group = document.getElementById('im_group');
12                var jidUser = document.getElementById('im_jidUser').value;
13                var     _jid = document.getElementById('im_jid').value;
14
15                if ( _jid )
16                {
17                        _name.value = _name.value.replace(/^( )*|( )*$/g, '');
18                        _group.value = _group.value.replace(/^( )*|( )*$/g, '');
19
20                        if ( !(_name.value) || !(_group.value) )
21                        {
22                                if ( !(_name.value) || !(_group.value) )
23                                {
24                                        alert( jabberitGetLang('ATTENTION') + "!!\n" +
25                                                   jabberitGetLang("Enter a NAME") + " / " +
26                                                   jabberitGetLang("Enter a GROUP") + ".");
27                                }
28                        }
29                        else
30                        {
31                                var _uid;
32                               
33                                if ( (_uid = document.getElementById('im_uid')) )
34                                        _uid = _uid.value;
35                                else
36                                        _uid = _jid.substr(0, (_jid.indexOf('@') - 1));
37
38                                _conn.go('$this.contacts_im.verifyAddNewContact',
39                                                 function(data)
40                                                 {
41                                                        data = eval(data);
42
43                                                        if( !data )
44                                                        {
45                                                                alert("*********** " + jabberitGetLang("Attention") + "!! ***********\n" +
46                                                                          jabberitGetLang("This user is part of a small group!") +
47                                                                          "\n" + jabberitGetLang("Contact was not added!"));
48                                                        }
49                                                        else
50                                                        {       
51                                                                var result;
52               
53                                                                try
54                                                                {
55                                                                        if( elementIframe = document.getElementById('iframe_applet_jabberit') )
56                                                                        {
57                                                                                if( !_is_ie )
58                                                                                        result = elementIframe.contentDocument.applets[0].addContact( jidUser, _name.value, _group.value );
59                                                                                else
60                                                                                        result = elementIframe.contentWindow.document.applets[0].addContact( jidUser, _name.value, _group.value );
61                                                                        }
62                                                                        else // If Pop-Up
63                                                                        {
64                                                                                result = _myWindow.document.applets[0].addContact( jidUser, _name.value, _group.value );
65                                                                        }
66                                                                }
67                                                                catch(e)
68                                                                {
69                                                                        alert("*********** " + jabberitGetLang("Attention") + "!! ***********\n" +
70                                                                                   jabberitGetLang('The module is not loaded') + "! " +
71                                                                                   "\n" + jabberitGetLang('Contact was not added!')) ;
72                                                                }
73                                                        }
74                                                       
75                                                        winBuild("add_user_info","remove");
76                                                       
77                                                 },"uid="+_uid);
78                                }
79                        }
80        }
81
82        function _config(pObj, pEvent, pHandler)
83        {
84                if ( typeof pObj == 'object' )
85                {
86                        if ( pEvent.substring(0, 2) == 'on' )
87                                pEvent = pEvent.substring(2, pEvent.length);
88
89                        if ( pObj.addEventListener )
90                                pObj.addEventListener(pEvent, pHandler, false);
91                        else if ( pObj.attachEvent )
92                                pObj.attachEvent('on' + pEvent, pHandler);
93                }
94        }
95
96        function _load()
97        {
98                if( arguments.length > 0 )
99                        _myWindow = arguments[0];
100
101                var _params =   {
102                                'lang1':jabberitGetLang('Name of Contacts'),
103                                'lang2':jabberitGetLang('Search'),
104                                'lang3':jabberitGetLang('Search result'),
105                                'lang4':jabberitGetLang('Nickname'),
106                                'lang5':jabberitGetLang('group')
107                };
108
109                var _win_addUser = {
110                                id_window        : "add_user_im",
111                                width            : 440,
112                                height           : 350,
113                                top                      : 80,
114                                left             : 200,
115                                draggable        : true,
116                                visible          : "display",
117                                resizable        : true,
118                                zindex           : _ZINDEX++,
119                                title            : 'Expresso Messenger - ' + jabberitGetLang('Search users'),
120                                closeAction  : "remove",
121                                content          : Xtools.parse(Xtools.xml('userinfo'), 'add_user.xsl', _params)
122                };
123               
124                winBuild( _win_addUser );
125        }
126
127        function _search()
128        {
129                var _loading = document.getElementById('__span_load_im');               
130                var _target      = document.getElementById('im_ldap_user');
131       
132                _loading.style.display = "block";
133       
134                _conn.go('$this.contacts_im.list_contacts',             
135                                function( data )
136                                {
137                                        if( data )
138                                        {
139                                                var _pList = {
140                                                                                'many_results' : jabberitGetLang('More than 50 results. Please, try to refine your search.'),
141                                                                                'empty' : jabberitGetLang('None result was found.')
142                                                                         };     
143                                               
144                                                _target.innerHTML = Xtools.parse( data, 'list_ldap_contacts.xsl', _pList);
145                                               
146                                                // Show Contact
147                                                function _show(Obj)
148                                                {
149                                                        var data;
150                                                        var _element = ( Obj.target ) ? Obj.target : Obj.srcElement;
151                                                        var groups;
152                       
153                                                        if ( !_element || _element.id == "" )
154                                                                return false;
155
156                                                       
157                                                        var _params     =       {
158                                                                        'lang1':jabberitGetLang('Name of Contacts'),
159                                                                        'lang2':jabberitGetLang('Search'),
160                                                                        'lang3':jabberitGetLang('Resultado da Busca'),
161                                                                        'lang4':jabberitGetLang('nickname'),
162                                                                        'lang5':jabberitGetLang('group')
163                                                        };
164
165                                                        var _win_addUser = {
166                                                                        id_window        : "add_user_info",
167                                                                        width            : 400,
168                                                                        height           : 190,
169                                                                        top                      : 85,
170                                                                        left             : 220,
171                                                                        draggable        : true,
172                                                                        visible          : "display",
173                                                                        resizable        : true,
174                                                                        zindex           : _ZINDEX++,
175                                                                        title            : 'Expresso Messenger - ' + jabberitGetLang('Add Contact'),
176                                                                        closeAction  : "remove",
177                                                                        content          : Xtools.parse(Xtools.xml('adduser'), 'add_user.xsl', _params)
178                                                        };
179
180                                                        winBuild( _win_addUser );
181
182                                                        try
183                                                        {
184                                                                var elementIframe = document.getElementById('iframe_applet_jabberit');
185                                                               
186                                                                // If Layer;
187                                                                if( elementIframe != null )
188                                                                {
189                                                                        if( !_is_ie )
190                                                                                groups = elementIframe.contentDocument.applets[0].getGroupsToExpresso();
191                                                                        else
192                                                                                groups = elementIframe.contentWindow.document.applets[0].getGroupsToExpresso();
193                                                                }
194                                                                else // If Pop-Up
195                                                                {
196                                                                        groups = _myWindow.document.applets[0].getGroupsToExpresso();
197                                                                }
198                                               
199                                                                if( typeof(groups) == 'object')
200                                                                {
201                                                                        data = groups + ";";
202                                                                        data = data.substring(0,(data.length-2));
203                                                                }
204                                                                else                   
205                                                                        data = groups.substring(0,(groups.length-1));
206                                                               
207                                                                setTimeout(function(){showUser(data, _element);}, 250);
208                                                        }
209                                                        catch(e)
210                                                        {
211                                                                alert("*********** " + jabberitGetLang("Attention") + "!! ***********\n" +
212                                                                          jabberitGetLang("The module is not loaded") + "!\n" );
213                                                        }
214                                                }
215                                        }
216                                       
217                                        var _member = _target.firstChild;
218                       
219                                        while ( _member )
220                                        {
221                                                if( _member.getAttribute('photo') === '1' )
222                                                {
223                                                        var jid = _member.getAttribute('jid');
224                                                        var ou = _member.getAttribute('ou');
225
226                                                        var _img_path = path_jabberit + 'inc/webservice.php?' + Date.parse( new Date );
227                                                                _img_path += '&phpPhoto=' + jid + '&phpOu=' + ou;
228
229                                                        _member.style.backgroundImage = 'url(' + _img_path + ')';
230                                                }
231                                                _config(_member, 'onclick', _show);
232                                               
233                                                _member = _member.nextSibling;
234                                        }
235
236                                        _loading.style.display = "none";                                               
237                                },
238                                'name='+ arguments[0]
239                            );
240        }
241
242        function showUser(pData, pElement)
243        {
244                var jidUser = "";
245               
246                if ( pElement.getAttribute('value'))
247                {
248                        jidUser = pElement.getAttribute('jid');
249                        pElement = m.getAttribute('value');
250                }
251                else
252                {
253                        jidUser = pElement.parentNode.getAttribute('jid');
254                        pElement = pElement.parentNode.getAttribute('value');
255                }
256
257                document.getElementById('im_jidUser').value = jidUser;
258                document.getElementById('im_jid').value         = pElement.substr(0, pElement.indexOf(';'));
259                document.getElementById('im_uid').value         = pElement.substr((pElement.indexOf(';')+1));
260
261                var fname = document.getElementById(pElement).innerHTML;
262                fname = fname.substr(0, fname.indexOf(' '));
263                document.getElementById('im_name').value = fname;
264
265                if( pData)
266                {
267                        document.getElementById('im_group').setAttribute('selectboxoptions', pData);
268
269                        if( document.getElementById('selectBox0') == null )
270                                editS.create(document.getElementById('im_group'));
271                }
272               
273                var _pButtons = {
274                                                        'lang1' : jabberitGetLang('add'),
275                                                        'lang2' : jabberitGetLang('close'),
276                                                        'onclickClose' : 'winBuild("add_user_info","remove")',
277                                                        'onclickSubmit' : 'loadscript.addUser()'
278                                                };
279               
280                document.getElementById('buttons_adduser').innerHTML = Xtools.parse(Xtools.xml('buttons_main'), 'buttons.xsl', _pButtons);
281        }
282       
283        function LDAP()
284        {
285                _conn           = arguments[0];
286                Xtools          = arguments[1];
287                _is_ie          = arguments[2];
288        }
289
290        LDAP.prototype.addUser  = addUser;
291        LDAP.prototype.load             = _load;
292        LDAP.prototype.search   = _search;
293        window.JITLdap = LDAP;
294}
295)();
Note: See TracBrowser for help on using the repository browser.