source: trunk/jabberit_messenger/templates/default/setup.js @ 946

Revision 946, 11.1 KB checked in by alexandrecorreia, 15 years ago (diff)

Ticket #505 - Arquivos modificados para a administração de hosts virtuais no servidor Jabber.

  • 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
132                for( var i = 0 ; i < form.elements.length; i++ )       
133                {
134               
135                        switch(form.elements[i].type)
136                        {
137                                case "text" :
138                                                        if ( form.elements[i].value != "" )
139                                                        {
140                                                                values += form.elements[i].id.toUpperCase() + ";" + escape(form.elements[i].value) + "\n";
141                                                                document.getElementById(form.elements[i].id + "__label").style.color = "black";
142                                                        }                                               
143                                                        else
144                                                                if( form.elements[i].id.toUpperCase() != "JETTI_GROUP_CHAT_SERVER_JABBERIT")
145                                                                {
146                                                                        document.getElementById(form.elements[i].id + "__label").style.color = "red";
147                                                                        field_blank = true;
148                                                                }
149                                                        break;
150
151                                case "password" :
152                                                        if ( form.elements[i].value == "" )
153                                                        {
154                                                                document.getElementById(form.elements[i].id + "__label").style.color = "red";
155                                                                field_blank = true;
156                                                        }
157                                                        else
158                                                        {
159                                                                values += form.elements[i].id.toUpperCase() + ";" + escape(form.elements[i].value) + "\n";
160                                                                document.getElementById(form.elements[i].id + "__label").style.color = "black";
161                                                        }
162                                                        break;
163                        }
164                }
165
166                if(!field_blank)
167                {
168                        values = values.substring(0,(values.length - 1 ));
169                        _conn.go("$this.fileDefine.ldapInternal","val=" + values);
170                        return true;
171                }
172                else
173                {
174                        alert('Preencha os campos em vermelho !');
175                        return false;
176                }
177        }
178
179        function ltrim(value)
180        {
181                var w_space = String.fromCharCode(32);
182                var strTemp = "";
183                var iTemp = 0;
184               
185                if(v_length < 1)
186                        return "";
187       
188                var v_length = value ? value.length : 0;
189               
190                while(iTemp < v_length)
191                {
192                        if(value && value.charAt(iTemp) != w_space)
193                        {
194                                strTemp = value.substring(iTemp,v_length);
195                                break;
196                        }
197                        iTemp++;
198                }       
199                return strTemp;
200        }
201
202        function sendf()
203        {
204                var doc = ( arguments.length == 1) ? arguments[0] : false;
205                var form = doc.forms[0];
206                var flag = false;
207                var nameForm = '';
208               
209                for( var i = 0; i < form.elements.length; i++ )
210                {
211                        if( form.elements[i].type == 'hidden' )
212                        {
213                                flag = true;
214                                if( form.elements[i].name == 'HiddenJabberitExternals')
215                                        nameForm = form.elements[i].name;
216                        }
217               
218                }
219       
220                if( flag )
221                {
222                        if(flag && nameForm == 'HiddenJabberitExternals')
223                                addParticipantsExternals(doc);
224                        else
225                                addLdapAttributes(doc);
226                }       
227                else // AQUI ESTÁ GERANDO O ARQUIVO //
228                {
229                        if( doc )
230                                return getInputs(doc);
231                }
232        }
233
234        function setConfServerJabber()
235        {
236                var orgLdap             = document.getElementById('organizationLdapJabberit');
237                var hostName    = document.getElementById('hostNameJabberit');
238                var     serverLdap      = document.getElementById('serverLdapJabberit');
239                var contextLdap = document.getElementById('contextLdapJabberit');
240                var userLdap    = document.getElementById('userLdapJabberit');
241                var pwdLdap             = document.getElementById('passwordLdapJabberit');     
242
243                var ArrayConf = [
244                                                        ['orgLdap', 'Informe uma organizacao !'],
245                                                        ['hostName', 'Informe o nome do servidor Jabber !'],
246                                                        ['serverLdap', 'Informe o nome do servidor Ldap !'],
247                                                        ['contextLdap', 'Informe um contexto Ldap !'],
248                                                        ['userLdap', ''],
249                                                        ['pwdLdap', '']
250                                                ];
251
252                for (var i in ArrayConf)
253                {
254                        if( !ltrim(eval(ArrayConf[i][0]).value) && ltrim(ArrayConf[i][1]) )
255                        {
256                                alert(ArrayConf[i][1]);
257                                eval(ArrayConf[i][0]).focus();
258                                return false;                           
259                        }       
260                }
261               
262                _conn.go("$this.db_im.setHostJabber",
263                                 function(data)
264                                 {
265                                        var _params = {
266                                                        'lang1': jabberitGetLang('Organization'),
267                                                        'lang2': jabberitGetLang('Servers Jabber'),
268                                                        'lang3': jabberitGetLang('Delete'),                                                             
269                                                        'lang4': jabberitGetLang('Edit')                                                       
270                                        };
271
272                                        var Table = document.getElementById('tableConfServersJabber');
273                                        Table.parentNode.innerHTML = _xtools.parse( data, 'tableConfServersJabber.xsl', _params);
274                                       
275                                        for( var i in ArrayConf )
276                                                eval(ArrayConf[i][0]).value = "";
277                                 },
278                                 "org="+orgLdap.value+"&jabberName="+hostName.value+
279                                 "&serverLdap="+serverLdap.value+"&contextLdap="+contextLdap.value+
280                                 "&user="+userLdap.value+"&password="+pwdLdap.value);
281        }
282
283        function setOrganizationsForGroups()
284        {
285                var elementSel = document.getElementById('organizations_ldap_jabberit');
286                var Organization = "";
287               
288                for(var i = 0; i < elementSel.options.length; i++)
289                {
290                        if( elementSel.options[i].selected == true && elementSel.options[i].value != "-1" )
291                                Organization = elementSel.options[i].value;
292                }
293               
294                if( Organization )
295                {
296               
297                        var group = document.getElementById('nameGroup').value;
298                        var gidNumber = document.getElementById('gidNumber').value;
299       
300                        _conn.go("$this.db_im.setOuGroupsLocked",
301                                         function(data)
302                                         {
303                                                if ( data )
304                                                {
305                                                        var _params = {
306                                                                'lang1': jabberitGetLang('Organization'),
307                                                                'lang2': jabberitGetLang('Delete')
308                                                        };
309                                                       
310                                                        var Table = document.getElementById('tableOrganizationsEnabledGroupsJabberit');
311                                                        Table.parentNode.innerHTML = _xtools.parse( data, 'tableOrganizationsEnabledGroupsJabberit.xsl', _params);
312                                                }
313                                         },     
314                                         "group="+group+"&gidnumber="+gidNumber+"&ou="+Organization);
315                }
316        }
317
318        function setParticipantsExternal()
319        {
320                if( arguments.length > 0 )
321                {
322                        var element = arguments[0];
323                        var form = arguments[1].forms[0];
324                        var value = false;
325                       
326                        for(var i = 0; i < element.options.length; i++)
327                        {
328                                if( element.options[i].selected == true && element.options[i].value == 'true')
329                                        value = true;
330                        }
331                       
332                        for(var i = 0; i < form.elements.length; i++)
333                        {
334                                switch(form.elements[i].type)
335                                {
336                                        case 'text':
337                                        case 'button':
338                                                form.elements[i].disabled = false;                     
339                                                if(!value)
340                                                        form.elements[i].disabled = true;
341
342                                                break;
343                                }
344                        }
345                       
346                        _conn.go("$this.db_im.setUseParticipantsExternal",
347                                function(data)
348                                {
349                                        if(!data)
350                                                alert('Error !');
351                                },
352                                "value=" + value);
353                }
354        }
355
356        function removeHostsJabber()
357        {
358                if( arguments.length > 0 )
359                {
360                        var idElement = arguments[0];
361                        var elementTableTr = document.getElementById(idElement);
362
363                        _conn.go("$this.db_im.removeHostsJabber",
364                                     function(data)
365                                     {
366                                        data = eval(data);
367                                        if( data )
368                                                        elementTableTr.parentNode.removeChild(elementTableTr);                                         
369                                     },
370                                         "item="+idElement);
371                }
372        }
373
374        function removeOrgGroupsLocked()
375        {
376                if( arguments.length > 0 )
377                {
378                        var element = document.getElementById(arguments[0]);
379                        var org = arguments[0];
380                        var group = document.getElementById('nameGroup').value;
381                        var gidNumber = document.getElementById('gidNumber').value;
382                       
383                       
384                        _conn.go("$this.db_im.removeOuGroupsLocked",
385                                        function(data)
386                                        {
387                                                if( data )
388                                                        element.parentNode.removeChild(element);
389                                        },
390                                        "group="+group+"&gidnumber="+gidNumber+"&ou="+org);
391                }
392        }
393
394
395        function removeOrgLdapAttributes()
396        {
397                if( arguments.length > 0 )
398                {
399                        var element = document.getElementById(arguments[0]);
400                        var org = arguments[0];
401                       
402                        _conn.go("$this.db_im.removeAttributesLdap",
403                                        function(data)
404                                        {
405                                                if( data )
406                                                        element.parentNode.removeChild(element);
407                                        },
408                                        "org=" + org);
409                }
410        }
411
412        function removeParticipantsExternal()
413        {
414                if( arguments.length > 0 )
415                {
416                        var element = document.getElementById(arguments[0]);
417                        var participantsExternal = arguments[0];
418                       
419                        _conn.go("$this.db_im.removeParticipantsExternal",
420                                        function(data)
421                                        {
422                                                if( data )
423                                                        element.parentNode.removeChild(element);
424                                        },
425                                        "participants=" + participantsExternal);
426                }
427        }
428
429        function constructScript(){}
430
431        constructScript.prototype.editHostsJ                            = editHostsJabber;
432        constructScript.prototype.removeHostsJ                          = removeHostsJabber;
433        constructScript.prototype.removeOrg                             = removeOrgLdapAttributes;
434        constructScript.prototype.removeOrgGroupsLocked         = removeOrgGroupsLocked;
435        constructScript.prototype.removePartExternal            = removeParticipantsExternal;
436        constructScript.prototype.setConfServerJabber           = setConfServerJabber;
437        constructScript.prototype.setOrgFgroups                         = setOrganizationsForGroups;
438        constructScript.prototype.setPartExternal                       = setParticipantsExternal;     
439        constructScript.prototype.sendf                                         = sendf;
440       
441        window.constructScript = new constructScript;
442}
443)();
Note: See TracBrowser for help on using the repository browser.