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; }