Exemplo n.º 1
0
    if ($txt && fetch_val("SELECT is_leaf({$src})") == 't') {
        echo "Cannot create subsource under source #{$src}. ";
        echo "Please go back and check your source reference.";
        die;
    }
    $event = $_POST['event'];
    $person = $_POST['person'];
    $tag = $_POST['tag_fk'];
    $place = $_POST['place_fk'];
    if ($place == 0) {
        $place = 1;
    }
    $note = note_to_db($_POST['event_note']);
    $event_date = pad_date($_POST['date_1']) . $_POST['date_type'] . pad_date($_POST['date_2']) . '1';
    $sort_date = parse_sort_date($_POST['sort_date'], $event_date);
    pg_query("BEGIN");
    pg_query("UPDATE EVENTS SET tag_fk={$tag}, place_fk={$place}, event_date='{$event_date}',\n                sort_date='{$sort_date}', event_note='{$note}' WHERE event_id = {$event}");
    set_last_selected_place($place);
    set_last_edit($person);
    $source_id = add_source($person, $tag, $event, $src, $txt);
    if ($tag == 31) {
        // hard-coded reference to probate
        pg_query("SELECT generate_probate_witnesses({$event})");
    }
    if ($_POST['age']) {
        // generate birth event
        add_birth($person, $event_date, $_POST['age'], $source_id);
    }
    pg_query("COMMIT");
    header("Location: {$app_root}/family.php?person={$person}");
}
Exemplo n.º 2
0
         $relid_t = get_relation_id($target, 2);
         pg_query("\n                UPDATE relation_citations\n                SET relation_fk = {$relid_t}\n                WHERE relation_fk = {$relid_s}\n            ");
         pg_query("\n                DELETE FROM relations\n                WHERE relation_id = {$relid_s}\n            ");
     }
     // transfer remaining relations
     pg_query("\n            UPDATE relations\n            SET child_fk = {$target}\n            WHERE child_fk = {$source}\n        ");
     pg_query("\n            UPDATE relations\n            SET parent_fk = {$target}\n            WHERE parent_fk = {$source}\n        ");
     // update source_linkage
     pg_query("\n            UPDATE source_linkage\n            SET person_fk = {$target}\n            WHERE person_fk = {$source}\n        ");
     // insert "event" for source person with a link to target person
     $event_note = " [p={$target}|ID #{$target}]";
     $event = fetch_val("\n            INSERT INTO events (\n                tag_fk,\n                place_fk,\n                event_date,\n                sort_date,\n                event_note\n            )\n            VALUES (\n                1040,\n                1,\n                '000000003000000001',\n                '00010101',\n                '{$event_note}'\n            )\n            RETURNING event_id\n        ");
     add_participant($source, $event);
     pg_query("\n            INSERT INTO merged (old_person_fk,new_person_fk)\n            VALUES ({$source}, {$target})\n        ");
     set_last_edit($source);
     set_last_edit($target);
     pg_query("\n            COMMIT\n        ");
     // return to main view of "stripped" person.
     header("Location: {$app_root}/family.php?person={$source}");
 } else {
     // explain why the merge failed
     $title = "{$_App_name}: {$_Merge_persons_failed}";
     require "./form_header.php";
     echo "<h2>{$title}!</h2>\n";
     $name_1 = get_name($person_1);
     $name_2 = get_name($person_2);
     echo "<p>{$_Cannot_merge} {$name_1} ({$_born} {$bdate_1}), {$_with} {$name_2} ({$_born} {$bdate_2}).<br />\n";
     echo "{$_Reason}: {$reason}</p>\n";
     echo para(to_url('../family.php', array(person => $person_1), "{$_Return_to} {$person_1} {$name_1}"));
     echo para(to_url('../family.php', array(person => $person_2), "{$_Return_to} {$person_2} {$name_2}"));
     echo "</body>\n</html>\n";