From 50cc5d5921f254086cf0e6a62d881419754bcf57 Mon Sep 17 00:00:00 2001
From: Robin Appelman <icewind@owncloud.com>
Date: Sun, 19 Aug 2012 05:54:16 +0200
Subject: [PATCH] fix creating nested folders inside tar files

---
 lib/archive/tar.php | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/lib/archive/tar.php b/lib/archive/tar.php
index c8b3d5e626..f6efd6d0ec 100644
--- a/lib/archive/tar.php
+++ b/lib/archive/tar.php
@@ -56,14 +56,21 @@ class OC_Archive_TAR extends OC_Archive{
 	 * @return bool
 	 */
 	function addFolder($path){
-		$tmpBase=get_temp_dir().'/';
+		$tmpBase=OC_Helper::tmpFolder();
 		if(substr($path,-1,1)!='/'){
 			$path.='/';
 		}
 		if($this->fileExists($path)){
 			return false;
 		}
-		mkdir($tmpBase.$path);
+		$parts=explode('/',$path);
+		$folder=$tmpBase;
+		foreach($parts as $part){
+			$folder.='/'.$part;
+			if(!is_dir($folder)){
+				mkdir($folder);
+			}
+		}
 		$result=$this->tar->addModify(array($tmpBase.$path),'',$tmpBase);
 		rmdir($tmpBase.$path);
 		$this->fileList=false;
-- 
GitLab