public function mergeRecords($targetOccid, $sourceOccid) { $status = true; $editorManager = new OccurrenceEditorManager($this->conn); if ($editorManager->mergeRecords($targetOccid, $sourceOccid)) { if (!$editorManager->deleteOccurrence($sourceOccid)) { $this->errorStr = $editorManager->getErrorStr(); } } else { $this->errorStr = $editorManager->getErrorStr; $status = false; } return $status; }
public function mergeDupeArr($occidArr) { $status = true; $this->verboseMode = 2; $editorManager = new OccurrenceEditorManager($this->conn); foreach ($occidArr as $target => $occArr) { $mergeArr = array($target); foreach ($occArr as $source) { if ($source != $target) { if ($editorManager->mergeRecords($target, $source)) { $mergeArr[] = $source; } else { $this->logOrEcho($editorManager->getErrorStr(), 1); $status = false; } } } if (count($mergeArr) > 1) { $this->logOrEcho('Merged records: ' . implode(', ', $mergeArr), 1); } } return $status; }