]> source.dussan.org Git - nextcloud-server.git/commitdiff
Allow sharing of files shared with you - Bug: Doesn't show up as being shared in...
authorMichael Gapczynski <GapczynskiM@gmail.com>
Wed, 24 Aug 2011 16:32:02 +0000 (12:32 -0400)
committerMichael Gapczynski <GapczynskiM@gmail.com>
Wed, 24 Aug 2011 16:32:02 +0000 (12:32 -0400)
apps/files_sharing/ajax/share.php

index d9bf4ff7abebcf34efe93605f9ab77cce0927d21..cff0acf3323d12ccf18339fecec70d54f188689e 100644 (file)
@@ -4,21 +4,29 @@ $RUNTIME_NOAPPS = true;
 require_once('../../../lib/base.php');
 require_once('../lib_share.php');
 
+$userDirectory = "/".OC_User::getUser()."/files";
 $sources = explode(";", $_POST['sources']);
 $uid_shared_with = $_POST['uid_shared_with'];
 $permissions = $_POST['permissions'];
 foreach ($sources as $source) {
+       // Make sure file exists and can be shared
        if ($source && OC_FILESYSTEM::file_exists($source) && OC_FILESYSTEM::is_readable($source)) {
-               $source = "/".OC_User::getUser()."/files".$source;
-               try {
-                       $shared = new OC_Share($source, $uid_shared_with, $permissions);
-                       if ($uid_shared_with == OC_Share::PUBLICLINK) {
-                               echo $shared->getToken();
-                       }
-               } catch (Exception $exception) {
+               $source = $userDirectory.$source;
+       // If the file doesn't exist, it may be shared with the current user
+       } else {
+               $source = OC_Share::getSource($userDirectory.$source);
+               if (!$source) {
                        echo "false";
                }
        }
+       try {
+               $shared = new OC_Share($source, $uid_shared_with, $permissions);
+               if ($uid_shared_with == OC_Share::PUBLICLINK) {
+                       echo $shared->getToken();
+               }
+       } catch (Exception $exception) {
+               echo "false";
+       }
 }
 
 ?>
\ No newline at end of file