Browse Source

also create root dir if it doesn't exist yet

tags/v6.0.0alpha2
Bjoern Schiessle 10 years ago
parent
commit
a3d009e3b5
1 changed files with 13 additions and 6 deletions
  1. 13
    6
      apps/files_versions/lib/versions.php

+ 13
- 6
apps/files_versions/lib/versions.php View File

@@ -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']);
}

Loading…
Cancel
Save