- read rights are not checks in each traversed directory (via sql in a single query to locate the path)
- diropen additionally checks for execute rights
- fopen checks for read or write depending on the mode
- chmod, chgrp, chown methods in sqlfs and egw_vfs/vfs plus an egw_vfs::$is_root var used to grant root rights (no access controll and chown or chgrp without being the owner of a file)
- find method (some more params to come) to recursivly search and optionaly execute some callback
- egw_vfs::remove doing a "rm -r" / recursive remove or dirs and files
- new files or dirs inherit the perms and ownership from the parent directory (no umask)
- files/dirs the user has no read rights, in a directory where he has no write rights, get hidden (eg. not showing all the other users / groups home dirs
- many new cli commands (chmod, chgrp, chown, find), recursive option for most commands and the ability to use it with root rights, see the usage message if called without options
- "cp -r -p" to copy a whole tree incl. ownership and perms, eg. backing up /home to /backup
Attribs: Stephan Becker: Code, identified the Javascript culprits
Wim Bonis: Code, Race condition
Klaus Leithhoff: Code, mbstring writes a different length to that that it reads
Lars Volker: Code, Debug memcache slab memory, memcache add as lock.
child, that has executed a php script with mbstring.func_overload=7 once, will
overload substr() in a later execution of another php script, even if the
Location context of that script has mbstring.func_overload=0 set. Since the
WBXML decoder works byte-by-byte to determine substring length, it fails, if
mb_substr() is used. This patch prevents this.
- caching the information for dir_open vfs_sql::ls() to use it in url_stat, to not read it again from the db
- implemented a static touch method, which is not (yet) part of the stream-wrapper interface
- have a static method config::read($app) to read the config of an app, no need to instanciate it
- added some caching to not read the config more then once per request
- moved the get_customfields and get_content_type methods here from admin.customfields
- private custom fields only visible for certain users/groups (in addressbook only for the moment)
This is due to a bug in felamimail, when typing an address, the auto completion produces an XML Error, because the
socontacts_sql class is not found.
The problem may be resolved by another method, the solution provided here is probably not wanted, for proper style reasons,
and will not solve all possible autoload problems.
out-of-band data such as the HTTP user agent.
Use that to determine weither message fragmentation should be used or not.
Indicate that Funambol 6+ supports fragmentation (this solves cases where
big addressbooks cannot be syncrhonized because there are too many entries).
Added a hack that allows one to search for the categories' names prefixed by X-
Sony Ericsson phones (and possibly others) systematically prepend a X- to the
category names, so with this patch we match X-CatName just like CatName
This is only done for SyncML obviously.