summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorfisharebest <fisharebest@gmail.com>2010-05-16 07:47:13 +0000
committerfisharebest <fisharebest@gmail.com>2010-05-16 07:47:13 +0000
commit3e51666ea2ec0eabcf825dd263aeb9ad441ab103 (patch)
tree2ce66a782eb5447b68b24c2b197bbbd405bb9373 /includes
parent27223f52a7fc0aa92dcd9baf65d3db0b154c96a6 (diff)
downloadwebtrees-3e51666ea2ec0eabcf825dd263aeb9ad441ab103.tar.gz
webtrees-3e51666ea2ec0eabcf825dd263aeb9ad441ab103.tar.bz2
webtrees-3e51666ea2ec0eabcf825dd263aeb9ad441ab103.zip
581178 deleting ID numbers not possible
Diffstat (limited to 'includes')
-rw-r--r--includes/functions/functions_edit.php10
-rw-r--r--includes/functions/functions_import.php10
2 files changed, 13 insertions, 7 deletions
diff --git a/includes/functions/functions_edit.php b/includes/functions/functions_edit.php
index 1f82bcaffc..fbb2bb28b0 100644
--- a/includes/functions/functions_edit.php
+++ b/includes/functions/functions_edit.php
@@ -293,21 +293,21 @@ function append_gedrec($gedrec, $ged_id) {
}
//-- this function will delete the gedcom record with
-//-- the given $gid
-function delete_gedrec($gid, $ged_id) {
+//-- the given $xref
+function delete_gedrec($xref, $ged_id) {
global $TBLPREFIX;
WT_DB::prepare(
"INSERT INTO {$TBLPREFIX}change (gedcom_id, xref, old_gedcom, new_gedcom, user_id) VALUES (?, ?, ?, ?, ?)"
)->execute(array(
$ged_id,
- $gid,
- find_gedcom_record($gid, $ged_id, true),
+ $xref,
+ find_gedcom_record($xref, $ged_id, true),
'',
WT_USER_ID
));
- AddToChangeLog("Deleting gedcom record $gid");
+ AddToChangeLog("Deleting gedcom record $xref");
if (WT_USER_AUTO_ACCEPT) {
accept_all_changes($xref, WT_GED_ID);
diff --git a/includes/functions/functions_import.php b/includes/functions/functions_import.php
index 6358ab8c16..a064bc6afa 100644
--- a/includes/functions/functions_import.php
+++ b/includes/functions/functions_import.php
@@ -1243,14 +1243,20 @@ function accept_all_changes($xref, $ged_id) {
global $TBLPREFIX;
$changes=WT_DB::prepare(
- "SELECT change_id, gedcom_name, new_gedcom".
+ "SELECT change_id, gedcom_name, old_gedcom, new_gedcom".
" FROM {$TBLPREFIX}change c".
" JOIN {$TBLPREFIX}gedcom g USING (gedcom_id)".
" WHERE c.status='pending' AND xref=? AND gedcom_id=?".
" ORDER BY change_id"
)->execute(array($xref, $ged_id))->fetchAll();
foreach ($changes as $change) {
- update_record($change->new_gedcom, $ged_id, empty($change->new_gedcom));
+ if (empty($change->new_gedcom)) {
+ // delete
+ update_record($change->old_gedcom, $ged_id, true);
+ } else {
+ // add/update
+ update_record($change->new_gedcom, $ged_id, false);
+ }
WT_DB::prepare(
"UPDATE {$TBLPREFIX}change".
" SET status='accepted'".