diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files_external/lib/Lib/Storage/Google.php | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/apps/files_external/lib/Lib/Storage/Google.php b/apps/files_external/lib/Lib/Storage/Google.php index 2211686055e..0a88ccc8d42 100644 --- a/apps/files_external/lib/Lib/Storage/Google.php +++ b/apps/files_external/lib/Lib/Storage/Google.php @@ -386,6 +386,19 @@ class Google extends \OC\Files\Storage\Common { } public function rename($path1, $path2) { + // Avoid duplicate files with the same name + $testRegex = '/^.+\.ocTransferId\d+\.part$/'; + if (preg_match($testRegex, $path1)) { + if ($this->is_file($path2)) { + $testFile2 = $this->getDriveFile($path2); + if ($testFile2) { + $this->service->files->trash($testFile2->getId()); + \OCP\Util::writeLog('files_external', 'trash file '.$path2. + ' for renaming '.$path1.' on Google Drive.', \OCP\Util::DEBUG); + } + } + } + $file = $this->getDriveFile($path1); if ($file) { $newFile = $this->getDriveFile($path2); |