[Pkg-owncloud-commits] [owncloud] 102/199: Remove code duplication

David Prévot taffit at moszumanska.debian.org
Sun Jun 1 18:53:14 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository owncloud.

commit 467e9c2bb0dadb58e6cdb03830318b725123c7aa
Author: Robin Appelman <icewind at owncloud.com>
Date:   Fri May 23 12:46:12 2014 +0200

    Remove code duplication
---
 lib/private/files/storage/common.php | 41 ++++++++++++++++++------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/lib/private/files/storage/common.php b/lib/private/files/storage/common.php
index 8ebc0bc..1ed0d79 100644
--- a/lib/private/files/storage/common.php
+++ b/lib/private/files/storage/common.php
@@ -7,6 +7,7 @@
  */
 
 namespace OC\Files\Storage;
+use OC\Files\Filesystem;
 use OC\Files\Cache\Watcher;
 
 /**
@@ -36,6 +37,22 @@ abstract class Common implements \OC\Files\Storage\Storage {
 	public function __construct($parameters) {
 	}
 
+	/**
+	 * Remove a file of folder
+	 *
+	 * @param string $path
+	 * @return bool
+	 */
+	protected function remove($path) {
+		if ($this->is_dir($path)) {
+			return $this->rmdir($path);
+		} else if($this->is_file($path)) {
+			return $this->unlink($path);
+		} else {
+			return false;
+		}
+	}
+
 	public function is_dir($path) {
 		return $this->filetype($path) == 'dir';
 	}
@@ -137,35 +154,19 @@ abstract class Common implements \OC\Files\Storage\Storage {
 	}
 
 	public function rename($path1, $path2) {
-		if ($this->file_exists($path2)) {
-			if ($this->is_dir($path2)) {
-				$this->rmdir($path2);
-			} else {
-				$this->unlink($path2);
-			}
-		}
+		$this->remove($path2);
 
 		$this->removeCachedFile($path1);
-		if ($this->is_dir($path1)) {
-			return $this->copy($path1, $path2) and $this->rmdir($path1);
-		} else {
-			return $this->copy($path1, $path2) and $this->unlink($path1);
-		}
+		return $this->copy($path1, $path2) and $this->remove($path1);
 	}
 
 	public function copy($path1, $path2) {
 		if ($this->is_dir($path1)) {
-			if ($this->file_exists($path2)) {
-				if ($this->is_dir($path2)) {
-					$this->rmdir($path2);
-				} else {
-					$this->unlink($path2);
-				}
-			}
+			$this->remove($path2);
 			$dir = $this->opendir($path1);
 			$this->mkdir($path2);
 			while ($file = readdir($dir)) {
-				if (!\OC\Files\Filesystem::isIgnoredDir($file)) {
+				if (!Filesystem::isIgnoredDir($file)) {
 					if (!$this->copy($path1 . '/' . $file, $path2 . '/' . $file)) {
 						return false;
 					}

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list