|
|
|
|
@ -138,27 +138,21 @@ abstract class Common implements \OC\Files\Storage\Storage {
|
|
|
|
|
*/
|
|
|
|
|
public function deleteAll($directory, $empty = false) {
|
|
|
|
|
$directory = trim($directory, '/');
|
|
|
|
|
|
|
|
|
|
if (!$this->file_exists(\OCP\USER::getUser() . '/' . $directory)
|
|
|
|
|
|| !$this->is_dir(\OCP\USER::getUser() . '/' . $directory)
|
|
|
|
|
) {
|
|
|
|
|
return false;
|
|
|
|
|
} elseif (!$this->isReadable(\OCP\USER::getUser() . '/' . $directory)) {
|
|
|
|
|
if (!$this->is_dir($directory) || !$this->isReadable($directory)) {
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
$directoryHandle = $this->opendir(\OCP\USER::getUser() . '/' . $directory);
|
|
|
|
|
$directoryHandle = $this->opendir($directory);
|
|
|
|
|
while ($contents = readdir($directoryHandle)) {
|
|
|
|
|
if ($contents != '.' && $contents != '..') {
|
|
|
|
|
$path = $directory . "/" . $contents;
|
|
|
|
|
if (!\OC\Files\Filesystem::isIgnoredDir($contents)) {
|
|
|
|
|
$path = $directory . '/' . $contents;
|
|
|
|
|
if ($this->is_dir($path)) {
|
|
|
|
|
$this->deleteAll($path);
|
|
|
|
|
} else {
|
|
|
|
|
$this->unlink(\OCP\USER::getUser() . '/' . $path); // TODO: make unlink use same system path as is_dir
|
|
|
|
|
$this->unlink($path);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//$this->closedir( $directoryHandle ); // TODO: implement closedir in OC_FSV
|
|
|
|
|
if ($empty == false) {
|
|
|
|
|
if ($empty === false) {
|
|
|
|
|
if (!$this->rmdir($directory)) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|