Commit graph

686 commits

Author SHA1 Message Date
Thomas Müller
8cbf76755e Merge pull request #19643 from owncloud/public-download-spinner
Set download cookie on public download
2015-10-09 14:10:29 +02:00
Vincent Petry
ececa90709 Set download cookie on public download 2015-10-08 12:50:56 +02:00
Thomas Müller
b2872ef759 Merge pull request #19589 from owncloud/shares-external-mount-provider
Move the setup of external share mounts to a mountprovider
2015-10-07 17:46:33 +02:00
Robin Appelman
59cf817308 Merge pull request #19511 from owncloud/etag-share-permissions-update
Mark shares as dirty when changing permissions
2015-10-06 18:09:12 +02:00
Robin Appelman
17756ebf5b fix phpdoc 2015-10-06 16:37:43 +02:00
Robin Appelman
d3c1fcf961 Fix getEtag for roots of shared storages 2015-10-06 16:33:37 +02:00
Vincent Petry
d546c5bb59 Propagate shares etag when group membership changed 2015-10-06 15:02:22 +02:00
Robin Appelman
47c71d8e87 use microtime 2015-10-06 13:00:30 +02:00
Robin Appelman
0817024e6f Mark shares as dirty when changing permissions 2015-10-06 11:38:41 +02:00
Morris Jobke
8366ce2767 deduplicate @xenopathic 2015-10-06 09:52:19 +02:00
Morris Jobke
b945d71384 update licence headers via script 2015-10-05 21:15:52 +02:00
Robin Appelman
e468b38bd4 sanitize mountpoint 2015-10-05 17:14:39 +02:00
Robin Appelman
e1c562f66b extract the mount provider from the manager 2015-10-05 16:39:11 +02:00
Robin Appelman
76a528e511 Make the external share manager a mount provider 2015-10-05 16:18:14 +02:00
Thomas Müller
710b7dd81c Merge pull request #19487 from owncloud/split_share_middleware
Split files_sharing middelware
2015-10-05 10:57:11 +02:00
Thomas Müller
ccbdcf0ab3 Merge pull request #19522 from owncloud/activity-395-less-sidebar-text
Activity 395 less sidebar text
2015-10-02 12:13:53 +02:00
Roeland Jago Douma
3d2acb5003 sharingcheckmiddleware now handles externalshares as well
Added new annotations for the externalsharescontroller class
* @NoOutgoingFederatedSharingRequired
* @NoIncomingFederatedSharingRequired

By default both are required for all functions in the
externalSharesController.

A proper exception is thrown and then a 405 is returned instead of the
default error page. Since it is only an API endpoint this makes more
sense.

Unit tests added and updated
2015-10-02 12:03:53 +02:00
Roeland Jago Douma
dc38e674a5 Split files_sharing middelware
Since for external shares there is no need for link shares to be enabled
we should check which controller is actually being called.

This makes sure that in all cases we verify that the files_sharing app
is enabled. But only for the share controller (public shares) we check
if the API is enabled and if links are enabled.

TODO: add checks for federated sharing as well
2015-10-02 11:56:11 +02:00
Joas Schilling
e478d925c3 Fix intendation 2015-10-02 10:01:33 +02:00
Joas Schilling
17ab8e6c39 Use shorter text on the sidebar for files_sharing activities 2015-10-02 10:01:33 +02:00
Roeland Jago Douma
c924b6740a Do not return unneeded info 2015-10-02 08:11:50 +02:00
Roeland Jago Douma
7310c4166a Added '../remote_shares' endpoint
* list incoming remote shares at 'remote_shares'
* get per share info at 'remote_shares/<ID>'
* delete remote share with a DELETE to 'remote_shares/<ID>'
2015-10-02 07:40:04 +02:00
Lukas Reschke
22e724e829 Only intercept exceptions of type "NotFoundException" instead of any Exception
The sharing backend may throw another exception for example when the activity app encounters a problem. Previously this just triggered a 404 error page and the exception got not logged at all. With this change such exceptions get not intercepted and regularly handled as exceptions so that we have meaningful log data. Also the user will be shown a window informing him that an error happened.

