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
Vincent Petry
033b3dac92
Use owner when expiring versions, not the logged in user
2015-05-13 18:40:35 +02:00
Vincent Petry
20d2d8d3dd
Merge pull request #15881 from owncloud/share-moveversionsproperly
...
Fix version rename with files and folders
2015-05-11 18:24:34 +02:00
Joas Schilling
05fe2006ee
Do not run method when the path is empty
2015-05-07 14:31:21 +02:00
Vincent Petry
972e189605
Use moveFromStorage instead of streamCopy when restoring version
2015-04-30 16:15:18 +02:00
Vincent Petry
2228faaa39
Fix version rollback to keep fileid
2015-04-30 16:15:18 +02:00
Vincent Petry
63e2a4a5fa
Fix version rename with files and folders
...
- fix moving folder into another folder
- fix moving file or folder into shared folder as recipient
2015-04-27 13:17:03 +02:00
Thomas Müller
1b42b492dc
kill OC_FileProxy 💥
2015-04-07 13:30:28 +02:00
Lukas Reschke
c8c722bc6d
Merge pull request #15129 from owncloud/version-command-bus
...
expire versions in a background command
2015-03-26 19:55:13 +01:00
Robin Appelman
1969c8d5c8
save uid instead of user object in command
2015-03-26 17:11:34 +01:00
Robin Appelman
176fba83ea
Setup the filesystem in the expire command
2015-03-26 17:07:02 +01:00
Robin Appelman
7ec8f12ad4
expire versions in a background command
2015-03-26 17:07:01 +01:00
Jenkins for ownCloud
b585d87d9d
Update license headers
2015-03-26 11:44:36 +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
Bjoern Schiessle
15ae6b47ed
replace hook with storage wrapper
2015-01-19 09:16:15 +01:00
Bjoern Schiessle
d699d31518
make versions of shared files downloadable
2015-01-09 12:46:24 +01:00
Morris Jobke
0d4f0ab871
reduce OC_Preferences, OC_Config and \OCP\Config usage
...
* files_encryption
* files_versions
* files_trashbin
* tests
* status.php
* core
* server container
2014-12-08 22:42:37 +01:00
Joas Schilling
694003d147
Autoload lib files of versions app
2014-12-02 17:21:19 +01:00