Commit Graph

915 Commits

Author SHA1 Message Date
Bjoern Schiessle 70ca292fd9 only the mount point has delete and update permissions to enable rename operation 2014-06-24 13:55:04 +02:00
Bjoern Schiessle 84d36df70b make sure that we always return the correct permissions 2014-06-24 13:39:37 +02:00
Jörn Friedrich Dreyer 28c1a95575 use common storage test 2014-06-23 16:29:01 +02:00
Jörn Friedrich Dreyer 7ec53571c4 use 'object' as the fakedir stream name 2014-06-23 11:07:01 +02:00
Jörn Friedrich Dreyer c112a1d323 move to stream based IObjectStore interface, rearrange & reformat code 2014-06-20 12:27:47 +02:00
Jörn Friedrich Dreyer f2fe00e972 fix rebase, use 'object::user:<username>' or 'object::store:<storageid> as storage id, by default use container/bucket name for storageid, make storageid configurable, store user only for HomeObjectStoreStorage, change updateObject() to writeObject() 2014-06-18 15:20:26 +02:00
Jörn Friedrich Dreyer 5cae863408 change architecture from inheritance to composition 2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer 9335a5f07f remove duplicate method 2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer 5722e31d1a add autocreate config option for containers, implement autocreate and delete of containers, use generated container names for tests 2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer 4e65889f54 only use one config option 'objectstore' for root and home storage configuration 2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer 7493ff0624 fix unit test by always initializing the root of the storage in the constructor 2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer 10de4a7b90 move creation of / and users 'files' from storage constructor to setupFS / mount initialization 2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer 87aaf39259 fix checking unset array values, deduplicate code, remove file from cache if it could not be stored in the objectstore 2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer eca536d8b4 minor code cleanup 2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer c020e8e658 use exceptions to notify abstract parent class of problems 2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer 60a8419a1f when root storage cannot be mounted throw an exception visible to the end user 2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer 1374ba9adf fix fallback config for default home storage 2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer ccb698a6a8 move swift and abstract code to core 2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer 3c66a8c8ed allow configuring objectstore as home and root storage 2014-06-18 12:53:19 +02:00
Robin Appelman b188550c22 Also support removeable mounts with rmdir 2014-06-16 16:24:42 +02:00
Robin Appelman 0532f5c39a Fix permission for movable storage root 2014-06-16 16:20:40 +02:00
Robin Appelman 87e311b996 Fix storage being passed to cache/watcher and scanner when using storage wrappers 2014-06-14 10:14:08 +02:00
Robin Appelman 65f3b2fad2 Add server<->server sharing backend 2014-06-14 10:10:37 +02:00
Vincent Petry b595c982d0 Merge pull request #8968 from owncloud/scanner-parent-repair
Repair broken parent link in the scanner
2014-06-12 17:40:44 +02:00
Vincent Petry 75a53b3c49 Merge pull request #8901 from owncloud/permissions-update-cache
Save the permissions in the filecache if it's not saved yet
2014-06-11 18:28:55 +02:00
Robin Appelman 6b1d8a56bb remove unused argument 2014-06-10 15:42:37 +02:00
Robin Appelman 054083b9cd add some comments 2014-06-10 15:37:43 +02:00
Robin Appelman 21cfd1014a Repair broken parent link in the scanner 2014-06-10 15:26:18 +02:00
Bjoern Schiessle 9dc0befcca call self::getNumericStorageId() to get the numeric ID 2014-06-10 14:48:19 +02:00
Robin Appelman 41d2354191 Save the permissions in the filecache if it's not saved yet 2014-06-09 12:34:35 +02:00
Thomas Müller c053f27381 Merge pull request #8921 from owncloud/fix-remove-storage-master
No need to create a storage within remove
2014-06-06 16:16:44 +02:00
icewind1991 c47d4ebbac Merge pull request #8666 from owncloud/mount-remove
Support for (re)moving mountpoints
2014-06-06 11:57:43 +02:00
Thomas Müller 26993f2167 No need to create a storage within remove 2014-06-06 11:39:35 +02:00
Thomas Müller ff651a3e0d Merge pull request #8909 from owncloud/fix-temporary-storage-rmdirr-master
use system function to recursive remove the directory used by temporary ...
2014-06-06 10:02:23 +02:00
Robin Appelman e362373a30 Movable storage root can always be moved and deleted 2014-06-06 09:56:01 +02:00
Robin Appelman a432459685 use triple equals 2014-06-06 09:56:01 +02:00
Robin Appelman 42a362f249 Fix phpdoc and comments 2014-06-06 09:56:01 +02:00
Bjoern Schiessle 329bfd81c3 remove encryption keys if user unshares a file 2014-06-06 09:55:59 +02:00
Robin Appelman dea5219244 Fix folder name for storage root 2014-06-06 09:55:59 +02:00
Robin Appelman 4fbc991ea2 Add the removing logic for mounts 2014-06-06 09:55:59 +02:00
Robin Appelman 8abe1c3f1a Don't do rename hooks for cache when moving the mountpoint 2014-06-06 09:55:58 +02:00
Robin Appelman 60a659c87e Add a system for (re)movable mount points 2014-06-06 09:55:58 +02:00
Thomas Müller d359765bdc Update PHPDoc 2014-06-06 09:44:34 +02:00
Thomas Müller ad4ec414c9 use system function to recursive remove the directory used by temporary storage 2014-06-06 09:29:31 +02:00
Robin Appelman 00539cf8f9 Verify that we have a valid storage in View->getPath 2014-06-05 15:50:19 +02:00
Thomas Müller e1beb8c6c3 Merge pull request #8889 from owncloud/mtime-reuse
Don't update the mtime if the storage mtime hasn't changed
2014-06-05 13:18:18 +02:00
Vincent Petry bbdcbb9911 Merge pull request #8866 from owncloud/flock-quotafix
Fixed quota wrapper to return the value from flock()
2014-06-05 13:11:45 +02:00
icewind1991 bd373d9621 Merge pull request #7878 from owncloud/quota-extstorageswitch
Added switch to count external storage data in quota
2014-06-05 11:23:32 +02:00
Jörn Friedrich Dreyer f1bf06f8cf Merge pull request #8884 from owncloud/move-flock-to-app
remove file locking - code will continue to live in it's own app
2014-06-05 10:54:24 +02:00
Robin Appelman 3e73251750 Don't update the mtime if the storage mtime hasn't changed 2014-06-05 10:08:25 +02:00
Thomas Müller ff3ded6cb2 Merge pull request #8852 from owncloud/kill-permissions-master
Kill permissions table
2014-06-05 10:05:05 +02:00
Thomas Müller da3974bcb2 - drop permissions table and related code
- the file/folder's permission is now stored in the file cache
- BackGroundWatcher has been removed - this has meanwhile be replaced by occ files:scan which can be executed in a cron jobs
- increase version to trigger database migration
2014-06-05 08:22:01 +02:00
Thomas Müller ec7225da66 remove file locking - code will continue to live in it's own app 2014-06-04 20:11:54 +02:00
Thomas Müller a2db53b928 Merge pull request #8471 from owncloud/versioning_no_longer_track_the_size
[versioning] let the file cache track the size of the versions
2014-06-04 18:19:48 +02:00
Vincent Petry da889ff029 Added experimental switch to count external storage data in quota
This includes all mountpoints except the Shared one in
the used space calculation.

