Commit graph

287 commits

Author SHA1 Message Date
Thomas Müller
301afac291 Merge pull request #1427 from TheSFReader/master
The mimetype/mimepart need to be readable, even from searchByMime
2013-02-04 06:44:40 -08:00
Thomas Müller
814369e0cd Merge pull request #1436 from owncloud/cache_check_path
Cache: check for invalid paths in getFileInfo/getDirectoryContent
2013-02-04 05:51:34 -08:00
Robin Appelman
7c33d0a5a7 Cache: fix copy-paste errors 2013-02-04 13:28:31 +01:00
Thomas Müller
f7258cc5e8 Merge pull request #1423 from owncloud/getowner
Add getOwner to Filesystem and View classes
2013-02-04 03:08:13 -08:00
Robin Appelman
80dd8d7802 Cache: check for invalid paths in getFileInfo/getDirectoryContent 2013-02-03 23:34:27 +01:00
Lukas Reschke
3def7f8187 Make fileblacklist configurable 2013-02-03 23:03:06 +01:00
TheSFReader
d03155a8d5 translate the mimtype/mimepart to readable in the searchByMime function 2013-02-03 11:06:26 +01:00
Michael Gapczynski
6093d961a0 Add getOwner to Filesystem and View classes 2013-02-02 18:50:40 -05:00
TheSFReader
42d59d5a16 Remove a warning by making sure the renamed file is a dir before trying and opening it 2013-02-02 23:18:29 +01:00
Robin Appelman
af3b0e30ed Cache: don't insert duplicated during upgrade 2013-01-30 19:19:19 +01:00
Robin Appelman
232cc3211b add oc:// streamwrapper to provide access to ownCloud's virtual filesystem 2013-01-28 15:35:30 +01:00
Robin Appelman
c9c919da57 Move streamwrappers to seperate files and put them in a namespace 2013-01-28 15:34:15 +01:00
Robin Appelman
3e59a87153 Filesystem: use the updated Mount::findById in getPath to ensure we get the correct path if the storage is also mounted outside the view 2013-01-28 01:02:04 +01:00
Robin Appelman
577e3b11d7 Filesystem: return all matching mounts in Mount::findById 2013-01-28 00:59:43 +01:00
Robin Appelman
4cae141673 Filesystem: also add getPath to \OC\Filesystem 2013-01-27 00:18:15 +01:00
Robin Appelman
17bcea1585 Filesystem: add View->getPath to the cache api 2013-01-27 00:13:50 +01:00
Robin Appelman
9e2a066c7b Cache: add function to get storage id and internal path of a file by id 2013-01-27 00:13:50 +01:00
Robin Appelman
69f11151e9 Filesystem: add Mount::findById 2013-01-27 00:13:49 +01:00
Michael Gapczynski
03b947e3ec Don't check for updates for sub storages, these scans should be done in the background 2013-01-26 16:11:35 -05:00
Robin Appelman
f25db779d9 Filesystem: move mount management to it's own class 2013-01-26 21:44:33 +01:00
Robin Appelman
f858381775 merge master into filesystem 2013-01-22 23:27:04 +01:00
Robin Appelman
9a1f65aab1 Some style fixes 2013-01-22 20:58:09 +01:00
Robin Appelman
7330fcf5e8 Cache: make mounts overwrite existing folders, prevents duplicate entries 2013-01-22 20:57:15 +01:00
Robin Appelman
42a1a17a30 Cache: return non numberic storage id 2013-01-21 22:01:22 +01:00
Michael Gapczynski
664f33a29c Update mtimes of all parent folders after change inside 2013-01-19 21:04:25 -05:00
Robin Appelman
6871a150bd Cache: use a database transition for scanning each folder
gives a massive speed improvement while scanning files
2013-01-16 21:58:17 +01:00
Robin Appelman
f9c42a196f Cache: no longer using this file 2013-01-16 21:36:04 +01:00
Robin Appelman
29ec007979 Cache: dont migrate permissions, cache them on demain instead 2013-01-16 19:11:33 +01:00
Robin Appelman
7debfac0dc Cache: more efficient upgrading 2013-01-15 19:11:12 +01:00
Robin Appelman
94068e5d08 Cache: show upgrade progress 2013-01-15 18:13:50 +01:00
Michael Gapczynski
6f049d0889 Merge branch 'filesystem' into filesystem-etags 2013-01-11 21:00:02 -05:00
Michael Gapczynski
8a63bcc1e8 Don't use more entropy for etags 2013-01-11 20:56:36 -05:00
Michael Gapczynski
4835525c46 Switch scan to scanFile for root of mount points 2013-01-10 22:28:50 -05:00
Michael Gapczynski
aa15fcf22f Scan mount points in root before adding a entry 2013-01-10 12:09:55 -05:00
Michael Gapczynski
5174eda232 Fix permissions for mount point 2013-01-07 15:21:38 -05:00
Michael Gapczynski
6801f82d09 Merge branch 'filesystem' into filesystem-etags
Conflicts:
	lib/files/cache/cache.php
