Commit Graph

51 Commits

Author SHA1 Message Date
Ralf Becker
078edd98fd Fixed SQL error now giving an exception: it's caused by
vfs_stream_wrapper::get_path() returning an url without path
(sqlfs://default <-- no trailing slash), which causes
sqlfs_stream_wrapper::url_stat() to be called for an empty path, which
gives the sql error.
2009-07-01 18:03:46 +00:00
Ralf Becker
9a5c0f8d9c "removed forgotten comment, breaking the previous fix" 2009-07-01 16:17:44 +00:00
Ralf Becker
944bb3073c fixed since 1.7.002 not working update from 1.4:
- fs_link column is queried by sqlfs, but get created in 1.7.002
- pdo does not throw exception on sql errors, it silently ignores them
  --> told it now in constructor to also throw exceptions
- egw_vfs::find() was not always honoring the url option
2009-07-01 15:17:36 +00:00
Klaus Leithoff
af523b5904 propfind: fix regarding the retrieval of sqlfs_props, if key of array with a single entry is the vfspath for the file in question 2009-06-10 10:31:28 +00:00
Ralf Becker
6617bec9ef Creating an own column (fs_link) for symlinks, as fs_content is a BLOB
and therefore not aware of charsets
2009-05-12 07:21:57 +00:00
Ralf Becker
6468dc8d77 "setting the value to 7, after reports on the user list, thought MySQL 5.0.51 with MyISAM engine works up to 10" 2009-05-04 16:47:21 +00:00
Ralf Becker
b71d829bca "fix for bug reported on the english user list:
limit on the number of cascaded folders in Filemanager
--> MySQL 5.0 has a nesting limit for subqueries
--> working around that by limiting the nesting level to 10"
2009-05-01 19:12:25 +00:00
Ralf Becker
aca05a32e3 using new check_load_extension function 2009-04-20 12:43:44 +00:00
Ralf Becker
f12a0dc307 making whole mime_magic class static, for easier use and better caching by byte code caches 2009-04-17 06:25:33 +00:00
Ralf Becker
7233f87413 "fixed not updated modification time, if file get's updated (eg. replaced via a new update in filemanager)" 2009-04-16 16:32:30 +00:00
Ralf Becker
5629c10e12 "charset independent case-sensitive comparison for mysql, using BINARY operator now" 2009-04-16 07:38:16 +00:00
Ralf Becker
03e7348896 "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"
2009-04-15 11:21:44 +00:00
Ralf Becker
e20bd1703b "fix for bug #2041: Postrgresql error when I try to access a file in sqlfs
\"CEST ERROR:  argument of AND must be type boolean, not type integer\"
"
2009-04-15 07:50:14 +00:00
Ralf Becker
3795ae9a98 "fix for bug #1867: Several problems with non-ascii as first char in filename:
that char is skiped in dir creation, rename or filecreation"
2009-04-09 13:24:34 +00:00
Ralf Becker
e21fdcc3fc "- docu update
- adding some options to quite stats
- using stat-cache only if it contains a positiv response or $eacl is not set"
2009-04-07 19:42:46 +00:00
Klaus Leithoff
27891f2803 making sure rows is an array in id2path 2009-04-02 10:18:05 +00:00
Ralf Becker
d006ef24f9 "as PDO allows to use named params without colon prefix, switched to that, as it's close to the way we use our own db class" 2009-03-30 11:17:30 +00:00
Ralf Becker
7f9aace528 "- sqlfs is now fully case-sensitiv (before it was partly case-insensitiv)
- symlinks are now read by url_stat and dir_opendir and stored in the stat cache, to minimize DB accesses
- negative url_stat calles (not found) are now stored in the stat cache too, to minimize DB access
- added new log level 3, which adds method-name and line number to the sql statements"
2009-03-27 19:10:16 +00:00
Ralf Becker
55d2aaa3ee Implemented symlinks for eGW's VFS:
- sqlfs can store now symlinks (implements symlink and readlink)
- vfs resolves symlinks before calling a mounted stream-wrapper
--> symlinks can be between different mount-points
- filemanger can create symlinks and follows them
- etemplate vfs_widget displays symlinks (to be improved)
Happy testing :-)
2009-03-19 20:12:35 +00:00
Klaus Leithoff
be859fa1f6 fixing various webdav problems, regarding pathbuilding 2009-01-29 18:58:52 +00:00
Ralf Becker
ee623e72d3 "made some permanent error_logs configurable" 2008-11-15 07:40:25 +00:00
Ralf Becker
59aa84f761 "switch logging to 2 (only errors) again" 2008-11-13 06:35:18 +00:00
Ralf Becker
9d9bd270a2 "- fix for bug #1817: file in a searchable directory was always readable
- changed chgrp and chmod, to allow admins to modify files/dirs owned by root"
2008-11-09 16:10:36 +00:00
Ralf Becker
59b4f49e58 fixed errors in creating the home dirs of standard groups in sqlfs during setup 2008-10-26 07:37:37 +00:00
Ralf Becker
375c328453 Fixed bug pointed out by lluis <lluis.faja-at-gmail.com>:
sqlfs stores files with fs_id < 100 directly under /sqlfs in the files
dir. They conflict with directories created for fs_id >= 1000.
--> fs_id < 100 are now in a directory /sqlfs/00
You need to run the 1.5.016 update or you will not find the content of
files with fs_id < 100 anymore!
2008-10-21 07:08:12 +00:00
Ralf Becker
abc26d61ee "fixed error introduced with postgres fix from this morning, sorry ;-)
"
2008-10-15 10:02:30 +00:00
Ralf Becker
303699d341 "fix for postgres problem reported by peter goerzen
"
2008-10-15 06:00:38 +00:00
Ralf Becker
9b4e06c998 "fixed stream open mode 'rb' was treated as a write mode: now 'b'=binary is ignored, as all operations are binary" 2008-10-10 17:00:03 +00:00
Ralf Becker
0218ffb751 - new vfs-widget to encapsulate common vfs/file related stuff
+ path with clickable components
  + human readable size, mode, ...
  + mime icon with integrated thumbnail creation