Helps to debug cases such as https://github.com/owncloud/core/issues/19465
2015-09-30 13:32:20 +02:00
Vincent Petry
b4998e7d29 Allow public auth to recognize sesssion
When a public link password has been input, its auth is stored in the
session.
This fix makes it possible to recognize the session when using public
webdav from the files UI.
2015-09-28 11:52:04 +02:00
Roeland Jago Douma
db02173627 Reflect enabled shareAPI in capabilities
If the shareAPI is disabled we not return the other sharing
capabilities.

This allows clients to properly check if sharing is even available.
2015-09-25 20:12:41 +02:00
Thomas Müller
2c37d5f7d8 Merge pull request #13145 from owncloud/issue/11951-activity-sharing-email
Publish an activity when sending a share link via email
2015-09-25 13:48:33 +02:00
Robin Appelman
7d53427ee6 only initialize once 2015-09-23 16:22:53 +02:00
Robin Appelman
88f03192ba Delay listening to owner changes untill we use a share for that owner 2015-09-23 16:22:53 +02:00
Roeland Jago Douma
4dba046712 Respect disabled sharing API settings
If the sharing API setting is disabled that sharing check middle ware
should block the request. Thus making link shares unavailable.
Fixes #18970

* Unit test added
* Unit tests updated
2015-09-22 15:12:16 +02:00
Joas Schilling
2e1cfe03e9 Publish an activity when sending a share link via email 2015-09-22 13:09:21 +02:00
Thomas Müller
75425b28df Merge pull request #18679 from owncloud/add-reshare-activities
Add reshare activities for the parent sharee and the original file owner
2015-09-18 11:59:30 +02:00
Thomas Müller
93eb73b0bb Merge pull request #18986 from owncloud/federated_capabilities
Expose federated sharing capabilities to authenticated users
2015-09-18 11:58:54 +02:00
Joas Schilling
6bc93c7401 Disable the remote sharing notifications until they work properly 2015-09-17 11:14:28 +02:00
Joas Schilling
59967599ac Fix the parameter order in the translation 2015-09-16 06:47:40 +02:00
Joas Schilling
fe8ef0dd36 Add reshare activities for the parent sharee and the original file owner 2015-09-15 17:36:56 +02:00
Roeland Jago Douma
91dfcab055 Expose federated sharing capabilities to authenticated users 2015-09-15 15:10:13 +02:00
Joas Schilling
38001d824b Move interfaces to private until they are no longer experimental 2015-09-08 09:01:02 +02:00
Joas Schilling
805f1d0096 Scrap the notifications when the share is accepted or declined 2015-09-08 09:01:01 +02:00
Joas Schilling
d191a0dacc Add notifications for remote shares 2015-09-08 09:01:01 +02:00
Joas Schilling
7af7fdd929 Use context function call instead of static 2015-09-07 14:28:20 +02:00
Roeland Douma
24f5f50b20 Merge pull request #18742 from owncloud/mimetype-updatedb
Introduce mimetype DB update occ command
2015-09-06 16:56:35 +02:00
Robin McCorkell
cdf01f0419 Split mimetype handling to new class 2015-09-04 17:28:20 +01:00
Morris Jobke
e1a79cd651 Avoid re-propagation of shares during one propagation run
* fix was proposed by @nickvergessen
2015-09-04 16:17:27 +02:00
Robin Appelman
fd7b210654 Delay setting up the filesystem for a share owner untill the share is used 2015-09-03 13:46:08 +02:00
Vincent Petry
6848f25c0d Merge pull request #18477 from owncloud/fed-alwaysdetectremotechanges
Always detect remote changes for fed sharing
2015-08-24 12:17:23 +02:00
Lukas Reschke
0a1d551090 Use IClientService to check for remote ownCloud instances
1. Allows to set a timeout (though still not perfect but way better than before)
2. Allows to have unit tests
3. I also added unit tests for the existing controller code
4. Corrected PHPDoc on IClient
2015-08-22 14:39:43 +02:00
Vincent Petry
d658d8dd4e Always detect remote changes for fed sharing
This is even more important now that filesystem_check_changes is 0 by
default.
2015-08-21 15:32:53 +02:00
Robin McCorkell
99b54e102d Prevent shares being added to oc_storages via availability 2015-08-20 22:43:46 +01:00
Robin McCorkell
6e47661afd Fix extracting basename from path in sharing 2015-08-18 13:41:47 +01:00
Roeland Jago Douma
dce5d9b5d1 Add public upload to capability 2015-08-14 20:03:32 +02:00
Joas Schilling
70504920e7 Fix default values of sharing capabilities
The problem is the UI used a different default than the capabilities.
So when you never touched the config, the setting in admins said "disabled"
while the capabilities said "enabled".
2015-08-13 12:46:52 +02:00
Joas Schilling
acd54fbeda Merge pull request #16528 from owncloud/activity-302-improve-settings
Activity 302 improve settings
2015-08-11 11:24:27 +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
Robin Appelman
859da8f0b3 just pass the share instead of searching for it 2015-08-05 15:41:29 +02:00
Robin Appelman
7b70343dc3 fix infinite loops with propagating etags on reshares 2015-08-03 17:33:12 +02:00
Joas Schilling
a1037f1679 Do not use magic strings when there are constants for it 2015-07-22 15:10:34 +02:00
Morris Jobke
2d691c2fb4 Merge pull request #17381 from owncloud/fix_sharing_add_to_group
[sharing] fix addToGroup hook
2015-07-21 13:30:41 +02:00
Vincent Petry
3d6be69f25 Throw storage not available on guzzle error
If the remote server is in maintenance mode, we must throw storage not
available exception instead of not found which might auto-remove the
share.
2015-07-13 18:51:25 +02:00
Thomas Müller
14eef434ff Merge pull request #17290 from owncloud/remove-readonly-wrapper
Replace readonly wrapper with permissions mask
2015-07-06 15:36:11 +02:00
Joas Schilling
4dbc8ab77f Merge pull request #17335 from owncloud/better-federated-cloud-sharing-activities
Improve federated cloud sharing activities
2015-07-06 10:23:33 +02:00
Bjoern Schiessle
763b601e4a use the correct user if we update the share table 2015-07-03 15:58:52 +02:00
Joas Schilling
2118713477 Add OCS api to get, accept and decline remote shares 2015-07-03 09:30:49 +02:00
Joas Schilling
ddb8cc2303 Use federated cloud id as a parameter type 2015-07-02 13:14:02 +02:00
Vincent Petry
aedf4848f7 Merge pull request #17324 from owncloud/fix-duplicated-line-in-doc-block
Fix duplicated line in doc block
2015-07-02 13:00:22 +02:00
Joas Schilling
aa7c8ad191 Add the item name to the federated sahre activity 2015-07-02 12:28:48 +02:00
Joas Schilling
95faaad5cf Use the app constant to fix the grouping 2015-07-02 12:27:58 +02:00
Joas Schilling
7e3f8d3ac1 Use the item name when refering to the unaccepted remote share 2015-07-02 12:26:06 +02:00
Joas Schilling
bfcb8ffeb3 Merge pull request #17246 from owncloud/share-lock-owner-parent
lock parent folders for the owner when locking a shared file as recipient
2015-07-02 10:38:08 +02:00
Joas Schilling
a6ea91996c Fix duplicated line in doc block 2015-07-02 10:24:16 +02:00
Vincent Petry
9c06975bd5 Fix scanFile signature to avoid boring warning 2015-07-01 16:29:11 +02:00
Robin Appelman
dd20cd1995 remove no longer needed readonly wrapper 2015-07-01 15:45:54 +02:00
Robin Appelman
3c0be7d126 only lock the parent folders 2015-07-01 15:10:25 +02:00
Robin Appelman
d6f56ea609 lock parent folders for the owner when locking a shared file as recipient 2015-07-01 15:10:22 +02:00
Vincent Petry
5d3aa36355 Catch more error codes thrown by federated shares
Most of the time it doesn't make sense to forward Guzzle's
RequestException, so we convert it to StorageNotAvailable instead.

