Commit Graph

399 Commits

Author SHA1 Message Date
Robin Appelman 0d41138c6e
prevent recursion when moving a file to the trashbin
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-03-13 11:42:01 +01:00
Morris Jobke f0c85a0f5f
Merge pull request #6512 from coletivoEITA/add_circles_sharing_to_caldav
Change CALDAV to allow calendars be shared with circles.
2019-03-13 00:06:46 +01:00
Morris Jobke dd2496b275
Use proper dependency injection for app manager
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-05 16:00:47 +01:00
Morris Jobke 4704e719ed
Only fetch size of this storage without mount points - ref #14412
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-01 12:05:18 +01:00
Morris Jobke f6967a974f
Revert "Fix for issue 10862: calculation of free space ignores external storage (doesn't count towards quota)"
This reverts commit e806aa658c.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-01 12:03:33 +01:00
Morris Jobke 7519a9a990
Merge pull request #14412 from nextcloud/fileinfo-raw-size
add option to get raw size (without submounts) from fileinfo
2019-02-28 13:49:27 +01:00
Morris Jobke 3459ffc4d1
Merge pull request #13844 from felixn/bugfix/10862-trash-bin-ignores-trashbin_retention_obligation
Bugfix for issue 10862: Trash-bin ignores trashbin_retention_obligation
2019-02-27 15:55:20 +01:00
Robin Appelman 8fc47c6f00
add option to get raw size (without submounts) from fileinfo
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-02-27 15:35:44 +01:00
Robin Appelman 9a220214b8
add fallback for trashbin original location
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-01-29 15:14:04 +01:00
Felix Nieuwenhuizen e806aa658c Fix for issue 10862: calculation of free space ignores external storage (doesn't count towards quota)
Signed-off-by: Felix Nieuwenhuizen <felix@tdlrali.com>
2019-01-26 17:23:23 +01:00
Robin Appelman e5c3e4b76f
Add getExtension() to FileInfo
this is a fairly common operation so it makes sense to prevent having
to repeatedly implement it.

Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-29 15:24:02 +01:00
Robin Appelman 9e0ebf1830
store user for trashitem in the trashitem
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-17 15:21:09 +02:00
Robin Appelman 136113a22b
remove user parameter from `ITrashItem::getOriginalLocation`
since the target user is known at the time of creating the trashitem
the original location can already be adjusted on a per user level

Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-17 14:58:02 +02:00
Robin Appelman f5a41e2e15
fix error message for folder preview request
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-17 14:57:37 +02:00
Robin Appelman d38163e895
fix trashbin previews for modular api
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-17 14:56:48 +02:00
Robin Appelman 4adac445dc
fix select statement
fix select statement
Make trashbin api modules

Apps can register trashbin backends for specific storages,
allowing them to modify trashbin behavior for storages

The old trashbin implementation has been wrapped in a "legacy" backend,
for future work this can be replaced with a new backend that better handles
shares while still keeping the legacy backend around to keep existing trash
from being accessible

Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-17 14:56:45 +02:00
Robin Appelman 6372ae3a98
expose additional props from trashbin sabre endpoint
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-09-20 17:03:26 +02:00
Liam Dennehy 68e41a3aae trashbin:cleanup exceptions for invalid options
* throw on no parameters provided
* throw on --all-users and userid provided

Signed-off-by: Liam Dennehy <liam@wiemax.net>
2018-06-28 22:31:27 +02:00
Liam Dennehy 6bc3d3781d Default behaviour when no users are specified on trashbin:cleanup
* Add option --all-users to explicitly clean all trashbins
* Reject no users on commandline and no --all-users
* Warn when --all-users and userids are specified

Signed-off-by: Liam Dennehy <liam@wiemax.net>
2018-06-28 17:14:45 +02:00
Morris Jobke ab266a7798
Merge pull request #9626 from lars-sh/patch-1
Workaround for interrupting expired files deletion
2018-06-25 16:44:55 +02:00
Lars Knickrehm 436c4f8954
Improved logging statement 2018-06-24 13:41:16 +02:00
Roeland Jago Douma 608456d2a9
Previews on for all trashbin files
* Previews possible for all files in the trashbin
* Set caching
* Use the fileid to find the file

* Fix test

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-05 10:17:22 +02:00
Lars Knickrehm e360885eb0
Workaround for interrupting expired files deletion
Workaround avoiding "Error while running background job (class: OCA\Files_Trashbin\BackgroundJob\ExpireTrash, arguments: ): {"Exception":"OCP\\Files\\NotPermittedException","Message":"","Code":0,"Trace":"#0 \/var\/www\/cloud\/apps\/files_trashbin\/lib\/Trashbin.php(590): OC\\Files\\Node\\File->delete() [...]"
2018-05-28 00:59:20 +02:00
Georg Ehrke 367ca563b4
allow admins to override FreeBusy capabilities without modifying ShareAPI capabilities
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-05-22 19:16:26 +02:00
Roeland Jago Douma 5eb72a8a57
Support fileid propfind on trash endpoint
Fixes #9416

In order to support previews on mobile clients they will need the fileid
of files in the trashbin.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-11 20:45:03 +02:00
Roeland Jago Douma 58219638d7
Trashbin propfind respond to oc:size
In order to display the total size of folders also in the clients (and
web) we should return the oc:size.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-10 16:12:33 +02:00
Roeland Jago Douma 48034bdc4a
Merge pull request #9427 from nextcloud/bugfix/noid/no_listing_if_not_in_debug_trash_version
If not in debug disable principal listing
2018-05-10 09:31:19 +02:00
Roeland Jago Douma 17f1653ceb
If not in debug disable principal listing
Trashbin and Version should have the same behaviour as the other
collections.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-08 20:52:14 +02:00
Roeland Jago Douma 21d4ce926e
Propfind for deletion time of trash files
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-08 09:08:43 +02:00
Roeland Jago Douma 7f194be3ab
Merge pull request #9202 from nextcloud/feature/1332/trashbin_dav
Trashbin endpoint in DAV
2018-05-01 14:24:38 +02:00
Arthur Schiwon 38a90130ce
move log constants to ILogger
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 10:45:52 +02:00
Roeland Jago Douma c625fc5931
Add folder for trashbin
The trashbin home now contains 2 entries restore and trash.

Made all files strict. Added more types.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-25 20:25:10 +02:00
Roeland Jago Douma dadc740db5
Use getType to determine type of entry
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-25 20:25:10 +02:00
Roeland Jago Douma d5937e0fd6
Add propfind properties to trashbin
* get original filename (without the weird timestamp)
* get original location

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-25 20:25:10 +02:00
Roeland Jago Douma cb617c4949
Add special restore folder
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-25 20:25:10 +02:00
Roeland Jago Douma f7ca6149d6
Emptry trashbin
A delete on a users trashbin will empty it (the trashbin won't be
deleted of course)

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-25 20:25:10 +02:00
Roeland Jago Douma 09940bcde6
List trashbin in DAV
First steps for #1332

* Add a new DAV collection
* List all files in the trashbin for this user
* Deleting files from trashbin
* Get files from trashbin (just read)

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-25 20:25:10 +02:00
Morris Jobke dd34cb7540
Less deprecated calls to OCP\Util::writeLog
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-04-22 20:41:49 +02:00
Roeland Jago Douma 83873e3da1
Remove deprecated URL functions for OCP\Util
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 22:04:08 +01:00
Julius Härtl 44b002665c
Remove deprecated isEnabled call from files_trashbin
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-01-31 14:13:15 +01:00
Morris Jobke eb51f06a3b
Use ::class statement instead of string
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-29 12:03:47 +01:00
Morris Jobke a661f043e1
Remove unneeded semicolon and parentheses
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 23:46:40 +01:00
Morris Jobke c005fc6755
Cleanup unused code
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 15:25:19 +01:00
Morris Jobke c1e4f9f305
Use type casting instead of *val() method
It should be up to 6x faster

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 11:35:42 +01:00
Morris Jobke 0a56d2185e
Return value immediately instead of assigning to a one-time variable
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 00:02:03 +01:00
Morris Jobke 2a38605545
Properly log the full exception instead of only the message
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-23 10:57:21 +01:00
Arthur Schiwon 65d7468bf3
check userExists later, saves lookups for appData_INSTANCEID userids
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-12-01 11:47:56 +01:00
Morris Jobke 31c5c2a592
Change @georgehrke's email
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 20:38:59 +01:00
Morris Jobke 0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Morris Jobke 5987099d2a
Remove unneeded check if app is enabled
App code will not be executable if the app is not enabled, because the autoloader refuses to load that class.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-10-23 23:47:06 +02:00
Bjoern Schiessle 6e69881512
allow apps to control the trash bin
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-09-15 11:32:45 +02:00
Joas Schilling d703744d4a Fix comparisions in the trashbin app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-01 13:56:12 +02:00
Roeland Jago Douma 549845aa73
Delete trash using node API to trigger preview deletion
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-07-24 11:14:12 +02:00
Morris Jobke b4fa812a3d Improve logging of trash bin inconsistencies
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-23 16:09:00 -05:00
Morris Jobke 23cc309606
Handle more error cases
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-02 13:43:48 +02:00
Morris Jobke c54a59d51e
Remove unused use statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-22 19:23:31 -05:00
Morris Jobke 1729e4471f
Update comments to Nextcloud
* based on PR by @Ardinis
* see #4311

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-11 23:16:27 -05:00
Roeland Jago Douma 6e6cbae37c Merge pull request #3998 from nextcloud/backport-27032
Use the expected method depending on the target being a file or folder
2017-03-23 21:59:39 +01:00
Juan Pablo Villafáñez 713faa0fc0
Use the expected method depending on the target being a file or folder
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-22 18:02:09 -06:00
Morris Jobke fb87aa61e7
fix path for files from root folder
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-22 17:17:37 -06:00
Victor Dubiniuk 17bed297db
In the real world id is an initial filename
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-20 00:06:32 -06:00
Bjoern Schiessle 79d362f4a6
delete files right away in case of a encryption exception
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-03-14 12:11:28 +01:00
Morris Jobke a4ad8af6e3
Add proper default value for datadir
* better safe than sorry
* fixes #3091

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-01-19 19:49:41 -06:00
Roeland Jago Douma 6f96af0fce Merge pull request #2819 from nextcloud/trash-ext-link-uselinkowner
Fallback to share link owner when no owner found
2016-12-23 14:36:34 +01:00
Vincent Petry 34d466b2f6
Fallback to share link owner when no owner found
When creating link shares from external storage, the filesystem cannot
find an owner in some scenarios (ex: system-wide mounts). In such
cases, fall back to using the current user's trashbin which happens to
also be the user who created the link share.

Fixes an issue where this scenario made deletion impossible due to
missing user information.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-22 10:48:32 +01:00
Bjoern Schiessle a1d6f3068a
make code more robust
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-12-21 18:02:19 +01:00
Bjoern Schiessle 60810b44bc
check for class name in case class is not loaded
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-12-21 17:28:50 +01:00
Bjoern Schiessle 0e4eeab3c1
add a copy to the owners trash bin if another user moves a file out of a shared folder
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-12-21 17:28:47 +01:00
Roeland Jago Douma 55af6b45f7
More tests
* PreviewController test
* PublicPreview test
* Versions Preview test
* Trash Preview test

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-03 14:00:33 +01:00
Roeland Jago Douma 5d11085190
Move over files_trashbin
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-03 14:00:33 +01:00
Jörn Friedrich Dreyer f8352fcb8d
introduce callForSeenUsers and countSeenUsers (#26361)
* introduce callForSeenUsers and countSeenUsers

* add tests

* oracle should support not null on clob

* since 9.2.0
2016-10-28 08:44:05 +02:00
Steven Bühner 1bd4eebb26
Also fire a bulk pre- and post-delete hook 2016-09-20 12:07:03 +02:00
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