source: trunk/jabberit_messenger/js/setup.js @ 1902

Revision 1902, 11.3 KB checked in by alexandrecorreia, 14 years ago (diff)

Ticket #860 - Corrigir quando a autenticacao do jabber nao e pelo campo uid do ldap.

  • Property svn:executable set to *
Line 
1(function()
2{
3        // Envio para o PHP
4        var _conn   = new JITConnector('jabberit_messenger/');
5        var Xtools  = new JITXtools('jabberit_messenger/');     
6
7        function addParticipantsExternals(pDocument)
8        {
9                var form = pDocument.forms[0];
10                var organization = "";
11               
12                for(var i = 0; i < form.elements.length; i++)
13                {
14                        if( form.elements[i].type == 'text' )
15                        {
16                                var nameElement = form.elements[i].name;
17                                        nameElement = nameElement.substring(nameElement.indexOf('_') +1);
18                               
19                                if( form.elements[i].value != "" && ltrim(form.elements[i].value) != "" )
20                                {
21                                                document.getElementById('label_' + nameElement).style.color = "black";
22                                                organization = form.elements[i].value;
23                                                form.elements[i].value = '';
24                                }
25                                else
26                                {
27                                                document.getElementById('label_' + nameElement).style.color = "red";
28                                                alert(jabberitGetLang('Define Organization!'));
29                                                return false;
30                                }
31                        }
32                }
33               
34                _conn.go("$this.db_im.setOrganization",
35                                function(data)
36                                {
37                                        if ( data )
38                                        {
39                                                var _params = {
40                                                        'lang1': jabberitGetLang('Organization'),
41                                                        'lang2': jabberitGetLang('Delete')
42                                                };
43               
44                                                var Table = document.getElementById('tableExternalParticipantsJabberit');
45                                                Table.parentNode.innerHTML = Xtools.parse( data, 'tableExternalParticipants.xsl', _params);
46                                        }
47                                },
48                                "organization=" + organization);
49        }
50       
51        function editHostsJabber()
52        {
53                if( arguments.length > 0 )
54                {
55                        _conn.go("$this.db_im.editHostJabber",
56                                         function(data)
57                                         {
58                                                        var fields = [
59                                                                                        ['org','organizationLdapJabberit'],
60                                                                                        ['jabberName','hostNameJabberit'],
61                                                                                        ['serverLdap','serverLdapJabberit'],
62                                                                                        ['contextLdap','contextLdapJabberit'],
63                                                                                        ['user','userLdapJabberit'],
64                                                                                        ['password','passwordLdapJabberit']                                                                             
65                                                                                 ];                                                     
66
67                                                        data = data.split(';');
68
69                                                        for( var i = 0 ; i < data.length ; i++ )
70                                                        {
71                                                                var values = data[i].split(':');
72
73                                                                for( var j in fields )
74                                                                        if( values[0] == fields[j][0] )
75                                                                                document.getElementById(fields[j][1]).value = values[1];
76                                                        }
77                                                       
78                                         },"item="+arguments[0]);
79                }
80        }
81       
82        function getInputs(pDocument)
83        {
84                var form = pDocument.forms[0];
85                var values = "";
86                var field_blank = false;
87                var anonymousBind;
88                var selectedAnonymous = document.getElementById("JETTI_anonymous_bind_jabberit");
89               
90                // Anonymous Bind Element Select
91                for( var i = 0; i < selectedAnonymous.length; i++ )
92                        if ( selectedAnonymous.options[i].selected == true)
93                                anonymousBind = eval(selectedAnonymous.options[i].value);
94               
95                for( var i = 0 ; i < form.elements.length; i++ )       
96                {
97                        switch(form.elements[i].type)
98                        {
99                                case "text" :
100                                       
101                                                if( form.elements[i].id.toUpperCase() != "JETTI_PORT_2_JABBERIT" )
102                                                {
103                                                        if( anonymousBind )
104                                                        {
105                                                                if( form.elements[i].id.toUpperCase() != "JETTI_USER_LDAP_JABBERIT" )
106                                                                {
107                                                                        if( form.elements[i].value != "" )
108                                                                        {
109                                                                                values += form.elements[i].id.toUpperCase() + ";" + escape(form.elements[i].value) + "\n";
110                                                                                document.getElementById(form.elements[i].id + "__label").style.color = "black";
111                                                                        }
112                                                                        else
113                                                                        {
114                                                                                field_blank = true;
115                                                                                document.getElementById(form.elements[i].id + "__label").style.color = "red";
116                                                                        }
117                                                                }
118                                                                else
119                                                                {
120                                                                        form.elements[i].value = "";
121                                                                        document.getElementById(form.elements[i].id + "__label").style.color = "black";
122                                                                }
123                                                        }
124                                                        else
125                                                        {
126                                                                if ( form.elements[i].value != "" )
127                                                                {
128                                                                        values += form.elements[i].id.toUpperCase() + ";" + escape(form.elements[i].value) + "\n";
129                                                                        document.getElementById(form.elements[i].id + "__label").style.color = "black";
130                                                                }
131                                                                else
132                                                                {
133                                                                        field_blank = true;
134                                                                        document.getElementById(form.elements[i].id + "__label").style.color = "red";
135                                                                }
136       
137                                                        }
138                                                }
139                                               
140                                                break;
141
142                                case "password" :
143                                               
144                                                if( anonymousBind )
145                                                {
146                                                        form.elements[i].value = "";
147                                                        document.getElementById(form.elements[i].id + "__label").style.color = "black";
148                                                }
149                                                else
150                                                {
151                                                        if( form.elements[i].value != "" )
152                                                        {
153                                                                values += form.elements[i].id.toUpperCase() + ";" + escape(form.elements[i].value) + "\n";
154                                                                document.getElementById(form.elements[i].id + "__label").style.color = "black";
155                                                        }
156                                                        else
157                                                        {
158                                                                field_blank = true;
159                                                                document.getElementById(form.elements[i].id + "__label").style.color = "red";
160                                                        }
161                                                }
162                                               
163                                                break;
164                        }
165                }
166
167                if( !field_blank )
168                {
169                        values = values.substring(0,(values.length - 1 ));
170                        _conn.go("$this.fileDefine.ldapInternal","val=" + values);
171                        return true;
172                }
173                else
174                {
175                        alert('Preencha os campos em vermelho !');
176                        return false;
177                }
178        }
179
180        function ltrim(value)
181        {
182                var w_space = String.fromCharCode(32);
183                var strTemp = "";
184                var iTemp = 0;
185               
186                if(v_length < 1)
187                        return "";
188       
189                var v_length = value ? value.length : 0;
190               
191                while(iTemp < v_length)
192                {
193                        if(value && value.charAt(iTemp) != w_space)
194                        {
195                                strTemp = value.substring(iTemp,v_length);
196                                break;
197                        }
198                        iTemp++;
199                }       
200                return strTemp;
201        }
202
203        function sendf()
204        {
205                var doc = ( arguments.length == 1) ? arguments[0] : false;
206                var form = doc.forms[0];
207                var flag = false;
208                var nameForm = '';
209               
210                for( var i = 0; i < form.elements.length; i++ )
211                {
212                        if( form.elements[i].type == 'hidden' )
213                        {
214                                flag = true;
215                                if( form.elements[i].name == 'HiddenJabberitExternals')
216                                        nameForm = form.elements[i].name;
217                        }
218               
219                }
220       
221                if( flag )
222                {
223                        if(flag && nameForm == 'HiddenJabberitExternals')
224                                addParticipantsExternals(doc);
225                }       
226                else
227                {
228                        if( doc )
229                                return getInputs(doc);
230                }
231        }
232
233        function setConfServerJabber()
234        {
235                var orgLdap             = document.getElementById('organizationLdapJabberit');
236                var hostName    = document.getElementById('hostNameJabberit');
237                var     serverLdap      = document.getElementById('serverLdapJabberit');
238                var contextLdap = document.getElementById('contextLdapJabberit');
239                var userLdap    = document.getElementById('userLdapJabberit');
240                var pwdLdap             = document.getElementById('passwordLdapJabberit');     
241
242                var ArrayConf = [
243                                                        ['orgLdap', 'Informe uma organizacao !'],
244                                                        ['hostName', 'Informe o nome do servidor Jabber !'],
245                                                        ['serverLdap', 'Informe o nome do servidor Ldap !'],
246                                                        ['contextLdap', 'Informe um contexto Ldap !'],
247                                                        ['userLdap', ''],
248                                                        ['pwdLdap', '']
249                                                ];
250
251                for (var i in ArrayConf)
252                {
253                        if( !ltrim(eval(ArrayConf[i][0]).value) && ltrim(ArrayConf[i][1]) )
254                        {
255                                alert(ArrayConf[i][1]);
256                                eval(ArrayConf[i][0]).focus();
257                                return false;                           
258                        }       
259                }
260               
261                _conn.go("$this.db_im.setHostJabber",
262                                 function(data)
263                                 {
264                                        var _params = {
265                                                        'lang1': jabberitGetLang('Organization'),
266                                                        'lang2': jabberitGetLang('Servers Jabber'),
267                                                        'lang3': jabberitGetLang('Delete'),                                                             
268                                                        'lang4': jabberitGetLang('Edit')                                                       
269                                        };
270
271                                        var Table = document.getElementById('tableConfServersJabber');
272                                        Table.parentNode.innerHTML = Xtools.parse( data, 'tableConfServersJabber.xsl', _params);
273                                       
274                                        for( var i in ArrayConf )
275                                                eval(ArrayConf[i][0]).value = "";
276                                 },
277                                 "org="+orgLdap.value+"&jabberName="+hostName.value+
278                                 "&serverLdap="+serverLdap.value+"&contextLdap="+contextLdap.value+
279                                 "&user="+userLdap.value+"&password="+pwdLdap.value);
280        }
281
282        function setOrganizationsForGroups()
283        {
284                var elementSel = document.getElementById('organizations_ldap_jabberit');
285                var Organization = "";
286               
287                for(var i = 0; i < elementSel.options.length; i++)
288                {
289                        if( elementSel.options[i].selected == true && elementSel.options[i].value != "-1" )
290                                Organization = elementSel.options[i].value;
291                }
292               
293                if( Organization )
294                {
295               
296                        var group = document.getElementById('nameGroup').value;
297                        var gidNumber = document.getElementById('gidNumber').value;
298       
299                        _conn.go("$this.db_im.setOuGroupsLocked",
300                                         function(data)
301                                         {
302                                                if ( data )
303                                                {
304                                                        var _params = {
305                                                                'lang1': jabberitGetLang('Organization'),
306                                                                'lang2': jabberitGetLang('Delete')
307                                                        };
308                                                       
309                                                        var Table = document.getElementById('tableOrganizationsEnabledGroupsJabberit');
310                                                        Table.parentNode.innerHTML = Xtools.parse( data, 'tableOrganizationsEnabledGroupsJabberit.xsl', _params);
311                                                }
312                                         },     
313                                         "group="+group+"&gidnumber="+gidNumber+"&ou="+Organization);
314                }
315        }
316
317        function setParticipantsExternal()
318        {
319                if( arguments.length > 0 )
320                {
321                        var element = arguments[0];
322                        var form = arguments[1].forms[0];
323                        var value = false;
324                       
325                        for(var i = 0; i < element.options.length; i++)
326                        {
327                                if( element.options[i].selected == true && element.options[i].value == 'true')
328                                        value = true;
329                        }
330                       
331                        for(var i = 0; i < form.elements.length; i++)
332                        {
333                                switch(form.elements[i].type)
334                                {
335                                        case 'text':
336                                        case 'button':
337                                                form.elements[i].disabled = false;                     
338                                                if(!value)
339                                                        form.elements[i].disabled = true;
340
341                                                break;
342                                }
343                        }
344                       
345                        _conn.go("$this.db_im.setUseParticipantsExternal",
346                                function(data)
347                                {
348                                        if(!data)
349                                                alert('Error !');
350                                },
351                                "value=" + value);
352                }
353        }
354
355        function removeHostsJabber()
356        {
357                if( arguments.length > 0 )
358                {
359                        var idElement = arguments[0];
360                        var elementTableTr = document.getElementById(idElement);
361
362                        _conn.go("$this.db_im.removeHostsJabber",
363                                     function(data)
364                                     {
365                                        data = eval(data);
366                                        if( data )
367                                                        elementTableTr.parentNode.removeChild(elementTableTr);                                         
368                                     },
369                                         "item="+idElement);
370                }
371        }
372
373        function removeOrgGroupsLocked()
374        {
375                if( arguments.length > 0 )
376                {
377                        var element = document.getElementById(arguments[0]);
378                        var org = arguments[0];
379                        var group = document.getElementById('nameGroup').value;
380                        var gidNumber = document.getElementById('gidNumber').value;
381                       
382                       
383                        _conn.go("$this.db_im.removeOuGroupsLocked",
384                                        function(data)
385                                        {
386                                                if( data )
387                                                        element.parentNode.removeChild(element);
388                                        },
389                                        "group="+group+"&gidnumber="+gidNumber+"&ou="+org);
390                }
391        }
392
393
394        function removeOrgLdapAttributes()
395        {
396                if( arguments.length > 0 )
397                {
398                        var element = document.getElementById(arguments[0]);
399                        var org = arguments[0];
400                       
401                        _conn.go("$this.db_im.removeAttributesLdap",
402                                        function(data)
403                                        {
404                                                if( data )
405                                                        element.parentNode.removeChild(element);
406                                        },
407                                        "org=" + org);
408                }
409        }
410
411        function removeParticipantsExternal()
412        {
413                if( arguments.length > 0 )
414                {
415                        var element = document.getElementById(arguments[0]);
416                        var participantsExternal = arguments[0];
417                       
418                        _conn.go("$this.db_im.removeParticipantsExternal",
419                                        function(data)
420                                        {
421                                                if( data )
422                                                        element.parentNode.removeChild(element);
423                                        },
424                                        "participants=" + participantsExternal);
425                }
426        }
427
428        function constructScript(){}
429
430        constructScript.prototype.editHostsJ                            = editHostsJabber;
431        constructScript.prototype.removeHostsJ                          = removeHostsJabber;
432        constructScript.prototype.removeOrg                             = removeOrgLdapAttributes;
433        constructScript.prototype.removeOrgGroupsLocked         = removeOrgGroupsLocked;
434        constructScript.prototype.removePartExternal            = removeParticipantsExternal;
435        constructScript.prototype.setConfServerJabber           = setConfServerJabber;
436        constructScript.prototype.setOrgFgroups                         = setOrganizationsForGroups;
437        constructScript.prototype.setPartExternal                       = setParticipantsExternal;     
438        constructScript.prototype.sendf                                         = sendf;
439       
440        window.constructScript = new constructScript;
441}
442)();
Note: See TracBrowser for help on using the repository browser.