|
|
|
|
@ -31,9 +31,6 @@ class Streamer { |
|
|
|
|
// streamer instance |
|
|
|
|
private $streamerInstance; |
|
|
|
|
|
|
|
|
|
/** @var string*/ |
|
|
|
|
private $extension; |
|
|
|
|
|
|
|
|
|
public function __construct(){ |
|
|
|
|
/** @var \OCP\IRequest */ |
|
|
|
|
$request = \OC::$server->getRequest(); |
|
|
|
|
@ -47,12 +44,11 @@ class Streamer { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Send HTTP headers |
|
|
|
|
* @param string name |
|
|
|
|
* @return bool |
|
|
|
|
* @param string $name |
|
|
|
|
*/ |
|
|
|
|
public function sendHeaders($name){ |
|
|
|
|
$extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; |
|
|
|
|
return $this->streamerInstance->sendHeaders($name . $extension); |
|
|
|
|
$this->streamerInstance->sendHeaders($name . $extension); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
@ -60,13 +56,13 @@ class Streamer { |
|
|
|
|
* @param string $dir |
|
|
|
|
* @param string $internalDir |
|
|
|
|
*/ |
|
|
|
|
public function addDirRecoursive($dir, $internalDir='') { |
|
|
|
|
public function addDirRecursive($dir, $internalDir='') { |
|
|
|
|
$dirname = basename($dir); |
|
|
|
|
$rootDir = $internalDir . $dirname; |
|
|
|
|
if (!empty($rootDir)) { |
|
|
|
|
$this->streamerInstance->addEmptyDir($rootDir); |
|
|
|
|
} |
|
|
|
|
$internalDir.= $dirname .= '/'; |
|
|
|
|
$internalDir .= $dirname . '/'; |
|
|
|
|
// prevent absolute dirs |
|
|
|
|
$internalDir = ltrim($internalDir, '/'); |
|
|
|
|
|
|
|
|
|
@ -80,7 +76,7 @@ class Streamer { |
|
|
|
|
$this->addFileFromStream($fh, $internalDir . $filename, $filesize); |
|
|
|
|
fclose($fh); |
|
|
|
|
}elseif(\OC\Files\Filesystem::is_dir($file)) { |
|
|
|
|
$this->addDirRecoursive($file, $internalDir); |
|
|
|
|
$this->addDirRecursive($file, $internalDir); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|