Page MenuHomePhorge

D4376.1774889862.diff
No OneTemporary

Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None

D4376.1774889862.diff

diff --git a/lib/ext/Syncroton/Command/FolderCreate.php b/lib/ext/Syncroton/Command/FolderCreate.php
--- a/lib/ext/Syncroton/Command/FolderCreate.php
+++ b/lib/ext/Syncroton/Command/FolderCreate.php
@@ -98,16 +98,31 @@
$this->_folder->deviceId = $this->_device;
$this->_folder->creationTime = $this->_syncTimeStamp;
- $this->_folderBackend->create($this->_folder);
+ // Check if the folder already exists to avoid a duplicate insert attempt in db
+ try {
+ $this->_folderBackend->getFolder($this->_device, $this->_folder->serverId);
+
+ if ($this->_logger instanceof Zend_Log)
+ $this->_logger->info(__METHOD__ . '::' . __LINE__ . " Attempted to create a folder that already exists. parentId: {$folder->parentId} displayName: {$folder->displayName}");
+
+ // The folder already exists
+ $this->_status = Syncroton_Command_FolderSync::STATUS_FOLDER_EXISTS;
+ } catch (Syncroton_Exception_NotFound $e) {
+ // This is the normal case
+ if ($this->_logger instanceof Zend_Log)
+ $this->_logger->debug(__METHOD__ . '::' . __LINE__ . " " . $e->getMessage());
+
+ $this->_folderBackend->create($this->_folder);
+ }
}
} catch (Syncroton_Exception_Status $e) {
if ($this->_logger instanceof Zend_Log)
- $this->_logger->debug(__METHOD__ . '::' . __LINE__ . " " . $e->getMessage());
+ $this->_logger->warn(__METHOD__ . '::' . __LINE__ . " " . $e->getMessage());
$this->_status = $e->getCode();
} catch (Exception $e) {
if ($this->_logger instanceof Zend_Log)
- $this->_logger->debug(__METHOD__ . '::' . __LINE__ . " " . $e->getMessage());
+ $this->_logger->warn(__METHOD__ . '::' . __LINE__ . " " . $e->getMessage());
$this->_status = Syncroton_Command_FolderSync::STATUS_UNKNOWN_ERROR;
}

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 30, 4:57 PM (1 w, 22 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18815194
Default Alt Text
D4376.1774889862.diff (2 KB)

Event Timeline