summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/files_sharing/lib/Capabilities.php16
-rw-r--r--apps/files_sharing/tests/CapabilitiesTest.php4
-rw-r--r--apps/sharebymail/appinfo/app.php4
-rw-r--r--apps/sharebymail/lib/AppInfo/Application.php45
-rw-r--r--apps/sharebymail/lib/Capabilities.php50
5 files changed, 98 insertions, 21 deletions
diff --git a/apps/files_sharing/lib/Capabilities.php b/apps/files_sharing/lib/Capabilities.php
index ed00cdc00a6..22a8a8a0a3d 100644
--- a/apps/files_sharing/lib/Capabilities.php
+++ b/apps/files_sharing/lib/Capabilities.php
@@ -21,7 +21,6 @@
*/
namespace OCA\Files_Sharing;
-use OCP\App\IAppManager;
use OCP\Capabilities\ICapability;
use \OCP\IConfig;
@@ -35,12 +34,8 @@ class Capabilities implements ICapability {
/** @var IConfig */
private $config;
- /** @var IAppManager */
- private $appManager;
-
- public function __construct(IConfig $config, IAppManager $appManager) {
+ public function __construct(IConfig $config) {
$this->config = $config;
- $this->appManager = $appManager;
}
/**
@@ -99,15 +94,6 @@ class Capabilities implements ICapability {
'expire_date' => ['enabled' => true]
];
- if ($this->appManager->isEnabledForUser('sharebymail')) {
- $res['mailshare'] = [
- 'enabled' => true,
- 'upload_files_drop' => ['enabled' => true],
- 'password' => ['enabled' => true],
- 'expire_date' => ['enabled' => true]
- ];
- }
-
return [
'files_sharing' => $res,
];
diff --git a/apps/files_sharing/tests/CapabilitiesTest.php b/apps/files_sharing/tests/CapabilitiesTest.php
index 79ac1854e40..663adc1f271 100644
--- a/apps/files_sharing/tests/CapabilitiesTest.php
+++ b/apps/files_sharing/tests/CapabilitiesTest.php
@@ -57,9 +57,7 @@ class CapabilitiesTest extends \Test\TestCase {
private function getResults(array $map) {
$config = $this->getMockBuilder('\OCP\IConfig')->disableOriginalConstructor()->getMock();
$config->method('getAppValue')->will($this->returnValueMap($map));
- $appManager = $this->getMockBuilder(IAppManager::class)->getMock();
- $appManager->expects($this->any())->method('isEnabledForUser')->with('sharebymail')->willReturn(true);
- $cap = new Capabilities($config, $appManager);
+ $cap = new Capabilities($config);
$result = $this->getFilesSharingPart($cap->getCapabilities());
return $result;
}
diff --git a/apps/sharebymail/appinfo/app.php b/apps/sharebymail/appinfo/app.php
index 5ef7b6f18cb..c1fd39d2a2f 100644
--- a/apps/sharebymail/appinfo/app.php
+++ b/apps/sharebymail/appinfo/app.php
@@ -19,6 +19,4 @@
*
*/
-$settings = new \OCA\ShareByMail\Settings();
-
-\OCP\Util::connectHook('\OCP\Config', 'js', $settings, 'announceShareProvider');
+$app = new \OCA\ShareByMail\AppInfo\Application();
diff --git a/apps/sharebymail/lib/AppInfo/Application.php b/apps/sharebymail/lib/AppInfo/Application.php
new file mode 100644
index 00000000000..98febf9dad7
--- /dev/null
+++ b/apps/sharebymail/lib/AppInfo/Application.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Bjoern Schiessle <bjoern@schiessle.org>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+
+namespace OCA\ShareByMail\AppInfo;
+
+
+use OCA\ShareByMail\Settings;
+use OCP\AppFramework\App;
+use OCP\Util;
+
+class Application extends App {
+
+ public function __construct(array $urlParams = array()) {
+ parent::__construct('sharebymail', $urlParams);
+
+ $settings = new Settings();
+
+ /** register capabilities */
+ $container = $this->getContainer();
+ $container->registerCapability('OCA\ShareByMail\Capabilities');
+
+ /** register hooks */
+ Util::connectHook('\OCP\Config', 'js', $settings, 'announceShareProvider');
+ }
+
+}
diff --git a/apps/sharebymail/lib/Capabilities.php b/apps/sharebymail/lib/Capabilities.php
new file mode 100644
index 00000000000..de57cd13211
--- /dev/null
+++ b/apps/sharebymail/lib/Capabilities.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Bjoern Schiessle <bjoern@schiessle.org>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+
+namespace OCA\ShareByMail;
+
+
+use OCP\Capabilities\ICapability;
+
+class Capabilities implements ICapability {
+
+ /**
+ * Function an app uses to return the capabilities
+ *
+ * @return array Array containing the apps capabilities
+ * @since 8.2.0
+ */
+ public function getCapabilities() {
+ return [
+ 'files_sharing' =>
+ [
+ 'sharebymail' =>
+ [
+ 'enabled' => true,
+ 'upload_files_drop' => ['enabled' => true],
+ 'password' => ['enabled' => true],
+ 'expire_date' => ['enabled' => true]
+ ]
+ ]
+ ];
+ }
+}