Fix files_sharing app LoadSidebar event (#17821)
Fix files_sharing app LoadSidebar event
This commit is contained in:
commit
b99134d0a3
|
@ -36,85 +36,4 @@ use OCA\Files_Sharing\AppInfo\Application;
|
||||||
\OC\Share\Share::registerBackend('file', File::class);
|
\OC\Share\Share::registerBackend('file', File::class);
|
||||||
\OC\Share\Share::registerBackend('folder', Folder::class, 'file');
|
\OC\Share\Share::registerBackend('folder', Folder::class, 'file');
|
||||||
|
|
||||||
$application = \OC::$server->query(Application::class);
|
\OC::$server->query(Application::class);
|
||||||
$application->registerMountProviders();
|
|
||||||
$application->register();
|
|
||||||
|
|
||||||
$eventDispatcher = \OC::$server->getEventDispatcher();
|
|
||||||
$eventDispatcher->addListener(
|
|
||||||
'OCA\Files::loadAdditionalScripts',
|
|
||||||
function() {
|
|
||||||
\OCP\Util::addScript('files_sharing', 'dist/additionalScripts');
|
|
||||||
\OCP\Util::addStyle('files_sharing', 'icons');
|
|
||||||
}
|
|
||||||
);
|
|
||||||
\OC::$server->getEventDispatcher()->addListener('\OCP\Collaboration\Resources::loadAdditionalScripts', function () {
|
|
||||||
\OCP\Util::addScript('files_sharing', 'dist/collaboration');
|
|
||||||
});
|
|
||||||
|
|
||||||
$config = \OC::$server->getConfig();
|
|
||||||
$shareManager = \OC::$server->getShareManager();
|
|
||||||
$userSession = \OC::$server->getUserSession();
|
|
||||||
$l = \OC::$server->getL10N('files_sharing');
|
|
||||||
|
|
||||||
if ($config->getAppValue('core', 'shareapi_enabled', 'yes') === 'yes') {
|
|
||||||
|
|
||||||
$sharingSublistArray = [];
|
|
||||||
|
|
||||||
if (\OCP\Util::isSharingDisabledForUser() === false) {
|
|
||||||
array_push($sharingSublistArray, [
|
|
||||||
'id' => 'sharingout',
|
|
||||||
'appname' => 'files_sharing',
|
|
||||||
'script' => 'list.php',
|
|
||||||
'order' => 16,
|
|
||||||
'name' => $l->t('Shared with others'),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
array_push($sharingSublistArray, [
|
|
||||||
'id' => 'sharingin',
|
|
||||||
'appname' => 'files_sharing',
|
|
||||||
'script' => 'list.php',
|
|
||||||
'order' => 15,
|
|
||||||
'name' => $l->t('Shared with you'),
|
|
||||||
]);
|
|
||||||
|
|
||||||
if (\OCP\Util::isSharingDisabledForUser() === false) {
|
|
||||||
// Check if sharing by link is enabled
|
|
||||||
if ($config->getAppValue('core', 'shareapi_allow_links', 'yes') === 'yes') {
|
|
||||||
array_push($sharingSublistArray, [
|
|
||||||
'id' => 'sharinglinks',
|
|
||||||
'appname' => 'files_sharing',
|
|
||||||
'script' => 'list.php',
|
|
||||||
'order' => 17,
|
|
||||||
'name' => $l->t('Shared by link'),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
array_push($sharingSublistArray, [
|
|
||||||
'id' => 'deletedshares',
|
|
||||||
'appname' => 'files_sharing',
|
|
||||||
'script' => 'list.php',
|
|
||||||
'order' => 19,
|
|
||||||
'name' => $l->t('Deleted shares'),
|
|
||||||
]);
|
|
||||||
|
|
||||||
// show_Quick_Access stored as string
|
|
||||||
$user = $userSession->getUser();
|
|
||||||
$defaultExpandedState = true;
|
|
||||||
if ($user instanceof \OCP\IUser) {
|
|
||||||
$defaultExpandedState = $config->getUserValue($userSession->getUser()->getUID(), 'files', 'show_sharing_menu', '0') === '1';
|
|
||||||
}
|
|
||||||
|
|
||||||
\OCA\Files\App::getNavigationManager()->add([
|
|
||||||
'id' => 'shareoverview',
|
|
||||||
'appname' => 'files_sharing',
|
|
||||||
'script' => 'list.php',
|
|
||||||
'order' => 18,
|
|
||||||
'name' => $l->t('Shares'),
|
|
||||||
'classes' => 'collapsible',
|
|
||||||
'sublist' => $sharingSublistArray,
|
|
||||||
'expandedState' => 'show_sharing_menu'
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
|
@ -45,6 +45,8 @@ return array(
|
||||||
'OCA\\Files_Sharing\\Helper' => $baseDir . '/../lib/Helper.php',
|
'OCA\\Files_Sharing\\Helper' => $baseDir . '/../lib/Helper.php',
|
||||||
'OCA\\Files_Sharing\\Hooks' => $baseDir . '/../lib/Hooks.php',
|
'OCA\\Files_Sharing\\Hooks' => $baseDir . '/../lib/Hooks.php',
|
||||||
'OCA\\Files_Sharing\\ISharedStorage' => $baseDir . '/../lib/ISharedStorage.php',
|
'OCA\\Files_Sharing\\ISharedStorage' => $baseDir . '/../lib/ISharedStorage.php',
|
||||||
|
'OCA\\Files_Sharing\\Listener\\LoadAdditionalListener' => $baseDir . '/../lib/Listener/LoadAdditionalListener.php',
|
||||||
|
'OCA\\Files_Sharing\\Listener\\LoadSidebarListener' => $baseDir . '/../lib/Listener/LoadSidebarListener.php',
|
||||||
'OCA\\Files_Sharing\\Middleware\\OCSShareAPIMiddleware' => $baseDir . '/../lib/Middleware/OCSShareAPIMiddleware.php',
|
'OCA\\Files_Sharing\\Middleware\\OCSShareAPIMiddleware' => $baseDir . '/../lib/Middleware/OCSShareAPIMiddleware.php',
|
||||||
'OCA\\Files_Sharing\\Middleware\\ShareInfoMiddleware' => $baseDir . '/../lib/Middleware/ShareInfoMiddleware.php',
|
'OCA\\Files_Sharing\\Middleware\\ShareInfoMiddleware' => $baseDir . '/../lib/Middleware/ShareInfoMiddleware.php',
|
||||||
'OCA\\Files_Sharing\\Middleware\\SharingCheckMiddleware' => $baseDir . '/../lib/Middleware/SharingCheckMiddleware.php',
|
'OCA\\Files_Sharing\\Middleware\\SharingCheckMiddleware' => $baseDir . '/../lib/Middleware/SharingCheckMiddleware.php',
|
||||||
|
|
|
@ -60,6 +60,8 @@ class ComposerStaticInitFiles_Sharing
|
||||||
'OCA\\Files_Sharing\\Helper' => __DIR__ . '/..' . '/../lib/Helper.php',
|
'OCA\\Files_Sharing\\Helper' => __DIR__ . '/..' . '/../lib/Helper.php',
|
||||||
'OCA\\Files_Sharing\\Hooks' => __DIR__ . '/..' . '/../lib/Hooks.php',
|
'OCA\\Files_Sharing\\Hooks' => __DIR__ . '/..' . '/../lib/Hooks.php',
|
||||||
'OCA\\Files_Sharing\\ISharedStorage' => __DIR__ . '/..' . '/../lib/ISharedStorage.php',
|
'OCA\\Files_Sharing\\ISharedStorage' => __DIR__ . '/..' . '/../lib/ISharedStorage.php',
|
||||||
|
'OCA\\Files_Sharing\\Listener\\LoadAdditionalListener' => __DIR__ . '/..' . '/../lib/Listener/LoadAdditionalListener.php',
|
||||||
|
'OCA\\Files_Sharing\\Listener\\LoadSidebarListener' => __DIR__ . '/..' . '/../lib/Listener/LoadSidebarListener.php',
|
||||||
'OCA\\Files_Sharing\\Middleware\\OCSShareAPIMiddleware' => __DIR__ . '/..' . '/../lib/Middleware/OCSShareAPIMiddleware.php',
|
'OCA\\Files_Sharing\\Middleware\\OCSShareAPIMiddleware' => __DIR__ . '/..' . '/../lib/Middleware/OCSShareAPIMiddleware.php',
|
||||||
'OCA\\Files_Sharing\\Middleware\\ShareInfoMiddleware' => __DIR__ . '/..' . '/../lib/Middleware/ShareInfoMiddleware.php',
|
'OCA\\Files_Sharing\\Middleware\\ShareInfoMiddleware' => __DIR__ . '/..' . '/../lib/Middleware/ShareInfoMiddleware.php',
|
||||||
'OCA\\Files_Sharing\\Middleware\\SharingCheckMiddleware' => __DIR__ . '/..' . '/../lib/Middleware/SharingCheckMiddleware.php',
|
'OCA\\Files_Sharing\\Middleware\\SharingCheckMiddleware' => __DIR__ . '/..' . '/../lib/Middleware/SharingCheckMiddleware.php',
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,24 @@
|
||||||
|
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/js/",r(r.s=343)}({343:function(e,t){
|
||||||
|
/**
|
||||||
|
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
|
||||||
|
*
|
||||||
|
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||||
|
*
|
||||||
|
* @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/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
Object.assign(OC,{Share:{SHARE_TYPE_USER:0,SHARE_TYPE_GROUP:1,SHARE_TYPE_LINK:3,SHARE_TYPE_EMAIL:4,SHARE_TYPE_REMOTE:6,SHARE_TYPE_CIRCLE:7,SHARE_TYPE_GUEST:8,SHARE_TYPE_REMOTE_GROUP:9,SHARE_TYPE_ROOM:10}})}});
|
||||||
|
//# sourceMappingURL=main.js.map
|
File diff suppressed because one or more lines are too long
|
@ -34,29 +34,45 @@ use OCA\Files_Sharing\Capabilities;
|
||||||
use OCA\Files_Sharing\Controller\ExternalSharesController;
|
use OCA\Files_Sharing\Controller\ExternalSharesController;
|
||||||
use OCA\Files_Sharing\Controller\ShareController;
|
use OCA\Files_Sharing\Controller\ShareController;
|
||||||
use OCA\Files_Sharing\External\Manager;
|
use OCA\Files_Sharing\External\Manager;
|
||||||
|
use OCA\Files_Sharing\Listener\LoadAdditionalListener;
|
||||||
|
use OCA\Files_Sharing\Listener\LoadSidebarListener;
|
||||||
use OCA\Files_Sharing\Middleware\OCSShareAPIMiddleware;
|
use OCA\Files_Sharing\Middleware\OCSShareAPIMiddleware;
|
||||||
use OCA\Files_Sharing\Middleware\ShareInfoMiddleware;
|
use OCA\Files_Sharing\Middleware\ShareInfoMiddleware;
|
||||||
use OCA\Files_Sharing\Middleware\SharingCheckMiddleware;
|
use OCA\Files_Sharing\Middleware\SharingCheckMiddleware;
|
||||||
use OCA\Files_Sharing\MountProvider;
|
use OCA\Files_Sharing\MountProvider;
|
||||||
use OCA\Files_Sharing\Notification\Listener;
|
use OCA\Files_Sharing\Notification\Listener;
|
||||||
use OCA\Files_Sharing\Notification\Notifier;
|
use OCA\Files_Sharing\Notification\Notifier;
|
||||||
|
use OCA\Files\Event\LoadAdditionalScriptsEvent;
|
||||||
|
use OCA\Files\Event\LoadSidebar;
|
||||||
use OCP\AppFramework\App;
|
use OCP\AppFramework\App;
|
||||||
use OCP\AppFramework\Utility\IControllerMethodReflector;
|
use OCP\AppFramework\Utility\IControllerMethodReflector;
|
||||||
use OCP\Defaults;
|
use OCP\Defaults;
|
||||||
|
use OCP\EventDispatcher\IEventDispatcher;
|
||||||
use OCP\Federation\ICloudIdManager;
|
use OCP\Federation\ICloudIdManager;
|
||||||
|
use OCP\Files\Config\IMountProviderCollection;
|
||||||
use OCP\IContainer;
|
use OCP\IContainer;
|
||||||
use OCP\IGroup;
|
use OCP\IGroup;
|
||||||
use OCP\IServerContainer;
|
use OCP\IServerContainer;
|
||||||
|
use OCP\Util;
|
||||||
use Symfony\Component\EventDispatcher\GenericEvent;
|
use Symfony\Component\EventDispatcher\GenericEvent;
|
||||||
|
|
||||||
class Application extends App {
|
class Application extends App {
|
||||||
public function __construct(array $urlParams = array()) {
|
|
||||||
parent::__construct('files_sharing', $urlParams);
|
const APP_ID = 'files_sharing';
|
||||||
|
|
||||||
|
public function __construct(array $urlParams = []) {
|
||||||
|
parent::__construct(self::APP_ID, $urlParams);
|
||||||
|
|
||||||
$container = $this->getContainer();
|
$container = $this->getContainer();
|
||||||
|
|
||||||
/** @var IServerContainer $server */
|
/** @var IServerContainer $server */
|
||||||
$server = $container->getServer();
|
$server = $container->getServer();
|
||||||
|
|
||||||
|
/** @var IEventDispatcher $dispatcher */
|
||||||
|
$dispatcher = $container->query(IEventDispatcher::class);
|
||||||
|
$mountProviderCollection = $server->getMountProviderCollection();
|
||||||
|
$notifications = $server->getNotificationManager();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controllers
|
* Controllers
|
||||||
*/
|
*/
|
||||||
|
@ -164,26 +180,37 @@ class Application extends App {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Register capabilities
|
* Register capabilities
|
||||||
*/
|
*/
|
||||||
$container->registerCapability(Capabilities::class);
|
$container->registerCapability(Capabilities::class);
|
||||||
|
|
||||||
/** @var \OCP\Notification\IManager $notifications */
|
|
||||||
$notifications = $container->query(\OCP\Notification\IManager::class);
|
|
||||||
$notifications->registerNotifierService(Notifier::class);
|
$notifications->registerNotifierService(Notifier::class);
|
||||||
|
|
||||||
|
$this->registerMountProviders($mountProviderCollection);
|
||||||
|
$this->registerEventsScripts($dispatcher);
|
||||||
|
$this->setupSharingMenus();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Always add main sharing script
|
||||||
|
*/
|
||||||
|
Util::addScript(self::APP_ID, 'dist/main');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function registerMountProviders() {
|
protected function registerMountProviders(IMountProviderCollection $mountProviderCollection) {
|
||||||
/** @var \OCP\IServerContainer $server */
|
|
||||||
$server = $this->getContainer()->query('ServerContainer');
|
|
||||||
$mountProviderCollection = $server->getMountProviderCollection();
|
|
||||||
$mountProviderCollection->registerProvider($this->getContainer()->query('MountProvider'));
|
$mountProviderCollection->registerProvider($this->getContainer()->query('MountProvider'));
|
||||||
$mountProviderCollection->registerProvider($this->getContainer()->query('ExternalMountProvider'));
|
$mountProviderCollection->registerProvider($this->getContainer()->query('ExternalMountProvider'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function register(): void {
|
protected function registerEventsScripts(IEventDispatcher $dispatcher) {
|
||||||
$dispatcher = $this->getContainer()->getServer()->getEventDispatcher();
|
// sidebar and files scripts
|
||||||
|
$dispatcher->addServiceListener(LoadAdditionalScriptsEvent::class, LoadAdditionalListener::class);
|
||||||
|
$dispatcher->addServiceListener(LoadSidebar::class, LoadSidebarListener::class);
|
||||||
|
$dispatcher->addListener('\OCP\Collaboration\Resources::loadAdditionalScripts', function() {
|
||||||
|
\OCP\Util::addScript('files_sharing', 'dist/collaboration');
|
||||||
|
});
|
||||||
|
|
||||||
|
// notifications api to accept incoming user shares
|
||||||
$dispatcher->addListener('OCP\Share::postShare', function(GenericEvent $event) {
|
$dispatcher->addListener('OCP\Share::postShare', function(GenericEvent $event) {
|
||||||
/** @var Listener $listener */
|
/** @var Listener $listener */
|
||||||
$listener = $this->getContainer()->query(Listener::class);
|
$listener = $this->getContainer()->query(Listener::class);
|
||||||
|
@ -195,4 +222,66 @@ class Application extends App {
|
||||||
$listener->userAddedToGroup($event);
|
$listener->userAddedToGroup($event);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function setupSharingMenus() {
|
||||||
|
$config = \OC::$server->getConfig();
|
||||||
|
$l = \OC::$server->getL10N('files_sharing');
|
||||||
|
|
||||||
|
if ($config->getAppValue('core', 'shareapi_enabled', 'yes') !== 'yes') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sharingSublistArray = [];
|
||||||
|
|
||||||
|
if (\OCP\Util::isSharingDisabledForUser() === false) {
|
||||||
|
array_push($sharingSublistArray, [
|
||||||
|
'id' => 'sharingout',
|
||||||
|
'appname' => 'files_sharing',
|
||||||
|
'script' => 'list.php',
|
||||||
|
'order' => 16,
|
||||||
|
'name' => $l->t('Shared with others'),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
array_push($sharingSublistArray, [
|
||||||
|
'id' => 'sharingin',
|
||||||
|
'appname' => 'files_sharing',
|
||||||
|
'script' => 'list.php',
|
||||||
|
'order' => 15,
|
||||||
|
'name' => $l->t('Shared with you'),
|
||||||
|
]);
|
||||||
|
|
||||||
|
if (\OCP\Util::isSharingDisabledForUser() === false) {
|
||||||
|
// Check if sharing by link is enabled
|
||||||
|
if ($config->getAppValue('core', 'shareapi_allow_links', 'yes') === 'yes') {
|
||||||
|
array_push($sharingSublistArray, [
|
||||||
|
'id' => 'sharinglinks',
|
||||||
|
'appname' => 'files_sharing',
|
||||||
|
'script' => 'list.php',
|
||||||
|
'order' => 17,
|
||||||
|
'name' => $l->t('Shared by link'),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
array_push($sharingSublistArray, [
|
||||||
|
'id' => 'deletedshares',
|
||||||
|
'appname' => 'files_sharing',
|
||||||
|
'script' => 'list.php',
|
||||||
|
'order' => 19,
|
||||||
|
'name' => $l->t('Deleted shares'),
|
||||||
|
]);
|
||||||
|
|
||||||
|
// show_Quick_Access stored as string
|
||||||
|
\OCA\Files\App::getNavigationManager()->add([
|
||||||
|
'id' => 'shareoverview',
|
||||||
|
'appname' => 'files_sharing',
|
||||||
|
'script' => 'list.php',
|
||||||
|
'order' => 18,
|
||||||
|
'name' => $l->t('Shares'),
|
||||||
|
'classes' => 'collapsible',
|
||||||
|
'sublist' => $sharingSublistArray,
|
||||||
|
'expandedState' => 'show_sharing_menu'
|
||||||
|
]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
/**
|
||||||
|
* @copyright Copyright (c) 2019, Roeland Jago Douma <roeland@famdouma.nl>
|
||||||
|
*
|
||||||
|
* @author Roeland Jago Douma <roeland@famdouma.nl>
|
||||||
|
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||||
|
*
|
||||||
|
* @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\Files_Sharing\Listener;
|
||||||
|
|
||||||
|
use OCA\Files_Sharing\AppInfo\Application;
|
||||||
|
use OCA\Files\Event\LoadAdditionalScriptsEvent;
|
||||||
|
use OCP\EventDispatcher\Event;
|
||||||
|
use OCP\EventDispatcher\IEventListener;
|
||||||
|
use OCP\Util;
|
||||||
|
|
||||||
|
class LoadAdditionalListener implements IEventListener {
|
||||||
|
public function handle(Event $event): void {
|
||||||
|
if (!($event instanceof LoadAdditionalScriptsEvent)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Util::addScript(Application::APP_ID, 'dist/files_sharing');
|
||||||
|
Util::addScript(Application::APP_ID, 'dist/additionalScripts');
|
||||||
|
Util::addStyle(Application::APP_ID, 'icons');
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
/**
|
||||||
|
* @copyright Copyright (c) 2019, Roeland Jago Douma <roeland@famdouma.nl>
|
||||||
|
*
|
||||||
|
* @author Roeland Jago Douma <roeland@famdouma.nl>
|
||||||
|
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||||
|
*
|
||||||
|
* @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\Files_Sharing\Listener;
|
||||||
|
|
||||||
|
use OCA\Files_Sharing\AppInfo\Application;
|
||||||
|
use OCA\Files\Event\LoadSidebar;
|
||||||
|
use OCP\EventDispatcher\Event;
|
||||||
|
use OCP\EventDispatcher\IEventListener;
|
||||||
|
use OCP\Util;
|
||||||
|
|
||||||
|
class LoadSidebarListener implements IEventListener {
|
||||||
|
public function handle(Event $event): void {
|
||||||
|
if (!($event instanceof LoadSidebar)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Util::addScript(Application::APP_ID, 'dist/files_sharing_tab');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -19,10 +19,14 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
use OCA\Files\Event\LoadAdditionalScriptsEvent;
|
||||||
|
use OCA\Files\Event\LoadSidebar;
|
||||||
|
|
||||||
// Check if we are a user
|
// Check if we are a user
|
||||||
OCP\User::checkLoggedIn();
|
OCP\User::checkLoggedIn();
|
||||||
$config = \OC::$server->getConfig();
|
$config = \OC::$server->getConfig();
|
||||||
$userSession = \OC::$server->getUserSession();
|
$userSession = \OC::$server->getUserSession();
|
||||||
|
$eventDispatcher = \OC::$server->getEventDispatcher();
|
||||||
|
|
||||||
$showgridview = $config->getUserValue($userSession->getUser()->getUID(), 'files', 'show_grid', false);
|
$showgridview = $config->getUserValue($userSession->getUser()->getUID(), 'files', 'show_grid', false);
|
||||||
$isIE = \OCP\Util::isIE();
|
$isIE = \OCP\Util::isIE();
|
||||||
|
@ -32,8 +36,9 @@ $tmpl = new OCP\Template('files_sharing', 'list', '');
|
||||||
// gridview not available for ie
|
// gridview not available for ie
|
||||||
$tmpl->assign('showgridview', $showgridview && !$isIE);
|
$tmpl->assign('showgridview', $showgridview && !$isIE);
|
||||||
|
|
||||||
OCP\Util::addScript('files_sharing', 'dist/files_sharing');
|
// fire script events
|
||||||
OCP\Util::addScript('files_sharing', 'dist/files_sharing_tab');
|
$eventDispatcher->dispatch('\OCP\Collaboration\Resources::loadAdditionalScripts');
|
||||||
\OC::$server->getEventDispatcher()->dispatch('\OCP\Collaboration\Resources::loadAdditionalScripts');
|
$eventDispatcher->dispatch(LoadAdditionalScriptsEvent::class, new LoadAdditionalScriptsEvent());
|
||||||
|
$eventDispatcher->dispatch(LoadSidebar::class, new LoadSidebar());
|
||||||
|
|
||||||
$tmpl->printPage();
|
$tmpl->printPage();
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
/**
|
||||||
|
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
|
||||||
|
*
|
||||||
|
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||||
|
*
|
||||||
|
* @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/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
// register default shares types
|
||||||
|
Object.assign(OC, {
|
||||||
|
Share: {
|
||||||
|
SHARE_TYPE_USER: 0,
|
||||||
|
SHARE_TYPE_GROUP: 1,
|
||||||
|
SHARE_TYPE_LINK: 3,
|
||||||
|
SHARE_TYPE_EMAIL: 4,
|
||||||
|
SHARE_TYPE_REMOTE: 6,
|
||||||
|
SHARE_TYPE_CIRCLE: 7,
|
||||||
|
SHARE_TYPE_GUEST: 8,
|
||||||
|
SHARE_TYPE_REMOTE_GROUP: 9,
|
||||||
|
SHARE_TYPE_ROOM: 10
|
||||||
|
}
|
||||||
|
})
|
|
@ -21,18 +21,6 @@
|
||||||
OCA.Sharing = {}
|
OCA.Sharing = {}
|
||||||
}
|
}
|
||||||
|
|
||||||
OC.Share = _.extend(OC.Share || {}, {
|
|
||||||
SHARE_TYPE_USER: 0,
|
|
||||||
SHARE_TYPE_GROUP: 1,
|
|
||||||
SHARE_TYPE_LINK: 3,
|
|
||||||
SHARE_TYPE_EMAIL: 4,
|
|
||||||
SHARE_TYPE_REMOTE: 6,
|
|
||||||
SHARE_TYPE_CIRCLE: 7,
|
|
||||||
SHARE_TYPE_GUEST: 8,
|
|
||||||
SHARE_TYPE_REMOTE_GROUP: 9,
|
|
||||||
SHARE_TYPE_ROOM: 10
|
|
||||||
})
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @namespace
|
* @namespace
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -71,9 +71,8 @@ abstract class TestCase extends \Test\TestCase {
|
||||||
public static function setUpBeforeClass(): void {
|
public static function setUpBeforeClass(): void {
|
||||||
parent::setUpBeforeClass();
|
parent::setUpBeforeClass();
|
||||||
|
|
||||||
$application = new Application();
|
new Application();
|
||||||
$application->registerMountProviders();
|
|
||||||
|
|
||||||
// reset backend
|
// reset backend
|
||||||
\OC_User::clearBackends();
|
\OC_User::clearBackends();
|
||||||
\OC::$server->getGroupManager()->clearBackends();
|
\OC::$server->getGroupManager()->clearBackends();
|
||||||
|
|
|
@ -3,9 +3,10 @@ const path = require('path');
|
||||||
module.exports = {
|
module.exports = {
|
||||||
entry: {
|
entry: {
|
||||||
'additionalScripts': path.join(__dirname, 'src', 'additionalScripts.js'),
|
'additionalScripts': path.join(__dirname, 'src', 'additionalScripts.js'),
|
||||||
'files_sharing': path.join(__dirname, 'src', 'files_sharing.js'),
|
|
||||||
'files_sharing_tab': path.join(__dirname, 'src', 'files_sharing_tab.js'),
|
|
||||||
'collaboration': path.join(__dirname, 'src', 'collaborationresourceshandler.js'),
|
'collaboration': path.join(__dirname, 'src', 'collaborationresourceshandler.js'),
|
||||||
|
'files_sharing_tab': path.join(__dirname, 'src', 'files_sharing_tab.js'),
|
||||||
|
'files_sharing': path.join(__dirname, 'src', 'files_sharing.js'),
|
||||||
|
'main': path.join(__dirname, 'src', 'index.js'),
|
||||||
},
|
},
|
||||||
output: {
|
output: {
|
||||||
path: path.resolve(__dirname, './js/dist/'),
|
path: path.resolve(__dirname, './js/dist/'),
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use OCA\Files_Trashbin\Tests;
|
use OCA\Files_Trashbin\Tests;
|
||||||
|
use OCA\Files_Sharing\AppInfo\Application;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Test_Encryption
|
* Class Test_Encryption
|
||||||
|
@ -67,8 +68,9 @@ class TrashbinTest extends \Test\TestCase {
|
||||||
// clear share hooks
|
// clear share hooks
|
||||||
\OC_Hook::clear('OCP\\Share');
|
\OC_Hook::clear('OCP\\Share');
|
||||||
\OC::registerShareHooks();
|
\OC::registerShareHooks();
|
||||||
$application = \OC::$server->query(\OCA\Files_Sharing\AppInfo\Application::class);
|
|
||||||
$application->registerMountProviders();
|
// init files sharing
|
||||||
|
new Application();
|
||||||
|
|
||||||
//disable encryption
|
//disable encryption
|
||||||
\OC::$server->getAppManager()->disableApp('encryption');
|
\OC::$server->getAppManager()->disableApp('encryption');
|
||||||
|
|
|
@ -60,7 +60,6 @@ class VersioningTest extends \Test\TestCase {
|
||||||
parent::setUpBeforeClass();
|
parent::setUpBeforeClass();
|
||||||
|
|
||||||
$application = new \OCA\Files_Sharing\AppInfo\Application();
|
$application = new \OCA\Files_Sharing\AppInfo\Application();
|
||||||
$application->registerMountProviders();
|
|
||||||
|
|
||||||
// create test user
|
// create test user
|
||||||
self::loginHelper(self::TEST_VERSIONS_USER2, true);
|
self::loginHelper(self::TEST_VERSIONS_USER2, true);
|
||||||
|
|
|
@ -53,10 +53,14 @@ module.exports = function(config) {
|
||||||
// only test these files, others are not ready and mess
|
// only test these files, others are not ready and mess
|
||||||
// up with the global namespace/classes/state
|
// up with the global namespace/classes/state
|
||||||
'apps/files_sharing/js/app.js',
|
'apps/files_sharing/js/app.js',
|
||||||
'apps/files_sharing/js/sharedfilelist.js',
|
|
||||||
'apps/files_sharing/js/dist/additionalScripts.js',
|
'apps/files_sharing/js/dist/additionalScripts.js',
|
||||||
'apps/files_sharing/js/public.js',
|
'apps/files_sharing/js/dist/files_sharing_tab.js',
|
||||||
|
'apps/files_sharing/js/dist/files_sharing.js',
|
||||||
|
'apps/files_sharing/js/dist/main.js',
|
||||||
|
'apps/files_sharing/js/dist/sidebar.js',
|
||||||
'apps/files_sharing/js/files_drop.js',
|
'apps/files_sharing/js/files_drop.js',
|
||||||
|
'apps/files_sharing/js/public.js',
|
||||||
|
'apps/files_sharing/js/sharedfilelist.js',
|
||||||
'apps/files_sharing/js/templates.js',
|
'apps/files_sharing/js/templates.js',
|
||||||
],
|
],
|
||||||
testFiles: ['apps/files_sharing/tests/js/*.js']
|
testFiles: ['apps/files_sharing/tests/js/*.js']
|
||||||
|
|
|
@ -10,6 +10,7 @@ namespace Test\Files;
|
||||||
|
|
||||||
use OC\Files\Filesystem;
|
use OC\Files\Filesystem;
|
||||||
use OCP\Share;
|
use OCP\Share;
|
||||||
|
use OCA\Files_Sharing\AppInfo\Application;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class EtagTest
|
* Class EtagTest
|
||||||
|
@ -32,8 +33,9 @@ class EtagTest extends \Test\TestCase {
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
\OC_Hook::clear('OC_Filesystem', 'setup');
|
\OC_Hook::clear('OC_Filesystem', 'setup');
|
||||||
$application = new \OCA\Files_Sharing\AppInfo\Application();
|
// init files sharing
|
||||||
$application->registerMountProviders();
|
new Application();
|
||||||
|
|
||||||
\OC\Share\Share::registerBackend('file', 'OCA\Files_Sharing\ShareBackend\File');
|
\OC\Share\Share::registerBackend('file', 'OCA\Files_Sharing\ShareBackend\File');
|
||||||
\OC\Share\Share::registerBackend('folder', 'OCA\Files_Sharing\ShareBackend\Folder', 'file');
|
\OC\Share\Share::registerBackend('folder', 'OCA\Files_Sharing\ShareBackend\Folder', 'file');
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue