[Pkg-owncloud-commits] [owncloud] 02/145: add path relative to the files folder of the currently logged in user to the output of getFolderContent()
David Prévot
taffit at moszumanska.debian.org
Wed Feb 26 16:27:37 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository owncloud.
commit 1a938912229b9c67c29da1670735aa507f2e958e
Author: Bjoern Schiessle <schiessle at owncloud.com>
Date: Wed Jan 22 16:54:17 2014 +0100
add path relative to the files folder of the currently logged in user to the output of getFolderContent()
---
apps/files_sharing/lib/cache.php | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php
index 90440d0..425d511 100644
--- a/apps/files_sharing/lib/cache.php
+++ b/apps/files_sharing/lib/cache.php
@@ -127,7 +127,18 @@ class Shared_Cache extends Cache {
return $files;
} else {
if ($cache = $this->getSourceCache($folder)) {
- return $cache->getFolderContents($this->files[$folder]);
+ $sourceFolderContent = $cache->getFolderContents($this->files[$folder]);
+ foreach ($sourceFolderContent as $key => $c) {
+ $ownerPathParts = explode('/', \OC_Filesystem::normalizePath($c['path']));
+ $userPathParts = explode('/', \OC_Filesystem::normalizePath($folder));
+ $usersPath = 'files/Shared/'.$userPathParts[1];
+ foreach (array_slice($ownerPathParts, 3) as $part) {
+ $usersPath .= '/'.$part;
+ }
+ $sourceFolderContent[$key]['usersPath'] = $usersPath;
+ }
+
+ return $sourceFolderContent;
}
}
return false;
@@ -260,7 +271,7 @@ class Shared_Cache extends Cache {
return $this->searchWithWhere($where, $value);
}
-
+
/**
* The maximum number of placeholders that can be used in an SQL query.
* Value MUST be <= 1000 for oracle:
@@ -268,7 +279,7 @@ class Shared_Cache extends Cache {
* FIXME we should get this from doctrine as other DBs allow a lot more placeholders
*/
const MAX_SQL_CHUNK_SIZE = 1000;
-
+
/**
* search for files with a custom where clause and value
* the $wherevalue will be array_merge()d with the file id chunks
@@ -282,16 +293,16 @@ class Shared_Cache extends Cache {
$ids = $this->getAll();
$files = array();
-
+
// divide into chunks
$chunks = array_chunk($ids, $chunksize);
-
+
foreach ($chunks as $chunk) {
$placeholders = join(',', array_fill(0, count($chunk), '?'));
$sql = 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`,
`encrypted`, `unencrypted_size`, `etag`
FROM `*PREFIX*filecache` WHERE ' . $sqlwhere . ' `fileid` IN (' . $placeholders . ')';
-
+
$stmt = \OC_DB::prepare($sql);
$result = $stmt->execute(array_merge(array($wherevalue), $chunk));
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git
More information about the Pkg-owncloud-commits
mailing list