Commit graph

279 commits

Author SHA1 Message Date
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