This prevents unpredictable error codes to block access to unrelated
folders needlessly.
2015-07-01 11:14:03 +02:00
Morris Jobke
044d2ece07 Merge pull request #15506 from rullzer/core_apps_oc_log2ocp_util
Move core apps from OC_Log::write to OCP\Util
2015-07-01 08:53:16 +02:00
Morris Jobke
f25b71f70e Merge pull request #15475 from rullzer/files_sharing_OCP_DB
Move files sharing app (mostly) to OCP\DB
2015-07-01 08:53:03 +02:00
Vincent Petry
b55f71ee03 Merge pull request #17083 from owncloud/share-etag-update-target
take share target into account when updating recipient etags
2015-06-29 09:10:37 +02:00
Lukas Reschke
d1f0ff372e Merge pull request #17163 from owncloud/update-licenses
Update license headers
2015-06-27 20:22:23 +02:00
Olivier Paroz
b30515ddda Signature of overriding method should match the parent 2015-06-26 17:45:04 +02:00
Thomas Müller
9558562883 Merge pull request #17082 from owncloud/shared-etag-propagate-file
Fix etag propagation for single file shares
2015-06-26 12:36:17 +02:00
Robin Appelman
0128a86df1 add some docs 2015-06-25 14:29:40 +02:00
Morris Jobke
f63915d0c8 update license headers and authors 2015-06-25 14:13:49 +02:00
Robin Appelman
c87ab65081 fix etag propagation for single file shares 2015-06-24 18:16:03 +02:00
Morris Jobke
4f2f8a6f28 [sharing] handle shares of users that aren't available anymore
* properly handle the case where an abandoned share is left and
  simply skip it
