source: contrib/listAdmin/js/jscode/maillists.js @ 3312

Revision 3312, 25.5 KB checked in by rafaelraymundo, 14 years ago (diff)

Ticket #1174 - Disponibilização do módulo de Listas(Mailman)

Line 
1countFiles = 0;
2function validate_fields(type)
3{
4        document.forms[0].uid.value = document.forms[0].uid.value.toLowerCase();
5        document.forms[0].old_uid.value = document.forms[0].old_uid.value.toLowerCase();
6       
7        if (document.forms[0].uid.value == ''){
8                alert('Campo LOGIN da lista está vazio.');
9                return;
10        }
11
12/*      if (document.forms[0].cn.value == ''){
13                alert('Campo NOME da lista está vazio.');
14                return;
15        }*/
16       
17        if (document.forms[0].restrictionsOnEmailLists.value == 'true')
18        {
19                uid_tmp = document.forms[0].uid.value.split("-");
20                if ((uid_tmp.length < 3) || (uid_tmp[0] != 'lista')){
21                        alert(
22                                'O campo LOGIN da lista está incompleto.\n' +
23                                'O nome da lista deve ser formado assim:\n' +
24                                'lista-ORGANIZACAO-NOME_DA_LISTA.\n' +
25                                'Ex: lista-serpro-rh.');
26                        return;
27                }
28        }
29               
30        if (document.forms[0].uid.value.split(" ").length > 1){
31                alert('Campo LOGIN comtém espaços.');
32                document.forms[0].uid.focus();
33                return;
34        }
35
36        //Verifica se a pagina de origem e a de edicao ou criacao de lista, pois o atributo listPass e usado apenas nestas paginas;
37        if((type == 'edit_maillist') || (type == 'create_maillist')) {
38                if (document.forms[0].listPass.value == ''){
39                        alert('Campo SENHA da lista está vazio.');
40                        document.forms[0].listPass.focus();
41                        return;
42                }
43        }
44       
45/*      if (document.forms[0].mail.value == ''){
46                alert('Campo E-MAIL da lista está vazio.');
47                document.forms[0].mail.focus();
48                return;
49        }
50        var reEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
51        if(!reEmail.test(document.forms[0].mail.value)){
52                alert("Campo E-mail não é válido.");
53                return false;
54        }
55*/
56// Alteracao para saber de onde vem a chamada do save() - se da pagina de edicao de lista ou da pagina de administrador da lista
57        if((type == 'edit_maillist') || (type == 'create_maillist')) { // pagina de edicao da lista
58                select_userInMaillist = document.getElementById('ea_select_usersInMaillist');
59                if (select_userInMaillist.options.length == 0){
60                        alert('Nenhum usuário faz parte da lista.');
61                        return;
62                }
63               
64        /*}else if(type == 'adm_maillist') { // pagina de administador da lista
65                select_ADM_Maillist = document.getElementById('ea_select_ADM_Maillist');
66                if (select_ADM_Maillist.options.length == 0){
67                        alert('Nenhum usuário faz parte da lista.');
68                        return;
69                }
70        */     
71        }
72
73/* Codigo original preservado, em caso de necessidade
74
75        select_userInMaillist = document.getElementById('ea_select_usersInMaillist');
76        if (select_userInMaillist.options.length == 0){
77                alert('Nenhum usuário faz parte da lista.');
78                return;
79        }
80
81*/
82        var handler_validate_fields = function(data)
83        {
84                if (!data.status)
85                        alert(data.msg);
86                else
87                {
88                        if (type == 'create_maillist')
89                                cExecuteForm ("$this.maillist.create", document.forms[0], handler_create);
90                        else if (type == 'edit_maillist')
91                                cExecuteForm ("$this.maillist.save", document.forms[0], handler_save);
92                        //else if (type == 'adm_maillist')
93                        //      cExecuteForm ("$this.maillist.save_adm", document.forms[0], handler_save);
94                }
95        }
96
97// Alteracao semelhante a descrita acima
98        if((type == 'edit_maillist') || (type == 'create_maillist')) {
99                for(var i=0; i<select_userInMaillist.options.length; i++)
100                        select_userInMaillist.options[i].selected = true;
101
102        /*}else if(type == 'adm_maillist') {
103                for(var i=0; i<select_ADM_Maillist.options.length; i++)
104                        select_ADM_Maillist.options[i].selected = true;
105*/
106        }
107
108/* Codigo original preservado, em caso de necessidade
109
110        // Needed select all options from select
111        for(var i=0; i<select_userInMaillist.options.length; i++)
112                select_userInMaillist.options[i].selected = true;
113*/
114
115        // O UID da lista foi alterado ou é uma nova lista.
116        if ((document.forms[0].old_uid.value != document.forms[0].uid.value) || (type == 'create_maillist')){
117                cExecute ('$this.maillist.validate_fields&uid='+document.forms[0].uid.value, handler_validate_fields);
118        }
119        else if (type == 'edit_maillist')
120        {
121                cExecuteForm ("$this.maillist.save", document.forms[0], handler_save);
122        }
123        //else if (type == 'adm_maillist')
124        //{
125        //      cExecuteForm ("$this.maillist.save_adm", document.forms[0], handler_save);
126        //}
127}
128
129// HANDLER CREATE
130// É necessário 2 funcões de retorno por causa do cExecuteForm.
131function handler_create(data)
132{
133        return_handler_create(data);
134}
135function return_handler_create(data)
136{
137        if (!data.status)
138                alert(data.msg);
139        else{
140                //Rotina alterada em 08/10/2007, para contemplar a sincronização Mailman/RHDS
141                //Faz a chamada do script que atualiza as listas no Mailman/RHDS
142                window.setTimeout("cExecute('$this.maillist.synchronize_mailman&uid='+document.forms[0].uid.value+'&op=1', handler_sync_mailman)", 10);
143                //A nova lista foi criada com sucesso
144                //alert('Lista de emails criada com êxito!');
145        }
146        return;
147}
148
149//Manipulador ascrescentado em 08/10/2007: para tratar da sincronização em tempo real do Mailman com o RHDS
150function handler_sync_mailman(data){
151        //Converte os dados do vetor oriundo de um script PHP para um vetor JavaScript
152        var dados_serializados = eval(data);
153        return_handler_sync_mailman(dados_serializados);
154}
155
156function return_handler_sync_mailman(data){
157        //Depois de processar a sincronização do Mailman com o RHDS, redireciona o usuário para a tela inicial
158        //Mesmo que não tenha tido êxito, segue o comportamento default da aplicação, redirecionando o usuário
159        //EM CASO DE ERRO NA SINCRONIZAÇÃO: CONFERIR O LOG "expresso_sincronizacao_mailmanrhds.log" em "/tmp"
160        //alert("Retorno do socket:\nSTATUS=" + data['status'] +'\nMSG=' + data['msg']);
161        alert('Lista de emails criada com êxito!');
162        location.href="./index.php?menuaction=listAdmin.uimaillists.list_maillists";           
163//      alert('Teste debug!'+ data["msg"]);
164}
165
166// HANDLER SAVE
167// É necessário 2 funcões de retorno por causa do cExecuteForm.
168function handler_save(data)
169{
170        return_handler_save(data);
171}
172function return_handler_save(data)
173{
174        if (!data.status)
175                alert(data.msg);
176        else{
177
178                //Alterado em 28/04/2008. Linha abaixo foi incluida para sincronizacao do Mailman com o RHDS, apos alteracao de uma
179                //caracteristica nas abas Editar e Adm, em uma lista existente;
180                window.setTimeout("cExecute('$this.maillist.synchronize_mailman&uid='+document.forms[0].uid.value+'&op=1', handler_sync_mailman)", 10);
181        //      alert('Lista de emails salva com êxito!!');
182        //      location.href="./index.php?menuaction=listAdmin.uimaillists.list_maillists";
183        }
184        return;
185}
186
187function save_adm()
188{
189        select_users_ADM_Maillist = document.getElementById('ea_select_ADM_Maillist');
190        for(var i=0; i<select_users_ADM_Maillist.options.length; i++)
191                select_users_ADM_Maillist.options[i].selected = true;
192
193        cExecuteForm ("$this.maillist.save_adm", document.forms[0], handler_save_adm);
194}
195function handler_save_adm(data)
196{
197        return_handler_save_adm(data);
198}
199
200function return_handler_save_adm(data)
201{
202        if (!data.status)
203                alert(data.msg);
204        else
205
206                //Alterado em 28/04/2008. Linha abaixo foi incluida para sincronizacao do Mailman com o RHDS, apos alteracao de uma
207                //caracteristica na aba ADM, em uma lista existente;
208                window.setTimeout("cExecute('$this.maillist.synchronize_mailman&uid='+document.forms[0].uid.value+'&op=1', handler_sync_mailman)", 10);
209        //      alert('Sending Control List salva com êxito!!');
210        //      location.href="./index.php?menuaction=listAdmin.uimaillists.list_maillists";
211        return;
212}
213
214function save_scl()
215{
216        select_users_SCL_Maillist = document.getElementById('ea_select_users_SCL_Maillist');
217        // Needed select all options from select
218        for(var i=0; i<select_users_SCL_Maillist.options.length; i++)
219                select_users_SCL_Maillist.options[i].selected = true;
220
221        cExecuteForm ("$this.maillist.save_scl", document.forms[0], handler_save_scl);
222}
223function handler_save_scl(data)
224{
225        return_handler_save_scl(data);
226}
227
228function return_handler_save_scl(data)
229{
230        if (!data.status)
231                alert(data.msg);
232        else
233
234                //Alterado em 28/04/2008. Linha abaixo foi incluida para sincronizacao do Mailman com o RHDS, apos alteracao de uma
235                //caracteristica na aba SCL, em uma lista existente;
236                window.setTimeout("cExecute('$this.maillist.synchronize_mailman&uid='+document.forms[0].uid.value+'&op=1', handler_sync_mailman)", 10);
237        //      alert('Sending Control List salva com êxito!!');
238        //      location.href="./index.php?menuaction=listAdmin.uimaillists.list_maillists";
239        return;
240}
241
242function sinc_combos_org(context, recursive)
243{
244        combo_org_maillists = document.getElementById('ea_combo_org_maillists');
245
246        for (i=0; i<combo_org_maillists.length; i++)
247        {
248                if (combo_org_maillists.options[i].value == context)
249                {
250                        combo_org_maillists.options[i].selected = true;
251                        get_available_users(context, recursive);
252                        break;
253                }
254        }
255}
256
257function get_available_users(context, recursive)
258{
259        var handler_get_available_users = function(data)
260        {
261                select_available_users = document.getElementById('ea_select_available_users');
262               
263                //Limpa o select
264                for(var i=0; i<select_available_users.options.length; i++)
265                {
266                        select_available_users.options[i] = null;
267                        i--;
268                }
269
270                if ((data) && (data.length > 0))
271                {
272                        // Necessario, pois o IE6 tem um bug que retira o primeiro options se o innerHTML estiver vazio.
273                        select_available_users.innerHTML = 'lixo' + data;
274                        select_available_users.outerHTML = select_available_users.outerHTML;
275                       
276                        select_available_users.disabled = false;
277                        select_available_users_clone = document.getElementById('ea_select_available_users').cloneNode(true);
278                        document.getElementById('ea_input_searchUser').value = '';
279                }
280        }
281       
282        //Impede chamada recursiva na raiz das organizações
283        if ((recursive) && (document.forms[0].ldap_context.value == document.getElementById('ea_combo_org_maillists').value))
284        {
285                alert('Nao é possível selecionar todos os usuários da organização raiz.')
286                document.getElementById('ea_check_allUsers').checked = false;
287               
288                // Limpa select
289                select_available_users = document.getElementById('ea_select_available_users');
290                select_available_users.innerHTML = 'lixo';
291                select_available_users.outerHTML = select_available_users.outerHTML;
292                return;
293        }
294                cExecute ('$this.ldap_functions.get_available_users_and_maillist&context='+context+'&recursive='+recursive+'&denied_uidnumber='+document.forms[0].uidnumber.value, handler_get_available_users);
295}
296
297
298function get_available_users_only(context, recursive) // Funcao que busca os usuarios apenas, sem as listas
299{
300
301        itemBusca = document.getElementById('ea_input_searchUser').value;
302
303
304        var handler_get_available_users = function(data)
305        {
306                select_available_users = document.getElementById('ea_select_available_users');
307               
308                //Limpa o select
309                for(var i=0; i<select_available_users.options.length; i++)
310                {
311                        select_available_users.options[i] = null;
312                        i--;
313                }
314
315                if ((data) && (data.length > 0))
316                {
317                        // Necessario, pois o IE6 tem um bug que retira o primeiro options se o innerHTML estiver vazio.
318                        select_available_users.innerHTML = 'lixo' + data;
319                        select_available_users.outerHTML = select_available_users.outerHTML;
320                       
321                        select_available_users.disabled = false;
322//                      select_available_users_clone = document.getElementById('ea_select_available_users').cloneNode(true);
323                        document.getElementById('ea_input_searchUser').value = '';
324                }
325        }
326
327        //Impede chamada recursiva na raiz das organizações
328        if ((recursive) && (document.forms[0].ldap_context.value == document.getElementById('ea_combo_org_maillists').value))
329        {
330                alert('Nao é possível selecionar todos os usuários da organização raiz.')
331                document.getElementById('ea_check_allUsers').checked = false;
332               
333                // Limpa select
334                select_available_users = document.getElementById('ea_select_available_users');
335                select_available_users.innerHTML = 'lixo';
336                select_available_users.outerHTML = select_available_users.outerHTML;
337                return;
338        }
339
340                cExecute ('$this.ldap_functions.get_available_users_only&context='+context+'&filtro='+itemBusca+'&recursive='+recursive+'&denied_uidnumber='+document.forms[0].uidnumber.value, handler_get_available_users);
341}
342
343
344function search_users() // Funcao que busca apenas os usuarios, sem as listas
345{
346
347//      dnSearch = document.getElementById("ea_combo_org_maillists").value; //Recebe o dn para busca do usuario;
348        users = document.getElementById('ea_input_searchUser').value; //Recebe qual usuario deve ser buscado;
349        tipoTpl = document.forms[0].tipo.value; //Recebe a opcao de administracao de lista a partir da qual esta sendo feita a busca (Edit, Scl ou Adm);
350
351        //Exige que o argumento de busca tenha, no minimo, 4 caracteres;
352        if(users.length < 4) {
353
354                alert('Argumento de busca deve ter no mínimo 4 caracteres.');
355                return;
356        }
357
358        var handler_search_users = function(data)
359        {
360
361                select_available_users = document.getElementById('ea_select_available_users');
362
363                //Limpa o select
364                for(var i=0; i<select_available_users.options.length; i++)
365                {
366                        select_available_users.options[i] = null;
367                        i--;
368                }
369
370                if ((data) && (data.length > 0))
371                {
372                        // Necessario, pois o IE6 tem um bug que retira o primeiro options se o innerHTML estiver vazio.
373                        select_available_users.innerHTML = 'lixo' + data;
374                        select_available_users.outerHTML = select_available_users.outerHTML;
375
376                        select_available_users.disabled = false;
377                        select_available_users_clone = document.getElementById('ea_select_available_users').cloneNode(true);
378                        document.getElementById('ea_input_searchUser').value = '';
379                }
380        }
381
382        cExecute ('$this.ldap_functions.search_users_only&&filtro='+users+'&tipo='+tipoTpl+'&denied_uidnumber='+document.forms[0].uidnumber.value, handler_search_users);
383
384}
385
386function add_externalUser2maillist()
387{
388        input_externalUsers = document.getElementById('ea_input_externalUser').value;
389        select_usersInMaillist = document.getElementById('ea_select_usersInMaillist');
390
391        var count_externalUsers = input_externalUsers.length;
392        var count_usersInMaillist = select_usersInMaillist.options.length;
393        var new_options = '';
394
395        var teste = ''; //Variavel que ira receber mensagem de alerta ao usuario;
396        var alerta = new Boolean(0); //Variavel que sera usada para verificar se o alerta ao usuario sera exibido ou nao;
397        teste += "Usuário(os) já pertence(m) à lista:\n"; //Inicio da mensagem de alerta ao usuario;
398
399
400        //Laco abaixo compara se o valor escolhido em select_available_users ja existe em select_usersInMaillist
401        //se existir, adiciona o valor em teste e muda a variavel alerta para true; teste sera exibido em tela
402        //apenas de alerta  true; ver if no fim da funcao;
403        for(j = 0; j < count_usersInMaillist; j++)
404        {
405                var tmp = select_usersInMaillist.options[j].text
406
407                if(tmp.match(input_externalUsers))
408                {
409                        teste += input_externalUsers + "\n";
410                        alerta = new Boolean(1);
411                }
412        }
413
414        if(alerta != true)
415        {
416                if(document.all)
417                {
418                        if ( (select_usersInMaillist.innerHTML.indexOf('value='+input_externalUsers)) == '-1' )
419                        {
420                                new_options +=  "<option value="
421                                                        + input_externalUsers
422                                                        + ">"
423                                                        + input_extenalUsers
424                                                        + "</options>";
425                        }
426                }
427                else
428                {               
429                        if ( (select_usersInMaillist.innerHTML.indexOf('value="'+input_externalUsers+'"')) == '-1' )
430                        {
431                                new_options +=  "<option value="
432                                                        + input_externalUsers
433                                                        + ">"
434                                                        + input_externalUsers
435                                                        + "</options>";
436                        }
437                }
438        }
439
440        //Se alerta for true, exibe na tela o valor de teste;
441        if(alerta == true)
442        {
443                alert(teste);
444        }
445
446
447        if (new_options != '')
448        {
449                select_usersInMaillist.innerHTML = 'lixo' + new_options + select_usersInMaillist.innerHTML;
450                select_usersInMaillist.outerHTML = select_usersInMaillist.outerHTML;
451        }
452
453        document.getElementById('ea_input_externalUser').value = '';
454
455}
456
457
458
459function add_user2maillist()
460{
461        select_available_users = document.getElementById('ea_select_available_users');
462        select_usersInMaillist = document.getElementById('ea_select_usersInMaillist');
463
464        var count_available_users = select_available_users.length;
465        var count_usersInMailList = select_usersInMaillist.options.length;
466        var new_options = '';
467
468        var teste = ''; //Variavel que ira receber mensagem de alerta ao usuario;
469        var alerta = new Boolean(0); //Variavel que sera usada para verificar se o alerta ao usuario sera exibido ou nao;
470        teste += "Usuário(os) já pertence(m) à lista:\n"; //Inicio da mensagem de alerta ao usuario;
471
472        for (i = 0 ; i < count_available_users ; i++)
473        {
474                if (select_available_users.options[i].selected)
475                {
476
477
478                        //Laco abaixo compara se o valor escolhido em select_available_users ja existe em select_usersInMaillist
479                        //se existir, adiciona o valor em teste e muda a variavel alerta para true; teste sera exibido em tela
480                        //apenas de alerta  true; ver if no fim da funcao;
481                        for(j = 0; j < count_usersInMailList; j++)
482                        {
483                                if(select_usersInMaillist.options[j].text == select_available_users.options[i].text)
484                                {
485                                        teste += select_available_users.options[i].text + "\n";
486                                        alerta = new Boolean(1);
487                                }
488                        }
489
490
491                        if(document.all)
492                        {
493                                if ( (select_usersInMaillist.innerHTML.indexOf('value='+select_available_users.options[i].value)) == '-1' )
494                                {
495                                        new_options +=  "<option value="
496                                                                + select_available_users.options[i].value
497                                                                + ">"
498                                                                + select_available_users.options[i].text
499                                                                + "</options>";
500                                }
501                        }
502                        else
503                        {               
504                                if ( (select_usersInMaillist.innerHTML.indexOf('value="'+select_available_users.options[i].value+'"')) == '-1' )
505                                {
506                                        new_options +=  "<option value="
507                                                                + select_available_users.options[i].value
508                                                                + ">"
509                                                                + select_available_users.options[i].text
510                                                                + "</options>";
511                                }
512                        }
513                }
514        }
515
516        //Se alerta for true, exibe na tela o valor de teste;
517        if(alerta == true)
518        {
519                alert(teste);
520        }
521
522
523        if (new_options != '')
524        {
525                select_usersInMaillist.innerHTML = 'lixo' + new_options + select_usersInMaillist.innerHTML;
526                select_usersInMaillist.outerHTML = select_usersInMaillist.outerHTML;
527        }
528}
529
530function remove_user2maillist()
531{
532        select_usersInMaillist = document.getElementById('ea_select_usersInMaillist');
533       
534        for(var i = 0;i < select_usersInMaillist.options.length; i++)
535                if(select_usersInMaillist.options[i].selected)
536                        select_usersInMaillist.options[i--] = null;
537}
538
539function add_user2adm_maillist()
540{
541        select_available_users = document.getElementById('ea_select_available_users');
542        select_ADM_Maillist = document.getElementById('ea_select_ADM_Maillist');
543
544        var count_available_users = select_available_users.length;
545        var count_ADM_MailList = select_ADM_Maillist.options.length;
546        var new_options = '';
547
548
549        var teste = ''; //Variavel que ira receber mensagem de alerta ao usuario;
550        var alerta = new Boolean(0); //Variavel que sera usada para verificar se o alerta ao usuario sera exibido ou nao;
551        teste += "Usuário(os) já pertence(m) à lista:\n"; //Inicio da mensagem de alerta ao usuario;
552
553
554        for (i = 0 ; i < count_available_users ; i++)
555        {
556                if (select_available_users.options[i].selected)
557                {
558
559
560                        //Laco abaixo compara se o valor escolhido em select_available_users ja existe em select_ADM_Maillist
561                        //se existir, adiciona o valor em teste e muda a variavel alerta para true; teste sera exibido em tela
562                        //apenas de alerta  true; ver if no fim da funcao;
563                        for(j = 0; j < count_ADM_MailList; j++)
564                        {
565                                if(select_ADM_Maillist.options[j].text == select_available_users.options[i].text)
566                                {
567                                        teste += select_available_users.options[i].text + "\n";
568                                        alerta = new Boolean(1);
569                                }
570                        }
571
572
573                        if(document.all)
574                        {
575                                if ( (select_ADM_Maillist.innerHTML.indexOf('value='+select_available_users.options[i].value)) == '-1' )
576                                {
577                                        new_options +=  "<option value="
578                                                                + select_available_users.options[i].value
579                                                                + ">"
580                                                                + select_available_users.options[i].text
581                                                                + "</options>";
582                                }
583                        }
584                        else
585                        {               
586                                if ( (select_ADM_Maillist.innerHTML.indexOf('value="'+select_available_users.options[i].value+'"')) == '-1' )
587                                {
588                                        new_options +=  "<option value="
589                                                                + select_available_users.options[i].value
590                                                                + ">"
591                                                                + select_available_users.options[i].text
592                                                                + "</options>";
593                                }
594                        }
595                }
596        }
597
598
599        //Se alerta for true, exibe na tela o valor de teste;
600        if(alerta == true)
601        {
602                alert(teste);
603        }
604
605        if (new_options != '')
606        {
607                select_ADM_Maillist.innerHTML = 'lixo' + new_options + select_ADM_Maillist.innerHTML;
608                select_ADM_Maillist.outerHTML = select_ADM_Maillist.outerHTML;
609        //      select_AdminInMaillist.outerHTML = select_AdminInMaillist.outerHTML;
610        }
611}
612
613function remove_user2adm_maillist()
614{
615        select_ADM_Maillist = document.getElementById('ea_select_ADM_Maillist');
616       
617        for(var i = 0;i < select_ADM_Maillist.options.length; i++)
618                if(select_ADM_Maillist.options[i].selected)
619                        select_ADM_Maillist.options[i--] = null;
620}
621
622
623function add_user2scl_maillist()
624{
625        select_available_users = document.getElementById('ea_select_available_users');
626        select_usersInMaillist = document.getElementById('ea_select_users_SCL_Maillist');
627
628        var count_available_users = select_available_users.length;
629        var count_usersInMailList = select_usersInMaillist.options.length;
630        var new_options = '';
631
632
633        var teste = ''; //Variavel que ira receber mensagem de alerta ao usuario;
634        var alerta = new Boolean(0); //Variavel que sera usada para verificar se o alerta ao usuario sera exibido ou nao;
635        teste += "Usuário(os) já pertence(m) à lista:\n"; //Inicio da mensagem de alerta ao usuario;
636
637
638        for (i = 0 ; i < count_available_users ; i++)
639        {
640                if (select_available_users.options[i].selected)
641                {
642
643
644                        //Laco abaixo compara se o valor escolhido em select_available_users ja existe em select_usersInMaillist
645                        //se existir, adiciona o valor em teste e muda a variavel alerta para true; teste sera exibido em tela
646                        //apenas de alerta  true; ver if no fim da funcao;
647                        for(j = 0; j < count_usersInMailList; j++)
648                        {
649                                if(select_usersInMaillist.options[j].text == select_available_users.options[i].text)
650                                {
651                                        teste += select_available_users.options[i].text + "\n";
652                                        alerta = new Boolean(1);
653                                }
654                        }
655
656
657                        if(document.all)
658                        {
659                                if ( (select_usersInMaillist.innerHTML.indexOf('value='+select_available_users.options[i].value)) == '-1' )
660                                {
661                                        new_options +=  "<option value="
662                                                                + select_available_users.options[i].value
663                                                                + ">"
664                                                                + select_available_users.options[i].text
665                                                                + "</options>";
666                                }
667                        }
668                        else
669                        {               
670                                if ( (select_usersInMaillist.innerHTML.indexOf('value="'+select_available_users.options[i].value+'"')) == '-1' )
671                                {
672                                        new_options +=  "<option value="
673                                                                + select_available_users.options[i].value
674                                                                + ">"
675                                                                + select_available_users.options[i].text
676                                                                + "</options>";
677                                }
678                        }
679                }
680        }
681
682
683        //Se alerta for true, exibe na tela o valor de teste;
684        if(alerta == true)
685        {
686                alert(teste);
687        }
688
689        if (new_options != '')
690        {
691                select_usersInMaillist.innerHTML = '#' + new_options + select_usersInMaillist.innerHTML;
692                select_usersInMaillist.outerHTML = select_usersInMaillist.outerHTML;
693        }
694}
695
696function remove_user2scl_maillist()
697{
698        select_usersInMaillist = document.getElementById('ea_select_users_SCL_Maillist');
699       
700        for(var i = 0;i < select_usersInMaillist.options.length; i++)
701                if(select_usersInMaillist.options[i].selected)
702                        select_usersInMaillist.options[i--] = null;
703}
704
705
706// Variaveis Locais
707if (document.getElementById('ea_select_available_users'))
708{
709        var select_available_users  = document.getElementById('ea_select_available_users');
710        var select_available_users_clone = select_available_users.cloneNode(true);
711}
712else
713{
714        var select_available_users  = '';
715        var select_available_users_clone = '';
716}
717var finderTimeout = '';
718
719// Funcoes                                                                                     
720function optionFinderTimeout(obj)
721{
722        clearTimeout(finderTimeout);   
723        var oWait = document.getElementById("ea_span_searching");
724        oWait.innerHTML = 'Buscando...';
725        finderTimeout = setTimeout("optionFinder('"+obj.id+"')",500);
726}
727function optionFinder(id) {
728        var oWait = document.getElementById("ea_span_searching");
729        var oText = document.getElementById(id);
730               
731        //Limpa todo o select
732if(oText.length < 4) {
733        var select_available_users_tmp = document.getElementById('ea_select_available_users');
734
735        for(var i = 0;i < select_available_users_tmp.options.length; i++)
736                select_available_users_tmp.options[i--] = null;
737}
738if(oText.length >= 4) {
739
740get_available_users(oText.value);
741
742                        var select_available_users_tmp = document.getElementById('ea_select_available_users');
743                        for(var i = 0;i < select_available_users_tmp.options.length; i++)
744                                select_available_users_tmp.options[i--] = null;
745        var RegExp_name = new RegExp("\\b"+oText.value, "i");
746       
747        //Inclui usuário começando com a pesquisa
748/*      for(i = 0; i < select_available_users_clone.length; i++){
749                if ( RegExp_name.test(select_available_users_clone[i].text) || (select_available_users_clone[i].value == -1) )
750                {
751                        sel = select_available_users_tmp.options;
752                        option = new Option(select_available_users_clone[i].text,select_available_users_clone[i].value);
753
754                        if (select_available_users_clone[i].value == -1)
755                                option.disabled = true;
756
757                        sel[sel.length] = option;
758                }
759        }*/
760        oWait.innerHTML = '&nbsp;';
761}
762}                       
763
764function delete_maillist(uid, uidnumber)
765{
766        if (confirm("Realmente deletar Lista " + uid + " ??"))
767        {
768                var handler_delete_maillist = function(data)
769                {
770                        if (!data.status)
771                                alert(data.msg);
772                        else
773                                //alert('Lista de email deletada com êxito!!');
774                                window.setTimeout("cExecute('$this.maillist.synchronize_mailman&uid=" + uid + "&op=0', handler_delete_maillist_sync)", 10);
775                       
776//                      location.href="./index.php?menuaction=listAdmin.uimaillists.list_maillists";
777        //              return;
778                }
779                cExecute ('$this.maillist.delete&uidnumber='+uidnumber, handler_delete_maillist);
780        }
781}
782
783function handler_delete_maillist_sync(data){
784        //Converte os dados do vetor oriundo de um script PHP para um vetor JavaScript
785        var dados_serializados = eval(data);
786        return_handler_delete_maillist_sync(dados_serializados);
787}
788
789function return_handler_delete_maillist_sync(data){
790        //Depois de processar a sincronização do Mailman com o RHDS, redireciona o usuário para a tela inicial
791        //Mesmo que não tenha tido êxito, segue o comportamento default da aplicação, redirecionando o usuário
792        //EM CASO DE ERRO NA SINCRONIZAÇÃO: CONFERIR O LOG "expresso_sincronizacao_mailmanrhds.log" em "/tmp"
793        //alert("Retorno do socket:\nSTATUS=" + data['status'] +'\nMSG=' + data['msg']);
794        alert('Lista de email deletada com êxito!!');
795        location.href="./index.php?menuaction=listAdmin.uimaillists.list_maillists";           
796       
797}
798
799
Note: See TracBrowser for help on using the repository browser.