Commit graph

327 commits

Author SHA1 Message Date
Steven Bühner
2b37dc9c9e
Always use the same relative Path (Starting from users home dir. i.e.: "/files_trashbin/...") 2016-09-20 12:07:00 +02:00
Steven Bühner
55fe036dbf
Take the same path (with /USERNAME/ as base) for every emmited hooks 2016-09-20 12:06:56 +02:00
Steven Bühner
a41541ae22
Emit hooks for each file before and after all files in trashbin have been deleted. 2016-09-20 12:06:51 +02:00
Steven Bühner
2f555cb10d
Fiy typo 2016-09-20 12:06:47 +02:00
Steven Bühner
0408d9a2e4
Emit Hooks for each file bevore and after all files in trashbin have been deleted. 2016-09-20 12:06:43 +02:00
Bjoern Schiessle
68b53669c0
detect the correct mimetype of the files in the trashbin, therefore we have to check the filename without the appended timestamp 2016-09-09 15:36:30 +02:00
Thomas Müller
297d2e48ad
Add occ command to expire the trashbin (#25878)
* Add occ command to expire the trashbin

* Fix versions folder in setup check
2016-08-29 14:30:40 +02:00
Jörn Friedrich Dreyer
d59cb04427
Skip version and trash expiry for users that never logged in 2016-08-10 10:51:51 +02:00
Joas Schilling
0215b004da
Update with robin 2016-07-21 18:13:58 +02:00
Joas Schilling
813f0a0f40
Fix apps/ 2016-07-21 18:13:57 +02:00
Lukas Reschke
aba539703c
Update license headers 2016-05-26 19:57:24 +02:00
Vincent Petry
63bbbf29f4
Add wrapper for NFD encoding workaround 2016-05-20 09:33:59 +02:00
Joas Schilling
d5dee80580 Move files_trashbin to PSR-4 (#24570) 2016-05-12 09:48:53 +02:00
Robin Appelman
435cd31fa6 use the cache for trash listing 2016-05-03 14:36:46 +02:00
Joas Schilling
9ebae0bdeb
Chunk the users correctly in the trashbin and versions background job 2016-04-20 10:36:15 +02:00
Stefan Weil
217d9e8e95 apps/files_trashbin: Fix typos in comments (found and fixed by codespell)
Fix also a wrong word.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-03-30 10:14:26 +02:00
Vincent Petry
0eb5292aaf Properly check path validity before deleting to trash
This prevents deleting the whole "files" folder of the user whenever
$ownerPath is empty. This can happen in concurrency situations.
2016-03-04 15:27:31 +01:00
Lukas Reschke
c353d51810 Remove Scrutinizer Auto Fixer 2016-03-01 17:48:23 +01:00
Lukas Reschke
933f60e314 Update author information
Probably nice for the people that contributed to 9.0 to see themselves in the AUTHORS file :)
2016-03-01 17:25:15 +01:00
Victor Dubiniuk
aac6932e92 Skip users with no trashbin 2016-02-24 18:08:45 +03:00
Bjoern Schiessle
ac1c3d27b7 get the actual user instead of a federated cloud id
$view->getUidAndFilename($filename); returns the federated cloud id in case of
a federated share. But in this case we need the local user who "owns" the file
which is the current logged in user in case of a federated share
2016-02-18 10:16:59 +01:00
Thomas Müller
9e415a956a Merge pull request #22451 from owncloud/use-proper-user-folder
Handles null as return code and uses proper UserFolder in trashbin
2016-02-17 10:58:31 +01:00
Morris Jobke
de58364eb8 Handles null as return code and uses proper UserFolder in trashbin 2016-02-16 18:45:25 +01:00
Vincent Petry
7bed529951 Don't resize trash when no user
Happens when overwriting files on federated shares.
2016-02-16 16:29:07 +01:00
Arthur Schiwon
3a796d1e15 Consolidate getQuota and setQuota methods in User instance 2016-02-09 17:16:43 +01:00
Thomas Müller
6824704699 Merge pull request #21117 from owncloud/owner-file-exists
Only return an owner if the file exists + improved getUidAndFilename
2016-01-15 13:31:56 +01:00
Thomas Müller
13ce6d0f1c Merge pull request #21544 from owncloud/trashbin-permissions
set etag and permission fields for trashbin entries
2016-01-15 13:22:54 +01:00
Thomas Müller
682821c71e Happy new year! 2016-01-12 15:02:18 +01:00
Robin Appelman
8890c88c11 handle not found in trash hook 2016-01-11 11:40:58 +01:00
Robin Appelman
300eb54c87 de-deplicate getUidAndFilename 2016-01-11 11:40:58 +01:00
Robin Appelman
cb3d3ebf50 set etag and permission fields for trashbin entries 2016-01-08 13:07:23 +01:00
Morris Jobke
ecdf88e41b Use proper public API for OC_Helper::getFileNameMimeType 2015-12-17 17:07:48 +01:00
Robin Appelman
415cf92784 Fix thrashbin wrapper when no user is loggedin 2015-12-11 14:27:37 +01:00
Scrutinizer Auto-Fixer
0f1be1b601 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-12-07 20:08:20 +00:00
Morris Jobke
574d0d08bb Cleanup trashbin expire code
* requested by @schiesbn
2015-11-30 11:54:03 +01:00
Morris Jobke
7aa07bcf1c Deduplicate queued trashbin expire jobs
* fixes #20425
* this removes the argument trashbin size from the expire job - it is now
  calculated in the expire job
* the queue now detects properly that the job is already queue and doesn't
  add it again
2015-11-27 14:40:31 +01:00
Robin Appelman
b025f07fb7 Make Cache\Updater per storage 2015-11-25 14:16:00 +01:00
Lukas Reschke
8f09d5b67c Update license headers 2015-10-26 14:04:01 +01:00
Lukas Reschke
13e817e901 Throw exception on getPath if file does not exist
Currently the `getPath` methods returned `NULL` in case when a file with the specified ID does not exist. This however mandates that developers are checking for the `NULL` case and if they do not the door for bugs with all kind of impact is widely opened.

This is especially harmful if used in context with Views where the final result is limited based on the result of `getPath`, if `getPath` returns `NULL` PHP type juggles this to an empty string resulting in all possible kind of bugs.

While one could argue that this is a misusage of the API the fact is that it is very often misused and an exception will trigger an immediate stop of execution as well as log this behaviour and show a pretty error page.

I also adjusted some usages where I believe that we need to catch these errors, in most cases this is though simply an error that should hard-fail.
2015-10-25 17:58:21 +01:00
Robin Appelman
2e8232e803 Fix trashbin handling of unknown/unlimited free space 2015-10-16 21:41:51 +02:00
Morris Jobke
b945d71384 update licence headers via script 2015-10-05 21:15:52 +02:00
Bjoern Schiessle
b940287ffa first copy to owner and then move to current user because the encryption
wrapper always expect to work on the owner storage
2015-10-01 17:09:17 +02:00
Morris Jobke
1051a3c6f5 Change small thumbnails to 32 px
* fixes #16913
* fixes issues in IE8 where the thumbnail is too big
2015-09-30 10:49:48 +02:00
Martin
491250320a Replaces if ($file === '.' || $file === '..') by if(\OC\Files\Filesystem::isIgnoredDir($file)). Eases to find where this operation is used. 2015-09-22 17:53:15 +02:00
Bjoern Schiessle
a174ba5a36 make sure to add the correct file size to the file info, otherwise we will not show the preview for every filetype 2015-09-21 12:41:19 +02:00
Victor Dubiniuk
b75a1b40a2 Log deleted files 2015-09-16 22:29:54 +03:00
Lukas Reschke
47caac10f5 Add PHPDoc 2015-09-16 17:37:21 +03:00
Victor Dubiniuk
764726ce01 Updates according to review 2015-09-16 17:37:21 +03:00
Victor Dubiniuk
8ac3d5e36c Add expiration cronjob 2015-09-16 17:37:21 +03:00
Victor Dubiniuk
33c29d3da7 Migrate settings 2015-08-10 23:54:44 +03:00
Victor Dubiniuk
4ef2615788 Enhance trashbin expiration settings 2015-08-10 20:40:43 +02:00
Roeland Jago Douma
e84cffc063 Moved core apps to the capabilities manager
* Files
* Files_Sharing
* Files_Trashbin
* Files_Versions
2015-08-10 10:45:16 +02:00
Roeland Jago Douma
bc91c5c2de Set proper mimetype for directories 2015-08-05 13:54:09 +02:00
Bjoern Schiessle
db65eeb580 only move real files to the trash bin 2015-07-08 11:32:06 +02:00
Thomas Müller
d3ac73c0c9 Remove OC_Log 2015-07-03 18:00:16 +02:00
Morris Jobke
044d2ece07 Merge pull request #15506 from rullzer/core_apps_oc_log2ocp_util
Move core apps from OC_Log::write to OCP\Util
2015-07-01 08:53:16 +02:00
Morris Jobke
f63915d0c8 update license headers and authors 2015-06-25 14:13:49 +02:00
Robin Appelman
f02e110aea explain pre-hook scan 2015-06-15 15:43:19 +02:00
Robin Appelman
5efbab4ab8 ensure we dont have to scan a file in the trash wrapper 2015-06-15 14:32:29 +02:00
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
7d2666699b removing encryption preview check 2015-05-18 09:47:46 -04: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
Roeland Jago Douma
7a8072e958 Move core apps from OC_Log::write to OCP\Util 2015-05-18 10:57:52 +02: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
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