$parentExists = true;
// we are done when the root folder was meant to be created
- if ($dirName === $path) {
+ if ($dirName === $path) {
return true;
}
}
public function rename($source, $target) {
$source = $this->normalizePath($source);
$target = $this->normalizePath($target);
- $stat1 = $this->stat($source);
- if (isset($stat1['mimetype']) && $stat1['mimetype'] === 'httpd/unix-directory') {
- $this->remove($target);
- $dir = $this->opendir($source);
- $this->mkdir($target);
- while ($file = readdir($dir)) {
- if (!Filesystem::isIgnoredDir($file)) {
- if (!$this->rename($source . '/' . $file, $target . '/' . $file)) {
- return false;
- }
- }
- }
- closedir($dir);
- $this->remove($source);
- return true;
- } else {
- if (is_array($stat1)) {
- $parent = $this->stat(dirname($target));
- if (is_array($parent)) {
- $this->remove($target);
- $stat1['parent'] = $parent['fileid'];
- $stat1['path'] = $target;
- $stat1['path_hash'] = md5($target);
- $stat1['name'] = \OC_Util::basename($target);
- $stat1['mtime'] = time();
- $stat1['etag'] = $this->getETag($target);
- $this->getCache()->update($stat1['fileid'], $stat1);
- return true;
- }
- }
- }
- return false;
+ $this->remove($target);
+ $this->getCache()->move($source, $target);
+ $this->touch(dirname($target));
+ return true;
}
public function getMimeType($path) {