2015-06-23 18:22:36 +02:00
Robin Appelman
5e1865530b take share target into account when updating recipient etags 2015-06-22 18:21:54 +02:00
Morris Jobke
7550bf0917 Disable video preview if previews are disabled 2015-06-09 17:49:59 +02:00
Lukas Reschke
1cccb227c3 Merge pull request #16686 from owncloud/show_cloud_id
show federated cloud id in the personal settings
2015-06-02 17:05:33 +02:00
Bjoern Schiessle
6e5ed81064 show federated cloud id in the personal settings 2015-06-02 14:09:53 +02:00
Robin Appelman
661c9e2444 add changeLock to the storage api 2015-06-01 13:24:02 +02:00
Robin Appelman
536e187e51 add locking to the storage api 2015-06-01 13:22:56 +02:00
Thomas Müller
f9d04f62a8 Merge pull request #16440 from owncloud/scrutinizer-patch-1
Scrutinizer Auto-Fixes
2015-05-19 22:12:35 +02:00
Joas Schilling
d832c4ae23 Fix unexisting class and broken doc 2015-05-19 15:27:50 +02:00
Scrutinizer Auto-Fixer
fdbc21fc6c Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-05-19 11:23:06 +00:00
Roeland Jago Douma
dd3d0194a6 Move files sharing app (mostly) to OCP\DB 2015-05-18 11:06:23 +02:00
Roeland Jago Douma
7a8072e958 Move core apps from OC_Log::write to OCP\Util 2015-05-18 10:57:52 +02:00
Bjoern Schiessle
887be709f5 a new approach to display the error message 2015-05-18 10:15:17 +02:00
Robin Appelman
3b1dde7005 dont go trough the view when renaming/copying on shared storages 2015-05-12 17:09:37 +02:00
Morris Jobke
90d8e4bc00 Merge pull request #15815 from owncloud/unshare-etag-propagate
Update etag of direct parent on unshare
2015-05-11 13:42:20 +02:00
Lukas Reschke
d9746d8abd Fix PHPDoc for the ext. share controller 2015-05-04 18:06:16 +02:00
Morris Jobke
760ce3bd63 Fix DeleteOrphanedSharesJob
* remove unneeded use statements
* the the interval properly in the constructor
* set the log level to debug (from info) - fixes #16036
2015-05-04 13:58:58 +02:00
Joas Schilling
34181c3aef Correctly send Federate-Cloud Share Feedback against the remote share ID 2015-04-28 14:29:04 +02:00
Vincent Petry
65fbb5eda0 Update etag of direct parent on unshare
Only call dirname() once instead of twice when propagating etags to the
recipient's parent folders.
2015-04-28 13:11:23 +02:00
Joas Schilling
8f7c64253e Correctly generate the feedback URL for remote share
The trailing slash was added in c78e3c4a7f
to correctly generate the encryption keys
2015-04-28 11:28:54 +02:00
Robin Appelman
5304afbecb dont pass floats as timestamp to the changepropagator 2015-04-27 15:18:25 +02:00
Robin Appelman
32067f9e80 use microtime to prevent race conditions 2015-04-27 14:07:16 +02:00
Robin Appelman
2e897f05b1 triger propagation for webdav uploads
use post hooks for share etag propagator
2015-04-27 14:07:16 +02:00
Robin Appelman
45784f213f fix propagation when renaming a directly reshared folder 2015-04-27 14:07:16 +02:00
Robin Appelman
f488624e5f minor fixes 2015-04-27 14:07:16 +02:00
Robin Appelman
526ea3fcba add rename hook for propagation 2015-04-27 14:07:16 +02:00
Robin Appelman
77fbb4125b propagate changes up reshares 2015-04-27 14:07:16 +02:00
Robin Appelman
8cb40f6043 Make sure the owner mountpoints are setup 2015-04-27 14:07:16 +02:00
Robin Appelman
30ad56813a propagate etags for all user of a share 2015-04-27 14:07:15 +02:00
Robin Appelman
57f49391dc remove unneeded readonlycache 2015-04-22 20:07:54 +02:00
Robin Appelman
03b7f1d015 use the permissions mask cache wrapper instead of the read only cache 2015-04-22 15:28:06 +02:00
Olivier Paroz
fcc1b9b3cc Thou shalt not corrupt the answer of a cache request 2015-04-18 12:33:43 +02:00
Morris Jobke
82cab25762 Merge pull request #13360 from owncloud/cross-storage-move
Proper copy/move between multiple local storages
2015-04-14 14:35:08 +02:00
Robin Appelman
0f21303b75 a bit more phpdoc 2015-04-14 12:35:53 +02:00
Robin Appelman
f605c98531 Fix cross storage move with shared storages 2015-04-13 17:10:05 +02:00
Robin Appelman
8688660825 check that we know the parent 2015-04-13 17:10:02 +02:00
Robin Appelman
6b5daca7b7 check for source cache 2015-04-13 17:10:02 +02:00
Robin Appelman
d4c91dc835 add missing return for shared 2015-04-13 15:13:03 +02:00
Robin Appelman
d726db7459 Implement move/copyFromStorage for shared storage 2015-04-13 15:13:03 +02:00
Vincent Petry
b51b5b64e6 Fix converting Guzzle error codes in s2s storage 2015-04-10 12:12:05 +02:00
Vincent Petry
73afca6207 Catch more exceptions when connecting to remote DAV server
Added InvalidArgumentException to catch HTML parsing errors when XML was
expected.
Made convertSabreException more generic to be able to handle more
exception cases.
2015-04-10 12:02:06 +02:00
Vincent Petry
4feb97d8e4 Properly catch guzzle 503 when querying share info 2015-04-09 18:55:28 +02:00
Vincent Petry
08a9d1d2dc Remove unused $toRemove 2015-04-09 12:34:19 +02:00
Vincent Petry
461302244e Keep shares when deleting shared folders
The share entries will be linked with the fileid while they are kept in
the trashbin.

