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.
This commit is contained in:
parent
81ecbbb061
commit
9b001ed903
|
@ -14,15 +14,8 @@ OC::$CLASSPATH['OCA\Files\Share\Proxy'] = 'files_sharing/lib/proxy.php';
|
||||||
|
|
||||||
\OCP\App::registerAdmin('files_sharing', 'settings-admin');
|
\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', '\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('file', 'OC_Share_Backend_File');
|
||||||
OCP\Share::registerBackend('folder', 'OC_Share_Backend_Folder', 'file');
|
OCP\Share::registerBackend('folder', 'OC_Share_Backend_Folder', 'file');
|
||||||
|
|
||||||
|
|
|
@ -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
|
// 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
|
// FIXME no longer needed if we use the webdav implementation from core
|
||||||
if (\OC_App::isEnabled('files_external') === false) {
|
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) {
|
protected function stripPath($path) {
|
||||||
$prefix = '/' . $this->userSession->getUser()->getUID() . '/files';
|
$prefix = '/' . $this->userSession->getUser()->getUID() . '/files';
|
||||||
return rtrim(substr($path, strlen($prefix)), '/');
|
return rtrim(substr($path, strlen($prefix)), '/');
|
||||||
|
|
Loading…
Reference in New Issue