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
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