Commit Graph

1261 Commits

Author SHA1 Message Date
Joas Schilling 0fe4b717dc
Correctly use the displayname of the sharer in the notification
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:37:47 +01:00
Joas Schilling e79ab7d0c5
The share manager knows which provider can accept shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:37:47 +01:00
Joas Schilling 19e1892d50
Use constants for the magic strings
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:37:45 +01:00
Joas Schilling 43517cfac6
Accept existing shares on update
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:37:00 +01:00
Joas Schilling 60da25681e
Only restrict loading of group and user shares for now
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:37:00 +01:00
Joas Schilling 8986910a7d
Add notifications for users that are added to the group
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:37:00 +01:00
Joas Schilling 520042bbd0
Allow to accept group shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:36:58 +01:00
Joas Schilling c79a56481b
Notifications for group shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:33:53 +01:00
Joas Schilling e96c9e0e4a
Add the notifier and the API endpoint for user shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:33:50 +01:00
Joas Schilling dcdbea54e6
Respect the accepted flag for group and user shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:13:38 +01:00
Roeland Jago Douma 1ac57e76fa
Add notification for shares about to expire
Introduces a new command that will create notifications for users if
they have shares that will expire the next day.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-01 08:53:18 +01:00
John Molakvoæ (skjnldsv) 2fd057513a Fix current user edit/delete permissions
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-29 13:20:08 +01:00
John Molakvoæ (skjnldsv) cc4362df4f Unify code to get shares of a file or also including subfiles
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-25 21:41:12 +02:00
John Molakvoæ (skjnldsv) dbb6b4cbb9 Filter out duplicated shares before processing them
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-25 21:41:12 +02:00
Daniel Calviño Sánchez 8098abee60 Do not return shares with the current user
Getting the shares of a file no longer returns shares with the current
user for consistency with the results when getting the shares including
subfiles.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-25 21:40:50 +02:00
Daniel Calviño Sánchez 1afefc2d9a Extract method to get all shares
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-25 21:39:49 +02:00
Daniel Calviño Sánchez 222e5a9a9f Add missing share types when getting shares of a file
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-25 21:39:49 +02:00
Daniel Calviño Sánchez 24febe1e41 Unify share type sorting when getting shares of a file or with subfiles
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-25 21:39:49 +02:00
Daniel Calviño Sánchez 0599536c82 Remove unneeded calls to "ShareManager::shareProviderExists()"
"ShareManager::getSharesBy()" already checks if the share provider
exists before returning the shares and, if the provider does not exist,
it returns an empty array. Therefore it is not needed to explicitly
check if the provider exists or not.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-25 21:39:49 +02:00
j3l11234 fa4d71c456 Add support for download share on old android browser
Signed-off-by: j3l11234 <297259024@qq.com>
2019-10-21 21:29:49 +08:00
Daniel Calviño Sánchez 5c7c308220 Include the share in the Files_Sharing::loadAdditionalScripts event
This provides a better context for apps using the event, for example to
load one script or another depending on whether the share is a file or a
folder.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-17 18:22:54 +02:00
Roeland Jago Douma 4a2f9fab66
Move over OCSShareAPIMIddleware to pure DI
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-10-16 22:53:09 +02:00
Joas Schilling 4d40eb61b4
List share download activity under sharing
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-10-10 08:43:54 +02:00
John Molakvoæ (skjnldsv) ff895abac0
Fix shares read permissions
A user with reshare permissions on a file is now able to get any share
of that file (just like the owner).

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-04 21:40:30 +02:00
John Molakvoæ (skjnldsv) b1069b29fa
Add checks for whether a user with access to a share can delete it
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-04 19:25:11 +02:00
John Molakvoæ (skjnldsv) f02cff1304
Extract check for whether a user with access to a share can edit it
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-04 19:25:11 +02:00
John Molakvoæ (skjnldsv) c49469c4d8
Prevent non owners to update others link shares
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-04 08:19:07 +02:00
John Molakvoæ (skjnldsv) c8d50538b8
Use same settings for mail share as link shares
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-04 08:19:07 +02:00
Joas Schilling 15d39c48e6
Merge pull request #17021 from nextcloud/bye-spreed-hello-talk
Bye Spreed namespace, hello Talk!
2019-09-11 14:59:37 +02:00
Joas Schilling 858b18e34a
Bye Spreed namespace, hello Talk!
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-05 15:32:58 +02:00
Joas Schilling 70807a74c7
Correctly check for new default root
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-04 09:28:58 +02:00
Julius Härtl 64c63bb00b
Properly initialize the CacheJail for sharing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-03 18:07:59 +02:00
John Molakvoæ (skjnldsv) b557f52c22
Add expiration event for shares
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-08-21 08:30:17 +02:00
Joas Schilling 85a80b05ac
Unify the permission checking in one place only
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-07-03 16:34:00 +02:00
Joas Schilling 7aa26b28a8
Correctly check share permissions when updating a re-sub-share
Before this change the node you shared was checked for permissions.
This works when you reshare the folder that was shared with you.
However when you reshared a subfolder (e.g. as public link),
you could afterwards update the permissions and grant
create+update permissions although the share you receive was read-only.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-06-27 15:27:30 +02:00
tobiasKaminsky b65a59568e
add "askForPassword" on capabilities for sharing
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-05-13 20:09:00 +02:00
Morris Jobke 2565e16770
Fix public upload by also load the semaphore method
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-05-07 23:48:06 +02:00
Daniel Calviño Sánchez dfe9e3fb2e Do not allow JavaScript "eval" in the public share auth page with Talk
Talk no longer uses JavaScript "eval", so the Content Security Policy
can now be configured to prevent its use in the public share
authentication page when the password is protected by Talk.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-04-10 16:46:19 +02:00
Maxence Lange 749fdab3b0 do not returns shared_with === currentUser
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-04-01 11:17:05 -01:00
Maxence Lange 0166990f01 fixing share format
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-03-31 10:40:14 -01:00
Maxence Lange efbadf0cf2 issue during last push
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-03-31 10:40:14 -01:00
Maxence Lange 44c1feb938 returns reshares in API
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-03-31 10:40:14 -01:00
Morris Jobke 4b49e2eb52
Fix unnecessary boolean cast
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-06 10:12:58 +01:00
Morris Jobke fde4c54136
Merge pull request #13790 from fretn/master
Fix for crashing occ files:scan
2019-03-06 10:12:14 +01:00
Christoph Wurst e930a0ccbe
Search sharees on lookup server when explicitly requested by user
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-02-26 19:44:49 +01:00
Morris Jobke ee68e8f47e
Merge pull request #13514 from nextcloud/fix-public-grid-toggle
Fix grid toggle button on public page
2019-02-25 21:18:42 +01:00
Christoph Wurst f3023aaa85
Show sharing recommendations
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-02-25 07:25:21 +01:00
John Molakvoæ (skjnldsv) ee2c45d60d
Fix grid toggle button on public page
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-02-21 09:17:57 +01:00
Julius Härtl 2ec5e2b588
Fix writable public folder share
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-02-19 10:18:26 +01:00
Roeland Jago Douma 0e72d38747
Catch Request exception in testRemoteUrl
Else the background job fails hard if the remote has for example an
invalid certificate.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-15 23:06:21 +01:00
Jonas Sulzer 3a5d634ccc
add myself as @author
Signed-off-by: Jonas Sulzer <jonas@violoncello.ch>
2019-01-31 22:39:01 +01:00
Jonas Sulzer e2ec22c43d
code styling
Signed-off-by: Jonas Sulzer <jonas@violoncello.ch>
2019-01-31 22:39:00 +01:00
Jonas Sulzer 5756d96ab9
restructure code
Signed-off-by: Jonas Sulzer <jonas@violoncello.ch>
2019-01-31 22:39:00 +01:00
Jonas Sulzer 30d4024d9d
only show "Add to your Nextcloud" on share link if federation is activated
Signed-off-by: Jonas Sulzer <jonas@violoncello.ch>
2019-01-31 22:38:31 +01:00
fretn 7efcd11b8e Fix for crashing occ files:scan
when $share === false then (int)$share['share_type'] will always be equal to (int)0

