aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/attach.php39
-rw-r--r--include/reddav.php38
2 files changed, 60 insertions, 17 deletions
diff --git a/include/attach.php b/include/attach.php
index a3ee3f0ef..bf58566fe 100644
--- a/include/attach.php
+++ b/include/attach.php
@@ -834,6 +834,45 @@ function get_cloudpath($arr) {
return $path;
}
+function get_parent_cloudpath($channel_id, $channel_name, $attachHash) {
+ //Build directory tree and redirect
+ $parentHash = $attachHash;
+ do {
+ $parentHash = findFolderHashByAttachHash($channel_id, $parentHash);
+ if ($parentHash) {
+ $parentName = findFilenameByHash($channel_id, $parentHash);
+ $parentFullPath = $parentName."/".$parentFullPath;
+ }
+ } while ($parentHash);
+ $parentFullPath = z_root() . "/cloud/" . $channel_name . "/" . $parentFullPath;
+ goaway($parentFullPath);
+}
+function findFolderHashByAttachHash($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 findFilenameByHash($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
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>';
}