In the future a background just will scrape orphaned shares and delete
them.
2015-04-09 10:16:40 +02:00
Vincent Petry
17b141337a Delete orphaned shares in a background job 2015-04-08 10:47:55 +02:00
Bjoern Schiessle
60d8a39f03 store init status per user 2015-04-07 13:30:30 +02:00
Bjoern Schiessle
de4ec21c39 work arround to make sure that shares are initialized only once 2015-04-07 13:30:30 +02:00
Bjoern Schiessle
0eee3a2618 remove unencrypted_size from the cache, size will contain the unencrypted size 2015-04-07 13:30:28 +02:00
Roeland Jago Douma
2b81d0f237 Move core apps from private to public functions
Apps still use OC_Helper and OC_Util functions even when public ones are
already available. Sometimes the public one is even used in the same
file.
2015-04-01 12:06:04 +02:00
Joas Schilling
4c9c73bef9 Correct the app name for sharing events 2015-03-30 15:14:31 +02:00
Morris Jobke
cfe241a959 Merge pull request #13964 from rullzer/capabilities
Add OCS sharing info to capabilities - take 2
2015-03-30 10:06:05 +02:00
Morris Jobke
d082e37270 Merge pull request #15244 from owncloud/use_default_share_folder
always fall back to default share folder
2015-03-26 22:39:04 +01:00
Morris Jobke
e8109f0bc3 Merge pull request #13802 from owncloud/share-partfilepermissions
Fix share permission checks
2015-03-26 22:01:05 +01:00
Bjoern Schiessle
a3592534ef always fall back to default share folder 2015-03-26 21:56:44 +01:00
Thomas Müller
7bff0681fe Merge pull request #15001 from owncloud/kill-share-proxy
Replace share proxy with a hook
2015-03-26 21:20:05 +01:00
Robin Appelman
1be7da4a57 replace share proxy with hook 2015-03-26 19:56:57 +01:00
Lukas Reschke
071a339593 Remove IDE autocomplete fail
🙈 *cough* *cough*
2015-03-26 19:39:15 +01:00
Jenkins for ownCloud
b585d87d9d Update license headers 2015-03-26 11:44:36 +01:00
Lukas Reschke
5f044ebf1b Add wrapper for Guzzle 2015-03-25 16:04:41 +01:00
Morris Jobke
1db177b841 Merge pull request #15055 from owncloud/share-activity-grouping
Group sharing activities by user/group and file respectively
2015-03-24 20:23:36 +01:00
Joas Schilling
7de15f3125 *cough* 2015-03-24 17:08:03 +01:00
Morris Jobke
965d97a8f5 Merge pull request #14580 from owncloud/issue/13765-duplicate-remote-share
"Integrity constraint violation" when sharing the same item twice with the same user
2015-03-24 15:05:58 +01:00
Robin Appelman
d46b7d73e7 when the path doesnt exist show a proper error page 2015-03-24 12:21:25 +01:00
Lukas Reschke
e2453d78c0 Properly catch whether a share is null
Despite it's PHPDoc the function might return `null` which was not properly catched and thus in some situations the share was resolved to the sharing users root directory.

