require_once WT_ROOT . 'includes/functions/functions_edit.php'; $ged = $GEDCOM; $gid1 = WT_Filter::post('gid1', WT_REGEX_XREF); $gid2 = WT_Filter::post('gid2', WT_REGEX_XREF); $action = WT_Filter::post('action', 'choose|select|merge', 'choose'); $ged1 = WT_Filter::post('ged1', null, $ged); $ged2 = WT_Filter::post('ged2', null, $ged); $keep1 = WT_Filter::postArray('keep1'); $keep2 = WT_Filter::postArray('keep2'); if ($action != 'choose') { if ($gid1 == $gid2 && $ged1 == $ged2) { $action = 'choose'; echo '<span class="error">', WT_I18N::translate('You entered the same IDs. You cannot merge the same records.'), '</span>'; } else { $rec1 = WT_GedcomRecord::getInstance($gid1, WT_Tree::getIdFromName($ged1)); $rec2 = WT_GedcomRecord::getInstance($gid2, WT_Tree::getIdFromName($ged2)); if (!$rec1) { echo '<span class="error">', WT_I18N::translate('Unable to find record with ID'), ':</span> ', $gid1, ', ', $ged; $action = 'choose'; } elseif (!$rec2) { echo '<span class="error">', WT_I18N::translate('Unable to find record with ID'), ':</span> ', $gid2, ', ', $ged2; $action = 'choose'; } elseif ($rec1::RECORD_TYPE != $rec2::RECORD_TYPE) { echo '<span class="error">', WT_I18N::translate('Records are not the same type. Cannot merge records that are not the same type.'), '</span>'; $action = 'choose'; } else { $facts1 = array(); $facts2 = array(); foreach ($rec1->getFacts() as $fact) { if (!$fact->isOld()) { $facts1[$fact->getFactId()] = $fact;