From: Joas Schilling Date: Mon, 1 Aug 2016 10:49:41 +0000 (+0200) Subject: Move Share backends to PSR-4 instead of using class path (#24941) X-Git-Tag: v11.0RC2~881^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fpull%2F747%2Fhead;p=nextcloud-server.git Move Share backends to PSR-4 instead of using class path (#24941) --- diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php index 2df7f099838..11c4614d6c5 100644 --- a/apps/files_sharing/appinfo/app.php +++ b/apps/files_sharing/appinfo/app.php @@ -28,14 +28,12 @@ $l = \OC::$server->getL10N('files_sharing'); -\OC::$CLASSPATH['OC_Share_Backend_File'] = 'files_sharing/lib/share/file.php'; -\OC::$CLASSPATH['OC_Share_Backend_Folder'] = 'files_sharing/lib/share/folder.php'; \OC::$CLASSPATH['OC\Files\Storage\Shared'] = 'files_sharing/lib/sharedstorage.php'; \OCA\Files_Sharing\Helper::registerHooks(); -\OCP\Share::registerBackend('file', 'OC_Share_Backend_File'); -\OCP\Share::registerBackend('folder', 'OC_Share_Backend_Folder', 'file'); +\OCP\Share::registerBackend('file', 'OCA\Files_Sharing\ShareBackend\File'); +\OCP\Share::registerBackend('folder', 'OCA\Files_Sharing\ShareBackend\Folder', 'file'); $application = new \OCA\Files_Sharing\AppInfo\Application(); $application->registerMountProviders(); diff --git a/apps/files_sharing/lib/ShareBackend/File.php b/apps/files_sharing/lib/ShareBackend/File.php new file mode 100644 index 00000000000..aecb63c60e4 --- /dev/null +++ b/apps/files_sharing/lib/ShareBackend/File.php @@ -0,0 +1,244 @@ + + * @author Bart Visscher + * @author Bjoern Schiessle + * @author Björn Schießle + * @author Joas Schilling + * @author Lukas Reschke + * @author Michael Gapczynski + * @author Morris Jobke + * @author Robin Appelman + * @author Roeland Jago Douma + * @author Thomas Müller + * @author Vincent Petry + * + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * 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, version 3, + * along with this program. If not, see + * + */ + +namespace OCA\Files_Sharing\ShareBackend; + +use OCA\FederatedFileSharing\FederatedShareProvider; + +class File implements \OCP\Share_Backend_File_Dependent { + + const FORMAT_SHARED_STORAGE = 0; + const FORMAT_GET_FOLDER_CONTENTS = 1; + const FORMAT_FILE_APP_ROOT = 2; + const FORMAT_OPENDIR = 3; + const FORMAT_GET_ALL = 4; + const FORMAT_PERMISSIONS = 5; + const FORMAT_TARGET_NAMES = 6; + + private $path; + + /** @var FederatedShareProvider */ + private $federatedShareProvider; + + public function __construct(FederatedShareProvider $federatedShareProvider = null) { + if ($federatedShareProvider) { + $this->federatedShareProvider = $federatedShareProvider; + } else { + $federatedSharingApp = new \OCA\FederatedFileSharing\AppInfo\Application(); + $this->federatedShareProvider = $federatedSharingApp->getFederatedShareProvider(); + } + } + + public function isValidSource($itemSource, $uidOwner) { + try { + $path = \OC\Files\Filesystem::getPath($itemSource); + // FIXME: attributes should not be set here, + // keeping this pattern for now to avoid unexpected + // regressions + $this->path = \OC\Files\Filesystem::normalizePath(basename($path)); + return true; + } catch (\OCP\Files\NotFoundException $e) { + return false; + } + } + + public function getFilePath($itemSource, $uidOwner) { + if (isset($this->path)) { + $path = $this->path; + $this->path = null; + return $path; + } else { + try { + $path = \OC\Files\Filesystem::getPath($itemSource); + return $path; + } catch (\OCP\Files\NotFoundException $e) { + return false; + } + } + } + + /** + * create unique target + * @param string $filePath + * @param string $shareWith + * @param array $exclude (optional) + * @return string + */ + public function generateTarget($filePath, $shareWith, $exclude = null) { + $shareFolder = \OCA\Files_Sharing\Helper::getShareFolder(); + $target = \OC\Files\Filesystem::normalizePath($shareFolder . '/' . basename($filePath)); + + // for group shares we return the target right away + if ($shareWith === false) { + return $target; + } + + \OC\Files\Filesystem::initMountPoints($shareWith); + $view = new \OC\Files\View('/' . $shareWith . '/files'); + + if (!$view->is_dir($shareFolder)) { + $dir = ''; + $subdirs = explode('/', $shareFolder); + foreach ($subdirs as $subdir) { + $dir = $dir . '/' . $subdir; + if (!$view->is_dir($dir)) { + $view->mkdir($dir); + } + } + } + + $excludeList = (is_array($exclude)) ? $exclude : array(); + + return \OCA\Files_Sharing\Helper::generateUniqueTarget($target, $excludeList, $view); + } + + public function formatItems($items, $format, $parameters = null) { + if ($format == self::FORMAT_SHARED_STORAGE) { + // Only 1 item should come through for this format call + $item = array_shift($items); + return array( + 'parent' => $item['parent'], + 'path' => $item['path'], + 'storage' => $item['storage'], + 'permissions' => $item['permissions'], + 'uid_owner' => $item['uid_owner'], + ); + } else if ($format == self::FORMAT_GET_FOLDER_CONTENTS) { + $files = array(); + foreach ($items as $item) { + $file = array(); + $file['fileid'] = $item['file_source']; + $file['storage'] = $item['storage']; + $file['path'] = $item['file_target']; + $file['parent'] = $item['file_parent']; + $file['name'] = basename($item['file_target']); + $file['mimetype'] = $item['mimetype']; + $file['mimepart'] = $item['mimepart']; + $file['mtime'] = $item['mtime']; + $file['encrypted'] = $item['encrypted']; + $file['etag'] = $item['etag']; + $file['uid_owner'] = $item['uid_owner']; + $file['displayname_owner'] = $item['displayname_owner']; + + $storage = \OC\Files\Filesystem::getStorage('/'); + $cache = $storage->getCache(); + $file['size'] = $item['size']; + $files[] = $file; + } + return $files; + } else if ($format == self::FORMAT_OPENDIR) { + $files = array(); + foreach ($items as $item) { + $files[] = basename($item['file_target']); + } + return $files; + } else if ($format == self::FORMAT_GET_ALL) { + $ids = array(); + foreach ($items as $item) { + $ids[] = $item['file_source']; + } + return $ids; + } else if ($format === self::FORMAT_PERMISSIONS) { + $filePermissions = array(); + foreach ($items as $item) { + $filePermissions[$item['file_source']] = $item['permissions']; + } + return $filePermissions; + } else if ($format === self::FORMAT_TARGET_NAMES) { + $targets = array(); + foreach ($items as $item) { + $targets[] = $item['file_target']; + } + return $targets; + } + return array(); + } + + /** + * check if server2server share is enabled + * + * @param int $shareType + * @return boolean + */ + public function isShareTypeAllowed($shareType) { + if ($shareType === \OCP\Share::SHARE_TYPE_REMOTE) { + return $this->federatedShareProvider->isOutgoingServer2serverShareEnabled(); + } + + return true; + } + + /** + * resolve reshares to return the correct source item + * @param array $source + * @return array source item + */ + protected static function resolveReshares($source) { + if (isset($source['parent'])) { + $parent = $source['parent']; + while (isset($parent)) { + $query = \OCP\DB::prepare('SELECT `parent`, `uid_owner` FROM `*PREFIX*share` WHERE `id` = ?', 1); + $item = $query->execute(array($parent))->fetchRow(); + if (isset($item['parent'])) { + $parent = $item['parent']; + } else { + $fileOwner = $item['uid_owner']; + break; + } + } + } else { + $fileOwner = $source['uid_owner']; + } + if (isset($fileOwner)) { + $source['fileOwner'] = $fileOwner; + } else { + \OCP\Util::writeLog('files_sharing', "No owner found for reshare", \OCP\Util::ERROR); + } + + return $source; + } + + /** + * @param string $target + * @param array $share + * @return array|false source item + */ + public static function getSource($target, $share) { + if ($share['item_type'] === 'folder' && $target !== '') { + // note: in case of ext storage mount points the path might be empty + // which would cause a leading slash to appear + $share['path'] = ltrim($share['path'] . '/' . $target, '/'); + } + return self::resolveReshares($share); + } +} diff --git a/apps/files_sharing/lib/ShareBackend/Folder.php b/apps/files_sharing/lib/ShareBackend/Folder.php new file mode 100644 index 00000000000..4929bebf40b --- /dev/null +++ b/apps/files_sharing/lib/ShareBackend/Folder.php @@ -0,0 +1,107 @@ + + * @author Björn Schießle + * @author Michael Gapczynski + * @author Morris Jobke + * @author Robin McCorkell + * @author Roeland Jago Douma + * + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * 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, version 3, + * along with this program. If not, see + * + */ + +namespace OCA\Files_Sharing\ShareBackend; + +class Folder extends File implements \OCP\Share_Backend_Collection { + + /** + * get shared parents + * + * @param int $itemSource item source ID + * @param string $shareWith with whom should the item be shared + * @param string $owner owner of the item + * @return array with shares + */ + public function getParents($itemSource, $shareWith = null, $owner = null) { + $result = array(); + $parent = $this->getParentId($itemSource); + while ($parent) { + $shares = \OCP\Share::getItemSharedWithUser('folder', $parent, $shareWith, $owner); + if ($shares) { + foreach ($shares as $share) { + $name = basename($share['path']); + $share['collection']['path'] = $name; + $share['collection']['item_type'] = 'folder'; + $share['file_path'] = $name; + $displayNameOwner = \OCP\User::getDisplayName($share['uid_owner']); + $displayNameShareWith = \OCP\User::getDisplayName($share['share_with']); + $share['displayname_owner'] = ($displayNameOwner) ? $displayNameOwner : $share['uid_owner']; + $share['share_with_displayname'] = ($displayNameShareWith) ? $displayNameShareWith : $share['uid_owner']; + + $result[] = $share; + } + } + $parent = $this->getParentId($parent); + } + + return $result; + } + + /** + * get file cache ID of parent + * + * @param int $child file cache ID of child + * @return mixed parent ID or null + */ + private function getParentId($child) { + $query = \OCP\DB::prepare('SELECT `parent` FROM `*PREFIX*filecache` WHERE `fileid` = ?'); + $result = $query->execute(array($child)); + $row = $result->fetchRow(); + $parent = ($row) ? $row['parent'] : null; + + return $parent; + } + + public function getChildren($itemSource) { + $children = array(); + $parents = array($itemSource); + $query = \OCP\DB::prepare('SELECT `id` FROM `*PREFIX*mimetypes` WHERE `mimetype` = ?'); + $result = $query->execute(array('httpd/unix-directory')); + if ($row = $result->fetchRow()) { + $mimetype = $row['id']; + } else { + $mimetype = -1; + } + while (!empty($parents)) { + $parents = "'".implode("','", $parents)."'"; + $query = \OCP\DB::prepare('SELECT `fileid`, `name`, `mimetype` FROM `*PREFIX*filecache`' + .' WHERE `parent` IN ('.$parents.')'); + $result = $query->execute(); + $parents = array(); + while ($file = $result->fetchRow()) { + $children[] = array('source' => $file['fileid'], 'file_path' => $file['name']); + // If a child folder is found look inside it + if ($file['mimetype'] == $mimetype) { + $parents[] = $file['fileid']; + } + } + } + return $children; + } + +} diff --git a/apps/files_sharing/lib/share/file.php b/apps/files_sharing/lib/share/file.php deleted file mode 100644 index 370e755ec80..00000000000 --- a/apps/files_sharing/lib/share/file.php +++ /dev/null @@ -1,242 +0,0 @@ - - * @author Bart Visscher - * @author Bjoern Schiessle - * @author Björn Schießle - * @author Joas Schilling - * @author Lukas Reschke - * @author Michael Gapczynski - * @author Morris Jobke - * @author Robin Appelman - * @author Roeland Jago Douma - * @author Thomas Müller - * @author Vincent Petry - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * 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, version 3, - * along with this program. If not, see - * - */ - -use OCA\FederatedFileSharing\FederatedShareProvider; - -class OC_Share_Backend_File implements OCP\Share_Backend_File_Dependent { - - const FORMAT_SHARED_STORAGE = 0; - const FORMAT_GET_FOLDER_CONTENTS = 1; - const FORMAT_FILE_APP_ROOT = 2; - const FORMAT_OPENDIR = 3; - const FORMAT_GET_ALL = 4; - const FORMAT_PERMISSIONS = 5; - const FORMAT_TARGET_NAMES = 6; - - private $path; - - /** @var FederatedShareProvider */ - private $federatedShareProvider; - - public function __construct(FederatedShareProvider $federatedShareProvider = null) { - if ($federatedShareProvider) { - $this->federatedShareProvider = $federatedShareProvider; - } else { - $federatedSharingApp = new \OCA\FederatedFileSharing\AppInfo\Application(); - $this->federatedShareProvider = $federatedSharingApp->getFederatedShareProvider(); - } - } - - public function isValidSource($itemSource, $uidOwner) { - try { - $path = \OC\Files\Filesystem::getPath($itemSource); - // FIXME: attributes should not be set here, - // keeping this pattern for now to avoid unexpected - // regressions - $this->path = \OC\Files\Filesystem::normalizePath(basename($path)); - return true; - } catch (\OCP\Files\NotFoundException $e) { - return false; - } - } - - public function getFilePath($itemSource, $uidOwner) { - if (isset($this->path)) { - $path = $this->path; - $this->path = null; - return $path; - } else { - try { - $path = \OC\Files\Filesystem::getPath($itemSource); - return $path; - } catch (\OCP\Files\NotFoundException $e) { - return false; - } - } - } - - /** - * create unique target - * @param string $filePath - * @param string $shareWith - * @param array $exclude (optional) - * @return string - */ - public function generateTarget($filePath, $shareWith, $exclude = null) { - $shareFolder = \OCA\Files_Sharing\Helper::getShareFolder(); - $target = \OC\Files\Filesystem::normalizePath($shareFolder . '/' . basename($filePath)); - - // for group shares we return the target right away - if ($shareWith === false) { - return $target; - } - - \OC\Files\Filesystem::initMountPoints($shareWith); - $view = new \OC\Files\View('/' . $shareWith . '/files'); - - if (!$view->is_dir($shareFolder)) { - $dir = ''; - $subdirs = explode('/', $shareFolder); - foreach ($subdirs as $subdir) { - $dir = $dir . '/' . $subdir; - if (!$view->is_dir($dir)) { - $view->mkdir($dir); - } - } - } - - $excludeList = (is_array($exclude)) ? $exclude : array(); - - return \OCA\Files_Sharing\Helper::generateUniqueTarget($target, $excludeList, $view); - } - - public function formatItems($items, $format, $parameters = null) { - if ($format == self::FORMAT_SHARED_STORAGE) { - // Only 1 item should come through for this format call - $item = array_shift($items); - return array( - 'parent' => $item['parent'], - 'path' => $item['path'], - 'storage' => $item['storage'], - 'permissions' => $item['permissions'], - 'uid_owner' => $item['uid_owner'], - ); - } else if ($format == self::FORMAT_GET_FOLDER_CONTENTS) { - $files = array(); - foreach ($items as $item) { - $file = array(); - $file['fileid'] = $item['file_source']; - $file['storage'] = $item['storage']; - $file['path'] = $item['file_target']; - $file['parent'] = $item['file_parent']; - $file['name'] = basename($item['file_target']); - $file['mimetype'] = $item['mimetype']; - $file['mimepart'] = $item['mimepart']; - $file['mtime'] = $item['mtime']; - $file['encrypted'] = $item['encrypted']; - $file['etag'] = $item['etag']; - $file['uid_owner'] = $item['uid_owner']; - $file['displayname_owner'] = $item['displayname_owner']; - - $storage = \OC\Files\Filesystem::getStorage('/'); - $cache = $storage->getCache(); - $file['size'] = $item['size']; - $files[] = $file; - } - return $files; - } else if ($format == self::FORMAT_OPENDIR) { - $files = array(); - foreach ($items as $item) { - $files[] = basename($item['file_target']); - } - return $files; - } else if ($format == self::FORMAT_GET_ALL) { - $ids = array(); - foreach ($items as $item) { - $ids[] = $item['file_source']; - } - return $ids; - } else if ($format === self::FORMAT_PERMISSIONS) { - $filePermissions = array(); - foreach ($items as $item) { - $filePermissions[$item['file_source']] = $item['permissions']; - } - return $filePermissions; - } else if ($format === self::FORMAT_TARGET_NAMES) { - $targets = array(); - foreach ($items as $item) { - $targets[] = $item['file_target']; - } - return $targets; - } - return array(); - } - - /** - * check if server2server share is enabled - * - * @param int $shareType - * @return boolean - */ - public function isShareTypeAllowed($shareType) { - if ($shareType === \OCP\Share::SHARE_TYPE_REMOTE) { - return $this->federatedShareProvider->isOutgoingServer2serverShareEnabled(); - } - - return true; - } - - /** - * resolve reshares to return the correct source item - * @param array $source - * @return array source item - */ - protected static function resolveReshares($source) { - if (isset($source['parent'])) { - $parent = $source['parent']; - while (isset($parent)) { - $query = \OCP\DB::prepare('SELECT `parent`, `uid_owner` FROM `*PREFIX*share` WHERE `id` = ?', 1); - $item = $query->execute(array($parent))->fetchRow(); - if (isset($item['parent'])) { - $parent = $item['parent']; - } else { - $fileOwner = $item['uid_owner']; - break; - } - } - } else { - $fileOwner = $source['uid_owner']; - } - if (isset($fileOwner)) { - $source['fileOwner'] = $fileOwner; - } else { - \OCP\Util::writeLog('files_sharing', "No owner found for reshare", \OCP\Util::ERROR); - } - - return $source; - } - - /** - * @param string $target - * @param array $share - * @return array|false source item - */ - public static function getSource($target, $share) { - if ($share['item_type'] === 'folder' && $target !== '') { - // note: in case of ext storage mount points the path might be empty - // which would cause a leading slash to appear - $share['path'] = ltrim($share['path'] . '/' . $target, '/'); - } - return self::resolveReshares($share); - } -} diff --git a/apps/files_sharing/lib/share/folder.php b/apps/files_sharing/lib/share/folder.php deleted file mode 100644 index e4d90274db1..00000000000 --- a/apps/files_sharing/lib/share/folder.php +++ /dev/null @@ -1,105 +0,0 @@ - - * @author Björn Schießle - * @author Michael Gapczynski - * @author Morris Jobke - * @author Robin McCorkell - * @author Roeland Jago Douma - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * 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, version 3, - * along with this program. If not, see - * - */ - -class OC_Share_Backend_Folder extends OC_Share_Backend_File implements OCP\Share_Backend_Collection { - - /** - * get shared parents - * - * @param int $itemSource item source ID - * @param string $shareWith with whom should the item be shared - * @param string $owner owner of the item - * @return array with shares - */ - public function getParents($itemSource, $shareWith = null, $owner = null) { - $result = array(); - $parent = $this->getParentId($itemSource); - while ($parent) { - $shares = \OCP\Share::getItemSharedWithUser('folder', $parent, $shareWith, $owner); - if ($shares) { - foreach ($shares as $share) { - $name = basename($share['path']); - $share['collection']['path'] = $name; - $share['collection']['item_type'] = 'folder'; - $share['file_path'] = $name; - $displayNameOwner = \OCP\User::getDisplayName($share['uid_owner']); - $displayNameShareWith = \OCP\User::getDisplayName($share['share_with']); - $share['displayname_owner'] = ($displayNameOwner) ? $displayNameOwner : $share['uid_owner']; - $share['share_with_displayname'] = ($displayNameShareWith) ? $displayNameShareWith : $share['uid_owner']; - - $result[] = $share; - } - } - $parent = $this->getParentId($parent); - } - - return $result; - } - - /** - * get file cache ID of parent - * - * @param int $child file cache ID of child - * @return mixed parent ID or null - */ - private function getParentId($child) { - $query = \OCP\DB::prepare('SELECT `parent` FROM `*PREFIX*filecache` WHERE `fileid` = ?'); - $result = $query->execute(array($child)); - $row = $result->fetchRow(); - $parent = ($row) ? $row['parent'] : null; - - return $parent; - } - - public function getChildren($itemSource) { - $children = array(); - $parents = array($itemSource); - $query = \OCP\DB::prepare('SELECT `id` FROM `*PREFIX*mimetypes` WHERE `mimetype` = ?'); - $result = $query->execute(array('httpd/unix-directory')); - if ($row = $result->fetchRow()) { - $mimetype = $row['id']; - } else { - $mimetype = -1; - } - while (!empty($parents)) { - $parents = "'".implode("','", $parents)."'"; - $query = \OCP\DB::prepare('SELECT `fileid`, `name`, `mimetype` FROM `*PREFIX*filecache`' - .' WHERE `parent` IN ('.$parents.')'); - $result = $query->execute(); - $parents = array(); - while ($file = $result->fetchRow()) { - $children[] = array('source' => $file['fileid'], 'file_path' => $file['name']); - // If a child folder is found look inside it - if ($file['mimetype'] == $mimetype) { - $parents[] = $file['fileid']; - } - } - } - return $children; - } - -} diff --git a/apps/files_sharing/tests/BackendTest.php b/apps/files_sharing/tests/BackendTest.php index f5fd726d637..cea8762a5b4 100644 --- a/apps/files_sharing/tests/BackendTest.php +++ b/apps/files_sharing/tests/BackendTest.php @@ -79,7 +79,7 @@ class BackendTest extends TestCase { $this->assertTrue(\OCP\Share::shareItem('folder', $fileinfo2['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_FILES_SHARING_API_USER3, 31)); - $backend = new \OC_Share_Backend_Folder(); + $backend = new \OCA\Files_Sharing\ShareBackend\Folder(); $result = $backend->getParents($fileinfo3['fileid']); $this->assertSame(2, count($result)); diff --git a/lib/private/Share/Share.php b/lib/private/Share/Share.php index fdc5818dbf7..9210dfd1fd1 100644 --- a/lib/private/Share/Share.php +++ b/lib/private/Share/Share.php @@ -2533,7 +2533,7 @@ class Share extends Constants { } } else { if ($fileDependent) { - if ($format == \OC_Share_Backend_File::FORMAT_GET_FOLDER_CONTENTS || $format == \OC_Share_Backend_File::FORMAT_FILE_APP_ROOT) { + if ($format == \OCA\Files_Sharing\ShareBackend\File::FORMAT_GET_FOLDER_CONTENTS || $format == \OCA\Files_Sharing\ShareBackend\File::FORMAT_FILE_APP_ROOT) { $select = '`*PREFIX*share`.`id`, `item_type`, `item_source`, `*PREFIX*share`.`parent`, `uid_owner`, ' . '`share_type`, `share_with`, `file_source`, `path`, `file_target`, `stime`, ' . '`*PREFIX*share`.`permissions`, `expiration`, `storage`, `*PREFIX*filecache`.`parent` as `file_parent`, ' diff --git a/tests/lib/Files/EtagTest.php b/tests/lib/Files/EtagTest.php index d8e44000f9c..67ddd6ca514 100644 --- a/tests/lib/Files/EtagTest.php +++ b/tests/lib/Files/EtagTest.php @@ -34,8 +34,8 @@ class EtagTest extends \Test\TestCase { \OC_Hook::clear('OC_Filesystem', 'setup'); $application = new \OCA\Files_Sharing\AppInfo\Application(); $application->registerMountProviders(); - \OCP\Share::registerBackend('file', 'OC_Share_Backend_File'); - \OCP\Share::registerBackend('folder', 'OC_Share_Backend_Folder', 'file'); + \OCP\Share::registerBackend('file', 'OCA\Files_Sharing\ShareBackend\File'); + \OCP\Share::registerBackend('folder', 'OCA\Files_Sharing\ShareBackend\Folder', 'file'); $config = \OC::$server->getConfig(); $this->datadir = $config->getSystemValue('datadirectory');