Commit graph

445 commits

Author SHA1 Message Date
Robin Appelman
9587a4a548
use filesystem user instead of file owner for creating version
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-09-09 16:22:40 +02:00
Robin Appelman
7be5788995
always use the default fs owner when storing versions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-09-06 16:59:48 +02:00
Carl Schwan
48d9c4d2b0
Port existing server code to new interface
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-08-08 17:03:19 +02:00
Thomas Citharel
190a71ecf9
Expose additional emails in {DAV:}alternate-URI-set
This allows iMip invitations to be send with an alternative email as
"Reply-To" field.

Closes #27201

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-17 15:11:36 +02:00
Robin Appelman
d5953e5c33
cache internalpath in versions cleanup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-04 15:40:34 +02:00
Daniel Kesselberg
3293428ac0
Add configuration flag to disable the background job for files_versions
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-10-11 12:32:46 +02:00
Vincent Petry
62947867ce
Merge pull request #27408 from PhrozenByte/enhancement/FilesVersionsCleanUpPath
Add occ versions:cleanup --path option
2021-10-08 08:01:55 +02:00
Daniel Rudolf
54cb4ac840
Improve occ versions:cleanup --path option
Signed-off-by: Daniel Rudolf <github.com@daniel-rudolf.de>
2021-10-07 19:18:03 +02:00
Richard Steinmetz
57ad9e4b0f
Merge pull request #28458 from nextcloud/expose-user-language-dav
Expose user language through DAV
2021-08-20 11:31:27 +02:00
Robin Appelman
5f101d910b
use search to find versions to expire
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-08-18 16:52:22 +02:00
Thomas Citharel
a7b9b398a3
Expose user language through DAV
Introduces the '{http://nextcloud.com/ns}language' prop that gives the
user's language

Closes #28449

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-16 19:03:00 +02:00
szaimen
98102bfa78 Improve auto expiration hint
Signed-off-by: szaimen <szaimen@e.mail.de>
Co-Authored-By: Pytal <24800714+Pytal@users.noreply.github.com>
2021-08-08 20:41:38 +02:00
Carl Schwan
701b57b81d
Remove allmost all deprecation from the files_version app
The remaining deprecations are related to Utils::hooks and I will take a
look at how EventDispatcher works before working on them.

