|
|
|
@ -8,46 +8,28 @@ |
|
|
|
|
|
|
|
|
|
namespace OC\Files\Storage; |
|
|
|
|
|
|
|
|
|
abstract class StreamWrapper extends \OC\Files\Storage\Common{ |
|
|
|
|
private $ready = false; |
|
|
|
|
|
|
|
|
|
protected function init(){ |
|
|
|
|
if($this->ready) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
$this->ready = true; |
|
|
|
|
|
|
|
|
|
//create the root folder if necesary |
|
|
|
|
if(!$this->is_dir('')) { |
|
|
|
|
$this->mkdir(''); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
abstract class StreamWrapper extends Common{ |
|
|
|
|
abstract public function constructUrl($path); |
|
|
|
|
|
|
|
|
|
public function mkdir($path) { |
|
|
|
|
$this->init(); |
|
|
|
|
return mkdir($this->constructUrl($path)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function rmdir($path) { |
|
|
|
|
$this->init(); |
|
|
|
|
if($this->file_exists($path)) { |
|
|
|
|
$succes = rmdir($this->constructUrl($path)); |
|
|
|
|
$success = rmdir($this->constructUrl($path)); |
|
|
|
|
clearstatcache(); |
|
|
|
|
return $succes; |
|
|
|
|
return $success; |
|
|
|
|
} else { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function opendir($path) { |
|
|
|
|
$this->init(); |
|
|
|
|
return opendir($this->constructUrl($path)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function filetype($path) { |
|
|
|
|
$this->init(); |
|
|
|
|
return filetype($this->constructUrl($path)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -60,24 +42,20 @@ abstract class StreamWrapper extends \OC\Files\Storage\Common{ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function file_exists($path) { |
|
|
|
|
$this->init(); |
|
|
|
|
return file_exists($this->constructUrl($path)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function unlink($path) { |
|
|
|
|
$this->init(); |
|
|
|
|
$succes = unlink($this->constructUrl($path)); |
|
|
|
|
$success = unlink($this->constructUrl($path)); |
|
|
|
|
clearstatcache(); |
|
|
|
|
return $succes; |
|
|
|
|
return $success; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function fopen($path, $mode) { |
|
|
|
|
$this->init(); |
|
|
|
|
return fopen($this->constructUrl($path), $mode); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function touch($path, $mtime=null) { |
|
|
|
|
$this->init(); |
|
|
|
|
if(is_null($mtime)) { |
|
|
|
|
$fh = $this->fopen($path, 'a'); |
|
|
|
|
fwrite($fh, ''); |
|
|
|
@ -88,22 +66,18 @@ abstract class StreamWrapper extends \OC\Files\Storage\Common{ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function getFile($path, $target) { |
|
|
|
|
$this->init(); |
|
|
|
|
return copy($this->constructUrl($path), $target); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function uploadFile($path, $target) { |
|
|
|
|
$this->init(); |
|
|
|
|
return copy($path, $this->constructUrl($target)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function rename($path1, $path2) { |
|
|
|
|
$this->init(); |
|
|
|
|
return rename($this->constructUrl($path1), $this->constructUrl($path2)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function stat($path) { |
|
|
|
|
$this->init(); |
|
|
|
|
return stat($this->constructUrl($path)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|