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

Revision 1669, 12.3 KB checked in by alexandrecorreia, 15 years ago (diff)

Ticket #764 - Corrigido caminho absoluto para relativo ( adicionado ao diretorio ) .

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