To test this perform the following steps:

* Share file in owncloud 7 (7.0.4.2)
* Delete the parent folder of the shared file
* The share stays is in the DB and the share via the sharelink is inaccessible. (which is good)
* Upgrade to owncloud 8 (8.0.2) (This step is crucial. The bug is not reproduceable without upgrading from 7 to 8. It seems like the old tokens are handled different than the newer ones)
* Optional Step: Logout, Reset Browser Session, etc.
* Access the share via the old share url: almost empty page, but there is a dowload button which adds a "/download" to the URL.
* Upon clicking, a download.zip is downloaded which contains EVERYTHING from the owncloud directory (of the user who shared the file)
* No exception is thrown and no error is logged.

This will add a check whether the share is a valid one and also adds unit tests to prevent further regressions in the future. Needs to be backported to ownCloud 8.

Adding a proper clean-up of the orphaned shares is out-of-scope and would probably require some kind of FK or so.

Fixes https://github.com/owncloud/core/issues/15097
2015-03-24 11:21:58 +01:00
Thomas Müller
afa8872955 Merge pull request #14857 from owncloud/preview-provider-registration-in-manager
Preview provider registration in manager
2015-03-20 16:34:22 +01:00
Joas Schilling
7776e088d6 Group sharing activities by user/group and file respectively 2015-03-20 09:49:33 +01:00
Vincent Petry
5f7b3a4dbe Rename must be possible with update-only permission
and this as long as the rename is done within the same folder.
2015-03-19 21:55:56 +01:00