diff --git a/phpgwapi/inc/class.accounts.inc.php b/phpgwapi/inc/class.accounts.inc.php index 6be7823170..b42fa63504 100644 --- a/phpgwapi/inc/class.accounts.inc.php +++ b/phpgwapi/inc/class.accounts.inc.php @@ -563,7 +563,10 @@ class accounts $this->set_memberships($memberships, $id); // invalidates cache for account_id and primary group } } - self::cache_invalidate($data['account_id']); + // as some backends set (group-)members in save, we need to invalidate their members too! + $invalidate = isset($data['account_members']) ? $data['account_members'] : array(); + $invalidate[] = $data['account_id']; + self::cache_invalidate($invalidate); return $id; } diff --git a/phpgwapi/inc/class.vfs_home_hooks.inc.php b/phpgwapi/inc/class.vfs_home_hooks.inc.php index a743942c80..184125376f 100644 --- a/phpgwapi/inc/class.vfs_home_hooks.inc.php +++ b/phpgwapi/inc/class.vfs_home_hooks.inc.php @@ -120,7 +120,7 @@ class vfs_home_hooks if (egw_vfs::mkdir($dir='/home/'.$data['account_lid'],0070,0)) { egw_vfs::chown($dir,0); - egw_vfs::chgrp($dir,$data['account_id']); + egw_vfs::chgrp($dir,abs($data['account_id'])); // gid in Vfs is positiv! egw_vfs::chmod($dir,0070); // only group has access } egw_vfs::$is_root = false;