Aside from the deprecations, this patch also does a few minor
improvements around type hinting.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-07-23 10:07:38 +02:00
Daniel Rudolf
c8870d0756
Add occ versions:cleanup --path option
Signed-off-by: Daniel Rudolf <github.com@daniel-rudolf.de>
2021-06-07 00:32:27 +02:00
John Molakvoæ (skjnldsv)
215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Christoph Wurst
8196420063
Drop \OCP\User
Inlines and remaining usages and drops the deprecated public API.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-21 15:00:34 +02:00
Joas Schilling
236aa194e2
Restrict autocompletion also based on the phonebook known users
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-10 17:19:55 +01:00
dependabot-preview[bot]
eb502c02ff
Bump nextcloud/coding-standard from 0.3.0 to 0.5.0
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v0.3.0...v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-18 13:31:24 +01:00
Robin Appelman
b2fb4d898a
dont stop expiring versions if we cant check if the source file still exists
instead continue assuming it still exists

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-02-05 15:06:43 +01:00
Christoph Wurst
d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00
Christoph Wurst
12d1c27b7f
Catch storage not available in versions expire command
External storage with session credentials is not accessible without a
user session, hence background jobs and CLI commands can't work with
them. The previously unhandled exception causes logged errors in the
nextcloud log. This patch catches the specific exception and logs it as
warnings. So for a production instance the error won't spam their logs
for this non-recoverable and technically unsolvable error if the minimum
log level is set to the default of 3 (error).

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-25 09:28:38 +01:00
Morris Jobke
6ce05bc7d7
Return all keys in getAllVersions() instead
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-12 22:17:06 +02:00
Christoph Wurst
02fa3253fe
Fix undefined index and consequential damages in versions code
If the user has no space and there are no versions, there won't be an
`all` index in the versions entry. Hence this triggers a warning and
becomes `null`, afterwards `count`, `foreach` and friends will happily
throw even more warnings and errors because they don't want to play with
`null`. Thus adding a fallback to an empty array.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-12 22:17:06 +02:00
Christoph Wurst
d9015a8c94
Format code to a single space around binary operators
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-05 20:25:24 +02:00
Christoph Wurst
2a054e6c04
Update the license headers for Nextcloud 20
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-24 14:54:25 +02:00
Christoph Wurst
3b0478773a
Migrate files versions to the PSR container
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-07-16 15:53:40 +02:00
Morris Jobke
29ffaa5676
Move files_versions to bootstrap mechanism
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-07-09 14:13:18 +02:00
Joas Schilling
3e0cfa6c32
Add missing return
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-06-26 15:25:33 +02:00
Joas Schilling
d7c0b9cced
Also always return in app commands
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-06-26 15:12:11 +02:00
Christoph Wurst
cb057829f7
Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +02:00
Liam JACK
b6c76f43a1
Fix #19066 - Array offset error due to empty file versions array
Signed-off-by: Liam JACK <liamjack@users.noreply.github.com>
2020-04-12 15:35:17 +02:00
Christoph Wurst
28f8eb5dba
Add visibility to all constants
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:54:27 +02:00
Christoph Wurst
1584c9ae9c
Add visibility to all methods and position of static keyword
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:51:06 +02:00
Christoph Wurst
caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +02:00
Christoph Wurst
14c996d982
Use elseif instead of else if
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 10:35:09 +02:00
Christoph Wurst
a8a06a82d2
Remove trailing whitespaces from comments
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 16:09:23 +02:00
Christoph Wurst
44577e4345
Remove trailing and in between spaces
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 16:07:47 +02:00
Christoph Wurst
afbd9c4e6e
Unify function spacing to PSR2 recommendation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 13:54:22 +02:00
Christoph Wurst
41b5e5923a
Use exactly one empty line after the namespace declaration
For PSR2

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 11:48:10 +02:00
Christoph Wurst
85e369cddb
Fix multiline comments
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-08 22:24:54 +02:00
Christoph Wurst
1a9330cd69
Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +02:00
Christoph Wurst
463b388589
Merge pull request #20170 from nextcloud/techdebt/remove-unused-imports
Remove unused imports
2020-03-27 17:14:08 +01:00
Christoph Wurst
b80ebc9674
Use the short array syntax, everywhere
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-26 16:34:56 +01:00
Christoph Wurst
74936c49ea
Remove unused imports
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 22:08:08 +01:00
Christoph Wurst
df9e2b828a
Fix mismatching docblock return types
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-06 16:38:25 +01:00
Roeland Jago Douma
061b9bb0e7
Merge pull request #18231 from nextcloud/fix/shared_version_restore
Fix restoring shared versions
2019-12-09 21:17:24 +01:00
Roeland Jago Douma
78050ec531
Fix restoring shared versions
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-12-05 16:50:45 +01:00
Christoph Wurst
5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Georg Ehrke
c3748cfee3
respect shareapi_allow_share_dialog_user_enumeration in Principal backend for Sabre/DAV
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-12-03 09:44:07 +01:00
Roeland Jago Douma
68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
John Molakvoæ (skjnldsv)
866c513871
Fix files_versions app LoadSidebar event
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-11-06 10:11:23 +01:00
John Molakvoæ
13960b69da
Merge pull request #17509 from nextcloud/fix/application-singleton
Fix Application instances created multiple times
2019-11-04 18:18:32 +01:00
Arthur Schiwon
e8095cf737
use OCP\EventDispatcher\Event over Symfony's deprecated Event
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-10-17 13:31:48 +02:00
Roeland Jago Douma
c1b8cb2e21
Set the proper filename for version downloads
Before it just used the internalid (timestamp often) which is not really
user friendly.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-10-14 17:55:53 +02:00
Christoph Wurst
543190f8b3
Do not create Application instances directly
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-10-11 08:33:09 +02:00
Roeland Jago Douma
01a4644cad
Use the proxymapper to obtain valid proxy data
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-15 15:41:27 +02:00
Julius Härtl
e26187c7ff
Make sure we only fetch the file by id for the actual owner
Otherwise this will fetch all mounts for the file id which is quite
expensive and causes long saving times in big sharing structures

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-08-01 10:10:49 +02:00
Robin Appelman
817bdc47c8
Merge pull request #15869 from nextcloud/multiple-version-backends
fix loading multiple version backends from one app
2019-06-19 14:00:53 +02:00
Robin Appelman
a0a3f534f7
allow non integer version ids
currently version ids are timestamps, but for storage provided versions
this is not always the case and they might be strings

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-06-04 14:15:20 +02:00
Robin Appelman
5209cdccdb
fix loading multiple version backends from one app
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-06-04 14:11:24 +02:00
Robin Appelman
ccfbee2af9
add way for version backends to programmatically specify if they should be used
this allows for backends that should only be used if specific conditions are met

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-05-21 17:14:47 +02: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
Felix Nieuwenhuizen
56457505af set availableSpace to 0 if userFolder not found
Signed-off-by: Felix Nieuwenhuizen <felix@tdlrali.com>
2019-03-02 13:55:11 +01:00
Felix Nieuwenhuizen
0f43d1dfaa use node API for free space calculation in versions app (same method as trashbin app)
Signed-off-by: Felix Nieuwenhuizen <felix@tdlrali.com>
2019-03-02 13:44:47 +01:00
Roeland Jago Douma
7f88654147
Move of files_versions to webpack
* Move CSS into bundle
* Old merged.json no longer needed!
* No need to load the style still

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-13 22:20:07 +01:00
Roeland Jago Douma
6415532508
Allow shared versions again in legacy backend
To make sure that the versions in the legacy backend are shared again we
have to check the storage of a file. Since all shared files are still on
the owners storage.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-25 21:10:46 +01:00
Robin Appelman
fbe35c346d
actually return the user when creating version dav nodes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-15 17:17:54 +01:00
Robin Appelman
4403d771ad
modular versions api
Allows apps to register version backends for storage types
The existing versions backend is wrapped in a "legacy" backend.

Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-01 00:21:48 +01: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
39bb9c06d1
Delete the previews when a version is restored
Fixes #9469

