diff --git a/apps/files_sharing/lib/share/file.php b/apps/files_sharing/lib/share/file.php index 1086e21d79f000f798b8b74a234d887a53aa4edf..dacdb9308be7b72298aa3b953f8cc5d4ec52ebd2 100644 --- a/apps/files_sharing/lib/share/file.php +++ b/apps/files_sharing/lib/share/file.php @@ -57,7 +57,7 @@ class OC_Share_Backend_File implements OCP\Share_Backend_File_Dependent { * create unique target * @param string $filePath * @param string $shareWith - * @param string $exclude + * @param array $exclude (optional) * @return string */ public function generateTarget($filePath, $shareWith, $exclude = null) { @@ -83,7 +83,9 @@ class OC_Share_Backend_File implements OCP\Share_Backend_File_Dependent { } } - return \OCA\Files_Sharing\Helper::generateUniqueTarget($target, $exclude, $view); + $excludeList = (is_array($exclude)) ? $exclude : array(); + + return \OCA\Files_Sharing\Helper::generateUniqueTarget($target, $excludeList, $view); } public function formatItems($items, $format, $parameters = null) { diff --git a/apps/files_sharing/tests/share.php b/apps/files_sharing/tests/share.php index 80199505d89752cad4b5e8a81e43aab4c2b04d05..fe80cfca781db28a32a6665614342e4b8c5ae409 100644 --- a/apps/files_sharing/tests/share.php +++ b/apps/files_sharing/tests/share.php @@ -72,8 +72,6 @@ class Test_Files_Sharing extends Test_Files_Sharing_Base { $fileinfo = $this->view->getFileInfo($this->filename); - $pathinfo = pathinfo($this->filename); - $result = \OCP\Share::shareItem('file', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Files_Sharing::TEST_FILES_SHARING_API_USER2, 31); diff --git a/lib/private/share/helper.php b/lib/private/share/helper.php index 90dd12e9842d9c315199c0035e051df242371527..2418535c9d50dbcd2f72a7f5c5962a1f56682b78 100644 --- a/lib/private/share/helper.php +++ b/lib/private/share/helper.php @@ -36,6 +36,7 @@ class Helper extends \OC\Share\Constants { * @return string Item target */ public static function generateTarget($itemType, $itemSource, $shareType, $shareWith, $uidOwner, $suggestedTarget = null, $groupParent = null) { + // FIXME: $uidOwner and $groupParent seems to be unused $backend = \OC\Share\Share::getBackend($itemType); if ($shareType == self::SHARE_TYPE_LINK) { if (isset($suggestedTarget)) { @@ -53,9 +54,6 @@ class Helper extends \OC\Share\Constants { if ($shareType == self::SHARE_TYPE_USER) { // Share with is a user, so set share type to user and groups $shareType = self::$shareTypeUserAndGroups; - $userAndGroups = array_merge(array($shareWith), \OC_Group::getUserGroups($shareWith)); - } else { - $userAndGroups = false; } $exclude = array(); diff --git a/lib/private/share/hooks.php b/lib/private/share/hooks.php index 2be7dc85e3cc3164b782cb7c3acd6a29bfd34ef8..66b197b921baca933656976205fdaa83acf120bc 100644 --- a/lib/private/share/hooks.php +++ b/lib/private/share/hooks.php @@ -65,7 +65,7 @@ class Hooks extends \OC\Share\Constants { // do we also need a file target if ($item['item_type'] === 'file' || $item['item_type'] === 'folder') { - $fileTarget = Helper::generateTarget('file', $row['file_target'], self::SHARE_TYPE_USER, $arguments['uid'], + $fileTarget = Helper::generateTarget('file', $item['file_target'], self::SHARE_TYPE_USER, $arguments['uid'], $item['owner'], null, $item['parent']); } else { $fileTarget = null; diff --git a/lib/private/share/share.php b/lib/private/share/share.php index b34b134ee84f77f2285d2def49ea5fe2eb3ca00f..d861f0510e4f97cebb120776349c8c46b21ee55b 100644 --- a/lib/private/share/share.php +++ b/lib/private/share/share.php @@ -295,7 +295,7 @@ class Share extends \OC\Share\Constants { $shares = array(); $column = ($itemType === 'file' || $itemType === 'folder') ? 'file_source' : 'item_source'; - + $where = ' `' . $column . '` = ? AND `item_type` = ? '; $arguments = array($itemSource, $itemType); // for link shares $user === null @@ -706,7 +706,7 @@ class Share extends \OC\Share\Constants { // if there is more then one result we don't have to delete the children // but update their parent. For group shares the new parent should always be // the original group share and not the db entry with the unique name - } else if ((int)$item['share_type'] === \OCP\Share::$shareTypeGroupUserUnique) { + } else if ((int)$item['share_type'] === self::$shareTypeGroupUserUnique) { $newParent = $item['parent']; } else { $newParent = $item['id']; @@ -1614,6 +1614,7 @@ class Share extends \OC\Share\Constants { $permissions, $parentFolder = null, $token = null, $itemSourceName = null, \DateTime $expirationDate = null) { $queriesToExecute = array(); + $suggestedItemTarget = null; $result = self::checkReshare($itemType, $itemSource, $shareType, $shareWith, $uidOwner, $permissions, $itemSourceName, $expirationDate); if(!empty($result)) {