source: companies/serpro/expressoAdmin1_2/js/jscode/maillists.js @ 903

Revision 903, 24.7 KB checked in by niltonneto, 15 years ago (diff)

Importacao inicial do Expresso do Serpro

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=expressoAdmin1_2.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=expressoAdmin1_2.uimaillists.list_maillists";
183        }
184        return;
185}
186
187function save_scl()
188{
189        select_users_SCL_Maillist = document.getElementById('ea_select_users_SCL_Maillist');
190        // Needed select all options from select
191        for(var i=0; i<select_users_SCL_Maillist.options.length; i++)
192                select_users_SCL_Maillist.options[i].selected = true;
193
194        cExecuteForm ("$this.maillist.save_scl", document.forms[0], handler_save_scl);
195}
196function handler_save_scl(data)
197{
198        return_handler_save_scl(data);
199}
200
201function return_handler_save_scl(data)
202{
203        if (!data.status)
204                alert(data.msg);
205        else
206
207                //Alterado em 28/04/2008. Linha abaixo foi incluida para sincronizacao do Mailman com o RHDS, apos alteracao de uma
208                //caracteristica na aba SCL, em uma lista existente;
209                window.setTimeout("cExecute('$this.maillist.synchronize_mailman&uid='+document.forms[0].uid.value+'&op=1', handler_sync_mailman)", 10);
210        //      alert('Sending Control List salva com êxito!!');
211        //      location.href="./index.php?menuaction=expressoAdmin1_2.uimaillists.list_maillists";
212        return;
213}
214
215function sinc_combos_org(context, recursive)
216{
217        combo_org_maillists = document.getElementById('ea_combo_org_maillists');
218
219        for (i=0; i<combo_org_maillists.length; i++)
220        {
221                if (combo_org_maillists.options[i].value == context)
222                {
223                        combo_org_maillists.options[i].selected = true;
224                        get_available_users(context, recursive);
225                        break;
226                }
227        }
228}
229
230function get_available_users(context, recursive)
231{
232        var handler_get_available_users = function(data)
233        {
234                select_available_users = document.getElementById('ea_select_available_users');
235               
236                //Limpa o select
237                for(var i=0; i<select_available_users.options.length; i++)
238                {
239                        select_available_users.options[i] = null;
240                        i--;
241                }
242
243                if ((data) && (data.length > 0))
244                {
245                        // Necessario, pois o IE6 tem um bug que retira o primeiro options se o innerHTML estiver vazio.
246                        select_available_users.innerHTML = 'lixo' + data;
247                        select_available_users.outerHTML = select_available_users.outerHTML;
248                       
249                        select_available_users.disabled = false;
250                        select_available_users_clone = document.getElementById('ea_select_available_users').cloneNode(true);
251                        document.getElementById('ea_input_searchUser').value = '';
252                }
253        }
254       
255        //Impede chamada recursiva na raiz das organizações
256        if ((recursive) && (document.forms[0].ldap_context.value == document.getElementById('ea_combo_org_maillists').value))
257        {
258                alert('Nao é possível selecionar todos os usuários da organização raiz.')
259                document.getElementById('ea_check_allUsers').checked = false;
260               
261                // Limpa select
262                select_available_users = document.getElementById('ea_select_available_users');
263                select_available_users.innerHTML = 'lixo';
264                select_available_users.outerHTML = select_available_users.outerHTML;
265                return;
266        }
267                cExecute ('$this.ldap_functions.get_available_users_and_maillist&context='+context+'&recursive='+recursive+'&denied_uidnumber='+document.forms[0].uidnumber.value, handler_get_available_users);
268}
269
270
271function get_available_users_only(context, recursive) // Funcao que busca os usuarios apenas, sem as listas
272{
273
274        itemBusca = document.getElementById('ea_input_searchUser').value;
275
276
277        var handler_get_available_users = function(data)
278        {
279                select_available_users = document.getElementById('ea_select_available_users');
280               
281                //Limpa o select
282                for(var i=0; i<select_available_users.options.length; i++)
283                {
284                        select_available_users.options[i] = null;
285                        i--;
286                }
287
288                if ((data) && (data.length > 0))
289                {
290                        // Necessario, pois o IE6 tem um bug que retira o primeiro options se o innerHTML estiver vazio.
291                        select_available_users.innerHTML = 'lixo' + data;
292                        select_available_users.outerHTML = select_available_users.outerHTML;
293                       
294                        select_available_users.disabled = false;
295//                      select_available_users_clone = document.getElementById('ea_select_available_users').cloneNode(true);
296                        document.getElementById('ea_input_searchUser').value = '';
297                }
298        }
299
300        //Impede chamada recursiva na raiz das organizações
301        if ((recursive) && (document.forms[0].ldap_context.value == document.getElementById('ea_combo_org_maillists').value))
302        {
303                alert('Nao é possível selecionar todos os usuários da organização raiz.')
304                document.getElementById('ea_check_allUsers').checked = false;
305               
306                // Limpa select
307                select_available_users = document.getElementById('ea_select_available_users');
308                select_available_users.innerHTML = 'lixo';
309                select_available_users.outerHTML = select_available_users.outerHTML;
310                return;
311        }
312
313                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);
314}
315
316
317function search_users() // Funcao que busca apenas os usuarios, sem as listas
318{
319
320        dnSearch = document.getElementById("ea_combo_org_maillists").value; //Recebe o dn para busca do usuario;
321        users = document.getElementById('ea_input_searchUser').value; //Recebe qual usuario deve ser buscado;
322        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);
323
324        //Exige que o argumento de busca tenha, no minimo, 4 caracteres;
325        if(users.length < 4) {
326
327                alert('Argumento de busca deve ter no mínimo 4 caracteres.');
328                return;
329        }
330
331        var handler_search_users = function(data)
332        {
333
334                select_available_users = document.getElementById('ea_select_available_users');
335
336                //Limpa o select
337                for(var i=0; i<select_available_users.options.length; i++)
338                {
339                        select_available_users.options[i] = null;
340                        i--;
341                }
342
343                if ((data) && (data.length > 0))
344                {
345                        // Necessario, pois o IE6 tem um bug que retira o primeiro options se o innerHTML estiver vazio.
346                        select_available_users.innerHTML = 'lixo' + data;
347                        select_available_users.outerHTML = select_available_users.outerHTML;
348
349                        select_available_users.disabled = false;
350                        select_available_users_clone = document.getElementById('ea_select_available_users').cloneNode(true);
351                        document.getElementById('ea_input_searchUser').value = '';
352                }
353        }
354
355        cExecute ('$this.ldap_functions.search_users_only&context='+dnSearch+'&filtro='+users+'&tipo='+tipoTpl+'&denied_uidnumber='+document.forms[0].uidnumber.value, handler_search_users);
356
357}
358
359function add_externalUser2maillist()
360{
361        input_externalUsers = document.getElementById('ea_input_externalUser').value;
362        select_usersInMaillist = document.getElementById('ea_select_usersInMaillist');
363
364        var count_externalUsers = input_externalUsers.length;
365        var count_usersInMaillist = select_usersInMaillist.options.length;
366        var new_options = '';
367
368        var teste = ''; //Variavel que ira receber mensagem de alerta ao usuario;
369        var alerta = new Boolean(0); //Variavel que sera usada para verificar se o alerta ao usuario sera exibido ou nao;
370        teste += "Usuário(os) já pertence(m) à lista:\n"; //Inicio da mensagem de alerta ao usuario;
371
372
373        //Laco abaixo compara se o valor escolhido em select_available_users ja existe em select_usersInMaillist
374        //se existir, adiciona o valor em teste e muda a variavel alerta para true; teste sera exibido em tela
375        //apenas de alerta  true; ver if no fim da funcao;
376        for(j = 0; j < count_usersInMaillist; j++)
377        {
378                var tmp = select_usersInMaillist.options[j].text
379
380                if(tmp.match(input_externalUsers))
381                {
382                        teste += input_externalUsers + "\n";
383                        alerta = new Boolean(1);
384                }
385        }
386
387        if(alerta != true)
388        {
389                if(document.all)
390                {
391                        if ( (select_usersInMaillist.innerHTML.indexOf('value='+input_externalUsers)) == '-1' )
392                        {
393                                new_options +=  "<option value="
394                                                        + input_externalUsers
395                                                        + ">"
396                                                        + input_extenalUsers
397                                                        + "</options>";
398                        }
399                }
400                else
401                {               
402                        if ( (select_usersInMaillist.innerHTML.indexOf('value="'+input_externalUsers+'"')) == '-1' )
403                        {
404                                new_options +=  "<option value="
405                                                        + input_externalUsers
406                                                        + ">"
407                                                        + input_externalUsers
408                                                        + "</options>";
409                        }
410                }
411        }
412
413        //Se alerta for true, exibe na tela o valor de teste;
414        if(alerta == true)
415        {
416                alert(teste);
417        }
418
419
420        if (new_options != '')
421        {
422                select_usersInMaillist.innerHTML = 'lixo' + new_options + select_usersInMaillist.innerHTML;
423                select_usersInMaillist.outerHTML = select_usersInMaillist.outerHTML;
424        }
425
426        document.getElementById('ea_input_externalUser').value = '';
427
428}
429
430
431
432function add_user2maillist()
433{
434        select_available_users = document.getElementById('ea_select_available_users');
435        select_usersInMaillist = document.getElementById('ea_select_usersInMaillist');
436
437        var count_available_users = select_available_users.length;
438        var count_usersInMailList = select_usersInMaillist.options.length;
439        var new_options = '';
440
441        var teste = ''; //Variavel que ira receber mensagem de alerta ao usuario;
442        var alerta = new Boolean(0); //Variavel que sera usada para verificar se o alerta ao usuario sera exibido ou nao;
443        teste += "Usuário(os) já pertence(m) à lista:\n"; //Inicio da mensagem de alerta ao usuario;
444
445        for (i = 0 ; i < count_available_users ; i++)
446        {
447                if (select_available_users.options[i].selected)
448                {
449
450
451                        //Laco abaixo compara se o valor escolhido em select_available_users ja existe em select_usersInMaillist
452                        //se existir, adiciona o valor em teste e muda a variavel alerta para true; teste sera exibido em tela
453                        //apenas de alerta  true; ver if no fim da funcao;
454                        for(j = 0; j < count_usersInMailList; j++)
455                        {
456                                if(select_usersInMaillist.options[j].text == select_available_users.options[i].text)
457                                {
458                                        teste += select_available_users.options[i].text + "\n";
459                                        alerta = new Boolean(1);
460                                }
461                        }
462
463
464                        if(document.all)
465                        {
466                                if ( (select_usersInMaillist.innerHTML.indexOf('value='+select_available_users.options[i].value)) == '-1' )
467                                {
468                                        new_options +=  "<option value="
469                                                                + select_available_users.options[i].value
470                                                                + ">"
471                                                                + select_available_users.options[i].text
472                                                                + "</options>";
473                                }
474                        }
475                        else
476                        {               
477                                if ( (select_usersInMaillist.innerHTML.indexOf('value="'+select_available_users.options[i].value+'"')) == '-1' )
478                                {
479                                        new_options +=  "<option value="
480                                                                + select_available_users.options[i].value
481                                                                + ">"
482                                                                + select_available_users.options[i].text
483                                                                + "</options>";
484                                }
485                        }
486                }
487        }
488
489        //Se alerta for true, exibe na tela o valor de teste;
490        if(alerta == true)
491        {
492                alert(teste);
493        }
494
495
496        if (new_options != '')
497        {
498                select_usersInMaillist.innerHTML = 'lixo' + new_options + select_usersInMaillist.innerHTML;
499                select_usersInMaillist.outerHTML = select_usersInMaillist.outerHTML;
500        }
501}
502
503function remove_user2maillist()
504{
505        select_usersInMaillist = document.getElementById('ea_select_usersInMaillist');
506       
507        for(var i = 0;i < select_usersInMaillist.options.length; i++)
508                if(select_usersInMaillist.options[i].selected)
509                        select_usersInMaillist.options[i--] = null;
510}
511
512function add_user2adm_maillist()
513{
514        select_available_users = document.getElementById('ea_select_available_users');
515        select_ADM_Maillist = document.getElementById('ea_select_ADM_Maillist');
516
517        var count_available_users = select_available_users.length;
518        var count_ADM_MailList = select_ADM_Maillist.options.length;
519        var new_options = '';
520
521
522        var teste = ''; //Variavel que ira receber mensagem de alerta ao usuario;
523        var alerta = new Boolean(0); //Variavel que sera usada para verificar se o alerta ao usuario sera exibido ou nao;
524        teste += "Usuário(os) já pertence(m) à lista:\n"; //Inicio da mensagem de alerta ao usuario;
525
526
527        for (i = 0 ; i < count_available_users ; i++)
528        {
529                if (select_available_users.options[i].selected)
530                {
531
532
533                        //Laco abaixo compara se o valor escolhido em select_available_users ja existe em select_ADM_Maillist
534                        //se existir, adiciona o valor em teste e muda a variavel alerta para true; teste sera exibido em tela
535                        //apenas de alerta  true; ver if no fim da funcao;
536                        for(j = 0; j < count_ADM_MailList; j++)
537                        {
538                                if(select_ADM_Maillist.options[j].text == select_available_users.options[i].text)
539                                {
540                                        teste += select_available_users.options[i].text + "\n";
541                                        alerta = new Boolean(1);
542                                }
543                        }
544
545
546                        if(document.all)
547                        {
548                                if ( (select_ADM_Maillist.innerHTML.indexOf('value='+select_available_users.options[i].value)) == '-1' )
549                                {
550                                        new_options +=  "<option value="
551                                                                + select_available_users.options[i].value
552                                                                + ">"
553                                                                + select_available_users.options[i].text
554                                                                + "</options>";
555                                }
556                        }
557                        else
558                        {               
559                                if ( (select_ADM_Maillist.innerHTML.indexOf('value="'+select_available_users.options[i].value+'"')) == '-1' )
560                                {
561                                        new_options +=  "<option value="
562                                                                + select_available_users.options[i].value
563                                                                + ">"
564                                                                + select_available_users.options[i].text
565                                                                + "</options>";
566                                }
567                        }
568                }
569        }
570
571
572        //Se alerta for true, exibe na tela o valor de teste;
573        if(alerta == true)
574        {
575                alert(teste);
576        }
577
578        if (new_options != '')
579        {
580                select_ADM_Maillist.innerHTML = 'lixo' + new_options + select_ADM_Maillist.innerHTML;
581                select_ADM_Maillist.outerHTML = select_ADM_Maillist.outerHTML;
582        //      select_AdminInMaillist.outerHTML = select_AdminInMaillist.outerHTML;
583        }
584}
585
586function remove_user2adm_maillist()
587{
588        select_ADM_Maillist = document.getElementById('ea_select_ADM_Maillist');
589       
590        for(var i = 0;i < select_ADM_Maillist.options.length; i++)
591                if(select_ADM_Maillist.options[i].selected)
592                        select_ADM_Maillist.options[i--] = null;
593}
594
595
596function add_user2scl_maillist()
597{
598        select_available_users = document.getElementById('ea_select_available_users');
599        select_usersInMaillist = document.getElementById('ea_select_users_SCL_Maillist');
600
601        var count_available_users = select_available_users.length;
602        var count_usersInMailList = select_usersInMaillist.options.length;
603        var new_options = '';
604
605
606        var teste = ''; //Variavel que ira receber mensagem de alerta ao usuario;
607        var alerta = new Boolean(0); //Variavel que sera usada para verificar se o alerta ao usuario sera exibido ou nao;
608        teste += "Usuário(os) já pertence(m) à lista:\n"; //Inicio da mensagem de alerta ao usuario;
609
610
611        for (i = 0 ; i < count_available_users ; i++)
612        {
613                if (select_available_users.options[i].selected)
614                {
615
616
617                        //Laco abaixo compara se o valor escolhido em select_available_users ja existe em select_usersInMaillist
618                        //se existir, adiciona o valor em teste e muda a variavel alerta para true; teste sera exibido em tela
619                        //apenas de alerta  true; ver if no fim da funcao;
620                        for(j = 0; j < count_usersInMailList; j++)
621                        {
622                                if(select_usersInMaillist.options[j].text == select_available_users.options[i].text)
623                                {
624                                        teste += select_available_users.options[i].text + "\n";
625                                        alerta = new Boolean(1);
626                                }
627                        }
628
629
630                        if(document.all)
631                        {
632                                if ( (select_usersInMaillist.innerHTML.indexOf('value='+select_available_users.options[i].value)) == '-1' )
633                                {
634                                        new_options +=  "<option value="
635                                                                + select_available_users.options[i].value
636                                                                + ">"
637                                                                + select_available_users.options[i].text
638                                                                + "</options>";
639                                }
640                        }
641                        else
642                        {               
643                                if ( (select_usersInMaillist.innerHTML.indexOf('value="'+select_available_users.options[i].value+'"')) == '-1' )
644                                {
645                                        new_options +=  "<option value="
646                                                                + select_available_users.options[i].value
647                                                                + ">"
648                                                                + select_available_users.options[i].text
649                                                                + "</options>";
650                                }
651                        }
652                }
653        }
654
655
656        //Se alerta for true, exibe na tela o valor de teste;
657        if(alerta == true)
658        {
659                alert(teste);
660        }
661
662        if (new_options != '')
663        {
664                select_usersInMaillist.innerHTML = '#' + new_options + select_usersInMaillist.innerHTML;
665                select_usersInMaillist.outerHTML = select_usersInMaillist.outerHTML;
666        }
667}
668
669function remove_user2scl_maillist()
670{
671        select_usersInMaillist = document.getElementById('ea_select_users_SCL_Maillist');
672       
673        for(var i = 0;i < select_usersInMaillist.options.length; i++)
674                if(select_usersInMaillist.options[i].selected)
675                        select_usersInMaillist.options[i--] = null;
676}
677
678
679// Variaveis Locais
680if (document.getElementById('ea_select_available_users'))
681{
682        var select_available_users  = document.getElementById('ea_select_available_users');
683        var select_available_users_clone = select_available_users.cloneNode(true);
684}
685else
686{
687        var select_available_users  = '';
688        var select_available_users_clone = '';
689}
690var finderTimeout = '';
691
692// Funcoes                                                                                     
693function optionFinderTimeout(obj)
694{
695        clearTimeout(finderTimeout);   
696        var oWait = document.getElementById("ea_span_searching");
697        oWait.innerHTML = 'Buscando...';
698        finderTimeout = setTimeout("optionFinder('"+obj.id+"')",500);
699}
700function optionFinder(id) {
701        var oWait = document.getElementById("ea_span_searching");
702        var oText = document.getElementById(id);
703               
704        //Limpa todo o select
705if(oText.length < 4) {
706        var select_available_users_tmp = document.getElementById('ea_select_available_users');
707
708        for(var i = 0;i < select_available_users_tmp.options.length; i++)
709                select_available_users_tmp.options[i--] = null;
710}
711if(oText.length >= 4) {
712
713get_available_users(oText.value);
714
715                        var select_available_users_tmp = document.getElementById('ea_select_available_users');
716                        for(var i = 0;i < select_available_users_tmp.options.length; i++)
717                                select_available_users_tmp.options[i--] = null;
718        var RegExp_name = new RegExp("\\b"+oText.value, "i");
719       
720        //Inclui usuário começando com a pesquisa
721/*      for(i = 0; i < select_available_users_clone.length; i++){
722                if ( RegExp_name.test(select_available_users_clone[i].text) || (select_available_users_clone[i].value == -1) )
723                {
724                        sel = select_available_users_tmp.options;
725                        option = new Option(select_available_users_clone[i].text,select_available_users_clone[i].value);
726
727                        if (select_available_users_clone[i].value == -1)
728                                option.disabled = true;
729
730                        sel[sel.length] = option;
731                }
732        }*/
733        oWait.innerHTML = '&nbsp;';
734}
735}                       
736
737function delete_maillist(uid, uidnumber)
738{
739        if (confirm("Realmente deletar Lista " + uid + " ??"))
740        {
741                var handler_delete_maillist = function(data)
742                {
743                        if (!data.status)
744                                alert(data.msg);
745                        else
746                                //alert('Lista de email deletada com êxito!!');
747                                window.setTimeout("cExecute('$this.maillist.synchronize_mailman&uid=" + uid + "&op=0', handler_delete_maillist_sync)", 10);
748                       
749//                      location.href="./index.php?menuaction=expressoAdmin1_2.uimaillists.list_maillists";
750        //              return;
751                }
752                cExecute ('$this.maillist.delete&uidnumber='+uidnumber, handler_delete_maillist);
753        }
754}
755
756function handler_delete_maillist_sync(data){
757        //Converte os dados do vetor oriundo de um script PHP para um vetor JavaScript
758        var dados_serializados = eval(data);
759        return_handler_delete_maillist_sync(dados_serializados);
760}
761
762function return_handler_delete_maillist_sync(data){
763        //Depois de processar a sincronização do Mailman com o RHDS, redireciona o usuário para a tela inicial
764        //Mesmo que não tenha tido êxito, segue o comportamento default da aplicação, redirecionando o usuário
765        //EM CASO DE ERRO NA SINCRONIZAÇÃO: CONFERIR O LOG "expresso_sincronizacao_mailmanrhds.log" em "/tmp"
766        //alert("Retorno do socket:\nSTATUS=" + data['status'] +'\nMSG=' + data['msg']);
767        alert('Lista de email deletada com êxito!!');
768        location.href="./index.php?menuaction=expressoAdmin1_2.uimaillists.list_maillists";             
769       
770}
771
772
Note: See TracBrowser for help on using the repository browser.