From cb842ba793a09b23dcd0415d0322e99bb9650dd3 Mon Sep 17 00:00:00 2001
From: Remco Brenninkmeijer <requist1@starmail.nl>
Date: Mon, 4 Aug 2014 14:10:09 +0200
Subject: [PATCH] Previous commit was not based on master, retry. Removed
 broken tar cutter, double extensions are not possible in temp files. Added
 tar support. Fixed extension switch.

---
 lib/private/archive.php     |  5 +----
 lib/private/archive/tar.php | 10 ++++++----
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/lib/private/archive.php b/lib/private/archive.php
index a62f22cf6d..562172ddef 100644
--- a/lib/private/archive.php
+++ b/lib/private/archive.php
@@ -20,11 +20,8 @@ abstract class OC_Archive{
 			case '.gz':
 			case '.bz':
 			case '.bz2':
-				if(strpos($path, '.tar.')) {
-					return new OC_Archive_TAR($path);
-				}
-				break;
 			case '.tgz':
+			case '.tar':
 				return new OC_Archive_TAR($path);
 		}
 	}
diff --git a/lib/private/archive/tar.php b/lib/private/archive/tar.php
index 21a995d9e5..3f64b4c506 100644
--- a/lib/private/archive/tar.php
+++ b/lib/private/archive/tar.php
@@ -40,12 +40,14 @@ class OC_Archive_TAR extends OC_Archive{
 		if(strpos($file, '.')) {
 			$extension=substr($file, strrpos($file, '.'));
 			switch($extension) {
-				case 'gz':
-				case 'tgz':
+				case '.gz':
+				case '.tgz':
 					return self::GZIP;
-				case 'bz':
-				case 'bz2':
+				case '.bz':
+				case '.bz2':
 					return self::BZIP;
+				case '.tar':
+					return self::PLAIN;
 				default:
 					return self::PLAIN;
 			}
-- 
GitLab