summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2014-08-06 13:38:14 +0200
committerRobin Appelman <icewind@owncloud.com>2014-08-06 13:38:14 +0200
commit12207ec0c7c725dce6b25d8c70306ced9bdc0410 (patch)
tree632c2ef8f0f64d282b8216e73cd3f644ae8b5ecc /apps
parent1deb6aadd305d9c211d5cd640cfa7780119d644c (diff)
downloadnextcloud-server-12207ec0c7c725dce6b25d8c70306ced9bdc0410.tar.gz
nextcloud-server-12207ec0c7c725dce6b25d8c70306ced9bdc0410.zip
Fix SharedCache::getPathById
Diffstat (limited to 'apps')
-rw-r--r--apps/files_sharing/lib/cache.php26
1 files changed, 6 insertions, 20 deletions
diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php
index 7f7197307bd..adea07e5f7b 100644
--- a/apps/files_sharing/lib/cache.php
+++ b/apps/files_sharing/lib/cache.php
@@ -43,6 +43,7 @@ class Shared_Cache extends Cache {
/**
* Get the source cache of a shared file or folder
+ *
* @param string $target Shared target file path
* @return \OC\Files\Cache\Cache
*/
@@ -275,7 +276,7 @@ class Shared_Cache extends Cache {
*/
public function search($pattern) {
- $pattern = trim($pattern,'%');
+ $pattern = trim($pattern, '%');
$normalizedPattern = $this->normalize($pattern);
@@ -403,9 +404,8 @@ class Shared_Cache extends Cache {
*/
public function getPathById($id, $pathEnd = '') {
// direct shares are easy
- $path = $this->getShareById($id);
- if (is_string($path)) {
- return ltrim($pathEnd, '/');
+ if ($id === $this->storage->getSourceId()) {
+ return $pathEnd;
} else {
// if the item is a direct share we try and get the path of the parent and append the name of the item to it
list($parent, $name) = $this->getParentInfo($id);
@@ -419,28 +419,14 @@ class Shared_Cache extends Cache {
/**
* @param integer $id
- */
- private function getShareById($id) {
- $item = \OCP\Share::getItemSharedWithBySource('file', $id);
- if ($item) {
- return trim($item['file_target'], '/');
- }
- $item = \OCP\Share::getItemSharedWithBySource('folder', $id);
- if ($item) {
- return trim($item['file_target'], '/');
- }
- return null;
- }
-
- /**
- * @param integer $id
+ * @return array
*/
private function getParentInfo($id) {
$sql = 'SELECT `parent`, `name` FROM `*PREFIX*filecache` WHERE `fileid` = ?';
$query = \OC_DB::prepare($sql);
$result = $query->execute(array($id));
if ($row = $result->fetchRow()) {
- return array($row['parent'], $row['name']);
+ return array((int)$row['parent'], $row['name']);
} else {
return array(-1, '');
}