Added unit tests for ext storage inclusion in quota calculation
2014-06-04 16:08:59 +02:00
Vincent Petry b5f0a17918 Merge pull request #8822 from owncloud/cache-change-propagator
[WIP] Improved propagation of cache changes
2014-06-04 13:03:14 +02:00
Vincent Petry 3507964820 Fixed quota wrapper to return the value from flock() 2014-06-04 12:36:53 +02:00
Bjoern Schiessle 48eb0515e9 only lock if unlink is called for a file 2014-06-04 07:55:46 +02:00
Bjoern Schiessle ab6680e9ab name the storage wrapper to make sure that we don't apply the wrapper multiple times 2014-06-04 07:55:46 +02:00
ringmaster ba887d2b17 Restore the reference to this used exception class. 2014-06-04 07:55:45 +02:00
ringmaster 54865815f5 Move Lock to private namespace, add interface. Update PHPDoc. 2014-06-04 07:55:45 +02:00
ringmaster 392a1b6662 Removed unused vars/declarations, update PHPDoc. 2014-06-04 07:55:45 +02:00
ringmaster 896bc526e6 Remove unused methods. 2014-06-04 07:55:44 +02:00
ringmaster f9dbdb7c5c Add actual locking and log changes necessary for debugging. 2014-06-04 07:55:44 +02:00
ringmaster dc1e3620d2 Continued flock work. 2014-06-04 07:55:44 +02:00
ringmaster 5365ae416e flock changes. Work in progress. 2014-06-04 07:55:44 +02:00
Robin Appelman a6bb1e1bf8 Fix size calculation during recursive scan 2014-06-03 19:54:59 +02:00
Robin Appelman 6689d67a5b Fix recursive scanning 2014-06-02 21:04:36 +02:00
Bjoern Schiessle e0a5f3b570 get permissions directly from share storage to avoid additional db calls 2014-06-02 20:17:40 +02:00
Bjoern Schiessle 7ad0fee0b5 let file cache handle the versions size 2014-06-02 18:55:13 +02:00
Robin Appelman e002ff6065 propagate changes in the scanner 2014-06-02 15:24:08 +02:00
Robin Appelman 0158788a2a Split of cache writes in the scanner to their own methods 2014-06-02 14:52:21 +02:00
Robin Appelman a31f089266 Add a change propagator class to handle propagating etag and mtime changes 2014-06-02 14:39:12 +02:00
Owen Winkler da6aae28ad Merge pull request #8607 from owncloud/filescan_app_hook
Allow apps to control via a hook skipping add/remove a file during filescan
2014-05-30 12:38:37 -04:00
ringmaster 19f0c47842 Missed one. 2014-05-30 10:40:26 -04:00
Thomas Müller 31ad1cbdd8 Merge pull request #5365 from owncloud/filesize-improvements-32bit
Add LargeFileHelper / Add CURL filesize workaround / Fix some 32-bit filesize issues
2014-05-30 16:13:48 +02:00
ringmaster 16ae63bdfd Updates per comments on PR:
* Use "filesystem_cache_readonly" config setting, update comment in config.sample
* Use $this->cacheActive to cache config setting
* Add public Scanner::setCacheActive() to set $cacheActive programmatically
2014-05-30 09:42:41 -04:00
Andreas Fischer 0417e52134 Increase file size limit from 2 GiB to 4 GiB when workarounds are unavailable. 2014-05-29 16:26:02 +02:00
Andreas Fischer 0bae68017e Cast to number instead of integer in OC\Files\Cache\HomeCache 2014-05-29 16:26:02 +02:00
Andreas Fischer a34aa1959a Cast to number instead of integer in OC\Files\Cache\Cache 2014-05-29 16:26:01 +02:00
Andreas Fischer fb7ec2bb22 Only call $this->filesize() for files. 2014-05-29 16:26:01 +02:00
Andreas Fischer c8fa1fd687 Refactor Large File handling code. 2014-05-29 16:26:01 +02:00
Andreas Fischer 3f8f8027d2 Cast to numeric instead of float, i.e. use an integer if possible. 2014-05-29 16:17:13 +02:00
Andreas Fischer 6195f13bda Use CURL to get filesize on 32bit systems. 2014-05-29 16:17:13 +02:00
Robin Appelman 998fa2d9be Pass any methods custom to specific storage implementations to the wrapped storage 2014-05-29 16:13:05 +02:00
Robin Appelman 0ae7a49c8e Fix storage wrapper being called with null 2014-05-29 14:15:48 +02:00
Robin Appelman 8c5521fdfc Add $storage->instanceOfStorage to handle instanceof for storage wrappers 2014-05-29 13:45:50 +02:00
icewind1991 c0f02be50a Merge pull request #3908 from owncloud/storage-folder-copy-rename
Recursive copy and remove for local storage backends
2014-05-29 13:29:24 +02:00
Thomas Müller 3ef9570d02 Merge pull request #8547 from owncloud/path-length-master
Handling long paths properly in \OC\Files\View
2014-05-29 00:08:29 +02:00
ringmaster f79948f519 Prevent apps from affecting the scanner via hook. 2014-05-28 13:20:20 -04:00
Robin Appelman 467e9c2bb0 Remove code duplication 2014-05-28 18:16:24 +02:00
Robin Appelman af35b6ad9d Fix LocalStorage->unlink to work on folder as expected 2014-05-28 18:16:24 +02:00
Robin Appelman 8187164fe1 re-use rescursive copy from common storage 2014-05-28 18:16:24 +02:00
Robin Appelman 488fc402e4 remove unneeded check 2014-05-28 18:16:23 +02:00
Robin Appelman d15ed9b4d3 use \OC\Files\Filesystem::isIgnoredDir 2014-05-28 18:16:23 +02:00
Robin Appelman ea44f0e20f fix recursive copy and rename for common storage backend 2014-05-28 18:16:23 +02:00
Robin Appelman c3c9612c99 fix recursive copy and rename for mapped local storage backend 2014-05-28 18:16:23 +02:00
Robin Appelman 03ba497a8c add recursive copy to local storage backend 2014-05-28 18:16:23 +02:00
Robin Appelman 38c1da0976 fix recursive rename for local storage backend 2014-05-28 18:16:23 +02:00
Robin Appelman e83b41493f remove unneeded delTree 2014-05-28 18:16:23 +02:00
Thomas Müller a2e4bc8d33 # This is a combination of 2 commits.
# The first commit's message is:

