Commit Graph

64 Commits

Author SHA1 Message Date
Robin Appelman d4c4e2a322 Detect failed deletes in the trashbin 2015-01-29 15:39:58 +01:00
Robin Appelman a59612752e Fix trash error when deleting files with the same name at the same time (happens in unit tests) 2015-01-28 15:16:55 +01:00
Vincent Petry 02b9bad81b Fix bogus deletion on copy + unlink through rename
Cross-storage rename would cause copy + unlink. That unlink operation
must not trigger the trashbin.
2015-01-26 12:22:22 +01:00
Robin Appelman 87a1b2bdc4 Preserve mtime when doing cross storage move 2015-01-23 15:11:27 +01:00
Vincent Petry 67f1534e0f Call final unlink in trash wrapper's storage
In the case of cross-storage delete, the files are copied to the trash,
then deleted. The final delete on the source storage would still reach
the trash wrapper.

This fix makes forwards that second call to the wrapped storage to make
the final delete work.

It fixes the issue with remote shares, local shares and external
storage.

Also, it uses a new function "renameRecursive" that renames the files
and preserves the mtimes (like "copy_recursive" did in the past))
2015-01-23 12:20:54 +01:00
Bjoern Schiessle 15ae6b47ed replace hook with storage wrapper 2015-01-19 09:16:15 +01:00
Morris Jobke 5352b4b2b8 Merge pull request #10292 from owncloud/external-share-delete
Fix trashbin when deleting a file over an external share
2014-12-23 11:21:06 +01:00
Morris Jobke d41082f4d6 first step to drop \OCP\Config:: in favour of IConfig 2014-12-17 11:12:37 +01:00
Joas Schilling 78a307995c Fix namespace of Files_Encryption outside of the app 2014-12-09 09:47:26 +01:00
Morris Jobke 0d4f0ab871 reduce OC_Preferences, OC_Config and \OCP\Config usage
* files_encryption
* files_versions
* files_trashbin
* tests
* status.php
* core
* server container
2014-12-08 22:42:37 +01:00
Bjoern Schiessle fd86d76f98 new folder structure for keys
all keys are now in files_encryption/key/path_to_file/filename/
share keys are named: user.shareKey
file key is named: fileKey
2014-11-26 10:57:47 +01:00
Vincent Petry 97a51c46ed Only rescan trash folder when checking deleted versions
This fix prevents the file scanner to rescan the WHOLE storage and reset
the etags by mistake.
2014-11-04 12:29:42 +01:00
Lukas Reschke b3a04840b5 Add type hinting to functions
It's only reasonable to have proper type hinting here which might even help us to catch bugs.
2014-10-24 14:13:40 +02:00
Robin Appelman c71deea0d5 Fix SPACE_UNKNOWN constant 2014-10-16 12:26:26 +02:00
Jörn Friedrich Dreyer 0254a3c406 make trashbin compatible with objectstore, replace glob with search in cache, make unknown free space work like unlimited free space 2014-10-16 10:15:43 +02:00
Bjoern Schiessle 5b5e9d148e check if I can create a file at the location 2014-10-08 10:56:06 +02:00
Vincent Petry 75593f87d5 Merge pull request #11137 from owncloud/enc-pregfix
Fix share key pattern matching
2014-09-23 12:36:34 +02:00
Vincent Petry 1e631754d7 Fix share key finding algorithm in various cases
Instead of inaccurate pattern matching, use the list of users who we
know have access to the file to build the list of share keys.

This covers the following cases:

- Move/copy files into a subfolder within a share
- Unsharing from a user
- Deleting files directlry / moving share keys to trashbin
2014-09-23 12:33:07 +02:00
Vincent Petry 8aca127e52 Added extra check to avoid deleting key folders
Whenever a delete operation is called twice in a row, it could happen
that the first call already deleted the file.

The second call would return an empty $ownerPath because the file does
not exist. That empty $ownerPath would run the key deletion operation on
the wrong path.

