summaryrefslogtreecommitdiffstats
path: root/apps/files_versions
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2013-08-14 20:51:36 +0200
committerBjoern Schiessle <schiessle@owncloud.com>2013-08-14 20:51:36 +0200
commita3d009e3b58099dfd86c53329290665ed09f7d72 (patch)
tree84333229ad9fe43e2f2b18a97420427f5b72f358 /apps/files_versions
parentd314729ceaf26a373af8a43ca74e20393e6159dc (diff)
downloadnextcloud-server-a3d009e3b58099dfd86c53329290665ed09f7d72.tar.gz
nextcloud-server-a3d009e3b58099dfd86c53329290665ed09f7d72.zip
also create root dir if it doesn't exist yet
Diffstat (limited to 'apps/files_versions')
-rw-r--r--apps/files_versions/lib/versions.php19
1 files changed, 13 insertions, 6 deletions
diff --git a/apps/files_versions/lib/versions.php b/apps/files_versions/lib/versions.php
index b0fde6b559f..ddf73f415c5 100644
--- a/apps/files_versions/lib/versions.php
+++ b/apps/files_versions/lib/versions.php
@@ -112,10 +112,11 @@ class Storage {
// create all parent folders
$dirname= \OC_Filesystem::normalizePath(pathinfo($filename, PATHINFO_DIRNAME));
$dirParts = explode('/', $dirname);
+ $dir = "/files_versions";
foreach ($dirParts as $part) {
$dir = $dir.'/'.$part;
- if(!$versions_view->file_exists($dir)) {
- $versions_view->mkdir($dir);
+ if(!$users_view->file_exists($dir)) {
+ $users_view->mkdir($dir);
}
}
@@ -186,13 +187,19 @@ class Storage {
self::expire($newpath);
- $abs_newpath = $versions_view->getLocalFile($newpath);
-
if ( $files_view->is_dir($oldpath) && $versions_view->is_dir($oldpath) ) {
$versions_view->rename($oldpath, $newpath);
} else if ( ($versions = Storage::getVersions($uid, $oldpath)) ) {
- $info=pathinfo($abs_newpath);
- if(!file_exists($info['dirname'])) mkdir($info['dirname'], 0750, true);
+ // create missing dirs if necessary
+ $dirname = \OC_Filesystem::normalizePath(pathinfo($newpath, PATHINFO_DIRNAME));
+ $dirParts = explode('/', $dirname);
+ $dir = "/files_versions";
+ foreach ($dirParts as $part) {
+ $dir = $dir.'/'.$part;
+ if(!$users_view->file_exists($dir)) {
+ $users_view->mkdir($dir);
+ }
+ }
foreach ($versions as $v) {
$versions_view->rename($oldpath.'.v'.$v['version'], $newpath.'.v'.$v['version']);
}