Commit graph

87 commits

Author SHA1 Message Date
Vincent Petry
61356b5560 Keep versions when deleting as recipient
The original owner could not be resolved because the original file was
already deleted, so no versions were retained.

This fix passes the owner and path to retainVersions() since it was
already resolved before the file deletion. This reactivates the versions
logic and creates a copy of the versions in each trashbin.
2015-06-02 17:13:00 +02:00
Björn Schießle
9366dde875 Merge pull request #15985 from owncloud/hotfix/fix-encryption-references
[enc2] fix references to legacy encryption app name
2015-05-26 17:28:27 +02:00
Robin Appelman
733784ae41 cleanup move/copy logic in trash 2015-05-19 14:22:09 +02:00
Robin Appelman
89959a856c fix target path for move 2015-05-18 17:16:13 +02:00
Robin Appelman
a0854b36f0 update cache after move to trash 2015-05-18 17:16:13 +02:00
Robin Appelman
b70e1ffc6d dont go trough the view when moving to trash 2015-05-18 17:16:12 +02:00
Clark Tomlinson
d557519746 removing deletion of encryption keys
this will be handled in the wrapper now
2015-05-18 09:47:46 -04:00
Clark Tomlinson
a0c6c01137 fix references to legacy encryption app name 2015-05-18 09:45:41 -04:00
Vincent Petry
f86699cd48 Fix restoring files from trash with unique name
When restoring a file, a unique name needs to be generated if a file
with the same name already exists.

Also fixed the restore() method to return false if the file to restore
does not exist.

Added unit tests to cover restore cases.
2015-05-15 12:42:27 +02:00
Thomas Müller
3458b5ab4c Remove old encryption left overs from trashbin 2015-04-07 13:30:29 +02:00
Thomas Müller
1b42b492dc kill OC_FileProxy 💥 2015-04-07 13:30:28 +02:00
Robin Appelman
3cb53b7756 setup storage wrappers before setting up the filesystem 2015-04-01 17:12:06 +02:00
Roeland Jago Douma
2b81d0f237 Move core apps from private to public functions
Apps still use OC_Helper and OC_Util functions even when public ones are
already available. Sometimes the public one is even used in the same
file.
2015-04-01 12:06:04 +02:00
Jenkins for ownCloud
b585d87d9d Update license headers 2015-03-26 11:44:36 +01:00
Vincent Petry
f8f543945f Recreate trashbin folder after full deletion 2015-03-24 23:02:14 +01:00
Thomas Müller
bbaf97ca43 Merge pull request #14644 from owncloud/trash-expire-command
Expire files from the trash in the background
2015-03-16 10:04:05 +01:00
Thomas Müller
4ffca58bc4 don't rely on \OCP\User::getUser() - it is not set properly in case of async operations 2015-03-10 11:47:52 +01:00
Robin Appelman
c80522ed63 Expire files from the trash in the background 2015-03-02 15:25:50 +01:00
Vincent Petry
7432c73f5c Only rescan versions once in trashbin
Whenever versions need to be rescanned, only do it once per PHP request.
Happens whenever multiple files need to be expired.
2015-03-02 12:59:38 +01:00
Morris Jobke
06aef4e8b1 Revert "Updating license headers"
This reverts commit 6a1a4880f0.
2015-02-26 11:37:37 +01:00
Jenkins for ownCloud
6a1a4880f0 Updating license headers 2015-02-23 12:13:59 +01:00
Lukas Reschke
012d06e8a2 Merge pull request #13797 from owncloud/fix_move_del_of_remote_shares
make sure that we get the correct user from the path
2015-01-31 08:52:07 +01:00
Bjoern Schiessle
9ef96e4dd5 no need to initialize the same view twice 2015-01-30 14:39:31 +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
Robin Appelman
d4c4e2a322 Detect failed deletes in the trashbin 2015-01-29 15:39:58 +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