countFiles = 0; function validate_fields(type) { document.forms[0].uid.value = document.forms[0].uid.value.toLowerCase(); document.forms[0].old_uid.value = document.forms[0].old_uid.value.toLowerCase(); if (document.forms[0].uid.value == ''){ alert('Campo LOGIN da lista está vazio.'); return; } /* if (document.forms[0].cn.value == ''){ alert('Campo NOME da lista está vazio.'); return; }*/ if (document.forms[0].restrictionsOnEmailLists.value == 'true') { uid_tmp = document.forms[0].uid.value.split("-"); if ((uid_tmp.length < 3) || (uid_tmp[0] != 'lista')){ alert( 'O campo LOGIN da lista está incompleto.\n' + 'O nome da lista deve ser formado assim:\n' + 'lista-ORGANIZACAO-NOME_DA_LISTA.\n' + 'Ex: lista-serpro-rh.'); return; } } if (document.forms[0].uid.value.split(" ").length > 1){ alert('Campo LOGIN comtém espaços.'); document.forms[0].uid.focus(); return; } //Verifica se a pagina de origem e a de edicao ou criacao de lista, pois o atributo listPass e usado apenas nestas paginas; if((type == 'edit_maillist') || (type == 'create_maillist')) { if (document.forms[0].listPass.value == ''){ alert('Campo SENHA da lista está vazio.'); document.forms[0].listPass.focus(); return; } } /* if (document.forms[0].mail.value == ''){ alert('Campo E-MAIL da lista está vazio.'); document.forms[0].mail.focus(); return; } var reEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if(!reEmail.test(document.forms[0].mail.value)){ alert("Campo E-mail não é válido."); return false; } */ // Alteracao para saber de onde vem a chamada do save() - se da pagina de edicao de lista ou da pagina de administrador da lista if((type == 'edit_maillist') || (type == 'create_maillist')) { // pagina de edicao da lista select_userInMaillist = document.getElementById('ea_select_usersInMaillist'); if (select_userInMaillist.options.length == 0){ alert('Nenhum usuário faz parte da lista.'); return; } /*}else if(type == 'adm_maillist') { // pagina de administador da lista select_ADM_Maillist = document.getElementById('ea_select_ADM_Maillist'); if (select_ADM_Maillist.options.length == 0){ alert('Nenhum usuário faz parte da lista.'); return; } */ } /* Codigo original preservado, em caso de necessidade select_userInMaillist = document.getElementById('ea_select_usersInMaillist'); if (select_userInMaillist.options.length == 0){ alert('Nenhum usuário faz parte da lista.'); return; } */ var handler_validate_fields = function(data) { if (!data.status) alert(data.msg); else { if (type == 'create_maillist') cExecuteForm ("$this.maillist.create", document.forms[0], handler_create); else if (type == 'edit_maillist') cExecuteForm ("$this.maillist.save", document.forms[0], handler_save); //else if (type == 'adm_maillist') // cExecuteForm ("$this.maillist.save_adm", document.forms[0], handler_save); } } // Alteracao semelhante a descrita acima if((type == 'edit_maillist') || (type == 'create_maillist')) { for(var i=0; i 0)) { // Necessario, pois o IE6 tem um bug que retira o primeiro options se o innerHTML estiver vazio. select_available_users.innerHTML = 'lixo' + data; select_available_users.outerHTML = select_available_users.outerHTML; select_available_users.disabled = false; select_available_users_clone = document.getElementById('ea_select_available_users').cloneNode(true); document.getElementById('ea_input_searchUser').value = ''; } } //Impede chamada recursiva na raiz das organizações if ((recursive) && (document.forms[0].ldap_context.value == document.getElementById('ea_combo_org_maillists').value)) { alert('Nao é possível selecionar todos os usuários da organização raiz.') document.getElementById('ea_check_allUsers').checked = false; // Limpa select select_available_users = document.getElementById('ea_select_available_users'); select_available_users.innerHTML = 'lixo'; select_available_users.outerHTML = select_available_users.outerHTML; return; } cExecute ('$this.ldap_functions.get_available_users_and_maillist&context='+context+'&recursive='+recursive+'&denied_uidnumber='+document.forms[0].uidnumber.value, handler_get_available_users); } function get_available_users_only(context, recursive) // Funcao que busca os usuarios apenas, sem as listas { itemBusca = document.getElementById('ea_input_searchUser').value; var handler_get_available_users = function(data) { select_available_users = document.getElementById('ea_select_available_users'); //Limpa o select for(var i=0; i 0)) { // Necessario, pois o IE6 tem um bug que retira o primeiro options se o innerHTML estiver vazio. select_available_users.innerHTML = 'lixo' + data; select_available_users.outerHTML = select_available_users.outerHTML; select_available_users.disabled = false; // select_available_users_clone = document.getElementById('ea_select_available_users').cloneNode(true); document.getElementById('ea_input_searchUser').value = ''; } } //Impede chamada recursiva na raiz das organizações if ((recursive) && (document.forms[0].ldap_context.value == document.getElementById('ea_combo_org_maillists').value)) { alert('Nao é possível selecionar todos os usuários da organização raiz.') document.getElementById('ea_check_allUsers').checked = false; // Limpa select select_available_users = document.getElementById('ea_select_available_users'); select_available_users.innerHTML = 'lixo'; select_available_users.outerHTML = select_available_users.outerHTML; return; } 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); } function search_users() // Funcao que busca apenas os usuarios, sem as listas { // dnSearch = document.getElementById("ea_combo_org_maillists").value; //Recebe o dn para busca do usuario; users = document.getElementById('ea_input_searchUser').value; //Recebe qual usuario deve ser buscado; 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); //Exige que o argumento de busca tenha, no minimo, 4 caracteres; if(users.length < 4) { alert('Argumento de busca deve ter no mínimo 4 caracteres.'); return; } var handler_search_users = function(data) { select_available_users = document.getElementById('ea_select_available_users'); //Limpa o select for(var i=0; i 0)) { // Necessario, pois o IE6 tem um bug que retira o primeiro options se o innerHTML estiver vazio. select_available_users.innerHTML = 'lixo' + data; select_available_users.outerHTML = select_available_users.outerHTML; select_available_users.disabled = false; select_available_users_clone = document.getElementById('ea_select_available_users').cloneNode(true); document.getElementById('ea_input_searchUser').value = ''; } } cExecute ('$this.ldap_functions.search_users_only&&filtro='+users+'&tipo='+tipoTpl+'&denied_uidnumber='+document.forms[0].uidnumber.value, handler_search_users); } function LTrim(value) { var w_space = String.fromCharCode(32); var strTemp = ""; var iTemp = 0; var v_length = value ? value.length : 0; if(v_length < 1) return ""; while(iTemp < v_length){ if(value && value.charAt(iTemp) != w_space){ strTemp = value.substring(iTemp,v_length); break; } iTemp++; } return strTemp; } function validateEmail() { externalEmail = document.getElementById('ea_input_externalUser'); if( externalEmail.value ) { //var element = arguments[0]; var validate = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if(this.LTrim(externalEmail.value) != "" && externalEmail.value != "") { if(!validate.test(externalEmail.value)) { alert('Email address is not valid.'); externalEmail.focus(); return false; }else { this.add_externalUser2maillist(externalEmail.value); } } } } function add_externalUser2maillist(mailAddress) { input_externalUsers = mailAddress; //document.getElementById('ea_input_externalUser').value; select_usersInMaillist = document.getElementById('ea_select_usersInMaillist'); var count_externalUsers = input_externalUsers.length; var count_usersInMaillist = select_usersInMaillist.options.length; var new_options = ''; var teste = ''; //Variavel que ira receber mensagem de alerta ao usuario; var alerta = new Boolean(0); //Variavel que sera usada para verificar se o alerta ao usuario sera exibido ou nao; teste += "Usuário(os) já pertence(m) à lista:\n"; //Inicio da mensagem de alerta ao usuario; //Laco abaixo compara se o valor escolhido em select_available_users ja existe em select_usersInMaillist //se existir, adiciona o valor em teste e muda a variavel alerta para true; teste sera exibido em tela //apenas de alerta true; ver if no fim da funcao; for(j = 0; j < count_usersInMaillist; j++) { var tmp = select_usersInMaillist.options[j].text if(tmp.match(input_externalUsers)) { teste += input_externalUsers + "\n"; alerta = new Boolean(1); } } if(alerta != true) { if(document.all) { if ( (select_usersInMaillist.innerHTML.indexOf('value='+input_externalUsers)) == '-1' ) { new_options += "