]> source.dussan.org Git - nextcloud-server.git/commitdiff
get timestamp from file instead from time(); typo fixed
authorBjörn Schießle <schiessle@owncloud.com>
Mon, 17 Dec 2012 17:00:11 +0000 (18:00 +0100)
committerBjörn Schießle <schiessle@owncloud.com>
Mon, 17 Dec 2012 17:00:11 +0000 (18:00 +0100)
apps/files_versions/lib/versions.php

index 2cedfe061a17c223838647878157dc38cb2cff20..14d7e7da1651c1aef64d07c1b5da6affc6d4bbeb 100644 (file)
@@ -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 {\r