]> source.dussan.org Git - nextcloud-server.git/commitdiff
first check if file exists before checking the files size
authorBjoern Schiessle <schiessle@owncloud.com>
Sat, 17 Aug 2013 09:57:50 +0000 (11:57 +0200)
committerBjoern Schiessle <schiessle@owncloud.com>
Sat, 17 Aug 2013 09:57:50 +0000 (11:57 +0200)
apps/files_versions/lib/versions.php

index 70b8f30be5cdf232c1c93b4595d5b79bcb7b3930..2886a202be504eff642bed65c476cb20fc594bc9 100644 (file)
@@ -48,14 +48,14 @@ class Storage {
 
        /**
         * get current size of all versions from a given user
-        * 
+        *
         * @param $user user who owns the versions
         * @return mixed versions size or false if no versions size is stored
         */
        private static function getVersionsSize($user) {
                $query = \OC_DB::prepare('SELECT `size` FROM `*PREFIX*files_versions` WHERE `user`=?');
                $result = $query->execute(array($user))->fetchAll();
-               
+
                if ($result) {
                        return $result[0]['size'];
                }
@@ -64,7 +64,7 @@ class Storage {
 
        /**
         * write to the database how much space is in use for versions
-        * 
+        *
         * @param $user owner of the versions
         * @param $size size of the versions
         */
@@ -76,20 +76,20 @@ class Storage {
                }
                $query->execute(array($size, $user));
        }
-       
+
        /**
         * store a new version of a file.
         */
        public static function store($filename) {
                if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
-                       
+
                        // if the file gets streamed we need to remove the .part extension
                        // to get the right target
                        $ext = pathinfo($filename, PATHINFO_EXTENSION);
                        if ($ext === 'part') {
                                $filename = substr($filename, 0, strlen($filename)-5);
                        }
-                       
+
                        list($uid, $filename) = self::getUidAndFilename($filename);
 
                        $files_view = new \OC\Files\View('/'.$uid .'/files');
@@ -104,8 +104,7 @@ class Storage {
                        // we should have a source file to work with, and the file shouldn't
                        // be empty
                        $fileExists = $files_view->file_exists($filename);
-                       $fileSize = $files_view->filesize($filename);
-                       if ($fileExists === false || $fileSize === 0) {
+                       if (!($fileExists && $files_view->filesize($filename) > 0)) {
                                return false;
                        }
 
@@ -174,7 +173,7 @@ class Storage {
                list($uidn, $newpath) = self::getUidAndFilename($new_path);
                $versions_view = new \OC\Files\View('/'.$uid .'/files_versions');
                $files_view = new \OC\Files\View('/'.$uid .'/files');
-               
+
                // if the file already exists than it was a upload of a existing file
                // over the web interface -> store() is the right function we need here
                if ($files_view->file_exists($newpath)) {
@@ -435,7 +434,7 @@ class Storage {
                        } else {
                                $quota = \OCP\Util::computerFileSize($quota);
                        }
-                       
+
                        // make sure that we have the current size of the version history
                        if ( $versionsSize === null ) {
                                $versionsSize = self::getVersionsSize($uid);