From 29d1e8087d3f94a78fc23e1fdd44c139349625b0 Mon Sep 17 00:00:00 2001 From: Michael Gapczynski <mtgap@owncloud.com> Date: Sat, 1 Sep 2012 13:46:57 -0400 Subject: [PATCH] Implement generateTarget for file sharing backend --- apps/files_sharing/lib/share/file.php | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/apps/files_sharing/lib/share/file.php b/apps/files_sharing/lib/share/file.php index b1e3ca8b48..82744924be 100644 --- a/apps/files_sharing/lib/share/file.php +++ b/apps/files_sharing/lib/share/file.php @@ -46,9 +46,25 @@ class OC_Share_Backend_File implements OCP\Share_Backend_File_Dependent { return false; } - public function generateTarget($itemSource, $shareWith, $exclude = null) { - // TODO Make sure target path doesn't exist already - return $itemSource; + public function generateTarget($filePath, $shareWith, $exclude = null) { + $target = $filePath; + if (isset($exclude)) { + if ($pos = strrpos($target, '.')) { + $name = substr($target, 0, $pos); + $ext = substr($target, $pos); + } else { + $name = $filePath; + $ext = ''; + } + $i = 2; + $append = ''; + while (in_array($name.$append.$ext, $exclude)) { + $append = ' ('.$i.')'; + $i++; + } + $target = $name.$append.$ext; + } + return $target; } public function formatItems($items, $format, $parameters = null) { -- GitLab