summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@gmail.com>2013-10-04 18:34:55 +0100
committerGreg Roach <fisharebest@gmail.com>2013-10-04 18:34:55 +0100
commit1c8a13ab6d9eea312dec5a628c280c84efda05d6 (patch)
treeeb497bf55cd9926958abcb7b7072eca63b0d1833 /includes
parenta0109bbf0ccf764017e7d7103adfcee5f4af3f4b (diff)
downloadwebtrees-1c8a13ab6d9eea312dec5a628c280c84efda05d6.tar.gz
webtrees-1c8a13ab6d9eea312dec5a628c280c84efda05d6.tar.bz2
webtrees-1c8a13ab6d9eea312dec5a628c280c84efda05d6.zip
#1234928 - 1.5.0 Deleting individual does not delete parent family CHIL record
Diffstat (limited to 'includes')
-rw-r--r--includes/functions/functions_db.php11
1 files changed, 8 insertions, 3 deletions
diff --git a/includes/functions/functions_db.php b/includes/functions/functions_db.php
index 57a52ed2e5..5f13e11c9d 100644
--- a/includes/functions/functions_db.php
+++ b/includes/functions/functions_db.php
@@ -30,10 +30,15 @@ if (!defined('WT_WEBTREES')) {
// Fetch all records linked to a record - when deleting an object, we must
// also delete all links to it.
////////////////////////////////////////////////////////////////////////////////
-function fetch_all_links($xref, $ged_id) {
+function fetch_all_links($xref, $gedcom_id) {
return
- WT_DB::prepare("SELECT l_from FROM `##link` WHERE l_file=? AND l_to=?")
- ->execute(array($ged_id, $xref))
+ WT_DB::prepare(
+ "SELECT l_from FROM `##link` WHERE l_file=? AND l_to=?" .
+ " UNION " .
+ "SELECT xref FROM `##change` WHERE status='pending' AND gedcom_id=? AND new_gedcom LIKE" .
+ " CONCAT('%@', ?, '@%')"
+ )
+ ->execute(array($gedcom_id, $xref, $gedcom_id, $xref))
->fetchOneColumn();
}