Example #1
0
 /**
  * @param Storage $sourceStorage
  * @param string $sourceInternalPath
  * @param string $targetInternalPath
  * @param bool $preserveMtime
  * @return bool
  */
 public function moveFromStorage(Storage $sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime = true)
 {
     if ($sourceStorage === $this) {
         return $this->rename($sourceInternalPath, $targetInternalPath);
     }
     // TODO clean this up once the underlying moveFromStorage in OC\Files\Storage\Wrapper\Common is fixed:
     // - call $this->storage->moveFromStorage() instead of $this->copyBetweenStorage
     // - copy the file cache update from  $this->copyBetweenStorage to this method
     // - copy the copyKeys() call from  $this->copyBetweenStorage to this method
     // - remove $this->copyBetweenStorage
     if (!$sourceStorage->isDeletable($sourceInternalPath)) {
         return false;
     }
     $result = $this->copyBetweenStorage($sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime, true);
     if ($result) {
         if ($sourceStorage->is_dir($sourceInternalPath)) {
             $result &= $sourceStorage->rmdir($sourceInternalPath);
         } else {
             $result &= $sourceStorage->unlink($sourceInternalPath);
         }
     }
     return $result;
 }
Example #2
0
 /**
  * @param \OCP\Files\Storage $sourceStorage
  * @param string $sourceInternalPath
  * @param string $targetInternalPath
  * @return bool
  */
 public function moveFromStorage(\OCP\Files\Storage $sourceStorage, $sourceInternalPath, $targetInternalPath)
 {
     if ($sourceStorage === $this) {
         return $this->rename($sourceInternalPath, $targetInternalPath);
     }
     if (!$sourceStorage->isDeletable($sourceInternalPath)) {
         return false;
     }
     $result = $this->copyFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath, true);
     if ($result) {
         if ($sourceStorage->is_dir($sourceInternalPath)) {
             $result &= $sourceStorage->rmdir($sourceInternalPath);
         } else {
             $result &= $sourceStorage->unlink($sourceInternalPath);
         }
     }
     return $result;
 }