summaryrefslogtreecommitdiff
path: root/edit_merge.php
diff options
context:
space:
mode:
authorfisharebest <fisharebest@gmail.com>2010-04-19 21:02:09 +0000
committerfisharebest <fisharebest@gmail.com>2010-04-19 21:02:09 +0000
commit1bea948b6991f5825b1dccff120b283a0cb70f27 (patch)
tree3887788f61745db5ab3674cae4127c311d8329ed /edit_merge.php
parentfe7cda0b409e31b7055889ee6a1acef6eafc9947 (diff)
downloadwebtrees-1bea948b6991f5825b1dccff120b283a0cb70f27.tar.gz
webtrees-1bea948b6991f5825b1dccff120b283a0cb70f27.tar.bz2
webtrees-1bea948b6991f5825b1dccff120b283a0cb70f27.zip
Diffstat (limited to 'edit_merge.php')
-rw-r--r--edit_merge.php40
1 files changed, 13 insertions, 27 deletions
diff --git a/edit_merge.php b/edit_merge.php
index 72d250f435..906106f63f 100644
--- a/edit_merge.php
+++ b/edit_merge.php
@@ -60,16 +60,8 @@ if ($action!="choose") {
$action="choose";
echo "<span class=\"error\">", i18n::translate('You entered the same IDs. You cannot merge the same records.'), "</span>\n";
} else {
- if (!isset($pgv_changes[$gid1."_".WT_GEDCOM])) {
- $gedrec1 = find_gedcom_record($gid1, WT_GED_ID);
- } else {
- $gedrec1 = find_updated_record($gid1, get_id_from_gedcom($GEDCOM));
- }
- if (!isset($pgv_changes[$gid2."_".$ged2])) {
- $gedrec2 = find_gedcom_record($gid2, get_id_from_gedcom($ged2));
- } else {
- $gedrec2 = find_updated_record($gid2, get_id_from_gedcom($ged2));
- }
+ $gedrec1 = find_gedcom_record($gid1, WT_GED_ID, true);
+ $gedrec2 = find_gedcom_record($gid2, get_id_from_gedcom($ged2), true);
// Fetch the original XREF - may differ in case from the supplied value
$tmp=new Person($gedrec1); $gid1=$tmp->getXref();
@@ -177,7 +169,7 @@ if ($action!="choose") {
$manual_save = true;
echo "<h2>", i18n::translate('Merge Step 3 of 3'), "</h2>\n";
if ($GEDCOM==$ged2) {
- $success = delete_gedrec($gid2);
+ $success = delete_gedrec($gid2, WT_GED_ID);
if ($success) {
echo "<br />", i18n::translate('GEDCOM record successfully deleted.'), "<br />\n";
}
@@ -186,20 +178,15 @@ if ($action!="choose") {
$ids=fetch_all_links($gid2, WT_GED_ID);
foreach ($ids as $id) {
- if (isset($pgv_changes[$id."_".WT_GEDCOM])) {
- $record=find_updated_record($id, WT_GED_ID);
- } else {
- $record=fetch_gedcom_record($id, WT_GED_ID);
- $record=$record['gedrec'];
- echo i18n::translate('Updating linked record'), " {$id}<br />\n";
- $newrec=str_replace("@$gid2@", "@$gid1@", $record);
- $newrec=preg_replace(
- '/(\n1.*@.+@.*(?:(?:\n[2-9].*)*))((?:\n1.*(?:\n[2-9].*)*)*\1)/',
- '$2',
- $newrec
- );
- replace_gedrec($id, $newrec);
- }
+ $record=find_gedcom_record($id, WT_GED_ID, true);
+ echo i18n::translate('Updating linked record'), " {$id}<br />\n";
+ $newrec=str_replace("@$gid2@", "@$gid1@", $record);
+ $newrec=preg_replace(
+ '/(\n1.*@.+@.*(?:(?:\n[2-9].*)*))((?:\n1.*(?:\n[2-9].*)*)*\1)/',
+ '$2',
+ $newrec
+ );
+ replace_gedrec($id, WT_GED_ID, $newrec);
}
// Merge hit counters
@@ -236,8 +223,7 @@ if ($action!="choose") {
}
}
- replace_gedrec($gid1, $newgedrec);
- write_changes();
+ replace_gedrec($gid1, WT_GED_ID, $newgedrec);
$rec=GedcomRecord::getInstance($gid1);
echo '<br />', i18n::translate('Record %s successfully updated.', $rec->getXrefLink()), '<br />';
$fav_count=update_favorites($gid2, $gid1);