This fix adds checks in many places to make sure we don't use $ownerPath
when it's empty or null.
2014-09-19 19:01:02 +02:00
Lukas Reschke ba5d3fb96b Merge pull request #11081 from owncloud/trash_fix_expire
also expire file if timestamp = limit, happens if trashbin_retention_obl...
2014-09-16 13:58:12 +02:00
Bjoern Schiessle f23116ce50 also expire file if timestamp = limit, happens if trashbin_retention_obligation is set to zero 2014-09-15 13:00:04 +02:00
Robin McCorkell 99d41bec5d Show original path information in trashbin and sharing views
Path will only be shown if in subdirectory, not in root.
2014-09-11 15:45:42 +01:00
Robin Appelman d0266c0bf8 Use public api for getting l10n 2014-08-31 10:08:22 +02:00
Robin Appelman 07d5725de2 Fix trashbin when deleting a file over an external share 2014-08-08 15:48:59 +02:00
Bjoern Schiessle 40fe1275de throw exception if file is to large for trash bin 2014-07-15 13:56:02 +02:00
Morris Jobke 1973fdb11d Merge pull request #9093 from owncloud/remove_unused_code
remove unused code
2014-06-19 01:17:36 +02:00
Bjoern Schiessle 05cd150fd2 add additional tests for the trash bin 2014-06-18 14:41:16 +02:00
Bjoern Schiessle e06fa200b3 make sure that we always use the right user 2014-06-18 14:41:16 +02:00
Bjoern Schiessle e20bb71a42 remove unused code 2014-06-18 13:26:42 +02:00
Bjoern Schiessle b486f48fbc fix trash bin expire operation and add unit tests 2014-06-17 22:36:30 +02:00
Thomas Müller 6fcd135d0e table files_trashsizes was still used in some locations -> removed 2014-06-05 10:44:32 +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
Thomas Müller 9f3fcf036c fixing typo 2014-06-04 09:36:27 +02:00
Bjoern Schiessle 05cf34ea1f get files in trash from file cache 2014-06-03 16:45:11 +02:00
Bjoern Schiessle a7f6a051ad return size '0' if the trashbin folder doesn't exists yet 2014-06-02 18:56:04 +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
Robin McCorkell c4f1de63a8 Fix PHPDoc in /apps 2014-05-16 22:21:57 +01:00
Thomas Müller e0dd69e4e6 remove legacy aka deprecated code: OC_FilesystemView 2014-05-12 16:30:39 +02:00
Sjors van der Pluijm 49822dfcdb refs #8376; spaces=>tabs 2014-04-29 14:59:47 +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
Robin McCorkell 869e7a51f0 Prevent error in files_trashbin
`glob` can return FALSE when the directory is empty, instead of an empty array,
causing an error at `foreach`.

"Note: On some systems it is impossible to distinguish between empty match and
an error."

See http://www.php.net/manual/en/function.glob.php -> Return Values
2014-04-13 14:51:33 +01:00
Robin McCorkell fa8814902e Adjust logic for deciding if trashbin empty
Any error in opening the trashbin directory returns 'true' for isEmpty.
An error is prevented by checking if the directory exists before trying to
open it.
2014-04-13 13:49:04 +01:00
Robin Appelman 6b66b42f6e catch the case where files_trashbin/files doesn't exist 2014-03-24 12:33:44 +01:00
Robin Appelman 38b1529c2a More robust way to check if the folder is empty 2014-03-17 17:03:32 +01:00
Robin Appelman 332c14a878 Use a more efficient way to determine that the trashbin is empty that doesn't rely on the cache 2014-03-17 16:35:08 +01:00
Georg Ehrke 0f864c38bb add preDelete hook for files_trashbin app 2014-03-11 14:10:12 +01:00
Bjoern Schiessle 4562909a20 get trash size from file cache 2014-03-10 15:13:28 +01:00
Bjoern Schiessle eab844e226 if file is not in db, fall back to restore file to the users root 2014-03-10 15:13:28 +01:00
Thomas Müller c6f4f85e27 Merge branch 'master' into scrutinizer_documentation_patches
Conflicts:
	lib/private/migration/content.php
2014-02-18 18:31:33 +01:00
Thomas Müller 1e84d6b14b Merge pull request #7190 from owncloud/appconfig-legacy-apps
Remove usage of legacy OC_Appconfig
2014-02-18 18:10:22 +01:00