diff options
author | Vincent Petry <pvince81@owncloud.com> | 2014-06-23 11:57:43 +0200 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2014-06-23 11:57:43 +0200 |
commit | 9b001ed90397e18601096bd16e565b232e223c5f (patch) | |
tree | 6dcbaa9d4b41e3d560c855e10dcf7b0d85c2a10a /apps | |
parent | 81ecbbb0614ecfe9953d813f92424f299a1e2834 (diff) | |
download | nextcloud-server-9b001ed90397e18601096bd16e565b232e223c5f.tar.gz nextcloud-server-9b001ed90397e18601096bd16e565b232e223c5f.zip |
Setup the external share manager in a hook
To make sure the external shares are initialized in the right order and
make sure the session is correctly initialized before, the external
share manager is now set up in a filesystem setup hook.
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files_sharing/appinfo/app.php | 9 | ||||
-rw-r--r-- | apps/files_sharing/lib/external/manager.php | 12 |
2 files changed, 12 insertions, 9 deletions
diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php index a9f4ff5089b..a4a0a57c675 100644 --- a/apps/files_sharing/appinfo/app.php +++ b/apps/files_sharing/appinfo/app.php @@ -14,15 +14,8 @@ OC::$CLASSPATH['OCA\Files\Share\Proxy'] = 'files_sharing/lib/proxy.php'; \OCP\App::registerAdmin('files_sharing', 'settings-admin'); -$externalManager = new \OCA\Files_Sharing\External\Manager( - \OC::$server->getDatabaseConnection(), - \OC\Files\Filesystem::getMountManager(), - \OC\Files\Filesystem::getLoader(), - \OC::$server->getUserSession() -); -$externalManager->setup(); - OCP\Util::connectHook('OC_Filesystem', 'setup', '\OC\Files\Storage\Shared', 'setup'); +OCP\Util::connectHook('OC_Filesystem', 'setup', '\OCA\Files_Sharing\External\Manager', 'setup'); OCP\Share::registerBackend('file', 'OC_Share_Backend_File'); OCP\Share::registerBackend('folder', 'OC_Share_Backend_Folder', 'file'); diff --git a/apps/files_sharing/lib/external/manager.php b/apps/files_sharing/lib/external/manager.php index 70a0e98ebd5..4441a72fb16 100644 --- a/apps/files_sharing/lib/external/manager.php +++ b/apps/files_sharing/lib/external/manager.php @@ -67,7 +67,7 @@ class Manager { } } - public function setup() { + private function setupMounts() { // don't setup server-to-server shares if the file_external app is disabled // FIXME no longer needed if we use the webdav implementation from core if (\OC_App::isEnabled('files_external') === false) { @@ -88,6 +88,16 @@ class Manager { } } + public static function setup() { + $externalManager = new \OCA\Files_Sharing\External\Manager( + \OC::$server->getDatabaseConnection(), + \OC\Files\Filesystem::getMountManager(), + \OC\Files\Filesystem::getLoader(), + \OC::$server->getUserSession() + ); + $externalManager->setupMounts(); + } + protected function stripPath($path) { $prefix = '/' . $this->userSession->getUser()->getUID() . '/files'; return rtrim(substr($path, strlen($prefix)), '/'); |