- link widget uses now vfs-mime for it's icons
- thumbnail creation is now switched on with size 32px by default, it can
  be switched of by the admin or user, in doing so explicitly
- mime-icons are moved from filemanager to etemplate, as not everyone
  installs filemanager
- filemanager has now 3 display modi:
  + Current directory (with subdirs always on top)
  + Subdirs sorted in
  + Files from subdirs (shows recursive all files and you
    can click on the path components thanks to new vfs widget)
2008-10-06 17:43:42 +00:00
Ralf Becker
401c0de336 - renamed key of property value to 'val' like in HTTP_WebDAV_Server
- support for propfind and proppatch for WebDAV
2008-10-05 19:01:49 +00:00
Ralf Becker
0a7d4f9782 Comment and custom fields for filemanager / sqlfs 2008-10-05 17:07:36 +00:00
Ralf Becker
1d7f34ff62 "fs_modifier was not updated (it's currently not available, as no posix attribute, but for a dms it's quite usefully)" 2008-10-05 09:01:20 +00:00
Ralf Becker
b6a9e16bcd SQLFS (eGW's default VFS system) stores the content of the files now in
a hashed directory structure based on the fs_id and not longer on the
path (which can not be recovered, once the filesystem get's corrupt)
--> Make backups (db AND files directory), before attempting the update !!!!!!!!
2008-10-03 12:18:19 +00:00
Ralf Becker
6b1841dccb "remove eACL on rmdir also for STORE2DB" 2008-10-03 08:30:40 +00:00
Ralf Becker
22a6325531 "mkdir was loosing the query-part when recursivly creating directories" 2008-10-02 11:01:28 +00:00
Ralf Becker
0baa7f22e3 "finished implementation of storing vfs/sqlfs files in the database:
- the used storage (default filesystem) can be switched via a get-parameter in the url mounted (eg. sqlfs://default/?storage=db)
- please note the current (php5.2.6) problems:
a) retriving files via streams does NOT work for PDO_mysql (bindColum(,,PDO::PARAM_LOB) does NOT work, string returned)
(there's a workaround implemented, but it requires to allocate memory for the whole file!)
b) uploading/writing files > 1M fail on PDOStatement::execute() (setting PDO::MYSQL_ATTR_MAX_BUFFER_SIZE does NOT help)
(not sure if that's a bug in PDO/PDO_mysql or an accepted limitation)
--> now we need to implement an easy switch in setup to allow admins to use the db backend (does NOT require an directory outside the docroot)
currently you need to use filemanager/cli.php mount"
2008-10-01 18:01:45 +00:00
Ralf Becker
ca3245043b "check if pdo extension and DB specific driver is loaded AND try loading it if not (to be consistent with checks in setup/check_install.php)" 2008-08-17 05:41:49 +00:00
Ralf Becker
5b705e6bc6 fixed bugs report by Frank Becker on the german list and some more I
noticed while working on it:
- memory size error, when renaming a file after posting the list (eg.
  clicking on home icon)
- renaming (moving) one file on an existing filename, put the file in an
  inaccessible state
- renaming more then once, did not work
--> ToDo: add some ajax to notify the user, when he tries to overwrite
an other file while renaming one
2008-07-27 18:58:41 +00:00
Ralf Becker
dd787255fb "fixed bug in webdav upload, found by skyfredox(at)hotmail.com" 2008-05-13 05:50:11 +00:00
Ralf Becker
9df4251058 "- fixed bug introduced with r25260: connection charset for PDO connection was not longer set, causing utf8 filenames written to mysql, which thinks we are talking latin1 (mysql default)
- also fixed wrong DSN for mysqlt"
2008-04-30 19:00:14 +00:00
Ralf Becker
46325b070c fixed fatal error happening on some installs when deleting a dir in sqlfs 2008-04-24 15:19:42 +00:00
Ralf Becker
1eb9acec27 enable sqlfs_stream_wrapper to run under setup 2008-04-21 15:37:11 +00:00
Ralf Becker
689ffe18a9 create sqlfs dirs /, /home, /app and removed old vfs entries 2008-04-20 16:44:04 +00:00
Ralf Becker
8590b35fdf "additionally using the port for the pdo connection and remove password from stacktrace of failed connection" 2008-04-18 09:08:48 +00:00
Ralf Becker
48734de102 "additionally using the port for the pdo connection and remove password from stacktrace of failed connection" 2008-04-18 09:08:38 +00:00
Ralf Becker
b86449d359 "fixed problem of perp working with sqlfs or links (use mysqlt driver instead of stock mysql one)" 2008-04-18 08:42:11 +00:00
Ralf Becker
501df49cbb stream wrapper interface is now eGW VFS interface
- if you already run the 1.5.003 update (AND modified anything in the VFS), you have to re-run it, to not loose your modifications or risk an inconsistent VFS (DB does not match filesystem)
- to re-run the 1.5.003 update (only if your version is already 1.5.003 or bigger!) run the following sql:
UPDATE egw_applications SET app_version=1.5.002 WHERE app_name=phpgwapi
- the new vfs supports now an extended ACL, if that is supported by the backend (sqlfs only currently)
- eacl allows to set separate recursive acl rights for different users or groups on a directory (and subdirs)
- former group grants of group dirs are converted to eacl, thought we only support read or read+write access (no extra add or delete)
- attachments via the links class now also use a stream wrapper interface (links_stream_wrapper) and WebDAV as download handler (which requires no longer filemanager run rights)
2008-04-14 05:52:24 +00:00
Ralf Becker
4df4fd9f06 first work on UI for a new filemanager and some vfs bugfixes and improvments 2008-03-02 21:44:15 +00:00
Ralf Becker
ea5cda5310 fixed typo preventing non-root access 2008-02-29 07:23:14 +00:00
Ralf Becker
8afe9094b7 More improvments of the sqlfs code and the command line interface:
- 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
2008-02-26 08:51:42 +00:00