When a version of a file is restored the previews are no longer valid.
Thus we should remove them so they are regenerated.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-14 19:58:19 +02:00
Roeland Jago Douma
cd53498256
Use more magic DI in files_versions
There is no need to register this. The system can figure out by itself
what it needs to do :)

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-11 22:25:07 +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
5401732cd2
Allow to read get old versions
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-01 08:38:59 +02:00
Roeland Jago Douma
dd47ebb062
Add rollback
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-01 08:38:59 +02:00
Roeland Jago Douma
d40afac1b9
Add version collection to DAV
listed as
versions/<username>/versions/<file id>/<timastamp>

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-01 08:38:59 +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
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
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
Joas Schilling
a7ad7cb08e
Merge pull request #8053 from nextcloud/simplify-substr
Use short for of substr to not need strlen()
2018-01-26 10:25:09 +01:00
Morris Jobke
870fe20acc
Use $var[] = $a instead of array_push - 2x faster
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 22:36:03 +01:00
Morris Jobke
e6efa755c9
Use short for of substr to not need strlen()
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 22:23:48 +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
90d7693997
allow apps to disable versions for some files
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-09-15 12:14:31 +02:00
Joas Schilling
a20934227c Remove undocumented config
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-01 13:59:10 +02:00
Joas Schilling
c23c05d4f6 Fix versions app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-01 13:57:08 +02:00
Joas Schilling
1e2de86c3a Fix comparisons in the versions app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-01 13:56:12 +02:00
Morris Jobke
c27498db71 Use IConfig instead of static OCP\Config
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-27 13:43:18 +02:00
Morris Jobke
23cc309606
Handle more error cases
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-02 13:43:48 +02:00
Lukas Reschke
0ed56589cc
Merge JS for files_versions
Shaves off 3 requests.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-03-24 19:57:19 +01:00
Vincent Petry
5dbb32fb81
Properly expire ext storage versions (#26601)
* Properly expire ext storage versions

System-wide external storages have no real owner so the current user is
used as owner. However when running cron.php there is no current user,
so no expiry can be done.

This fix adds an user argument to the expire() function to tell for
which user to expire files. This information is anyway always available
now through the expire command job.

* Move version expire setupFS into the expire function

* Add comment about not tearing down in version Storage::expire()

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-03-10 15:58:44 -06:00
Roeland Jago Douma
4dcd0474d5
Show mimeicon when versions don't have a preview
Fixes #2413

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-29 20:35:57 +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
d720a2fb57
Moved over files_versions
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
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
Morris Jobke
ba16fd0d33 Merge branch 'master' into sync-master 2016-07-07 11:29:46 +02:00
Carlos Damken
d58e6b59d3 Upgrading the log level From Debug to INFO to be consistent with files_trashbin (#25367) 2016-07-06 10:33:31 +02:00
Bjoern Schiessle
4a4cac611f we don't need to check permissions twice 2016-07-04 10:48:15 +02:00
Lukas Reschke
179a355b2c Merge remote-tracking branch 'upstream/master' into master-sync-upstream 2016-07-01 11:36:35 +02:00
Bjoern Schiessle
1b74cf72fb check permissions before rollback 2016-06-30 11:27:25 +02:00
Vincent Petry
f22af90c09 Hide revert button when no permission to revert 2016-06-28 13:00:58 +02:00
Vincent Petry
fa3dc909a4
Rollback version must also adjust cached size 2016-06-22 14:16:16 +02:00
Victor Dubiniuk
d82df7e490
Construct path to the version file from the current directory and filename. Fixes #22450 2016-06-02 15:47:12 +02:00
Lukas Reschke
aba539703c
Update license headers 2016-05-26 19:57:24 +02:00
Joas Schilling
b57f3126eb Move files_versions to PSR-4 (#24571) 2016-05-12 09:49:15 +02:00
Joas Schilling
9491d0f65b
Add missing use statement 2016-04-25 13:22:54 +02:00
Joas Schilling
9ebae0bdeb
Chunk the users correctly in the trashbin and versions background job 2016-04-20 10:36:15 +02:00
Lukas Reschke
72c8187cbb Keep "encryptedVersion" when calling \OC\Files\View::copy
When calling `\OC\Files\View::copy` we should also keep the version to ensure that the file will always have the correct version attached and can be successfully decrypted.

To test this the following steps are necessary (from https://github.com/owncloud/core/issues/22781#issuecomment-191328982):

1. setup a new ownCloud 9.0 beta2
2. enable encryption
2. upload a docx (5.7MB large)
3. upload the same file again and overwrite the existing file
4. I can download the original file and the first version
5. I restore the first version
6. restored version can no longer be downloaded with the error described above

The manual cache operation in `\OCA\Files_Versions\Storage` is unfortunately necessary since `\OCA\Files_Versions\Storage::copyFileContents` is not using `\OCP\Files\Storage::moveFromStorage` in the case when an object storage is used. Due to the workaround added in 54cea05271 the stream is directly copied and thus bypassing the FS.
2016-03-03 14:15:36 +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
Bjoern Schiessle
4ef035cc61 make sure that the file name doesn't end with a trailing slash. Can for example happen single files shared across servers 2016-02-19 13:15:09 +01: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
Lukas Reschke
762636efcd Use cache directly instead of QB
In case somebody does not use oc_filecache
2016-02-10 12:30:39 +01:00
Lukas Reschke
5ccb9dfa7e Use database for keeping track of the version 2016-02-09 23:43:27 +01:00
Arthur Schiwon
3a796d1e15 Consolidate getQuota and setQuota methods in User instance 2016-02-09 17:16:43 +01:00
Arthur Schiwon
d2d6644702 use int values and constants instead of strings 2016-02-08 18:16:27 +01:00
Arthur Schiwon
b6e03fe261 versions provide more information when throwing hooks 2016-02-08 16:33:49 +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
682821c71e Happy new year! 2016-01-12 15:02:18 +01:00
Robin Appelman
94200b682c removed unused imports 2016-01-11 11:40:58 +01:00
Robin Appelman
282f67dad1 improve handling of non existing files in the trashbin 2016-01-11 11:40:58 +01:00
Robin Appelman
300eb54c87 de-deplicate getUidAndFilename 2016-01-11 11:40:58 +01:00
Morris Jobke
fb87441fd9 Deduplicate version expire jobs
* versionSize is calculated anyway in the expire job - > dropped
* offset/neededSpace was needed for expiry before the file is moved to the versions -> now this is included already in the currently used space because the expiry job is defered to a point in time after the version creation
* fixes #21108
2015-12-10 11:21:28 +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
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
22c5c19376 handle versions expire for home storages with unlimited quota 2015-10-16 21:41:51 +02:00
Robin Appelman
54cea05271 Fix preserving file ids when restoring a file with object storage 2015-10-16 21:41:51 +02:00
Thomas Müller
4b31b349b8 Merge pull request #19595 from owncloud/fix-versions-log-entry
Reset to auto if not set
2015-10-06 13:45:35 +02:00
Morris Jobke
b945d71384 update licence headers via script 2015-10-05 21:15:52 +02:00
Victor Dubiniuk
99f1112e33 Reset to auto if not set 2015-10-05 20:52:25 +03:00
Robin Appelman
943c5069d4 Lock files when rolling back version 2015-10-02 17:08:39 +02:00
Georg Ehrke
b3ff773bbf delete cached preview when rolling back file's version
add random number using OC.parseQueryString and _.extend()

version rollback: add missing prefix to OC\Preview::post_delete

add test to assure that the rollback hook is called
2015-09-20 11:22:40 +02:00
Victor Dubiniuk
e3c067c2e1 Correct method title. Add docblock 2015-09-16 17:22:17 +03:00
Victor Dubiniuk
1f7ac2c309 Postrebase cleanup 2015-09-15 21:12:49 +03:00
Victor Dubiniuk
0cefbd76b9 Add expiration for versions older than max 2015-09-15 21:12:39 +03:00
Victor Dubiniuk
c3dc5b0317 Add method docblock 2015-09-15 17:08:54 +03:00
Victor Dubiniuk
f46b434a12 Namespacing, reusing 2015-09-15 17:08:54 +03:00
Victor Dubiniuk
c3e055549e Improvements 2015-09-15 17:08:54 +03:00
Victor Dubiniuk
b95d1e6683 Add quota status to expiration check 2015-09-15 17:08:54 +03:00
Victor Dubiniuk
7ef937d8ad Add versions obligation 2015-09-15 17:08:54 +03:00
Vincent Petry
310d797284 Add versions tab to files sidebar
- move versions to a tab in the files sidebar
- added mechanism to auto-update the row in the FileList whenever values
  are set to the FileInfoModel given to the sidebar
- updated tags/favorite action to make use of that new mechanism
2015-09-03 16:47:24 +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
Morris Jobke
f63915d0c8 update license headers and authors 2015-06-25 14:13:49 +02:00
Vincent Petry
9a6d253af3 Abort expiration when file is gone
Sometimes a background job for versions expiration was scheduled for a
file that has been moved or deleted since.

This prevents showing useless warnings in the log and simply bail out.
2015-05-29 13:15:12 +02:00