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
Vincent Petry
beb6a38d85
Added rmdir to trashbin storage wrapper
...
This makes sure that folders are moved to trash when deleted with
rmdir() instead of unlink().
This happens for example when deleting a folder over WebDAV.
The web UI uses unlink() so it wasn't affected.
2015-05-12 11:09:02 +02:00
Vincent Petry
ffc796edcb
Do not trash part files, delete directly
2015-04-21 18:28:15 +02:00
Thomas Müller
54a3bdf1c5
fixing unit test execution related to trashbin
2015-04-07 13:30:31 +02:00
Bjoern Schiessle
5ea94b7c45
add priority to trashbin storage wrapper so that he is always on top
2015-04-07 13:30:30 +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
Morris Jobke
e8109f0bc3
Merge pull request #13802 from owncloud/share-partfilepermissions
...
Fix share permission checks
2015-03-26 22:01:05 +01: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
Vincent Petry
a9e6eba018
Reenable trashbin after failed rename
...
After a failed rename, the post_rename hook is not called.
This quickfix makes sure the trashbin storage logic is reenabled
also after a failed rename.
2015-03-18 19:56:31 +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
ce0aa02aac
Dont do a cache rename if we cant delete the source file
2015-01-29 15:52:40 +01:00
Robin Appelman
215388f4e0
Make sure we delete the file when doing a cross storage trashbin move
2015-01-29 15:40:01 +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
Robin Appelman
91f3952ac1
Only move files from the current user to the trashbin
2015-01-23 14:19:36 +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
75e8b39826
Merge pull request #12879 from owncloud/mountconfig
...
Add mount specific options
2014-12-18 23:38:14 +01:00
Robin Appelman
fd85424742
Add getMountPoint to FileInfo
2014-12-17 14:03:50 +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
Morris Jobke
3fdb1937a3
Merge pull request #12382 from owncloud/enc_reorganize_folders2
...
[encryption] reorganize folder structure (second try to make Jenkins happy)
2014-12-03 16:08:40 +01:00
Joas Schilling
1bd018a70c
Autoload exception from files_trashbin
2014-12-02 17:26:42 +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
Joas Schilling
2c39aec8cb
Replace deprecated constant with new class constant
2014-11-25 16:30:21 +01:00
Lukas Reschke
61641293f4
Only show undelete capability if files_trashbin is enabled
...
Fixes the OCS capability API at /ocs/v1.php/cloud/capabilities
2014-11-18 23:06:39 +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