which results in following crash:

[root@server nextcloud] sudo -u apache php occ files:scan someuser
The current PHP memory limit is below the recommended value of 512MB.
Starting scan for user 1 out of 1 (someuser)
An unhandled exception has been thrown:
TypeError: Argument 1 passed to OC\OCS\DiscoveryService::discover() must be of the type string, null given, called in /var/www/html/nextcloud/apps/files_sharing/lib/External/Manager.php on line 382 and defined in /var/www/html/nextcloud/lib/private/OCS/DiscoveryService.php:65
Stack trace:
0 /var/www/html/nextcloud/apps/files_sharing/lib/External/Manager.php(382): OC\OCS\DiscoveryService->discover(NULL, 'FEDERATED_SHARI...')
1 /var/www/html/nextcloud/apps/files_sharing/lib/External/Manager.php(527): OCA\Files_Sharing\External\Manager->sendFeedbackToRemote(NULL, NULL, NULL, 'decline')
2 /var/www/html/nextcloud/apps/files_sharing/lib/External/Storage.php(216): OCA\Files_Sharing\External\Manager->removeShare('files/Someth...')
3 [internal function]: OCA\Files_Sharing\External\Storage->checkStorageAvailability()
4 /var/www/html/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php(505): call_user_func_array(Array, Array)
5 [internal function]: OC\Files\Storage\Wrapper\Wrapper->__call('checkStorageAva...', Array)
6 /var/www/html/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php(505): call_user_func_array(Array, Array)
7 /var/www/html/nextcloud/apps/files_sharing/lib/External/Scanner.php(89): OC\Files\Storage\Wrapper\Wrapper->__call('checkStorageAva...', Array)
8 /var/www/html/nextcloud/apps/files_sharing/lib/External/Scanner.php(44): OCA\Files_Sharing\External\Scanner->scanAll()
9 /var/www/html/nextcloud/lib/private/Files/Utils/Scanner.php(245): OCA\Files_Sharing\External\Scanner->scan('', true, 3)
10 /var/www/html/nextcloud/apps/files/lib/Command/Scan.php(172): OC\Files\Utils\Scanner->scan('/someuser', true, NULL)
11 /var/www/html/nextcloud/apps/files/lib/Command/Scan.php(249): OCA\Files\Command\Scan->scanFiles('someuser', '/someuser', false, Object(Symfony\Component\Console\Output\ConsoleOutput), false, true, false)
12 /var/www/html/nextcloud/3rdparty/symfony/console/Command/Command.php(251): OCA\Files\Command\Scan->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
13 /var/www/html/nextcloud/core/Command/Base.php(162): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
14 /var/www/html/nextcloud/3rdparty/symfony/console/Application.php(946): OC\Core\Command\Base->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
15 /var/www/html/nextcloud/3rdparty/symfony/console/Application.php(248): Symfony\Component\Console\Application->doRunCommand(Object(OCA\Files\Command\Scan), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
16 /var/www/html/nextcloud/3rdparty/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
17 /var/www/html/nextcloud/lib/private/Console/Application.php(213): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
18 /var/www/html/nextcloud/console.php(96): OC\Console\Application->run()
19 /var/www/html/nextcloud/occ(11): require_once('/var/www/html/n...')
20 {main}[root@server nextcloud]

Signed-off-by: fretn <frederikdelaere+github@gmail.com>
2019-01-24 11:45:53 +01:00
Julius Härtl 3828283c01
Add caching headers for public previews
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-01-02 22:27:46 +01:00
Joas Schilling ee545d6840
Fix typo in "incoming"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-12-05 11:27:38 +01:00
Morris Jobke d8314b102e
Merge pull request #12624 from nextcloud/bugfix/noid/validate-all-rich-objects
Validate all rich objects
2018-12-04 22:48:54 +01:00
Morris Jobke cae600d205
Merge pull request #12628 from nextcloud/bugfix/act-317/missing-activity-for-user-self-unshare
Parse activity when a user self-unshares a file
2018-11-30 10:14:26 +01:00
Robin Appelman 2c1f6331a4
Add interface to allow storages from opting out of encryption
As opposed to hard-coding a list of excluded storages

Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-29 16:31:34 +01:00
Bjoern Schiessle 1518671ad8
add capabilities for multiple share links
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-11-26 14:44:59 +01:00
Joas Schilling 72f8a58f89
Parse activity when a user self-unshares a file
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-23 13:21:52 +01:00
Joas Schilling 99bcc1363e
Fix wrong used type
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-23 12:39:02 +01:00
Roeland Jago Douma a343a60a68
Handle permission in update of share better
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-20 09:42:01 +01:00
John Molakvoæ (skjnldsv) 1deda8fd65
Rollback to default list view
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-11-15 20:29:10 +01:00
Morris Jobke 79681ef3d9
Merge pull request #12398 from nextcloud/fix/12378
change "Download" to "Download all files" for shared folders
2018-11-13 17:21:09 +01:00
Jonas Sulzer 1f237c7e25
change "Download" to "Download all files" for shared folders
fixes #12378

Signed-off-by: Jonas Sulzer <jonas@violoncello.ch>
2018-11-10 19:10:31 +01:00
Joas Schilling bb352fb667
Use the defined func()->count() instead of manual counting
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-08 15:44:45 +01:00
Morris Jobke 7940a79a41
Merge pull request #12324 from nextcloud/add-password-response-parameter-for-returning-the-password-of-link-shares
Add "password" parameter to the response data of link shares
2018-11-07 16:29:05 +01:00
Morris Jobke 9669d451e3
Reduce function calls
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-07 10:19:20 +01:00
Michael Weimann c572c669e5
Adapts the code to the new master state
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2018-11-07 10:19:20 +01:00
Michael Weimann 95a19bdfdd
Inlines the share note for file drops
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2018-11-07 10:19:19 +01:00
Michael Weimann 08e681b221
Inlines the share note for file drops
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2018-11-07 10:19:19 +01:00
Michael Weimann 16f379b974
Hides the header actions for file drops
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2018-11-07 10:19:19 +01:00
Daniel Calviño Sánchez b2cc2d6023 Add "password" parameter to the response data of link shares
Due to legacy reasons the password of link shares was returned in the
"share_with" and "share_with_displayname" parameters of the response
data. Now a proper "password" parameter is returned too; the old
"share_with" and "share_with_displayname" parameters are kept, although
deprecated, and they will be removed in a future version of Nextcloud.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-06 23:48:28 +01:00
John Molakvoæ (skjnldsv) 5682d302c7
Add grid toggle for every files view
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-11-06 11:42:18 +01:00
Morris Jobke cba3883410
Merge pull request #12185 from nextcloud/cleanup/dicontainer
Cleanup the DIContainer
2018-11-05 12:16:36 +01:00
Roeland Jago Douma 72b7c9ffa0
Merge pull request #12105 from nextcloud/using-resharing-right-to-display-shares
Shares are displayed to users with resharing rights
2018-11-04 21:08:11 +01:00
Roeland Jago Douma c8cf986527
Fix files_sharing
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-02 19:20:37 +01:00
Maxence Lange 0fc8a0f58e
user can have his resharing rights revoked, yet seeing created shares
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2018-11-02 12:10:49 +01:00
Maxence Lange 236a293f6a
check parents resharing rights
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2018-11-02 12:10:48 +01:00
Maxence Lange 275cea5d9c
limit to circles moderator
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2018-11-02 12:09:28 +01:00
Maxence Lange 72ad2d60b5
display shares to circles moderator
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2018-11-02 12:09:28 +01:00
Maxence Lange 68c44bb642
shares are displayed to users with resharing rights
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2018-11-02 12:09:26 +01:00
Daniel Calviño Sánchez adf80aa8b3 Add sending the password by Talk for a link share to ShareAPIController
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-02 01:57:48 +01:00
Bjoern Schiessle 5e90711600 allow to update lables for public link shares
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-11-01 02:18:55 +01:00
Bjoern Schiessle f377a61f90 allow to add labels to shares
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-11-01 02:15:07 +01:00
Bjoern Schiessle d0411b2369
allow to create multiple link shares via share api
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-10-31 06:55:52 +01:00
Daniel Calviño Sánchez bfb2a914d2 Honour "hide download" in the public share page
When the "hide download" property of a share is set the public share
page will not show the download button nor the menu with the download,
direct link and "Add to your Nextcloud" actions; the "downloadURL"
hidden field will not be included either in the generated HTML.

Despite that, note that the "downloadURL" parameter is still set and
passed to the template, as this could be needed anyway to generate
previews (for example, of audio files).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-30 15:18:55 +01:00
Roeland Jago Douma c237a3f003 Expose hide download to public page
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-30 15:18:55 +01:00
Roeland Jago Douma abbb946bbb Propegate hide download state in share provider
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-30 15:18:55 +01:00
John Molakvoæ (skjnldsv) b6981dcecb
Merge branch 'master' of https://github.com/nextcloud/server into gridview-table
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-10-23 16:44:20 +02:00
John Molakvoæ (skjnldsv) e0dde083d0
Public fixes, request & default to grid
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-10-23 08:43:02 +02:00
Joas Schilling 3febeb6ca7
Use lax CSP when the share is a talk share
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-22 10:57:55 +02:00
blizzz 2634ceb35b
Merge pull request #11862 from nextcloud/bugfix/ensure_cache_it_init
Double check for failed cache with a shared storage
2018-10-17 13:12:57 +02:00
Morris Jobke b88ab75c3a
Merge pull request #11870 from nextcloud/fix/noid/proper-column-name-escaping
Properly quote column name in "createFunction" call
2018-10-16 17:02:26 +02:00
Morris Jobke b458ed9c82
Properly escape column name in "createFunction" call
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-16 15:24:02 +02:00
Roeland Jago Douma 1bc388e507
Double check for failed cache with a shared storage
When obtaining the SourceRootInfo we can call init. If this fails the
cache is set to a failed cache and the storage to a failed storage.
However we did not check for this. Which means that if the storage was
invalid it would fail later on.

Now we will properly error out.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-16 10:57:37 +02:00
Roeland Jago Douma bee5bbbf0e
Move files_drop to compiled handlebars
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-16 08:27:06 +02:00
Joas Schilling ea21aa3f7a
Use numeric placeholders if there are multiple, so that RTL languages can operate better
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-09 14:32:14 +02:00
Roeland Jago Douma 13b1cd5cb8
Allow userId to be null
Fixes #10852

A quick hack. Still ensures some type safety however now also accepts
null. Else we'd need to add a whole new layer of middlewares.

This can only happen when a guest user wants to access a controller that
requries the user_id.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-04 13:04:58 +02:00
Roeland Jago Douma 335efcc43b
Move to 1 template file for files
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-01 17:15:07 +02:00
Roeland Jago Douma ae1250f422
Compile filesummary handlebars
Fixes #11030
For https://github.com/orgs/nextcloud/projects/18

This template is now compiled so this no longer has to happen in the
browser. Another step towards a stricter CSP.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-27 20:16:08 +02:00
Arthur Schiwon c526cdf8ab
do not explode when getting permissions from a FailedStorage
for instance if a user of an external user backend is not available
currently, the whole Files UI would be frozen.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-09-26 10:48:37 +02:00
Roeland Jago Douma e7b1c9adc7
Properly check share permissions
isCreatable only works on folders
isUpdatable if the file is not there but it is a part file also has to
be checked on the folder

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-06 17:10:21 +02:00
Roeland Jago Douma 870ebec4ac
Fix shared cache
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-06 17:10:21 +02:00
Roeland Jago Douma d7931b82ae
Check the permission of the underlying storage
Else shares might expose more permissions than the storage actually
providers.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-06 17:10:21 +02:00
Morris Jobke 8761856a71
Merge pull request #10838 from nextcloud/header-fixes-and-public-note
Header fixes and public note
2018-08-24 22:21:55 +02:00
Daniel Calviño Sánchez 5c07f9c2ec
Add rooms in the default candidate types to look for when sharing
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-08-24 18:06:46 +02:00
John Molakvoæ (skjnldsv) ac2c925231
Fix mobile view and add public share note view
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-08-24 16:45:40 +02:00
Robin Appelman 67f3d6f0a6
cache parent exists status during share setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-16 21:28:01 +02:00
Robin Appelman 720b27d60b
only determine is sharing is disabled for a user once
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-16 21:27:54 +02:00
Robin Appelman b5217b6f63
don't check if target dir exists when using the default share target directory
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-16 21:27:51 +02:00
Robin Appelman b79f338e71
re-use view instances for shared storages
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-16 21:27:48 +02:00
Robin Appelman bc4f10ad83
more efficient way to detect added and removed mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-16 21:27:45 +02:00
Robin Appelman 3155c1bd9a
more efficient unique share target generation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-16 19:54:42 +02:00
Björn Schießle 6aa6d2186c
Merge pull request #10255 from nextcloud/add-support-for-room-shares
Add support for room shares
2018-08-09 10:44:11 +02:00
Daniel Calviño Sánchez e2e6f23b67 Suppress Phan warnings about calling undeclared class methods
The DeletedShareAPIController and ShareAPIController helpers for room
shares are defined in Talk, so the classes do not exist when Talk is not
installed. Due to this when the object returned by "getRoomShareHelper"
is used Phan complains that the class is not declared.

This is not a problem, though, because when the class is not available
"getRoomShareHelper" throws an exception, which is then caught where
that method was called. Therefore now those warnings from Phan are
suppressed (it would be better to use "@phan-suppress-next-line"
instead, but it is not yet available in our Phan version).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-08-08 14:25:44 +02:00
Daniel Calviño Sánchez 1ccc99ed83 Add support for room shares to the share owner updater
A user can move her own shares into a received share. When that happens
she is effectively handing over the ownership of the file, so the share
needs to be updated to reflect the new owner.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-08-08 14:25:43 +02:00
Daniel Calviño Sánchez 8084ba516f Add room shares to the MountProvider for shares
The MountProvider for shares creates mount points for the files shared
with the user, which makes possible to use the received shared files and
folders as regular files and folders.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-08-08 14:25:43 +02:00
Daniel Calviño Sánchez 382b27d035 Add support for room shares to DeletedShareAPIController
In some cases, the DeletedShareAPIController requires explicit handling
of each type of share (for example, to format a share for a
DataResponse). Room shares are implemented in an external app (Nextcloud
Talk), so in order to keep the controller as isolated as possible from
room share specifics all that explicit handling is done in a helper
class provided by the Talk app.

In other cases it is just enough to call the share manager specifying a
room share type; note that the share manager is guarded against share
types for which there is no provider, so it is not necessary to
explicitly check that before passing room shares to the share manager.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-08-08 14:25:43 +02:00
Daniel Calviño Sánchez 4ed7131e26 Add support for room shares to ShareAPIController
In some cases, the ShareAPIController requires explicit handling of each
type of share (for example, to format a share for a DataResponse). Room
shares are implemented in an external app (Nextcloud Talk), so in order
to keep the controller as isolated as possible from room share specifics
all that explicit handling is done in a helper class provided by the
Talk app.

In other cases it is just enough to call the share manager specifying a
room share type; note that the share manager is guarded against share
types for which there is no provider, so it is not necessary to
explicitly check that before passing room shares to the share manager.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-08-08 14:25:43 +02:00
MartB 5109743383 Fix multiSelectMenu for public shares #10536
Signed-off-by: Martin Böh (MartB) <mart.b@outlook.de>
2018-08-06 12:42:13 +02:00
Daniel Calviño Sánchez 96108ab858 Add event to load additional scripts in the auth page for public shares
Before the public share authentication page is rendered now an event to
load additional scripts is dispatched. Thanks to this any app can load
its own scripts that, when run on the browser, adjust as needed the page
generated by the server.

Note, however, that during the handling of the event apps are only able
to add scripts or styles to be loaded; they can not render arbitrary
content on the page, or change how the content is rendered by the
original template; all those changes have to be done by the scripts at
run-time.

This implies that the scripts of the apps can use only those parameters,
like the token of the share, added to the page when it is generated by
the "publicshareauth" template. Due to this, and given that the event is
being introduced to be used by Talk to inject the UI needed to request
the password for a share, the token of the share is now provided in the
generated page, just like done in the public share page.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-07-24 14:04:22 +02:00
Daniel Calviño Sánchez 7849630cef Add support for sending the password by Talk to ShareAPIController
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-07-24 14:04:17 +02:00
Bjoern Schiessle 72d2455577
return the as well note if we fetch a share
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-21 15:02:19 +02:00
Bjoern Schiessle 4f59c8e8ae
show note on public link page
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-21 15:02:18 +02:00
Bjoern Schiessle a93f2a648b
allow to add a personal note to a share
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-21 15:02:18 +02:00
Morris Jobke 82021b2b1b
Merge pull request #5280 from nextcloud/shared-with-display-name
sharedWithDisplayName & sharedWithAvatar
2018-07-13 17:29:57 +02:00
Daniel Calviño Sánchez 243df99fcf Fix formatting of email and circle shares
Due to a misplaced "||" instead of "===" the condition was always met,
so every share type in the conditional chain after the remote and remote
group shares was formatted as a remote/remote group share.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-07-12 21:24:55 +02:00
Bjoern Schiessle 412f6a6ecc
fix unit tests
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-11 10:21:00 +02:00
Bjoern Schiessle 3942d731d2
update unit tests
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-11 10:11:48 +02:00
Bjoern Schiessle 2abc705632
start to get fed group shares into the share dialog
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-11 10:11:47 +02:00
Bjoern Schiessle 7d2add622e
unshare from self
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-11 10:11:46 +02:00
Bjoern Schiessle f5a816262c
accept/decline group shares
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-11 10:11:46 +02:00
Bjoern Schiessle b23032e4c5
implement federated group shares
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-11 10:11:44 +02:00
Roeland Jago Douma b49bc11fb3
Fix exception
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-05 12:43:57 +02:00
John Molakvoæ (skjnldsv) d86c1e9503
Disable sidebar on deleted share
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-05 12:43:57 +02:00
John Molakvoæ (skjnldsv) 3b835d8076
Js magic for deleted shares
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-05 12:43:57 +02:00
John Molakvoæ (skjnldsv) 6a0552224d
getDeletedSharedWith method
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-05 12:43:57 +02:00
Roeland Jago Douma d805959e81
Add API to undelete delete group shares
When a group share is deleted we keep track of this in the DB.
Right now it is only possible for a recipient to get back the share by
asking the sharer to delete it and to share it again. This doesn't
scale.

This endpoint makes it possible to get back the share.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-05 12:43:56 +02:00
Bjoern Schiessle cdf8abb060
look for correct OCM permissions
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-02 11:29:31 +02:00
Bjoern Schiessle 41a1528888
implement decline share
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-02 11:29:28 +02:00
Bjoern Schiessle bbce8c3ea1
adjust to latest api version
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-02 11:29:28 +02:00
Bjoern Schiessle db428ea547
send accept share notification (WIP)
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-02 11:29:27 +02:00
Daniel Calviño Sánchez 6cb2cb33ac Fix getting the information of group share as a sharee
When the receiver of a group share modifies it (for example, by moving
it to a different folder) the original share is not modified, but a
"ghost" share that keeps track of the changes made by that specific user
is used instead.

By default, the method "getShareById" in the share provider returns the
share from the point of view of the sharer, but it can be used too to
get the share from the point of view of a sharee by providing the
"recipient" parameter (and if the sharee is not found then the share is
returned from the point of view of the sharer).

The "ShareAPIController" always formats the share from the point of view
of the current user, but when getting the information of a specific
share the "recipient" parameter was not given, so it was always returned
from the point of view of the sharer, even if the current user was a
sharee. Now the "recipient" parameter is set to the current user, and
thus the information of the share is returned from the point of view of
the current user, be it the sharer or a sharee.

Note that this special behaviour of "getShareById" happens only with
group shares; with other types of shares the share is the same for the
sharer and the sharee, and thus the parameter is ignored; it was added
for them too just for consistency.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-06-29 08:20:19 +02:00
Roeland Jago Douma 9f658febca
Fix ShareControllerTest
* Removed tests that are now handled by the middleware
* Updated tests

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-20 08:53:37 +02:00
Roeland Jago Douma 20e514690c
Don't allow public share pages if link sharing is disabled
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-20 08:53:37 +02:00
Roeland Jago Douma 31392c2443
Move public auth page over
Now this is in core so the basics (that 99% of the app will want to
use) looks always the same.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-20 08:53:37 +02:00
Roeland Jago Douma 366981fba6
Move public preview endpoint over
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-20 08:53:37 +02:00