From 67425171f5f968508d9187f3310f8faff01ea892 Mon Sep 17 00:00:00 2001 From: Klaus Leithoff Date: Fri, 7 Dec 2012 15:01:25 +0000 Subject: [PATCH] preserve ACL Edit Active State on FolderChange --- felamimail/inc/class.ajaxfelamimail.inc.php | 4 +++- felamimail/js/jscode/listFolder.js | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/felamimail/inc/class.ajaxfelamimail.inc.php b/felamimail/inc/class.ajaxfelamimail.inc.php index 02644d2751..2b6d0d22af 100644 --- a/felamimail/inc/class.ajaxfelamimail.inc.php +++ b/felamimail/inc/class.ajaxfelamimail.inc.php @@ -223,7 +223,7 @@ class ajaxfelamimail */ function createACLTable($_acl) { - if($this->_debug) error_log(__METHOD__.__LINE__.array2string($_acl)); + if($this->_debug) error_log(__METHOD__.__LINE__.array2string($_acl).function_backtrace()); $aclList = array('l','r','s','w','i','p','c','d','a'); $lang["lang_acl_l"] = "Look up the name of the mailbox (but not its contents)."; @@ -873,6 +873,7 @@ class ajaxfelamimail $aclSupported = in_array('ACL',$this->bofelamimail->icServer->_serverSupportedCapabilities); if($aclSupported && ($folderACL = $this->bofelamimail->getIMAPACL($folderName))) { $response->addAssign("aclTable", "innerHTML", $this->createACLTable($folderACL)); + $response->addScript("updateACLView('useCurrentActiveState');"); } else { @@ -896,6 +897,7 @@ class ajaxfelamimail if($folderName != '--topfolder--' && $folderName != 'user' && ($folderACL = $this->bofelamimail->getIMAPACL($folderName))) { $aclSupported = in_array('ACL',$this->bofelamimail->icServer->_serverSupportedCapabilities); $response->addAssign("aclTable", "innerHTML", ($aclSupported?$this->createACLTable($folderACL):'')); + $response->addScript("updateACLView('useCurrentActiveState');"); } else { diff --git a/felamimail/js/jscode/listFolder.js b/felamimail/js/jscode/listFolder.js index 534d462163..2117ff60d3 100644 --- a/felamimail/js/jscode/listFolder.js +++ b/felamimail/js/jscode/listFolder.js @@ -25,6 +25,7 @@ function disableACLEdit() var active = document.getElementById('active'); active.checked = false; active.disabled = true; + updateACLView('disableACL'); } function updateACLView(activateACL) @@ -33,7 +34,10 @@ function updateACLView(activateACL) var active = document.getElementById('active'); if (activateACL=='disableACL') active.checked = false; - else active.checked = false; + else + { + if (activateACL!='useCurrentActiveState') active.checked = false; + } onchange_active(active); }