From ea411d53c8d1a5fee2e5d97db4873d0fdd402ddc Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 20 Feb 2013 13:59:31 +0000 Subject: [PATCH] * Filemanager: removing extended ACL for groups was not immediatly reflected in rights of current user, had to log out and in again --- phpgwapi/inc/class.sqlfs_stream_wrapper.inc.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/phpgwapi/inc/class.sqlfs_stream_wrapper.inc.php b/phpgwapi/inc/class.sqlfs_stream_wrapper.inc.php index f2ec98595d..9c53c4af81 100644 --- a/phpgwapi/inc/class.sqlfs_stream_wrapper.inc.php +++ b/phpgwapi/inc/class.sqlfs_stream_wrapper.inc.php @@ -1404,9 +1404,10 @@ class sqlfs_stream_wrapper implements iface_stream_wrapper if (is_null($rights) || $owner === false) { // delete eacl - if (is_null($owner) || $owner == egw_vfs::$user) + if (is_null($owner) || $owner == egw_vfs::$user || + $owner < 0 && egw_vfs::$user && in_array($owner,$GLOBALS['egw']->accounts->memberships(egw_vfs::$user,true))) { - unset(self::$extended_acl[$path]); + self::$extended_acl = null; // force new read of eACL, as there could be multiple eACL for that path } $ret = $GLOBALS['egw']->acl->delete_repository(self::EACL_APPNAME,$fs_id,(int)$owner); } @@ -1416,7 +1417,7 @@ class sqlfs_stream_wrapper implements iface_stream_wrapper $owner < 0 && egw_vfs::$user && in_array($owner,$GLOBALS['egw']->accounts->memberships(egw_vfs::$user,true)))) { // set rights for this class, if applicable - self::$extended_acl[$path] = $rights; + self::$extended_acl[$path] |= $rights; } $ret = $GLOBALS['egw']->acl->add_repository(self::EACL_APPNAME,$fs_id,$owner,$rights); }