diff options
author | redmatrix <redmatrix@redmatrix.me> | 2015-11-05 16:28:10 -0800 |
---|---|---|
committer | redmatrix <redmatrix@redmatrix.me> | 2015-11-05 16:28:10 -0800 |
commit | a26d8609a9d8bb9e905050f42cd20ab24a58e61d (patch) | |
tree | b68b43716d961cb97b46d35a1d238046b74bd937 /include/RedDAV/RedFile.php | |
parent | 001e4276d31149e07cef31e468dcc1e227e0eda9 (diff) | |
download | volse-hubzilla-a26d8609a9d8bb9e905050f42cd20ab24a58e61d.tar.gz volse-hubzilla-a26d8609a9d8bb9e905050f42cd20ab24a58e61d.tar.bz2 volse-hubzilla-a26d8609a9d8bb9e905050f42cd20ab24a58e61d.zip |
handle old files with partial paths
Diffstat (limited to 'include/RedDAV/RedFile.php')
-rw-r--r-- | include/RedDAV/RedFile.php | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/include/RedDAV/RedFile.php b/include/RedDAV/RedFile.php index ec6871a69..5a1b3453a 100644 --- a/include/RedDAV/RedFile.php +++ b/include/RedDAV/RedFile.php @@ -126,7 +126,11 @@ class RedFile extends DAV\Node implements DAV\IFile { } } $fname = dbunescbin($d[0]['data']); - $f = 'store/' . $this->auth->owner_nick . '/' . (($fname) ? $fname : ''); + if(strpos($fname,'store') === false) + $f = 'store/' . $this->auth->owner_nick . '/' . (($fname) ? $fname : ''); + else + $f = $fname; + // @todo check return value and set $size directly @file_put_contents($f, $data); $size = @filesize($f); @@ -226,7 +230,11 @@ class RedFile extends DAV\Node implements DAV\IFile { } if (intval($r[0]['os_storage'])) { - $f = 'store/' . $this->auth->owner_nick . '/' . (($this->os_path) ? $this->os_path . '/' : '') . dbunescbin($r[0]['data']); + $x = dbunsecbin($r[0]['data']); + if(strpos($x,'store') === false) + $f = 'store/' . $this->auth->owner_nick . '/' . (($this->os_path) ? $this->os_path . '/' : '') . $x; + else + $f = $x; return fopen($f, 'rb'); } return dbunescbin($r[0]['data']); |