From 0e0d54dc589dbca4aae820c61c8d491c46e884de Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bj=C3=B6rn=20Schie=C3=9Fle?= Date: Mon, 17 Dec 2012 18:00:11 +0100 Subject: [PATCH] get timestamp from file instead from time(); typo fixed --- apps/files_versions/lib/versions.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/files_versions/lib/versions.php b/apps/files_versions/lib/versions.php index 2cedfe061a1..14d7e7da165 100644 --- a/apps/files_versions/lib/versions.php +++ b/apps/files_versions/lib/versions.php @@ -92,7 +92,7 @@ class Storage { } // store a new version of a file - $users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.time()); + $users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename)); // expire old revisions if necessary Storage::expire($filename); @@ -109,13 +109,20 @@ class Storage { list($uid, $filename) = self::getUidAndFilename($filename); $users_view = new \OC_FilesystemView('/'.$uid); + //first create a new version + if ( !$users_view->file_exists('files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename))) { + $version = 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename); + $users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename)); + } + // rollback if( @$users_view->copy('files_versions'.$filename.'.v'.$revision, 'files'.$filename) ) { - + Storage::expire($filename); return true; }else{ - + if (isset($version) ) { + $users_view->unlink($version); return false; } @@ -274,7 +281,7 @@ class Storage { } else { // time to move on to the next interval $interval++; $step = Storage::$max_versions_per_interval[$interval]['step']; - $nextVersion = $version[$i]['version'] - $step; + $nextVersion = $versions[$i]['version'] - $step; if ( Storage::$max_versions_per_interval[$interval]['intervalEndsAfter'] == -1 ) { $nextInterval = -1; } else { -- 2.39.5