From d314729ceaf26a373af8a43ca74e20393e6159dc Mon Sep 17 00:00:00 2001
From: Bjoern Schiessle <schiessle@owncloud.com>
Date: Wed, 14 Aug 2013 17:58:41 +0200
Subject: [PATCH] use OC files API to create missing directory which should
 handle special chars in every environment correctly

---
 apps/files_versions/lib/versions.php | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/apps/files_versions/lib/versions.php b/apps/files_versions/lib/versions.php
index 70b8f30be5c..b0fde6b559f 100644
--- a/apps/files_versions/lib/versions.php
+++ b/apps/files_versions/lib/versions.php
@@ -110,10 +110,13 @@ class Storage {
 			}
 
 			// create all parent folders
-			$info=pathinfo($filename);
-			$versionsFolderName=$versions_view->getLocalFolder('');
-			if(!file_exists($versionsFolderName.'/'.$info['dirname'])) {
-				mkdir($versionsFolderName.'/'.$info['dirname'], 0750, true);
+			$dirname=  \OC_Filesystem::normalizePath(pathinfo($filename, PATHINFO_DIRNAME));
+			$dirParts = explode('/', $dirname);
+			foreach ($dirParts as $part) {
+				$dir = $dir.'/'.$part;
+				if(!$versions_view->file_exists($dir)) {
+					$versions_view->mkdir($dir);
+				}
 			}
 
 			$versionsSize = self::getVersionsSize($uid);
-- 
GitLab