"fixing commit r26783/4 for mysql:

using octal numbers with mysql leads to funny results:
select 384 & 0400 --> 384 not 256=0400
--> converted 0400, 040 and 04 to 256, 32 and 4 for mysql"
This commit is contained in:
Ralf Becker 2009-04-15 11:22:40 +00:00
parent 02b5e725e0
commit 747c796d1e

View File

@ -1025,8 +1025,10 @@ class sqlfs_stream_wrapper implements iface_stream_wrapper
{ {
$memberships[] = abs($gid); // sqlfs stores the gid's positiv $memberships[] = abs($gid); // sqlfs stores the gid's positiv
} }
$sql_read_acl = '((fs_mode & 04)=04 OR (fs_mode & 0400)=0400 AND fs_uid='.(int)egw_vfs::$user. // using octal numbers with mysql leads to funny results (select 384 & 0400 --> 384 not 256=0400)
' OR (fs_mode & 040)=040 AND fs_gid IN('.implode(',',$memberships).'))'; // 256 = 0400, 32 = 040
$sql_read_acl = '((fs_mode & 4)=4 OR (fs_mode & 256)=256 AND fs_uid='.(int)egw_vfs::$user.
' OR (fs_mode & 32)=32 AND fs_gid IN('.implode(',',$memberships).'))';
} }
return $sql_read_acl; return $sql_read_acl;
} }