Browse Source

upstream

Signed-off-by: Maxence Lange <maxence@nextcloud.com>
tags/v13.0.0beta1
Maxence Lange 7 years ago
parent
commit
6e7be6acfd

+ 2
- 2
apps/files_sharing/lib/Controller/ShareAPIController.php View File

@@ -450,11 +450,11 @@ class ShareAPIController extends OCSController {
}
$share->setSharedWith($shareWith);
} else if ($shareType === \OCP\Share::SHARE_TYPE_CIRCLE) {
if (!\OCP\App::isEnabled('circles')) {
if (!\OC::$server->getAppManager()->isEnabledForUser('circles') || !class_exists('\OCA\Circles\ShareByCircleProvider')) {
throw new OCSNotFoundException($this->l->t('You cannot share to a Circle if the app is not enabled'));
}

$circle = \OCA\Circles\Api\Circles::detailsCircle($shareWith);
$circle = \OCA\Circles\Api\v1\Circles::detailsCircle($shareWith);

// Valid circle is required to share
if ($circle === null) {

+ 1
- 1
apps/files_sharing/lib/Controller/ShareesAPIController.php View File

@@ -472,7 +472,7 @@ class ShareesAPIController extends OCSController {
$shareTypes[] = Share::SHARE_TYPE_EMAIL;
}

if (\OCP\App::isEnabled('circles')) {
if (\OC::$server->getAppManager()->isEnabledForUser('circles') && class_exists('\OCA\Circles\ShareByCircleProvider')) {
$shareTypes[] = Share::SHARE_TYPE_CIRCLE;
}


+ 1
- 1
lib/private/Share20/Manager.php View File

@@ -193,7 +193,7 @@ class Manager implements IManager {
throw new \InvalidArgumentException('SharedWith should not be empty');
}
} else if ($share->getShareType() === \OCP\Share::SHARE_TYPE_CIRCLE) {
$circle = \OCA\Circles\Api\Circles::detailsCircle($share->getSharedWith());
$circle = \OCA\Circles\Api\v1\Circles::detailsCircle($share->getSharedWith());
if ($circle === null) {
throw new \InvalidArgumentException('SharedWith is not a valid circle');
}

+ 11
- 5
lib/private/Share20/ProviderFactory.php View File

@@ -51,9 +51,10 @@ class ProviderFactory implements IProviderFactory {
private $federatedProvider = null;
/** @var ShareByMailProvider */
private $shareByMailProvider;
/** @var \OCA\Circles\ShareByCircleProvider;
* ShareByCircleProvider */
private $shareByCircleProvider;
/** @var \OCA\Circles\ShareByCircleProvider */
private $shareByCircleProvider = null;
/** @var bool */
private $circlesAreNotAvailable = false;

/**
* IProviderFactory constructor.
@@ -179,11 +180,16 @@ class ProviderFactory implements IProviderFactory {
*/
protected function getShareByCircleProvider() {

$appManager = $this->serverContainer->getAppManager();
if (!$appManager->isEnabledForUser('circles')) {
if ($this->circlesAreNotAvailable) {
return null;
}

if (!$this->serverContainer->getAppManager()->isEnabledForUser('circles') ||
!class_exists('\OCA\Circles\ShareByCircleProvider')
) {
$this->circlesAreNotAvailable = true;
return null;
}

if ($this->shareByCircleProvider === null) {


Loading…
Cancel
Save