2013-01-07 10:28:37 -05:00
Robin Appelman
d0377b1951 Cache: normalize mimetypes 2013-01-07 02:09:21 +01:00
Robin Appelman
439578288f Cache: split permission cache scanning and cache scanning 2013-01-07 01:03:11 +01:00
Robin Appelman
457dc270f5 Fix messed up mounts 2013-01-07 00:36:39 +01:00
Robin Appelman
e8d08d4930 merge master into filesystem 2013-01-07 00:16:10 +01:00
Michael Gapczynski
1137723b2a Remove unnecessary length parameter from last commit 2013-01-03 12:13:45 -05:00
Michael Gapczynski
38876fc98a Update old storage classes names to the new namespace during mounting 2013-01-03 12:07:04 -05:00
Michael Gapczynski
a068ddff64 Use the sub storage's permission cache for retrieving the correct permission 2013-01-02 14:40:06 -05:00
Robin Appelman
a164fd160f Cache: provide path hints to getCache/etc where available 2013-01-01 20:20:20 +01:00
Robin Appelman
04f83e3b53 Cache: optional path argument for getCache/Scanner/etc 2013-01-01 20:20:20 +01:00
Robin Appelman
b41189de44 Cache: allow storage backends to overwrite Watcher 2013-01-01 18:04:29 +01:00
Michael Gapczynski
d0a50fae83 Fix eTagUpdate and add tests 2012-12-31 18:16:44 -05:00
Michael Gapczynski
aea8b0ff5c Merge branch 'filesystem' into filesystem-etags
Conflicts:
	lib/files/cache/updater.php
