summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2014-06-03 17:57:56 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2014-06-05 08:22:01 +0200
commitda3974bcb210a6580c974e1b2efebcae26ccf708 (patch)
treede4dbee3b1e0baacd6ba3600773a4178142181ed /apps/files_sharing/lib
parentade6ed37976b405322e428df8c6697116fc9692f (diff)
downloadnextcloud-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.php2
-rw-r--r--apps/files_sharing/lib/cache.php3
-rw-r--r--apps/files_sharing/lib/permissions.php112
-rw-r--r--apps/files_sharing/lib/sharedstorage.php4
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);
}