source: tags/jabberit_messenger/0.7.12/templates/default/setup.js @ 898

Revision 898, 9.6 KB checked in by alexandrecorreia, 15 years ago (diff)
  • 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 getInputs(pDocument)
96        {
97                var form = pDocument.forms[0];
98                var values = "";
99                var field_blank = false;
100
101                for( var i = 0 ; i < form.elements.length; i++ )       
102                {
103               
104                        switch(form.elements[i].type)
105                        {
106                                case "text" :
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                                                                if( form.elements[i].id.toUpperCase() != "JETTI_GROUP_CHAT_SERVER_JABBERIT")
114                                                                {
115                                                                        document.getElementById(form.elements[i].id + "__label").style.color = "red";
116                                                                        field_blank = true;
117                                                                }
118                                                        break;
119
120                                case "password" :
121                                                        if ( form.elements[i].value == "" )
122                                                        {
123                                                                document.getElementById(form.elements[i].id + "__label").style.color = "red";
124                                                                field_blank = true;
125                                                        }
126                                                        else
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                                                        break;
132                        }
133                }
134
135                if(!field_blank)
136                {
137                        values = values.substring(0,(values.length - 1 ));
138                        _conn.go("$this.FileDefine.getParams","val=" + values);
139                        return true;
140                }
141                else
142                {
143                        alert('Preencha os campos em vermelho !');
144                        return false;
145                }
146        }
147
148        function ltrim(value)
149        {
150                var w_space = String.fromCharCode(32);
151                var strTemp = "";
152                var iTemp = 0;
153               
154                if(v_length < 1)
155                        return "";
156       
157                var v_length = value ? value.length : 0;
158               
159                while(iTemp < v_length)
160                {
161                        if(value && value.charAt(iTemp) != w_space)
162                        {
163                                strTemp = value.substring(iTemp,v_length);
164                                break;
165                        }
166                        iTemp++;
167                }       
168                return strTemp;
169        }
170
171        function sendf()
172        {
173                var doc = ( arguments.length == 1) ? arguments[0] : false;
174                var form = doc.forms[0];
175                var flag = false;
176                var nameForm = '';
177               
178                for( var i = 0; i < form.elements.length; i++ )
179                {
180                        if( form.elements[i].type == 'hidden' )
181                        {
182                                flag = true;
183                                if( form.elements[i].name == 'HiddenJabberitExternals')
184                                        nameForm = form.elements[i].name;
185                        }
186               
187                }
188       
189                if( flag )
190                {
191                        if(flag && nameForm == 'HiddenJabberitExternals')
192                                addParticipantsExternals(doc);
193                        else
194                                addLdapAttributes(doc);
195                }       
196                else
197                {
198                        if( doc )
199                                return getInputs(doc);
200                }
201        }
202
203        function setConfServerJabber()
204        {
205                var elementSel = document.getElementById('organizations_ldap_jabberit');
206                var Organization = "";
207                var inputHostJabber = ltrim(document.getElementById('HostNameJabber').value);
208               
209                for(var i = 0; i < elementSel.options.length; i++)
210                {
211                        if( elementSel.options[i].selected == true && elementSel.options[i].value != "-1" )
212                                Organization = elementSel.options[i].value;
213                }
214               
215                if( Organization && inputHostJabber )
216                {
217                        _conn.go("$this.db_im.setHostJabber",
218                                         function(data)
219                                         {
220                                                var _params = {
221                                                                'lang1': jabberitGetLang('Organization'),
222                                                                'lang2': jabberitGetLang('Servers Jabber'),
223                                                                'lang3': jabberitGetLang('Delete')                                                             
224                                                };
225
226                                                var Table = document.getElementById('tableConfServersJabber');
227                                                Table.parentNode.innerHTML = _xtools.parse( data, 'tableConfServersJabber.xsl', _params);
228
229                                                elementSel.options[0].selected = true;
230                                                document.getElementById('HostNameJabber').value = "";
231                                                       
232                                         },"organization="+Organization+"&hostJabber="+inputHostJabber);
233                }
234       
235        }
236
237        function setOrganizationsForGroups()
238        {
239                var elementSel = document.getElementById('organizations_ldap_jabberit');
240                var Organization = "";
241               
242                for(var i = 0; i < elementSel.options.length; i++)
243                {
244                        if( elementSel.options[i].selected == true && elementSel.options[i].value != "-1" )
245                                Organization = elementSel.options[i].value;
246                }
247               
248                if( Organization )
249                {
250               
251                        var group = document.getElementById('nameGroup').value;
252                        var gidNumber = document.getElementById('gidNumber').value;
253       
254                        _conn.go("$this.db_im.setOuGroupsLocked",
255                                         function(data)
256                                         {
257                                                if ( data )
258                                                {
259                                                        var _params = {
260                                                                'lang1': jabberitGetLang('Organization'),
261                                                                'lang2': jabberitGetLang('Delete')
262                                                        };
263                                                       
264                                                        var Table = document.getElementById('tableOrganizationsEnabledGroupsJabberit');
265                                                        Table.parentNode.innerHTML = _xtools.parse( data, 'tableOrganizationsEnabledGroupsJabberit.xsl', _params);
266                                                }
267                                         },     
268                                         "group="+group+"&gidnumber="+gidNumber+"&ou="+Organization);
269                }
270        }
271
272        function setParticipantsExternal()
273        {
274                if( arguments.length > 0 )
275                {
276                        var element = arguments[0];
277                        var form = arguments[1].forms[0];
278                        var value = false;
279                       
280                        for(var i = 0; i < element.options.length; i++)
281                        {
282                                if( element.options[i].selected == true && element.options[i].value == 'true')
283                                        value = true;
284                        }
285                       
286                        for(var i = 0; i < form.elements.length; i++)
287                        {
288                                switch(form.elements[i].type)
289                                {
290                                        case 'text':
291                                        case 'button':
292                                                form.elements[i].disabled = false;                     
293                                                if(!value)
294                                                        form.elements[i].disabled = true;
295
296                                                break;
297                                }
298                        }
299                       
300                        _conn.go("$this.db_im.setUseParticipantsExternal",
301                                function(data)
302                                {
303                                        if(!data)
304                                                alert('Error !');
305                                },
306                                "value=" + value);
307                }
308        }
309
310        function removeHostsJabber()
311        {
312                if( arguments.length > 0 )
313                {
314                        var idElement = arguments[0];
315                        var elementTableTr = document.getElementById(idElement);
316                       
317                        _conn.go("$this.db_im.removeHostsJabber",
318                                     function(data)
319                                     {
320                                        data = eval(data);
321                                        if( data )
322                                                        elementTableTr.parentNode.removeChild(elementTableTr);                                         
323                                     },
324                                         "item="+idElement);
325                }
326        }
327
328        function removeOrgGroupsLocked()
329        {
330                if( arguments.length > 0 )
331                {
332                        var element = document.getElementById(arguments[0]);
333                        var org = arguments[0];
334                        var group = document.getElementById('nameGroup').value;
335                        var gidNumber = document.getElementById('gidNumber').value;
336                       
337                       
338                        _conn.go("$this.db_im.removeOuGroupsLocked",
339                                        function(data)
340                                        {
341                                                if( data )
342                                                        element.parentNode.removeChild(element);
343                                        },
344                                        "group="+group+"&gidnumber="+gidNumber+"&ou="+org);
345                }
346        }
347
348
349        function removeOrgLdapAttributes()
350        {
351                if( arguments.length > 0 )
352                {
353                        var element = document.getElementById(arguments[0]);
354                        var org = arguments[0];
355                       
356                        _conn.go("$this.db_im.removeAttributesLdap",
357                                        function(data)
358                                        {
359                                                if( data )
360                                                        element.parentNode.removeChild(element);
361                                        },
362                                        "org=" + org);
363                }
364        }
365
366        function removeParticipantsExternal()
367        {
368                if( arguments.length > 0 )
369                {
370                        var element = document.getElementById(arguments[0]);
371                        var participantsExternal = arguments[0];
372                       
373                        _conn.go("$this.db_im.removeParticipantsExternal",
374                                        function(data)
375                                        {
376                                                if( data )
377                                                        element.parentNode.removeChild(element);
378                                        },
379                                        "participants=" + participantsExternal);
380                }
381        }
382
383        function constructScript(){}
384
385        constructScript.prototype.removeHostsJ                          = removeHostsJabber;
386        constructScript.prototype.removeOrg                             = removeOrgLdapAttributes;
387        constructScript.prototype.removeOrgGroupsLocked         = removeOrgGroupsLocked;
388        constructScript.prototype.removePartExternal            = removeParticipantsExternal;
389        constructScript.prototype.setConfServerJabber           = setConfServerJabber;
390        constructScript.prototype.setOrgFgroups                         = setOrganizationsForGroups;
391        constructScript.prototype.setPartExternal                       = setParticipantsExternal;     
392        constructScript.prototype.sendf                                         = sendf;
393       
394        window.constructScript = new constructScript;
395}
396)();
Note: See TracBrowser for help on using the repository browser.