Commit Graph

200 Commits

Author SHA1 Message Date
nathangray
f166fbdd46 * Api - Fix sharing from mounted shares failed with 404 2018-02-13 15:10:34 -07:00
Hadi Nategh
5e94600677 *Mail: Fix sharing of attached files as download links in compose dialog exposes all folders as readonly shares 2018-01-17 16:32:21 +01:00
Hadi Nategh
9b639b1fe0 Fix collabora can not open vfs symlinks from apps 2017-12-13 10:10:04 +01:00
Ralf Becker
2cec97a6c5 replace from PostgreSQL not understood && with standard AND 2017-12-07 17:28:00 +08:00
Ralf Becker
4a13fb4c21 * All apps/PostgreSQL: fix SQL error when deleting an entry without attachments 2017-12-07 17:16:46 +08:00
Ralf Becker
93353a55c0 * Filemanager/PostgreSQL: cant open file in Collabora because of SQL error
Syntax error: 7 ERROR: syntax error at or near "=“, PostgreSQL needs true/false not 1/0
2017-12-07 16:45:01 +08:00
Hadi Nategh
1f998f1612 Fix attempting to open a document link in infolog pops collabora link even the user has no permission to the collabora app 2017-11-16 16:31:22 +01:00
Ralf Becker
ff3ae9815d never invalidate session in sharing, as we cant regenerate it (and we dont need to) 2017-11-07 13:02:39 +01:00
nathangray
dda47ca863 Disable extended ACL for readonly shares 2017-11-03 10:28:27 -06:00
Ralf Becker
4ebf79d0e1 * Sharing/Collabora: allow to use Collabora on writable shares (EPL only) 2017-11-03 12:43:09 +01:00
nathangray
069d49afba Disable copy / paste for readonly shares 2017-11-02 09:43:08 -06:00
Ralf Becker
3689b3d645 * Filemanager/Sharing: deny rename, move, mkdir and rmdir on readonly share 2017-11-02 13:34:10 +01:00
Ralf Becker
0813403b5b * All apps: get sharing working with files attached to application entries 2017-10-31 10:51:59 +01:00
nathangray
616c11c1fb Fix wrong table name 2017-10-27 17:48:42 +02:00
nathangray
0d14155472 Fix minimum fs_id was not returning proper value 2017-10-27 17:43:40 +02:00
nathangray
90ce0cc7b6 Add a function to get the lowest fs_id for a path 2017-10-27 17:43:40 +02:00
Ralf Becker
c886d567f9 share token could still contain "+", which Vfs::encodePathComponent was not encoding
fixes some files not opening in Collabora
2017-08-30 18:16:15 +02:00
nathangray
ef6eb77991 Use static to get token so children can override it 2017-06-30 09:47:21 -06:00
Ralf Becker
69456307e4 fix at PHP 7.0 not working migrating vfs from db to filesystem (filemanager/cli.php migrate-db2fs)
migration loops forever, after migrating all files, as it does not detect no more files to migrate
2017-06-21 10:02:29 +02:00
Ralf Becker
4b379776b3 fix at PHP 7.0 not working migrating vfs from db to filesystem (filemanager/cli.php migrate-db2fs)
can not unset variable bind to column, as it looses its bind
2017-06-21 09:42:46 +02:00
Ralf Becker
f7a9c253a9 fix SQL error when migrating vfs from db to filesystem (filemanager/cli.php migrate-db2fs) 2017-06-21 09:04:44 +02:00
Hadi Nategh
a74d3db798 Try to create home directory if it's not exist. Fix file upload to compose dialog fails if user has no run access to filemanager and has no home folder set 2017-05-16 16:51:35 +02:00
Ralf Becker
da58ef5769 * Filemanager/PostgreSQL: shared files were not cleaned up after expiring of 100 days not accessed under PostgreSQL 2017-01-23 15:23:11 +01:00
Ralf Becker
ad059b81e7 add missing traversable-test mentioned by Scrutinizer 2016-10-20 10:17:20 +02:00
Ralf Becker
2fbafeaa27 add missing false-test mentioned by Scrutinizer 2016-10-20 09:50:57 +02:00
Ralf Becker
ae712ff8a1 * Filemanager: break infinit recursion stalling eg. login by introducing max. sub-directory depth of 100
Detects infinit recursion caused eg. by fs_dir pointing to a child-directory.
No idea how to efficently test for that, without scanning all parents of all filesystme nodes.
2016-10-19 15:52:02 +02:00
Ralf Becker
d4ce9fce91 enhance filesystem check to also check fs_id of required nodes /, /home, /apps 2016-08-31 19:03:48 +02:00
Ralf Becker
4cd0d35ff7 possible fix for deactivated / or /apps 2016-08-29 17:14:48 +02:00
Ralf Becker
026fd08125 Sqlfs::mkdir is no longer static, fixing some left over static calls 2016-08-29 13:42:57 +02:00
Ralf Becker
a6189bf9b9 Sqlfs::mkdir is no longer static, fixing some left over static calls 2016-08-29 12:56:35 +02:00
Ralf Becker
f1f8c4e98d * Filemanager/WebDAV: generally deny user to delete directories /, /home, /apps, /templates (last 2 incl. subdirectories) 2016-08-18 10:04:36 +02:00
Ralf Becker
afafc8ccba calling (static) EGroupware\Api\Vfs::chown instead of using old egw_vfs not available in minimal install in account::deleted hook when moving home directory to /home/$new_user/old-home-$old_user 2016-08-15 15:43:34 +02:00
Ralf Becker
ac45503630 Handle recursive directory creation in vfs layer, as not all underlaying
wrappers, eg. smb(client), support it themselfs
2016-08-12 08:49:06 +02:00
Ralf Becker
78893ad901 * Filemanager: fix PHP Fatal error when changing ownership or permissions 2016-08-11 22:39:35 +02:00
Ralf Becker
674db7912e try fixing error in installtion in Travis using Postgres during admin account creation 2016-08-06 12:41:20 +02:00
Ralf Becker
a72db03fdb * EPL/Filemanager: fix PHP Fatal using file-a-file dialog (upload with setting eg. a comment) 2016-08-03 15:26:30 +02:00
Ralf Becker
2a4535be58 fix PHP Fatal error: Class 'EGroupware\Api\Vfs\Config' not found 2016-08-02 10:19:13 +02:00
Ralf Becker
f6f3b89f8b * Filemanager/EPL: fix broken notification / subscription to folders
Do not check for (no longer existing) $GLOBALS[egw]->hooks but for no class setup_process, to not call them during install or update.
2016-07-28 15:10:39 +02:00
Ralf Becker
86823a7e8c make is-directory check more robust, by checking for PHP's directory-mode / Sqlfs::DIR_MODE too, not only for mime-type which is set eg. by stylite.links to "egs/$app" 2016-07-28 11:11:34 +02:00
Ralf Becker
015ed03bb6 fix cant attach files, if none have been attached to an entry before: Sqlfs\StreamWrapper::mkdir('/apps/calendar/123',0,1) already exist! 2016-07-28 09:40:23 +02:00
Ralf Becker
6496f33da6 fix PHP Fatal error: Access to undeclared static property: EGroupware\Api\Vfs\StreamWrapper::$is_root 2016-07-27 11:09:07 +02:00
Ralf Becker
4b58e87080 fix not working symlinking vfs files to infologs/links, fixed multiple PHP deprecated should not call non-static self::url_stat static 2016-07-22 18:22:46 +02:00
Ralf Becker
fefc2b5f88 fix PHP Fatal error: Call to undefined function EGroupware\Api\Vfs\Sqlfs() 2016-07-21 18:35:58 +02:00
Ralf Becker
6108123fe7 fix PHP Fatal in propatch 2016-07-21 17:43:28 +02:00
Ralf Becker
45c272dac2 make Vfs\StreamWrapper::symlinkCache_remove public, to allow calling from Vfs 2016-07-21 12:15:54 +02:00
Ralf Becker
52be4ee14b implement PHP 5.4+ stream_metadata method for VFS, allowing to use that functionality from other stream-wrappers like php-smbclient 2016-07-21 09:51:36 +02:00
Ralf Becker
f04dd8ace6 Vfs no longer extends Vfs\StreamWrapper, as this is the only way to keep static function signatures for Vfs class, also cleans up a bit 2016-07-19 13:29:43 +02:00
Ralf Becker
b65d87bc68 fixing our wrong static methods in stream-wrapper: unlink, rmdir, mkdir, rename and url_stat (they are not static, so PHP can pass in $context) 2016-07-19 11:59:16 +02:00
Ralf Becker
dbb46f7574 fix Scrutinizer "bugs" 2016-07-02 13:59:49 +02:00
Ralf Becker
b0803c76b6 fix Scrutinizer "bugs" 2016-07-02 12:11:52 +02:00
Ralf Becker
9aa98a46a5 fix some scrutinizer "bugs" 2016-06-26 19:44:53 +02:00
Ralf Becker
0a2b30f275 fix some scrutinizer "bugs" 2016-06-26 19:44:53 +02:00
Ralf Becker
ab02df94d4 extract PDO code from Sqlfs streamwrapper into class Api\Db\Pdo, to be able to use it for z-push SqlStateMaschine 2016-06-09 20:40:31 +02:00
Ralf Becker
e2190cee25 fix EGroupware\Api\Vfs\Sqlfs\StreamWrapper::mkdir('sqlfs://default/home/*****',56,8) already exist! 2016-06-06 13:59:45 +02:00
Ralf Becker
eb62aba637 fix PHP Fatal error: Class 'EGroupware\Api\Vfs\SharingUi' not found 2016-05-30 16:00:20 +02:00
Ralf Becker
1b8bc32f54 fix only show WebDAV autoindex, instead of filemanager GUI for sharing directories 2016-05-30 12:40:20 +02:00
Ralf Becker
e34fe9a4e7 using Acl::(ADD|READ|EDIT|DELETE|PRIVAT) constants instead old EGW_ACL_* defines and fix some namespace errors found by doc/check_namespace.php 2016-05-11 19:23:14 +00:00
Ralf Becker
e87cbc4832 use static Hooks methods 2016-05-11 18:58:10 +00:00
Ralf Becker
153c068271 fix diverse occurences of egw_db 2016-05-06 11:13:19 +00:00
Ralf Becker
bf0fbbb521 fix PHP Fatal caused by calling method of old hooks class 2016-05-06 09:34:29 +00:00
Ralf Becker
834cc466f5 to allow installing api or EGroupware without phpgwapi, old exceptions which we have to extend in order allow old apps to catch exceptions thrown from new api, have to reside in api/inc and get autoloaded 2016-05-02 16:57:50 +00:00
Ralf Becker
b86a5d469c use vcard_charset preference for generating vcards for addressbook 2016-04-29 08:52:28 +00:00
Ralf Becker
8c87cf9dfc move egw_framework to api and refactor it 2016-04-07 20:42:06 +00:00
Ralf Becker
9fd7b645ec move asyncservices class to api 2016-04-06 19:27:47 +00:00
Ralf Becker
41d00a0fd1 fix old exception 2016-04-05 18:39:55 +00:00
Ralf Becker
adb748d6e7 move hooks class to api and only cache hooks in instance cache (instead of database: filesystem scan takes ~4ms, cache ~0.2ms) 2016-04-02 14:16:20 +00:00
Ralf Becker
58834a0c73 fix An error happened (ErrorException): Argument 4 passed to EGroupware\Api\Vfs::copy_files() must be of the type array, none given 2016-03-29 11:01:34 +00:00
Ralf Becker
b202223f62 fix PHP Fatal error: Cannot make static method EGroupware\Api\Vfs\Sqlfs\StreamWrapper::get_eacl() non static in class EGroupware\Api\Vfs\Links\StreamWrapper 2016-03-29 07:01:36 +00:00
Ralf Becker
a417310b9d make all static methods static to avoid warning when they get called static 2016-03-27 09:41:58 +00:00
Ralf Becker
77c5102792 fixed more namespace issues found by doc/check_namespace.php I wrote and forgot about it ;-) 2016-03-21 21:21:40 +00:00
Ralf Becker
1b5429f0ff replacing common::egw_exit() with exit, there is no more extra cleanup 2016-03-20 16:30:01 +00:00
Ralf Becker
67cb60b972 moving egw_digest_auth, vfs_webdav_server and egw_sharing to new api 2016-03-20 16:19:53 +00:00
Ralf Becker
485416d5f1 replace create_function with performanter, because opcachable closure 2016-03-20 14:01:29 +00:00
Ralf Becker
0ba4283f9f move egw_link to Api\Link 2016-03-07 08:46:32 +00:00
Ralf Becker
7989d702dd move mime_magic class to Api\MimeMagic 2016-03-05 12:33:37 +00:00
Ralf Becker
7aa3296cc5 move config to Api\Config 2016-03-05 10:22:40 +00:00
Ralf Becker
1ab66dd811 move exceptions to new api structure, thought to catch an exception by its deprecated name, new exceptions have to extend deprecated ones 2016-02-28 13:43:06 +00:00
Ralf Becker
9bf4dd288e moved egw_cache to Api\Cache 2016-02-28 09:38:36 +00:00
Ralf Becker
651be2a4cf removing for some of our ADOdb patches 2016-02-20 18:16:21 +00:00
Ralf Becker
ddbf473642 fix wired error in scandir "(errno 115): Operation now in progress" caused by calling opendir with undefined context 2016-01-22 13:55:37 +00:00
Ralf Becker
b4a20773b8 fix whole directories where not cleaned up, when deleting old versions and deleted files, changed .versions dir to only contain older versions (no longer deleted files / stuff from .attic too) 2016-01-21 14:35:45 +00:00
Ralf Becker
29c73a8694 * Filemanager: add ability to finally delete all old versions or deleted files from a versioned directory 2016-01-21 11:49:50 +00:00
Ralf Becker
c34ebcf9b2 fixed creating of symlink failed for not-writable entry-directory (attachments), because wrong url_stat was used, needs to be static::url_stat not self::, to use method of extending classes 2015-09-30 03:24:04 +00:00
Ralf Becker
ac04fcaa27 shorten filenames to precision of the column (200 characters9, to not give SQL error under PostgreSQL 2015-08-22 12:46:42 +00:00
Ralf Becker
02de20bddb * Filemanager/WebDAV: rename of a file or directory removed other files with names only differing in case eg. "test" and "Test" 2015-08-06 12:59:56 +00:00
Ralf Becker
92c9fbc7dc * Filemanager/Versioning: filesystem checks now fixes directories existing multiple times, causing them to appear empty 2015-07-29 09:08:31 +00:00
Ralf Becker
3943fca39d make sure we are connected, as we need ADOdb object to convert charset to MySQL (eg. utf-8 --> utf8) 2015-07-15 21:27:48 +00:00
Ralf Becker
b27dbc617c allow to specify multiple ;-separated hosts for database, by default first one is used, on connection failure other ones are tried too 2015-07-06 11:15:14 +00:00
Ralf Becker
c823f64c4b fix not working download url for share on a subdirectory of a mounted filesystem with given download url 2015-04-23 19:40:55 +00:00
Nathan Gray
f5863852e4 Make sure stat url is present before changing it. Fixes error loading mounted etemplates. 2015-03-24 19:42:32 +00:00
Nathan Gray
8a2b996021 Store url/dir query parameters in local var 2015-03-23 17:40:20 +00:00
Nathan Gray
e89d8e9e64 Make sure query doesn't get lost 2015-03-18 23:36:17 +00:00
Ralf Becker
157cfd84f8 fixed a couple more issues with session reusage when using sharing urls:
- to resolve sharing-path to url, we need to restore full mount-tab
- egw_vfs::clearstatcache() was not clearing resolve_url cache, causing previous share to be used
- need to set egw_info[user][vfs_user] after egw_session::create, as it overwrites it
2015-03-02 21:09:08 +00:00
Ralf Becker
9c569a8c1e * Sharing: fixed not accessible share, if user already logged into same EGroupware instance, also fixed WebDAV problems using a share URL 2015-02-28 22:08:23 +00:00
Ralf Becker
9686d8ff5b use error_log instead of echo to give constant feedback (echo uses output buffering) and set fs_content in all rows to NULL, as it is a lot quicker 2015-02-17 07:55:11 +00:00
Ralf Becker
7e8f2716e6 seems like bindValue need to be done for each execute 2015-02-16 15:51:44 +00:00
Ralf Becker
42413373b5 fix migrate_db2fs to only fetch 5 files per query, as we dont want to require enough memory to hold all file in memory 2015-02-16 15:15:54 +00:00
Ralf Becker
dd097695ac * Filemanager/Mail: fixed not created thumbnails for readable shares 2015-02-11 11:16:33 +00:00
Ralf Becker
fc70b2213e missing use / namespace aliases 2015-01-31 16:20:21 +00:00
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