function cShareMailbox() { this.arrayWin = new Array(); this.el; this.alert = false; this.context = ""; this.finderTimeout = ''; } cShareMailbox.prototype.get_available_users = function(context) { if( sharedFolders_users_auto_search.toString() === "true" ) { this.get_available_users2(context); } } cShareMailbox.prototype.get_available_users2 = function() { var context = ""; var cn = ""; var handler_get_available_users = function(data) { select_available_users = document.getElementById('em_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 = '#' + data; select_available_users.outerHTML = select_available_users.outerHTML; select_available_users.disabled = false; select_available_users_clone = document.getElementById('em_select_available_users').cloneNode(true); document.getElementById('em_input_searchUser').value = ''; } } if( arguments.length > 1 ) { context = arguments[0]; cn = arguments[1]; cExecute ("$this.ldap_functions.get_available_users2&context="+context+"&cn="+cn, handler_get_available_users); } else { context = arguments[0]; cExecute ("$this.ldap_functions.get_available_users2&context="+context, handler_get_available_users); } } cShareMailbox.prototype.getaclfromuser = function(user) { var handler_getaclfromuser = function(data) { Element('em_input_readAcl').checked = false; Element('em_input_deleteAcl').checked = false; Element('em_input_writeAcl').checked = false; Element('em_input_sendAcl').checked = false; Element('em_input_saveAcl').checked = false; Element('em_input_saveAcl').disabled = true; if (data[user].indexOf('lrs',0) >= 0) { Element('em_input_sendAcl').disabled = false; Element('em_input_readAcl').checked = true; } else Element('em_input_sendAcl').disabled = true; if (data[user].indexOf('d',0) >= 0) { Element('em_input_deleteAcl').checked = true; } if (data[user].indexOf('wi',0) >= 0) { Element('em_input_writeAcl').checked = true; } if (data[user] != "false" && data[user].indexOf('a',0) >= 0) { Element('em_input_sendAcl').disabled = false; Element('em_input_sendAcl').checked = true; } if (data[user] != "false" && data[user].indexOf('p',0) >= 0) { Element('em_input_saveAcl').disabled = false; Element('em_input_saveAcl').checked = true; } if( data[user] != "false" && Element('em_input_writeAcl').checked && Element('em_input_sendAcl').checked ){ Element('em_input_saveAcl').disabled = false; } else Element('em_input_saveAcl').disabled = true; } cExecute ("$this.imap_functions.getaclfromuser&user="+user, handler_getaclfromuser); } cShareMailbox.prototype.setaclfromuser = function() { var acl = ''; var select = Element('em_select_sharefolders_users'); if(select.selectedIndex == "-1"){ alert("Selecione antes um usuário!"); return false; } var user = select.options[select.selectedIndex].value; if (Element('em_input_readAcl').checked) { Element('em_input_sendAcl').disabled = false; acl = 'lrs'; } else{ Element('em_input_sendAcl').disabled = true; Element('em_input_sendAcl').checked = false; } if (Element('em_input_deleteAcl').checked) acl += 'd'; if (Element('em_input_writeAcl').checked) { acl += 'wi'; } if (Element('em_input_sendAcl').checked){ acl += 'a'; } if (Element('em_input_sendAcl').checked && Element('em_input_writeAcl').checked){ Element('em_input_saveAcl').disabled = false; } else { Element('em_input_saveAcl').disabled = true; Element('em_input_saveAcl').checked = false; } if (Element('em_input_saveAcl').checked) acl += 'p'; var handler_setaclfromuser = function(data) { if (!data) alert(data); return true; } cExecute ("$this.imap_functions.setaclfromuser&user="+user+"&acl="+acl, handler_setaclfromuser); } cShareMailbox.prototype.makeWindow = function(options) { _this = this; var el = document.createElement("DIV"); el.style.visibility = "hidden"; el.style.position = "absolute"; el.style.left = "0px"; el.style.top = "0px"; el.style.width = "0px"; el.style.height = "0px"; el.id = 'dJSWin_sharefolders'; document.body.appendChild(el); if (Element('em_select_sharefolders_users')) { var select_users = Element('em_select_sharefolders_users'); select_users.innerHTML = '#' + options; select_users.outerHTML = select_users.outerHTML; Element('em_input_readAcl').checked = false; Element('em_input_deleteAcl').checked = false; Element('em_input_writeAcl').checked = false; Element('em_input_sendAcl').checked = false; Element('em_input_saveAcl').checked = false; } else { el.innerHTML = '
'+ '
'+ '
'+ get_lang('Note: This sharing will take action on all of your folders and messages.')+ '
'+ '
'+ '
'+ ''+ '
'+ ''+ '

'+ ''+ ''+ '
'+ ''+ '
'+ '
'+ '
'+ ''+ '

'+ ''+ '
'+ '
'+ '
'+ '
'+ '
'+ ''+ '
'+ '
'+ '
'+ ''+get_lang('Permission')+''+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'; } var handler_organizations = function(data) { var user_organization = Element('user_organization').value; for(i = 0; i < data.length; i++) { Element('em_combo_org').options[i] = new Option(data[i].ou,data[i].dn); if(data[i].ou.indexOf("dc=") != -1 || user_organization.toUpperCase() == data[i].ou.toUpperCase()) { Element('em_combo_org').options[i].selected = true; _this.get_available_users(data[i].dn); } } } cExecute ("$this.ldap_functions.get_organizations2&referral=false", handler_organizations); var butt = Element('dJSWin_wfolders_bok') if ( !butt ) { butt = document.createElement('INPUT'); butt.style.marginLeft = "5px"; butt.id = 'dJSWin_wfolders_bok'; butt.type = 'button'; butt.value = get_lang('Save'); el.appendChild(butt); } butt.onclick = function () { // Needed select all options from select var users_setacl = new Array(); select_users = Element('em_select_sharefolders_users'); for(var i=0; i 0 && sharedFolders_users_auto_search.toString() === "false" ) { var key = [8,27,37,38,39,40]; var ev = Event; var _inputSearch = Obj; var cleanLabel = function(obj) { obj.innerHTML = ""; } var getUsers = function( _input, obj ) { var context = sharemailbox.context; var cn = _input.value; sharemailbox.get_available_users2( context, cn ); cleanLabel(obj); } for( var i in key ) { if( ev.keyCode == key[i]) { return false; } } if( _inputSearch.value.length < parseInt(minNumChar) ) { oWait.innerHTML = " ( Digite mais " + ( parseInt(minNumChar) - _inputSearch.value.length ) + " )"; setTimeout(function(){cleanLabel(oWait);}, 2000); } else { oWait.innerHTML = get_lang('Searching')+"..."; if( this.finderTimeout ) clearTimeout(this.finderTimeout); this.finderTimeout = setTimeout(function(){ getUsers( _inputSearch, oWait); }, 1000); } } else { if( this.finderTimeout ) clearTimeout(this.finderTimeout); oWait.innerHTML = get_lang('Searching')+"..."; this.finderTimeout = setTimeout(function(){ sharemailbox.optionFinder(Obj.id); }, 1000); } } cShareMailbox.prototype.optionFinder = function(id) { var oWait = document.getElementById("em_span_searching"); var oText = document.getElementById(id); //Limpa todo o select var select_available_users_tmp = document.getElementById('em_select_available_users') for(var i = 0;i < select_available_users_tmp.options.length; i++) select_available_users_tmp.options[i--] = null; var RegExp_name = new RegExp("\\b"+oText.value, "i"); //Inclui usuário começando com a pesquisa if (typeof(select_available_users_clone) != "undefined"){ for(i = 0; i < select_available_users_clone.length; i++){ if (RegExp_name.test(select_available_users_clone[i].text)) { sel = select_available_users_tmp.options; option = new Option(select_available_users_clone[i].text,select_available_users_clone[i].value); sel[sel.length] = option; } } } oWait.innerHTML = ''; } cShareMailbox.prototype.add_user = function() { var select_available_users = document.getElementById('em_select_available_users'); var select_users = document.getElementById('em_select_sharefolders_users'); var count_available_users = select_available_users.length; var count_users = select_users.options.length; var new_options = ''; for (i = 0 ; i < count_available_users ; i++) { if (select_available_users.options[i].selected) { if(document.all) { if ( (select_users.innerHTML.indexOf('value='+select_available_users.options[i].value)) == '-1' ) { new_options += ''; } } else { if ( (select_users.innerHTML.indexOf('value="'+select_available_users.options[i].value+'"')) == '-1' ) { new_options += ''; } } } } if (new_options != '') { select_users.innerHTML = '#' + new_options + select_users.innerHTML; select_users.outerHTML = select_users.outerHTML; } } cShareMailbox.prototype.remove_user = function() { select_users = document.getElementById('em_select_sharefolders_users'); for(var i = 0;i < select_users.options.length; i++) if(select_users.options[i].selected) select_users.options[i--] = null; Element('em_input_readAcl').checked = false; Element('em_input_deleteAcl').checked = false; Element('em_input_writeAcl').checked = false; Element('em_input_sendAcl').checked = false; Element('em_input_saveAcl').checked = false; } /* Build the Object */ var sharemailbox; sharemailbox = new cShareMailbox();