adding tests for long paths
increment path field in database up to 4000 (maximum for Oracle - otherwise we could use php's 4096)
increment version to trigger database migration
adding unit test for too long path

# This is the 2nd commit message:

fix too long path
2014-05-28 15:30:44 +02:00
ringmaster 3d1ba574e4 Change visibility of scanner internals
so that descendant classes can access them.
2014-05-28 07:59:38 -04:00
ringmaster 26d169b27c Use 'filesystem_check_enable' as a config option. 2014-05-27 16:01:16 -04:00
ringmaster 3b287f8274 Allow the default behavior to come from the config. 2014-05-27 15:21:35 -04:00
ringmaster fdf26c5a3f Rename variable to something more appropriate. 2014-05-27 15:12:56 -04:00
ringmaster 645e7035a4 Allow apps to control via a hook to skip adding/removing a file during filescan 2014-05-27 15:12:54 -04:00
Frank Karlitschek 48d0cebc42 Merge pull request #8674 from owncloud/watch-policy
Add a config option for setting the filesystem watcher policy
2014-05-26 10:48:44 +02:00
Robin Appelman 151c48494e Add a config option fro setting the filesystem watcher policy 2014-05-23 12:20:31 +02:00
Robin Appelman ff1f341d97 Fix phpdoc 2014-05-22 13:30:32 +02:00
Bjoern Schiessle 12338e0ef0 allow admin to disable sharing for specific groups of users 2014-05-22 10:43:44 +02:00
Bjoern Schiessle 5f403f3e92 move the mount point up if a share is mounted to a subfolder and the subfolder no longer exists 2014-05-21 13:19:17 +02:00
Morris Jobke dc36d30953 Remove all occurences of @brief and @returns from PHPDoc
* test case added to avoid adding them later
2014-05-19 17:50:53 +02:00
Thomas Müller 95741f3936 Merge pull request #8435 from owncloud/fix-8322-master
Expose permission via WebDAV
2014-05-19 16:52:03 +02:00
Robin McCorkell 4755392c65 More PHPDoc for file functions 2014-05-13 19:09:14 +01:00
Robin McCorkell bac8962bbc Fix Scrutinizer errors 2014-05-13 19:08:14 +01:00
Robin McCorkell 87b548ed91 Fix all PHPDoc types and variable names, in /lib 2014-05-13 19:08:14 +01:00
Robin McCorkell a7ae2e874a Squash 'a | b' into 'a|b', in /lib 2014-05-13 19:08:14 +01:00
Robin McCorkell b5bc37d2e4 Fix @return array PHPDocs, in /lib 2014-05-13 19:08:14 +01:00
Vincent Petry bab8c1f8e5 Fixed getAbsolutePath case when path is "0"
Make sure to correctly check for string emptiness when the passed path
is "0".
2014-05-13 17:38:46 +02:00
Thomas Müller e0dd69e4e6 remove legacy aka deprecated code: OC_FilesystemView 2014-05-12 16:30:39 +02:00
Vincent Petry 05dc694c5c Fix getPathById for Oracle
Added extra code to handle the case of Oracle which saves empty strings
as null values.
2014-05-08 13:33:55 +02:00
Vincent Petry 9e18be6422 Merge pull request #8377 from youngguns-nl/issue_8376
RecursiveDirectoryIterator does not work on NFS
2014-05-02 18:45:09 +02:00
Thomas Müller c92c577b5e - Introduce isShared() and isMounted() on FileInfo class
- Reuse these methods on determineIcon()
- Generate permission string for the desktop client
- expose {http://owncloud.org/ns}permissions as additional WebDAV property containing the permission string
2014-05-02 17:37:16 +02:00
Joas Schilling c060f6ec7b Deduplicate code 2014-04-29 10:34:28 +02:00
Joas Schilling c1caaa6241 Correctly emit create/update hooks when a large file is being created/update
after being uploaded in .part files

Fix #8131
2014-04-29 10:34:27 +02:00
Joas Schilling 4fa9e46d2b Emit a new hook, when a file is being updated only
The write-hook also is triggered for created files

Fix #8131
2014-04-29 10:34:26 +02:00
Sjors van der Pluijm e8a287f5bb refs #8376; spaces=>tabs 2014-04-28 19:52:06 +02:00
Sjors van der Pluijm 54f482ff9c refs #8376; added comment and applied patch on other files 2014-04-28 19:32:25 +02:00
Sjors van der Pluijm d7ec1fe447 rewind iterator before iteration starts 2014-04-28 13:05:20 +02:00
Sjors van der Pluijm d8be9d96ed fixes #8376 2014-04-28 10:20:24 +02:00
icewind1991 7599fa94ce Merge pull request #8350 from owncloud/share-search-mime
fix search by mime for shared single files
2014-04-25 15:54:36 +02:00
icewind1991 5194f014c9 Merge pull request #7504 from owncloud/webdav-injection
Proper injection of filesystem view into the webdav connector
2014-04-25 14:42:43 +02:00
Robin Appelman 194ea66cb5 Merge branch 'master' into share-search-mime 2014-04-25 14:04:41 +02:00
Robin Appelman 672a8248ce Correct the path returned by getFolderContent for substorages 2014-04-25 13:56:45 +02:00
Robin Appelman 456ca0cf7d fix paths of searchByMime results on substorages 2014-04-25 12:31:44 +02:00
Robin Appelman 6c20a014ea merge master into webdav-injection 2014-04-25 11:47:06 +02:00
Björn Schießle f520305848 Merge pull request #8026 from owncloud/remove_shared_folder
remove the "Shared" folder
2014-04-24 18:45:45 +02:00
Bjoern Schiessle 93469ca468 make it possible to move files out of a shared mount point 2014-04-23 12:54:26 +02:00
Bjoern Schiessle 652d417a58 we don't allow to share a folder if it contains a share mount point 2014-04-23 12:54:26 +02:00
Bjoern Schiessle dfb69e9418 allow user to delete shared files/folders 2014-04-23 12:54:25 +02:00
Bjoern Schiessle a02fb3722b user should be able to rename/delete shared files if the owner allowed it 2014-04-23 12:54:24 +02:00
Bjoern Schiessle 72bbb9ca20 allow to remove and change mount points 2014-04-23 12:54:24 +02:00
Robin Appelman 3d0661a1e7 Fix error when viewing expired link 2014-04-23 12:54:18 +02:00
Robin Appelman b42ce6c30a Prevent error if previously cached data doesn't have an etag 2014-04-22 15:24:38 +02:00
Morris Jobke a2a0eb370b Merge pull request #8222 from owncloud/type-hinting
Type hinting fixes
2014-04-17 16:08:15 +02:00
Robin McCorkell 13b463cc17 Merge pull request #8189 from Xenopathic/misc_fixes
Various fixes
2014-04-17 11:56:51 +01:00
Bart Visscher a4b7f5155f Fix PHPdoc in lib/private
using scrutinizer patch
2014-04-15 22:55:20 +02:00
Thomas Müller 8bc7174bdc Merge pull request #8104 from owncloud/lukepolo-master
Added the ability to Drag and Drop folders [chrome]
2014-04-15 21:39:32 +02:00
Thomas Tanghus 51e47319ef White-list known secure mime types. Refs. #8184 2014-04-14 17:17:50 +02:00
Robin McCorkell eeee9eacea Prevent error from cache update on deleted files 2014-04-13 16:17:13 +01:00
Vincent Petry 8d05848391 Merge pull request #7825 from owncloud/hash-stream
Use streams when generating hashes of remote files
2014-04-10 10:42:04 +02:00
Thomas Müller 7dd0074655 fixing mkdir code to respect external file systems as well 2014-04-07 23:17:35 +02:00
Thomas Müller 3587c88fe9 Merge branch 'master' of https://github.com/lukepolo/core-1 into lukepolo-master
Conflicts:
	apps/files/js/file-upload.js
2014-04-07 22:28:16 +02:00
Robin Appelman b61ec7352b dont scan not existing files in View->getFileInfo 2014-04-04 15:10:07 +02:00
Vincent Petry 4cc70ec39d Merge pull request #7979 from owncloud/core-fixfilegetcontentsloop
Correctly read the full stream in file_get_contents
2014-04-02 10:55:50 +02:00
Robin Appelman 1c7a71ca77 use binary safe read 2014-04-02 04:38:54 +02:00
Robin Appelman 54a15a8001 Use streams when generating hashes of remote files 2014-04-02 04:38:54 +02:00
Vincent Petry d811026ec9 Merge pull request #7935 from owncloud/getpath-shared
Make getPath work for shared files
2014-04-01 21:59:09 +02:00
Vincent Petry 0067a4eac2 Added missing fclose in file_get_contents and file_put_contents 2014-04-01 10:08:16 +02:00
Vincent Petry d6ce45fe61 Correctly read the full stream in file_get_contents
When using user-defined stream wrappers, PHP will
return a maximum of 8192 bytes even if more was
requested.

This fix uses stream_get_contents to make sure the full stream is read
and not only the first 8 KB.

Added unit test with a bigger test file to cover this case.
2014-04-01 10:07:16 +02:00
Robin Appelman 0c2585f3ac Improve phpdoc 2014-03-31 14:29:55 +02:00
Robin Appelman f331d5f9d4 Give storages the option to implement the getById behaviour for View->getPath 2014-03-28 15:15:56 +01:00
Thomas Müller 70db348475 Merge pull request #7824 from owncloud/hash-parameter-order
Fix parameter order for Storage\Local::hash
2014-03-28 13:06:07 +01:00
Vincent Petry 040f430f0c Merge pull request #7829 from owncloud/cachefolderlocation
Cache folder is now configurable
2014-03-28 12:08:38 +01:00
Vincent Petry e76be308eb Remove unused setUserVars utility method
That method was moved to the external storage recently so
isn't needed here any more.
2014-03-26 09:39:09 +01:00
Thomas Müller ed97d872af Merge pull request #7325 from owncloud/recursive-mkdir-local
Recursive mkdir fixes #7047
2014-03-25 22:45:14 +01:00
Thomas Müller 1ae10b9da3 Merge pull request #7420 from owncloud/cachehooks-first
Manually triger the filecache update hooks before any other hook
2014-03-25 22:41:09 +01:00
Thomas Müller bbc2e37259 Merge pull request #7477 from owncloud/foldersize-reuse
Allow re-using already known fileinfo when calculating folder sizes
2014-03-25 22:33:24 +01:00
Vincent Petry 10c9b8eb99 Cache folder is now configurable
When using an external cache folder, it is automatically mounted in
FileSystem::initFileSystem so that any app can use it transparently
by creating a view on the "/$user/cache" directory.
2014-03-24 12:57:11 +01:00
Robin Appelman 7a8f1389fe fix temporary file based common hash 2014-03-21 13:23:14 +01:00
Lukas Reschke 2c561c9c50 Merge pull request #7794 from owncloud/extstorage-obfuscatepasswords
Obfuscate passwords in ext storage config
2014-03-20 16:31:12 +01:00
Robin Appelman fffe330bbc Fix parameter order for Storage\Local::hash 2014-03-20 15:32:12 +01:00
Vincent Petry 66bc0f0848 Still return quota value when free space is unknown
Fixed the quota storage wrapper to correctly return the quota value when
the free space is not known (which usually happens when the disk_free_space
function is disabled)
2014-03-19 19:07:11 +01:00
Vincent Petry 4cb53f77b2 Moved external storage mounting code to files_external app
Moved the mounting code for external storage from
OC\Filesystem::initMountPoint to files_external using the
post_initMountPoints hook
2014-03-19 12:45:38 +01:00
Thomas Müller 6b9ae27b90 drop file cache migration OC5 -> OC6 2014-03-18 17:14:38 +01:00
Robin Appelman eabeedb306 Merge branch 'master' into cachehooks-first 2014-03-13 15:22:00 +01:00
Robin Appelman d55c7223a9 Merge branch 'master' into foldersize-reuse
Conflicts:
lib/private/files/cache/homecache.php
2014-03-11 13:04:20 +01:00
Vincent Petry c1cb9ee9b0 Merge pull request #7650 from owncloud/quota-totalspace
Fixed total space display when data size exceeds quota
2014-03-11 12:40:59 +01:00
Vincent Petry 010eef95c0 Fixed total space display when data size exceeds quota
The total space display in the personal page now shows the quota value
instead of used space when used space exceeds the quota (soft quota).
2014-03-10 17:59:14 +01:00
Vincent Petry 4fdf7682c9 Merge pull request #7398 from owncloud/trash_dont_rely_on_db
[trash] fall back if file is not in db
2014-03-10 16:04:47 +01:00
Bjoern Schiessle 4562909a20 get trash size from file cache 2014-03-10 15:13:28 +01:00
Vincent Petry 26513bc17b Merge pull request #7624 from owncloud/enc-encryptedusedspacefix
[master] Fixed used space to be based on unencrypted size
2014-03-10 09:38:24 +01:00
Thomas Tanghus 212699e389 Merge pull request #7628 from owncloud/fileinfo-type
Fix FileInfo->getType errors
2014-03-09 23:34:01 +01:00
Robin Appelman 51165a1a04 Check if value exists before returning 2014-03-07 15:16:35 +01:00
Vincent Petry 48d63a6278 Return unencrypted_size of folder when queried
This fixes the "used space" to be based on the unencrypted size, not
encrypted size, to be consistent with how quota/space is handled when
encryption is enabled
2014-03-07 14:59:09 +01:00
Robin Appelman 65f52fee4f Fix FileInfo->getType errors 2014-03-07 14:52:44 +01:00
Vincent Petry 7f24d42ca5 Propagate unencrypted_size up to the file cache root 2014-03-07 11:00:22 +01:00
Robin Appelman 895fc0fa26 Fix check if fileinfo is valid 2014-03-06 14:23:27 +01:00
Robin Appelman a8c67dc675 Add caching for getLocalFile on remote storages 2014-03-04 15:44:58 +01:00
Robin Appelman 06c6163265 Check if fields we need are actually set to prevent errors 2014-03-03 16:48:28 +01:00
Robin Appelman c87658feda Fix updater when getFileInfo fails 2014-03-03 12:56:08 +01:00
Robin Appelman da386aad59 Allow re-using already known fileinfo when calculating folder sizes 2014-02-28 14:23:07 +01:00
Robin Appelman 3ff12ef4ec Also send explicit cache hooks when calling file_put_contents with a resource 2014-02-28 14:21:33 +01:00
Robin Appelman 7c92e2e3ad Update rawlist to work with new fileinfo object 2014-02-27 14:04:19 +01:00
Robin Appelman bc49c6be04 Manually triger the filecache update hooks before any other hook 2014-02-26 14:29:13 +01:00
icewind1991 59df3ffdf4 Merge pull request #7279 from owncloud/folderid-reuse
Reuse the folder id in View->getFolderContents
2014-02-26 12:18:34 +01:00
Vincent Petry 7f7d674c2a Merge pull request #7335 from owncloud/fix-7333
Fix code to search for mount.json in custom data folders
2014-02-25 15:27:47 +01:00
Vincent Petry 9b4af31bac Merge pull request #7371 from owncloud/core-storagemovedeleteall
Replace deleteAll call with unlink call on rename
2014-02-25 14:52:21 +01:00
Bjoern Schiessle ebd73aee8f don't overwrite keys if rename was done by a stream copy 2014-02-24 17:24:43 +01:00
Vincent Petry a23ef25010 Removed unused deleteAll method on Common storage class
The "deleteAll" method on the Common storage class isn't used anywhere.
Also, it isn't defined on the Storage interface so this fix removes it
completely.
2014-02-24 12:21:48 +01:00
Vincent Petry c465835e85 Replace deleteAll call with unlink call
The method deleteAll() doesn't officially exist on the Storage class as
it's not defined on the interface, which means it fails on the Quota
storage wrapper and might fail on some external storage classes.
Also, this here is the only use case for that one method.
2014-02-24 12:20:11 +01:00
Robin Appelman f86dffd56c Merge branch 'master' into recursive-mkdir-local 2014-02-21 15:43:54 +01:00
Robin Appelman 3487a95eab Remove fileid parameter for getFolderContent 2014-02-21 15:36:24 +01:00
Robin Appelman dd98e6333f Split getFolderContentById 2014-02-21 15:35:12 +01:00
Robin Appelman 3980a7d9c6 Merge branch 'master' into folderid-reuse 2014-02-21 15:33:12 +01:00
Lukas Reschke f11658698d Fix path to the mount file 2014-02-20 18:53:37 +01:00
Thomas Müller ec45a3c0e2 Merge pull request #6962 from owncloud/quota-space-root
Allow passing a root folder to get the used space from in the quota wrapper
2014-02-20 16:47:59 +01:00
Robin Appelman d1c392d9ad Also make "regular" local storage's mkdir recursive 2014-02-20 15:36:30 +01:00
Joshua Medeiros 76aa4714cf Recursive mkdir fixes #7047 2014-02-20 15:35:00 +01:00
Lukas Reschke c869e0116b Merge pull request #6999 from kofemann/mount-config
mount: make location of mount.json configurable
2014-02-20 15:15:00 +01:00
Luke Policinski b01492fecd Feature Added : Ability to drag and drop in Chrome 2014-02-19 21:28:32 +00:00
Luke Policinski 79a6d89bcc Feature Added : Ability to drag and drop in Chrome 2014-02-19 21:23:39 +00:00
Morris Jobke bcad6e641a Merge pull request #7274 from owncloud/scrutinizer-patch-1
Scrutinizer Auto-Fixes
2014-02-19 11:51:04 +01:00
icewind1991 2d5ab1a5c4 Merge pull request #7260 from owncloud/watcher-policy
Allow setting the frequency of which the file watcher checks for updates
2014-02-19 11:17:27 +01:00
Robin Appelman 1331de554c Reuse the folder id in View->getFolderContents 2014-02-19 10:46:02 +01:00
Vincent Petry e517e642be Merge pull request #7257 from owncloud/filelist-fileinfo
use a FileInfo object of the directory when generting the filelist
2014-02-19 09:40:11 +01:00
Scrutinizer Auto-Fixer adaee6a5a1 Scrutinizer Auto-Fixes
This patch was automatically generated as part of the following inspection:
https://scrutinizer-ci.com/g/owncloud/core/inspections/cdfecc4e-a37e-4233-8025-f0d7252a8720

Enabled analysis tools:
 - PHP Analyzer
 - JSHint
 - PHP Copy/Paste Detector
 - PHP PDepend
2014-02-19 09:31:54 +01:00
Robin Appelman 2166683e3b Allow setting the frequency of which the file watcher checks for updates 2014-02-18 16:34:25 +01:00
Robin Appelman d18b9f6ea4 use a FileInfo object of the directory when generting the filelist 2014-02-18 15:39:35 +01:00
Thomas Müller 9fac95c2ab Merge branch 'master' into scrutinizer_documentation_patches
Conflicts:
	lib/private/appconfig.php
2014-02-14 23:03:27 +01:00
Robin Appelman 09502fcb36 remove the JsonSerializable interface from \OC\Files\FileInfo 2014-02-14 19:26:06 +01:00
icewind1991 2a7509ee50 Merge pull request #6748 from owncloud/fileinfo
Add a FileInfo class which holds all info of a file ...
2014-02-14 15:16:39 +01:00
Vincent Petry c442a03d3a Merge pull request #7075 from owncloud/quota-storagexsendfile
Added isLocal() method to storage, used for xsendfile
2014-02-11 14:49:39 +01:00
Robin Appelman e6df86f4cb Merge branch 'master' into quota-space-root 2014-02-10 14:03:06 +01:00
Robin Appelman 5ffc43cba0 Merge branch 'master' into remove-user-storage-entry 2014-02-10 13:53:01 +01:00
Joas Schilling b330d07b51 Fix more documentation failes
Issue #7111
2014-02-08 11:47:55 +01:00
Vincent Petry 788c8540aa Added isLocal() method to storage, used for xsendfile
Added isLocal() method to Storage to find out whether the storage is
local or not.
This method is used for the x-sendfile logic to find out whether to add
the headers.
2014-02-06 20:53:15 +01:00
Jörn Friedrich Dreyer 2a6a9a8cef polish documentation based on scrutinizer patches 2014-02-06 17:02:21 +01:00
Jens-Christian Fischer 11f46e121c close statement in MimeType detection is executed [#7069]
close statement was never executed due to it being after a return
statement.
2014-02-04 17:03:52 +01:00
Robin Appelman 0ae4022fb4 Also clean up the filecache table when deleting a storage entry 2014-02-03 16:36:21 +01:00
Tigran Mkrtchyan 8cc9727520 mount: make location of mount.json configurable
do not share users data with config files

Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
2014-01-29 17:14:23 +01:00
Robin Appelman 4e2b52a376 merge master into fileinfo 2014-01-29 16:33:27 +01:00
Robin Appelman 20c2aaab00 Actually rename the variable 2014-01-27 16:26:54 +01:00
Robin Appelman c8207312c7 Fix phpdoc 2014-01-27 16:00:10 +01:00
Robin Appelman a521949baf Allow passing a root folder to get the used space from in the quota wrapper 2014-01-27 15:41:56 +01:00
Robin Appelman fc5f20112e Add isReadable, isUpdateable, isDeletable, isShareable 2014-01-24 15:54:40 +01:00
Robin Appelman 374e3475c9 Also remove the user's home storage from the storage table when deleting a user 2014-01-21 23:58:48 +01:00
Robin Appelman 3d6d8d1bb6 Reuse the data retrieved from the cache in checkUpdate 2014-01-20 15:21:21 +01:00
Vincent Petry 1af7dab535 Fixed quota wrapper to not wrap failed fopen streams
When calling fopen() on some storage types, these return false instead
of throwing an exception.

This fix makes sure that in case the stream wasn't opened (for example
when a file doesn't exist any more) the stream isn't wrapped.

Also added 'rb' as another case that doesn't need to be wrapped.

Fixes #6832
2014-01-19 18:51:36 +01:00
Robin Appelman 5cb08bb9cb Merge branch 'master' into fileinfo
Conflicts:
	tests/lib/files/cache/cache.php
2014-01-17 14:47:29 +01:00
Vincent Petry 34559ef114 Merge pull request #6768 from owncloud/scanner-use-storage-mtime
Use storage_mtime when determining if we can reuse cached data while scanning
2014-01-15 01:31:33 -08:00
Robin Appelman c01949ec0e Merge branch 'master' into fileinfo 2014-01-14 16:31:08 +01:00
Robin Appelman 203d5d01ca Use storage_mtime when determining if we can reuse cached data while scanning 2014-01-14 13:54:07 +01:00
Robin Appelman e706cf6c06 add Support for passing a FileInfo instance to View->putFileInfo 2014-01-13 15:57:49 +01:00
Robin Appelman 82762bb462 remove ArrayAccess, JsonSerializable from the public part of FileInfo 2014-01-13 15:13:45 +01:00
Robin Appelman 617acbd6f9 Add a FileInfo class which holds all info of a file and return that from getFileInfo, getDirectoryContent and search 2014-01-13 14:28:49 +01:00
Vincent Petry 4faba49f0a Fix calculated folder size to use unencrypted size
The encrypted size was used when calculating folder sizes.
This fix now also sums up the unencrypted size and shows that one when
available.
2014-01-09 17:47:50 +01:00
Vincent Petry f642ad3961 Prevent deleting storage root
Storage mount points are not deletable, so make sure that the unlink
operation and its hooks aren't run in such cases.

Note that some storages might recursively delete their contents when
calling unlink on their root. This fix prevents that as well.
2014-01-08 13:17:36 +01:00
Vincent Petry 5be4af9f51 Now also preventing to override "files" dir size with -1
Fixes #6526
2014-01-07 22:34:01 +01:00
Robin Appelman 25370fcb82 Return SPACE_UNKNOWN if disk_free_space is disabled when getting the free space on a local storage 2014-01-02 13:19:10 +01:00
Vincent Petry 123bc9921a Merge pull request #6201 from owncloud/backgroundscan-reuse-etag
reuse etags when doing a background scan
2013-12-06 10:13:14 -08:00
Bart Visscher 6aa9daf4e6 Users of getFolderContent are mostly interested in the unecrypted file size 2013-12-06 15:51:49 +01:00
Robin Appelman 01ab15a2b0 reuse etags when doing a background scan 2013-12-05 15:23:34 +01:00
Frank Karlitschek 8fdbb98899 Merge pull request #6168 from owncloud/extstorage-testtestmethod
Added unit test for the test() method of ext storage
2013-12-03 11:00:49 -08:00
Vincent Petry 6cf9844e9c Added unit test for the test() method
This is to make sure that method isn't broken
2013-12-03 14:35:53 +01:00
Robin Appelman 64bfcbee0a check if a directory exists before we try to remove it 2013-12-02 22:44:28 +01:00
Morris Jobke 41a1a32e5a Merge pull request #6099 from owncloud/fix_source_not_found_warnings
make sure that we don't try to access an already deleted files
2013-11-28 12:59:24 -08:00
Bjoern Schiessle 466ed01e5d correctFolder() already resolves the dirname internally 2013-11-28 19:25:49 +01:00
Bjoern Schiessle eaedda2116 make sure that we don't try to access an already deleted files, fixes some file source not found warnings 2013-11-28 13:31:08 +01:00
Vincent Petry 43b1cf7988 Redetect mime type whenever extension is renamed 2013-11-27 21:34:51 +01:00
Thomas Müller a2d4cd87d0 Merge pull request #5874 from owncloud/fix-5845
Fix file uploads on Windows with SQL Server
2013-11-24 14:15:17 -08:00
Vincent Petry c62cce8269 Moved default isReadable/isUpdatable impl into Common class
Also adjusted all ext storage backends to not override these when the
default behavior is expected.
2013-11-22 18:21:17 +01:00
Vincent Petry 69e8e7dbd5 Now using the "Home" storage detection approach for quota
To find out whether to apply a quota, we now try and detect whether the
storage to wrap is a "Home" storage.
2013-11-21 12:17:47 +01:00
Robin Appelman a0d570b4cc Change default mimetype detection for storage backends to only use filename 2013-11-20 15:25:29 +01:00
Morris Jobke 4a0d295e4a Merge pull request #5927 from owncloud/quota-excludeextstorage
External storage space is now not counted in total space
2013-11-18 14:42:40 -08:00
Vincent Petry 3e2fd9942b Root size for home storage is now size of "files" subdir
Fixes #4593
2013-11-18 18:17:25 +01:00
Vincent Petry 614e4d485c External storage space is now not counted in total space
Added argument to getFileInfo() to disable adding the size of
mountpoints to a directory's size.

Fixes #5924
2013-11-18 18:09:01 +01:00
ringmaster bd3ead0d31 Compare dirname() results to DIRECTORY_SEPARATOR, not '/' 2013-11-14 09:42:56 -05:00
ringmaster ca675d7b08 Alias the aggregate columns so SQL Server doesn't combine them. 2013-11-14 09:41:55 -05:00
Vincent Petry c06d8bb007 Fixed normalizePath() to strip out single dot dirs
Now removing "/./" and trailing "/." from the paths when normalizing.
2013-11-14 13:15:03 +01:00
Vincent Petry 34c92f6656 Now using HomeStorage for legacy home storage ids
Legacy home storage ids with the format "local://path/to/datadir/user1"
are now also wrapped by the HomeStorage.
2013-11-12 18:01:02 +01:00
Vincent Petry 1a65e3a725 Now calling parent method when path is not root 2013-11-12 16:15:44 +01:00
Robin Appelman 32a703ab36 Do not use -1 as the size for the root folder of the home storage 2013-11-12 16:15:43 +01:00
Morris Jobke 55331479cd Merge pull request #5701 from owncloud/sharing-updateownerfoldersizes
Fixed watcher to also update the owner's folder sizes
2013-11-11 06:16:51 -08:00
Robin Appelman d6845babd6 Add post hooks for filesystem scanner 2013-11-07 16:22:29 +01:00
Vincent Petry e3868ba118 Fixed watcher to also update the owner's folder sizes
Note that the root folder size is mandatory for quota calculation.
2013-11-05 13:58:14 +01:00
Thomas Müller f91fe8d595 Merge pull request #5673 from owncloud/oc6-windows-server-mssql-master
Oc6 windows server mssql master
2013-11-05 00:41:11 -08:00
Thomas Müller d48ba5a5bf Merge pull request #5540 from owncloud/scanner-enhancments-master
Scanner enhancments master
2013-11-04 23:58:42 -08:00
Thomas Müller 0f266d0f62 set log level to DEBUG 2013-11-04 12:58:30 +01:00
Thomas Mueller e37047b2a0 WIN: fixing Fatal error: Call to a member function logicToPhysical() on a non-object in C:\jenkins2\workspace\server-stable5-windows\database\mssql\label\WINDOWS\lib\files\storage\mappedlocal.php on line 311 2013-11-02 20:22:12 +01:00
Thomas Müller 261cd87efa Merge branch 'master' into home-storage 2013-10-30 22:11:19 +01:00
Robin Appelman c9f3f2874f Merge branch 'master' into update-parent-storage-mtime
Conflicts:
	lib/private/files/cache/updater.php
2013-10-30 13:41:10 +01:00
Bjoern Schiessle e1e4c7c214 Merge branch 'master' into fix_file_cache_updater_master 2013-10-29 17:47:33 +01:00
Bjoern Schiessle 0d7d396d80 make sure that also the storage etag gets changed 2013-10-29 16:30:47 +01:00
Bjoern Schiessle a80ac9c492 make getUidAndFilename() private 2013-10-29 15:10:02 +01:00
Bjoern Schiessle fcfac51aa1 backport of https://github.com/owncloud/core/pull/5513 2013-10-29 15:08:12 +01:00
Robin Appelman b3626f34cd Update the parent folders storage_mtime on write and delete to prevent rescans 2013-10-29 14:18:57 +01:00
Andreas Fischer b3e39dd3d9 Map empty mimetypes to octet-stream for Oracle DBMS. 2013-10-29 14:18:42 +01:00
Andreas Fischer fa6ae81149 Return early if fileinfo is there. 2013-10-29 13:48:30 +01:00
Andreas Fischer 68d13210bd Reset mimetype to application/octet-stream on empty reply from file command. 2013-10-29 13:29:35 +01:00
Robin Appelman 0e92a4896d dont use the home storage for non-existing users 2013-10-29 13:12:28 +01:00
Andreas Fischer a04a01d51f Do not calculate $isWrapped if not needed. 2013-10-29 12:54:30 +01:00
Robin Appelman e273c14540 use the new home storage backend when no existing local storage backend exists for the user's home 2013-10-29 00:26:35 +01:00
Robin Appelman f1e6e80eb1 add specialized storage backend for home folders 2013-10-29 00:14:23 +01:00
Vincent Petry ebcd9ae628 Added comment for clarification about fseek() call in quota.php 2013-10-25 16:15:01 +02:00
Thomas Müller 8253994262 using array_diff_assoc to detect diffs in values as well 2013-10-25 12:40:31 +02:00
Thomas Müller f619f59f1c cast storage_mtime to int 2013-10-25 12:39:50 +02:00
Vincent Petry c8df27de73 Fixed quota stream to not wrap read-only fopen calls 2013-10-25 12:33:16 +02:00
Vincent Petry d8b245490b Fixed quota stream's fseek method
- Added missing return statement
- Added missing support for SEEK_END
- Fixes #5524
2013-10-25 12:09:46 +02:00
Thomas Müller c5b8963b18 log the data arrays 2013-10-24 18:13:21 +02:00
Thomas Müller 88d1e20d56 some logging added .... 2013-10-24 14:24:56 +02:00
Vincent Petry a542c57a7b Catch duplicate insertion errors while scanning files
When two scanning processed run at the same time, for example when
scan.php and list.php were called at the same time on an external
storage mountpoint, duplicate insertion errors can occurs.

These errors are now logged and ignored.

Since both scans are running in parallel transactions, they don't see
each other's changes directly in the DB which can cause duplicate
insertion errors for mime types as well, but those mime types can't be
selected yet. The solution to this is to force-reload the mimetypes list
after the transaction is finished.

Fixes #5199
2013-10-23 13:00:46 +02:00
Vincent Petry 5f249e1a54 Prevent renaming/deleting mount points
Fixed permissions returned for mount points to not include update and
delete permissions.

Fixes #5291
2013-10-15 14:58:58 +02:00
VicDeo 26c0007a5f Merge pull request #5263 from owncloud/fixing-5255-master
Proper behavior of resolvePath()
2013-10-10 09:27:45 -07:00
Thomas Müller bc6e352ccd the path need to be normalized before putting it into resolvePath()
otherwise the returned internalPath will not match followup calls to e.g. Cache::getID()
2013-10-10 16:06:26 +02:00
Robin Appelman 1378af838c merge master into hooks-view-same-start 2013-10-10 11:34:30 +02:00
VicDeo 1cb47bf777 Merge pull request #5221 from owncloud/fixing-5217-master
fixing php 5.3 compatibility
2013-10-10 01:55:18 -07:00
Robin Appelman 7f8eeb0474 ensure the view's root is a subfolder of the the default root, not only starting the same 2013-10-09 20:46:43 +02:00
Robin Appelman 38c563dcdc don't trigger the create hooks when if the file already exists for file_put_contents 2013-10-09 20:34:18 +02:00
Thomas Müller 51b581a84d php 5.3 compatibility for \OC\Files\Storage 2013-10-08 23:00:41 +02:00
Victor Dubiniuk 8da1aac1d0 Check result only once 2013-10-04 23:24:38 +03:00
Victor Dubiniuk ef65037211 Make mimetypes static. Jenkis will be happy 2013-10-04 18:09:42 +03:00
Victor Dubiniuk 65750cb244 Load all mimetypes in one go 2013-10-04 16:17:19 +03:00
Thomas Müller 78c60c25c8 only perform files upgrade in case there are actually entries in the old fscache table 2013-10-02 13:00:05 +02:00
Thomas Müller 9c9dc276b7 move the private namespace OC into lib/private - OCP will stay in lib/public
Conflicts:
	lib/private/vcategories.php
2013-09-30 16:36:59 +02:00