diff options
author | RedMatrix <info@friendica.com> | 2014-06-24 21:32:31 +1000 |
---|---|---|
committer | RedMatrix <info@friendica.com> | 2014-06-24 21:32:31 +1000 |
commit | a92fb0b04c3e6474ec48faf8e4cc65c382e89d66 (patch) | |
tree | d47a527d6e537ac94eed911afee6056fa1005d92 /include | |
parent | b2b47dcd7ca823bacd5d223666c8603d099116ec (diff) | |
parent | 4c78c3bdee5ac6c70f4de7886734e6ef06b37a26 (diff) | |
download | volse-hubzilla-a92fb0b04c3e6474ec48faf8e4cc65c382e89d66.tar.gz volse-hubzilla-a92fb0b04c3e6474ec48faf8e4cc65c382e89d66.tar.bz2 volse-hubzilla-a92fb0b04c3e6474ec48faf8e4cc65c382e89d66.zip |
Merge pull request #503 from tuscanhobbit/master
Fixes to links and forward URLs in filestorage
Diffstat (limited to 'include')
-rw-r--r-- | include/attach.php | 45 | ||||
-rw-r--r-- | include/reddav.php | 38 |
2 files changed, 66 insertions, 17 deletions
diff --git a/include/attach.php b/include/attach.php index a3ee3f0ef..f5eaaa448 100644 --- a/include/attach.php +++ b/include/attach.php @@ -835,6 +835,51 @@ function get_cloudpath($arr) { } /** + * @brief Returns path to parent folder in cloud/. + * + * @param $arr + * @return string with the folder path + */ +function get_parent_cloudpath($channel_id, $channel_name, $attachHash) { + //Build directory tree and redirect + $parentHash = $attachHash; + do { + $parentHash = find_folder_hash_by_attach_hash($channel_id, $parentHash); + if ($parentHash) { + $parentName = find_filename_by_hash($channel_id, $parentHash); + $parentFullPath = $parentName."/".$parentFullPath; + } + } while ($parentHash); + $parentFullPath = z_root() . "/cloud/" . $channel_name . "/" . $parentFullPath; + return $parentFullPath; +} +function find_folder_hash_by_attach_hash($channel_id, $attachHash) { + $r = q("select * from attach where uid = %d and hash = '%s' limit 1", + intval($channel_id), dbesc($attachHash) + ); + $hash = ""; + if($r) { + foreach($r as $rr) { + $hash = $rr['folder']; + } + } + return $hash; +} +function find_filename_by_hash($channel_id, $attachHash) { + $r = q("select * from attach where uid = %d and hash = '%s' limit 1", + intval($channel_id), dbesc($attachHash) + ); + $filename = ""; + if($r) { + foreach($r as $rr) { + $filename = $rr['filename']; + } + } + return $filename; +} + + +/** * * @param $in * @param $out diff --git a/include/reddav.php b/include/reddav.php index 852a18869..fe05af606 100644 --- a/include/reddav.php +++ b/include/reddav.php @@ -1028,16 +1028,16 @@ class RedBrowser extends DAV\Browser\Plugin { } } $attachId = $this->findAttachIdByHash($attachHash); - $fileStorageUrl = str_replace("cloud/","filestorage/",$path); + $fileStorageUrl = substr($fullPath, 0, strpos($fullPath,"cloud/")) . "filestorage/".$this->auth->channel_name; $attachIcon = ""; // "<a href=\"attach/".$attachHash."\" title=\"".$displayName."\"><i class=\"icon-download\"></i></a>"; $html.= "<tr> <td>$icon</td> - <td><a href=\"{$fullPath}\">{$displayName}</a></td>"; + <td style=\"min-width: 15em\"><a href=\"{$fullPath}\">{$displayName}</a></td>"; if($is_owner) { $html .= "<td>" . (($size) ? $attachIcon : '') . "</td> <td><a href=\"".$fileStorageUrl."/".$attachId."/edit\" title=\"".t('Edit')."\"><i class=\"icon-pencil btn btn-default\"></i></a></td> - <td><a href=\"".$fileStorageUrl."/".$attachId."/delete\" title=\"".t('Delete')."\"><i class=\"icon-remove btn btn-default drop-icons\"></i></a></td>"; + <td><a href=\"".$fileStorageUrl."/".$attachId."/delete\" title=\"".t('Delete')."\" onclick=\"return confirm('Are you sure you want to delete this item?');\"><i class=\"icon-remove btn btn-default drop-icons\"></i></a></td>"; } else { $html .= "<td></td><td></td><td></td>"; @@ -1090,20 +1090,24 @@ class RedBrowser extends DAV\Browser\Plugin { if (get_class($node)==='Sabre\\DAV\\SimpleCollection') return; - $output.= '<tr><td colspan="2"><form method="post" action=""> - <h3>Create new folder</h3> - <input type="hidden" name="sabreAction" value="mkcol" /> - Name: <input type="text" name="name" /> - <input type="submit" value="create" /> - </form> - <form method="post" action="" enctype="multipart/form-data"> - <h3>Upload file</h3> - <input type="hidden" name="sabreAction" value="put" /> - Name (optional): <input type="text" name="name" /><br /> - File: <input type="file" name="file" /><br /> - <input type="submit" value="upload" /> - </form> - </td></tr>'; + $output.= '<table> + <tr> + <td><strong>Create new folder</strong> </td> + <td><form method="post" action=""> + <input type="text" name="name" /> + <input type="submit" value="create" /> + <input type="hidden" name="sabreAction" value="mkcol" /> + </form></td> + </tr><tr> + <td><strong>Upload file</strong> </td> + <td><form method="post" action="" enctype="multipart/form-data"> + <input type="file" name="file" style="display: inline;"/> + <input type="submit" value="upload" /> + <input type="hidden" name="sabreAction" value="put" /> + <!-- Name (optional): <input type="text" name="name" /> we should rather provide a rename action in edit form--> + </form></td> + </tr> + </table>'; } |