diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2014-06-03 17:57:56 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2014-06-05 08:22:01 +0200 |
commit | da3974bcb210a6580c974e1b2efebcae26ccf708 (patch) | |
tree | de4dbee3b1e0baacd6ba3600773a4178142181ed /apps/files_sharing/lib | |
parent | ade6ed37976b405322e428df8c6697116fc9692f (diff) | |
download | nextcloud-server-da3974bcb210a6580c974e1b2efebcae26ccf708.tar.gz nextcloud-server-da3974bcb210a6580c974e1b2efebcae26ccf708.zip |
- drop permissions table and related code
- the file/folder's permission is now stored in the file cache
- BackGroundWatcher has been removed - this has meanwhile be replaced by occ files:scan which can be executed in a cron jobs
- increase version to trigger database migration
Diffstat (limited to 'apps/files_sharing/lib')
-rw-r--r-- | apps/files_sharing/lib/api.php | 2 | ||||
-rw-r--r-- | apps/files_sharing/lib/cache.php | 3 | ||||
-rw-r--r-- | apps/files_sharing/lib/permissions.php | 112 | ||||
-rw-r--r-- | apps/files_sharing/lib/sharedstorage.php | 4 |
4 files changed, 3 insertions, 118 deletions
diff --git a/apps/files_sharing/lib/api.php b/apps/files_sharing/lib/api.php index dc4e5cf6c49..4dddbec26b1 100644 --- a/apps/files_sharing/lib/api.php +++ b/apps/files_sharing/lib/api.php @@ -156,7 +156,7 @@ class Api { return $shares; } - $select = '`*PREFIX*share`.`id`, `item_type`, `*PREFIX*share`.`parent`, `share_type`, `share_with`, `file_source`, `path` , `permissions`, `stime`, `expiration`, `token`, `storage`, `mail_send`, `mail_send`'; + $select = '`*PREFIX*share`.`id`, `item_type`, `*PREFIX*share`.`parent`, `share_type`, `share_with`, `file_source`, `path` , `*PREFIX*share`.`permissions`, `stime`, `expiration`, `token`, `storage`, `mail_send`, `mail_send`'; $getReshares = \OC_DB::prepare('SELECT ' . $select . ' FROM `*PREFIX*share` INNER JOIN `*PREFIX*filecache` ON `file_source` = `*PREFIX*filecache`.`fileid` WHERE `*PREFIX*share`.`file_source` = ? AND `*PREFIX*share`.`item_type` IN (\'file\', \'folder\') AND `uid_owner` != ?'); $reshares = $getReshares->execute(array($itemSource, \OCP\User::getUser()))->fetchAll(); diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php index 9d83ed13b87..f6c42e930d1 100644 --- a/apps/files_sharing/lib/cache.php +++ b/apps/files_sharing/lib/cache.php @@ -105,7 +105,7 @@ class Shared_Cache extends Cache { } $query = \OC_DB::prepare( 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`,' - . ' `size`, `mtime`, `encrypted`, `unencrypted_size`, `storage_mtime`, `etag`' + . ' `size`, `mtime`, `encrypted`, `unencrypted_size`, `storage_mtime`, `etag`, `permissions`' . ' FROM `*PREFIX*filecache` WHERE `fileid` = ?'); $result = $query->execute(array($sourceId)); $data = $result->fetchRow(); @@ -124,6 +124,7 @@ class Shared_Cache extends Cache { } else { $data['size'] = (int)$data['size']; } + $data['permissions'] = (int)$data['permissions']; if (!is_int($file) || $file === 0) { $data['path'] = ''; $data['name'] = basename($this->storage->getMountPoint()); diff --git a/apps/files_sharing/lib/permissions.php b/apps/files_sharing/lib/permissions.php deleted file mode 100644 index 2c4dce36332..00000000000 --- a/apps/files_sharing/lib/permissions.php +++ /dev/null @@ -1,112 +0,0 @@ -<?php -/** -* ownCloud -* -* @author Michael Gapczynski -* @copyright 2012 Michael Gapczynski mtgap@owncloud.com -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library 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 library. If not, see <http://www.gnu.org/licenses/>. -*/ -namespace OC\Files\Cache; - -class Shared_Permissions extends Permissions { - - /** - * get the permissions for a single file - * - * @param int $fileId - * @param string $user - * @return int permissions - */ - public function get($fileId, $user) { - - $permissions = $this->storage->getPermissions(); - - return $this->updatePermissions($permissions); - } - - /** - * @param integer $fileId - * @param string $user - */ - private function getFile($fileId, $user) { - return $this->get($fileId, $user); - } - - /** - * set the permissions of a file - * - * @param int $fileId - * @param string $user - * @param int $permissions - */ - public function set($fileId, $user, $permissions) { - // Not a valid action for Shared Permissions - } - - /** - * get the permissions of multiply files - * - * @param int[] $fileIds - * @param string $user - * @return int[] - */ - public function getMultiple($fileIds, $user) { - $filePermissions = array(); - foreach ($fileIds as $fileId) { - $filePermissions[$fileId] = $this->get($fileId, $user); - } - return $filePermissions; - } - - /** - * get the permissions for all files in a folder - * - * @param int $parentId - * @param string $user - * @return int[] - */ - public function getDirectoryPermissions($parentId, $user) { - - if ($parentId === -1 && $this->storage->instanceOfStorage('\OC\Files\Storage\Shared')) { - $fileCacheId = $this->storage->getSourceId(); - } else { - $fileCacheId = $parentId; - } - - $query = \OC_DB::prepare('SELECT `fileid` FROM `*PREFIX*filecache` WHERE `parent` = ?'); - $result = $query->execute(array($fileCacheId)); - $permissions = $this->get($parentId, $user); - $filePermissions = array(); - while ($row = $result->fetchRow()) { - $filePermissions[$row['fileid']] = $permissions; - } - return $filePermissions; - } - - /** - * remove the permissions for a file - * - * @param int $fileId - * @param string $user - */ - public function remove($fileId, $user = null) { - // Not a valid action for Shared Permissions - } - - public function removeMultiple($fileIds, $user) { - // Not a valid action for Shared Permissions - } - -} diff --git a/apps/files_sharing/lib/sharedstorage.php b/apps/files_sharing/lib/sharedstorage.php index 6d661dfd8af..f93982ee857 100644 --- a/apps/files_sharing/lib/sharedstorage.php +++ b/apps/files_sharing/lib/sharedstorage.php @@ -578,10 +578,6 @@ class Shared extends \OC\Files\Storage\Common { return new \OC\Files\Cache\Scanner($this); } - public function getPermissionsCache($path = '') { - return new \OC\Files\Cache\Shared_Permissions($this); - } - public function getWatcher($path = '') { return new \OC\Files\Cache\Shared_Watcher($this); } |