Commit Graph

85 Commits

Author SHA1 Message Date
Ralf Becker
70b603ac77 moving VFS API classes into a namespaced PSR4 autoloadable structure:
- PSR4 autoloader exists beside our old autloader to support old as well as new structure until everything is ported over
- moved ported API stuff from phpgwapi to new api directory (idea is phpgwapi become a compatibility layer for old code, while we only port selected stuff to new api directory)
- namespaces use prefix "EGroupware", then (first letter capitalised) app-name or "Api", sub-system names like "Vfs" or for apps "Ui", "Bo, "So" and at least class name starting with a capital letter and without understores eg. "StreamWrapper" plus just ".php"
- examples:
  + egw_vfs in phpgwapi/inc/class.egw_vfs.inc.php --> EGroupware\Api\Vfs in api/src/Vfs.php
  + sqlfs_stream_wrapper in phpgwapi/inc/class.sqlfs_stream_wrapper.inc.php --> EGroupware\Api\Vfs\Sqlfs\StreamWrapper in api/src/Vfs/Sqlfs/StreamWrapper.php
  + sqlfs_utils in phpgwapi/inc/class.sqlfs_utils.inc.php --> EGroupware\Api\Vfs\Sqlfs\Utils in api/src/Vfs/Sqlfs/Utils.php
- api directory is no a new svn module but exists (like home) as sub-directory under base egroupware module
2015-01-26 09:15:07 +00:00
Ralf Becker
50d87c2963 fixed not working seek in stream-wrapper, caused by sw interface uses true/false while fseek uses 0/-1 2015-01-10 13:04:51 +00:00
Ralf Becker
079e7d81eb statcache need to be updated on chmod, chown or chgrp 2014-12-12 13:45:43 +00:00
Ralf Becker
12bd2736fe fix not working fopen mode "x" 2014-12-05 11:21:45 +00:00
Ralf Becker
66611329e9 fix return value of close and several IDE warning 2014-10-21 17:58:10 +00:00
Ralf Becker
0a00a710f7 * Filemanager: fix since PHP 5.5.18 not longer working non-ascii chars in filenames, eg. German umlauts or accents 2014-10-18 12:01:10 +00:00
Ralf Becker
e16b6b361d using PHP 5.3 late static binding and closures 2014-06-16 08:41:46 +00:00
Ralf Becker
a5eb58638d fixed IDE warnings 2014-06-13 07:04:51 +00:00
Ralf Becker
48fd2113f3 some long running operations, eg. merge-print, run into situation that DB closes our separate sqlfs connection, we try now to reconnect once 2013-08-05 14:59:31 +00:00
Ralf Becker
ea411d53c8 * Filemanager: removing extended ACL for groups was not immediatly reflected in rights of current user, had to log out and in again 2013-02-20 13:59:31 +00:00
Ralf Becker
2674b43532 create valid SQL, even if account has for whaterver reason no group-memberships 2012-06-28 16:39:36 +00:00
Ralf Becker
ab086e10a2 * Filemanager/API: automatically decrement and store subquery depth limit, to work around different limits in different MySQL versions and configurations causing SQL error 2012-06-26 12:07:37 +00:00
Ralf Becker
2553ad1bcc some fixes for sqlfs fsck: caseinsensitive GROUP BY for MySQL, deleting files direct in DB, as self::unlink() fails if fs_active=0, and some more 2012-02-27 14:33:42 +00:00
Ralf Becker
fd19c672c8 * Filemanager/Admin: ability to check virtual filesystem (Admin >> Check virtual filesystem) and some code to prefent double creation of directories 2012-02-27 13:18:52 +00:00
Ralf Becker
b2b27ece2e fixed not sorted eacls 2011-06-25 04:53:35 +00:00
Ralf Becker
36156c61ee clearstatchache needs to set eacl_cache to null, so it gets read again, setting it to array() stops all eacl 2011-06-24 18:19:18 +00:00
Ralf Becker
7282d42f52 - added hooks to general vfs methods to allow apps to monitore file access, creating, modification, removal
- new $user parameter for egw_vfs::check_access($path, $check, $stat=null, $user=null) to check access to a file for a user, who is NOT the current user
2011-06-23 18:34:47 +00:00
Ralf Becker
34ada0535c fixing problem under windows: dirname("/something") === "\\", with which EGroupware VFS can NOT work, using now egw_vfs::dirname 2011-06-14 07:31:33 +00:00
Ralf Becker
095a36023e allow extending class to supply stat of parent 2011-06-08 12:54:43 +00:00
Ralf Becker
b56311dca0 patch #2932: allow PostgreSQL unix domain sockets 2011-04-10 12:28:17 +00:00
Ralf Becker
d1c2d06810 * copying (or reinstating earlier versions) of files now also copies the properties (MyStylite #975) 2010-12-13 02:37:46 +00:00
Klaus Leithoff
52a86d7477 fix for error during editing of extended ACL in filemanager; Report error if path to be checked does not exist; Make sure that array_merge uses a casted return of self::get_eacl in case the internal call will return false 2010-12-08 14:04:39 +00:00
Ralf Becker
2d35aa7af8 delete db entry again, if we are not able to open a new(!) file in filesystem 2010-06-14 20:10:24 +00:00
Ralf Becker
aedaf485b3 fixed bug egw.stylite.de#8079: new symlinks in /apps not visible on same request 2010-05-22 08:41:26 +00:00
Ralf Becker
df58928ac6 fail if trying to unlink a directory 2010-05-19 17:33:19 +00:00
Ralf Becker
b9dcde1e25 "do not allow to fopen a directory" 2010-04-27 10:38:16 +00:00
Ralf Becker
2978d9ddd2 ability to migrate DB based sqlfs to a filesystem based one using filemanager/cli.php (see usage) 2010-03-17 09:11:28 +00:00
Klaus Leithoff
7e34a7c999 pdo statement->execute expects either the prepared statement with already bound parameters OR an array of the vars to be bound. It can NOT handle them MIXED 2010-03-04 12:05:42 +00:00
Ralf Becker
c70ff2e069 fixed a strange PHP5.3 problem, it seems call_user_func_array fails returning NULL for a static method with a var parameter 2010-02-15 06:02:36 +00:00
Ralf Becker
dbeb104ed5 changed rename to also rename in-active versions and made mkdir_recursive private, as it is only a helper and no exported method 2010-02-15 04:35:32 +00:00
Ralf Becker
c99c79cd32 a few changes required to use sqlfs as base of a versioning stream wrapper (EPL only) 2010-02-07 06:19:56 +00:00
Ralf Becker
9c4b9aebbf fixed not deleted files in filesystem 2010-01-21 22:56:57 +00:00
Ralf Becker
b59a688fbb - fixed not working rename in entry directories in /apps (eg. rename of
an infolog attachment), was caused by use of url_stat from sqlfs
  instead of links stream wrapper
- fixed wrong mime type / icon in files stored via netdrive from msword
  (the first use the extension .tmp, before renaming file to .doc:
  sqlfs "detects" mime type only from the extension and did not recheck
  it if a file gets renamed, that's now fixed)
2009-12-01 14:51:13 +00:00
Ralf Becker
8fb60be7d7 checking if attachment or attachment dir exists, before trying to delete it, to quieten warning, also improved warning to be precise if file does not exist, is no directory, or permission missing 2009-07-18 09:12:52 +00:00
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