Commit 0ab5efd06be9e3e5b894d7da5b0dfd1193c05f32
1 parent
ea69a33c
Exists in
master
and in
105 other branches
Keep TT or catalog ID during an update of a shared object
Showing
1 changed file
with
7 additions
and
4 deletions
Show diff stats
php/classes/SharedObjectsMgr.php
@@ -32,7 +32,7 @@ class SharedObjectsMgr { | @@ -32,7 +32,7 @@ class SharedObjectsMgr { | ||
32 | return array('success' => $sucess, 'message' => $message); | 32 | return array('success' => $sucess, 'message' => $message); |
33 | } | 33 | } |
34 | 34 | ||
35 | - public function add($object_type, $object_name, $folder_id, $src_object_path, $description, $sharedBy) { | 35 | + public function add($object_type, $object_name, $folder_id, $src_object_path, $description, $sharedBy, $forceId = "") { |
36 | if (!array_key_exists($object_type, $this->sharedObjectsMgr) || !isset($this->sharedObjectsMgr[$object_type])) | 36 | if (!array_key_exists($object_type, $this->sharedObjectsMgr) || !isset($this->sharedObjectsMgr[$object_type])) |
37 | return array('success' => FALSE, 'message' => 'Unknown type'); | 37 | return array('success' => FALSE, 'message' => 'Unknown type'); |
38 | 38 | ||
@@ -41,9 +41,9 @@ class SharedObjectsMgr { | @@ -41,9 +41,9 @@ class SharedObjectsMgr { | ||
41 | if (empty($folder_name)) | 41 | if (empty($folder_name)) |
42 | return array('success' => FALSE, 'message' => 'Cannot retrieve folder'); | 42 | return array('success' => FALSE, 'message' => 'Cannot retrieve folder'); |
43 | 43 | ||
44 | - $newId = $this->treeFile->reserveNewId($object_type); | 44 | + $id = empty($forceId) ? $this->treeFile->reserveNewId($object_type) : $forceId; |
45 | 45 | ||
46 | - $result = $this->sharedObjectsMgr[$object_type]->add($object_name, $folder_name, $src_object_path, $description, $sharedBy, $newId); | 46 | + $result = $this->sharedObjectsMgr[$object_type]->add($object_name, $folder_name, $src_object_path, $description, $sharedBy, $forceId); |
47 | 47 | ||
48 | if ($result['success']) | 48 | if ($result['success']) |
49 | $result['folder_id'] = $folder_id; | 49 | $result['folder_id'] = $folder_id; |
@@ -62,16 +62,19 @@ class SharedObjectsMgr { | @@ -62,16 +62,19 @@ class SharedObjectsMgr { | ||
62 | 62 | ||
63 | $objects = $this->treeFile->getObjectsByName($object_type, $folder_name, $object_name); | 63 | $objects = $this->treeFile->getObjectsByName($object_type, $folder_name, $object_name); |
64 | 64 | ||
65 | + $id = ""; | ||
65 | if (!empty($objects)) { | 66 | if (!empty($objects)) { |
66 | //delete old objects | 67 | //delete old objects |
67 | foreach ($objects as $object_id) { | 68 | foreach ($objects as $object_id) { |
69 | + $id = $object_id; | ||
68 | $result = $this->treeFile->deleteObjectByObjectId($object_type, $folder_name, $object_id); | 70 | $result = $this->treeFile->deleteObjectByObjectId($object_type, $folder_name, $object_id); |
69 | $result = $this->sharedObjectsMgr[$object_type]->delete($folder_name, $object_id); | 71 | $result = $this->sharedObjectsMgr[$object_type]->delete($folder_name, $object_id); |
72 | + break; | ||
70 | } | 73 | } |
71 | } | 74 | } |
72 | 75 | ||
73 | //add new object | 76 | //add new object |
74 | - return $this->add($object_type, $object_name, $folder_id, $src_object_path, $description, $sharedBy); | 77 | + return $this->add($object_type, $object_name, $folder_id, $src_object_path, $description, $sharedBy, $id); |
75 | } | 78 | } |
76 | 79 | ||
77 | public function getFolders($object_type) { | 80 | public function getFolders($object_type) { |