2012-12-30 21:26:48 -05:00
Michael Gapczynski
96e08a1d96 Fix function name 2012-12-30 21:23:17 -05:00
Michael Gapczynski
3ee3323b87 Fix retrieving of cache and scanner in Updater class 2012-12-30 20:27:38 -05:00
Michael Gapczynski
77f12c526b Update etags in parent folders 2012-12-30 19:54:51 -05:00
Michael Gapczynski
83064aca51 Remove old etag code 2012-12-30 19:23:31 -05:00
Michael Gapczynski
2c23e143d3 Store etags in the file cache 2012-12-30 16:32:55 -05:00
Michael Gapczynski
8bdfb04056 Fix shared folders 2012-12-28 15:06:12 -05:00
Michael Gapczynski
b4515d874e Only folders have Create permission 2012-12-26 15:36:50 -05:00
Robin Appelman
b12abb2c94 use numeric ids for storages in the filecache 2012-12-15 23:35:07 +01:00
Michael Gapczynski
8951769cae Check sub storage isn't null or false 2012-12-15 17:16:26 -05:00
Robin Appelman
cf3665057c make sure folders that are not fully scanned are at least shallow scanned when we open them
the fact that they are in the cache does not mean they are scanned
2012-12-15 03:21:39 +01:00
Robin Appelman
4be039e6cb Filecache Watcher: use scan or scanFile based on the current item, not the cached item 2012-12-15 03:10:56 +01:00
Robin Appelman
bc52f12162 dont insert and entry in the filecache during upgrade if the id already exists in the filecache
most likely the result from an incompelte upgrade
2012-12-15 02:29:34 +01:00
Robin Appelman
438d3c21f6 actually connect the filesystem hooks to the cache updater 2012-12-11 01:24:53 +01:00
Robin Appelman
8635699db9 fix cache behaviour for non existing files 2012-12-11 01:06:21 +01:00
Robin Appelman
317cd4c70a catch error if old filecache table is not present during upgrade 2012-12-06 17:49:35 +01:00
Robin Appelman
01eb5d2790 fix some edge cases while scanning the root of a storage 2012-12-02 03:43:51 +01:00
Robin Appelman
702444b242 fail gracefully when no old filecache is present during upgrade 2012-12-01 00:59:49 +01:00
Robin Appelman
dbbb357f62 add upgrade path from old cache to preserve file id's 2012-11-30 01:41:30 +01:00
Robin Appelman
a609992a75 better check if we are passing a fileid to Cache::get 2012-11-25 16:30:57 +01:00
Robin Appelman
0cfef83ed9 sort output of getFolderContent by name 2012-11-25 16:08:35 +01:00
Michael Gapczynski
cc5d8e5609 Check if data variable in scanner isn't null before using it 2012-11-24 20:29:57 -05:00
Robin Appelman
709aacfa0f change behaviour of Filesystem::getMountPoint when a mountpoint is passed as path without trailing slash 2012-11-24 23:41:39 +01:00
Robin Appelman
d3e37fa157 remove fileatime from common storage backend 2012-11-24 22:55:26 +01:00
Michael Gapczynski
c47bf9bbce Add checks for storage object 2012-11-24 16:42:54 -05:00
Robin Appelman
ad706229f5 explicitly sort files when using getFolderContents 2012-11-23 00:17:18 +01:00
Robin Appelman
810563ae8a don't redefine inherited functions as abstract 2012-11-22 12:45:29 +01:00
Robin Appelman
8687e0d346 add Scanner->backgroundScan 2012-11-22 12:45:29 +01:00
Robin Appelman
186c9e77e8 add Cache->getIncomplete for use in background scanning 2012-11-22 12:45:29 +01:00
Robin Appelman
e6cf082fe0 emit a hooks during the filesystem scan 2012-11-22 12:45:29 +01:00
Thomas Mueller
208c6fd966 fixing namespace 2012-11-22 10:21:48 +01:00
Michael Gapczynski
b76d1afe19 Create public function initMountPoints() for initializing a specified user's mount points 2012-11-22 00:44:48 -05:00
Robin Appelman
40fae0acbf fix outdated permissions cache use in scanner 2012-11-18 14:10:28 +01:00
Robin Appelman
cbcd9ba84a allow storage backends to implement custom permission management 2012-11-15 00:57:30 +01:00
Robin Appelman
fedff3eafe add cache updater 2012-11-08 21:12:40 +01:00
Robin Appelman
5a173b901f fix Scanner->scan setting the filesize to 0 for files 2012-11-08 20:47:40 +01:00
Robin Appelman
15b8a3f987 move correctFolderSize from Scanner to Cache 2012-11-08 18:10:54 +01:00
Robin Appelman
3f644fe70c fix calculateFolderSize for non existing files 2012-11-08 18:07:30 +01:00
Robin Appelman
e7bed5ddab allow creating Cache objects with only the storage id instead of the whole storage object 2012-11-08 17:59:08 +01:00
Robin Appelman
706bb3ccd6 move ETag generation to storage backends 2012-11-08 17:48:26 +01:00
Robin Appelman
72c3868644 add resolvePath to filesystem view api 2012-11-08 17:42:26 +01:00
Robin Appelman
961ff01a93 merge master into filesystem 2012-11-07 17:18:56 +01:00
Robin Appelman
4b940955dd merge master into filesystem 2012-11-04 21:12:18 +01:00
Robin Appelman
8a6bb7965d add Cache::move 2012-11-02 22:25:33 +01:00
Robin Appelman
4a5a36577e merge master into filesystem 2012-11-02 21:42:29 +01:00
Robin Appelman
b07672821b check for changes when using the cache api 2012-10-28 11:43:45 +01:00
Robin Appelman
fba7be1194 add filesystem watcher to detect updates 2012-10-28 11:39:37 +01:00
Robin Appelman
79d0ac21cc delete child entries when a folder gets removed from cache 2012-10-27 18:08:00 +02:00
Robin Appelman
56e9ce44c3 add a way to recalucale the size of a folder in the cache 2012-10-27 18:08:00 +02:00
Robin Appelman
5bfff6c56e use absolute paths when resolving mount points 2012-10-27 12:17:35 +02:00
Robin Appelman
fcc92a9f43 add searchByMime to new cache api 2012-10-27 10:34:25 +02:00
Robin Appelman
695405dfeb add permissions data to the results of the cache api 2012-10-27 10:01:20 +02:00
Robin Appelman
7d6da68d53 prove some compatibility with the old cache api 2012-10-26 23:25:52 +02:00
Robin Appelman
6db81afab9 move some stuff to the new api 2012-10-26 23:05:02 +02:00
Robin Appelman
c22a723785 add file permissions cache 2012-10-26 19:07:29 +02:00
Robin Appelman
8bce661e4d add search to the filecache api 2012-10-26 13:23:49 +02:00
Robin Appelman
7ef0ffe8ad add View->putFileInfo to the filecache api 2012-10-26 12:43:23 +02:00
Robin Appelman
e63e246c48 fix problem with normalizePath when there was a double leading slash 2012-10-26 12:37:49 +02:00
Robin Appelman
39adadd3e3 move the cache api from OC_Files to filesystem(view) 2012-10-26 12:30:25 +02:00
Robin Appelman
7bc49d2a57 merge master into filesystem 2012-10-25 18:26:08 +02:00
Robin Appelman
56c7ee799c use strtotime on non-nummeric times in oc_filesystem::touch 2012-10-23 16:37:46 +02:00
Robin Appelman
7424f3aef6 merge master into filesystem 2012-10-23 16:16:46 +02:00
Robin Appelman
2522c25af7 use OC_Files::getFileInfo and OC_Files::getDirectoryContent as high level api for the filecache
most apps would want to use this api instead of using the cache directly
2012-10-21 02:12:58 +02:00
Robin Appelman
01594b8610 remove chroot from filesystem api 2012-10-21 00:54:34 +02:00
Robin Appelman
3ff0772a05 add getCache and getScanner to storage api in order to allow storage backends to overwride caching behaviour 2012-10-21 00:31:32 +02:00
Robin Appelman
1901ac8b17 drop depricated is_readable and is_writable 2012-10-21 00:13:16 +02:00
Robin Appelman
cfa036eaa9 drop filectime from the filesystem api's 2012-10-20 23:58:07 +02:00
Robin Appelman
11e9ce25e6 merge master into filesystem 2012-10-13 04:29:20 +02:00
Robin Appelman
5c6e9518ed drop Filesystem::getInternalPath and Filesystem::getStorage in favor of Filesystem::resolvePath 2012-10-10 17:46:29 +02:00
Robin Appelman
aaa1b73364 don't use depricated OC_Filesystem 2012-10-10 13:18:36 +02:00
Robin Appelman
07c5384189 fix namespaces in filesystem and filesystemview 2012-10-10 12:25:46 +02:00
Robin Appelman
9df60d27bd move some code around 2012-10-10 11:54:44 +02:00
Robin Appelman
13515effc9 add Cache::getStatus 2012-10-08 14:58:21 +02:00
Robin Appelman
b9b9fd9dba more tests and fixes for the filesystem scanner 2012-10-03 13:07:19 +02:00
Robin Appelman
85be00be65 add some more test cases for the scanner 2012-10-03 11:40:09 +02:00
Robin Appelman
e415e90c6d make filestorage scanner non-static and add a simple test case 2012-10-03 11:24:49 +02:00
Robin Appelman
96d7cd5997 correct namespace usage in common filestorage backend 2012-10-03 11:24:10 +02:00
Robin Appelman
636c75ce06 better parent path bahaviour for the filecache 2012-10-03 11:23:33 +02:00
Robin Appelman
92555eff71 add encrypted column to the new filecache 2012-10-02 23:34:45 +02:00
Robin Appelman
522d7df860 convert Cache to a non-static class that handles the cache for a single storage backend 2012-09-26 17:52:02 +02:00
Robin Appelman
dcf995fff3 add Cache::getFolderContent 2012-09-23 15:25:03 +02:00
Robin Appelman
6fafd5d4e9 this should be done elsewhere if needed 2012-09-23 01:46:52 +02:00
Robin Appelman
97b0eabc85 fix several problems in the new filecache in order to complete the tests 2012-09-22 15:43:48 +02:00
Robin Appelman
46896be0d4 fix namespace error in temporary storage backend 2012-09-22 15:03:17 +02:00
Robin Appelman
153cd802a9 add partial file data to the result of Cache::get 2012-09-22 14:40:04 +02:00
Robin Appelman
93292516d9 Merge branch 'master' into filesystem 2012-09-22 14:28:14 +02:00
Robin Appelman
954596c251 rework filecache to work directly on storage backends wip 2012-09-16 16:52:32 +02:00
Robin Appelman
c94fe38d39 add getPermissions to storage backends to get all permission flags in one go 2012-09-12 23:25:57 +02:00
Robin Appelman
e8d3a47685 add getId to storage backends 2012-09-12 22:50:10 +02:00
Robin Appelman
bd83422095 put filestorages in a namespace 2012-09-07 18:30:48 +02:00