aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRedMatrix <info@friendica.com>2014-06-24 21:32:31 +1000
committerRedMatrix <info@friendica.com>2014-06-24 21:32:31 +1000
commita92fb0b04c3e6474ec48faf8e4cc65c382e89d66 (patch)
treed47a527d6e537ac94eed911afee6056fa1005d92 /include
parentb2b47dcd7ca823bacd5d223666c8603d099116ec (diff)
parent4c78c3bdee5ac6c70f4de7886734e6ef06b37a26 (diff)
downloadvolse-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.php45
-rw-r--r--include/reddav.php38
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>&nbsp;&nbsp;&nbsp;</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>&nbsp;&nbsp;&nbsp;</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>';
}