function print_marriage($p, $p2 = 0) { global $_Married, $language; $handle = pg_query("\n SELECT\n event_date,\n place_name,\n spouse\n FROM\n marriages\n WHERE\n person = {$p}\n "); while ($row = pg_fetch_assoc($handle)) { if (!$p2 || $p2 != $row['spouse']) { echo para($_Married . conc(fuzzydate($row['event_date'])) . conc($row['place_name']) . conc(fetch_val("SELECT prepose(4, '{$language}')")) . conc(linked_name($row['spouse'])) . conc(child_of($row['spouse'])), "bmd"); } } }
function list_mentioned($node, $hotlink = 0) { global $app_path, $_edit, $_delete; echo "<ol>\n"; $handle = pg_query("\n SELECT\n per_id,\n get_role(role_fk) AS rolle,\n person_fk,\n get_surety(surety_fk) AS surety,\n s_name,\n link_expand(sl_note) AS note\n FROM\n source_linkage\n WHERE\n source_fk = {$node}\n ORDER BY\n role_fk,\n per_id\n "); while ($row = pg_fetch_assoc($handle)) { echo '<li>' . $row['rolle'] . ': '; echo '«' . $row['s_name'] . '»'; if ($row['person_fk']) { echo conc(curly_brace($row['surety'])) . conc(linked_name($row['person_fk'], "{$app_path}/family.php")); } if (has_parents($row['person_fk'])) { echo conc(child_of($row['person_fk'])); } if ($row['note']) { echo ': ' . $row['note']; } if ($hotlink) { echo conc(paren(to_url("{$app_path}/forms/linkage_edit.php", array('node' => $node, 'id' => $row['per_id']), $_edit) . ' / ' . to_url("{$app_path}/forms/linkage_delete.php", array('node' => $node, 'id' => $row['per_id']), $_delete))); } echo "</li>\n"; } if ($hotlink) { echo '<li>' . to_url("{$app_path}/forms/linkage_add.php", array('node' => $node), "Legg til lenke") . "</li>\n"; } echo "</ol>\n"; }
} // by default, we will display the 50 most recently edited persons. if (!isset($given) && !isset($surname)) { $headline = "{$_The_last_50_edited}"; // This query is sluggish without the following db modification: // create index last_edited_persons_key on persons(last_edit,person_id); $query = "select person_id, last_edit from persons\n where is_merged(person_id) is false\n order by last_edit desc, person_id desc limit 50"; } else { if (substr($surname, 0, 1) == '!') { $literal = ltrim($surname, '!'); } else { $literal = "%{$surname}%"; } $headline = "{$_Search_result}"; $query = "SELECT\n person_id,\n get_pbdate(person_id) as pbd\n FROM\n persons\n WHERE\n given LIKE '%{$given}%'\n AND (\n patronym LIKE '%{$surname}%'\n OR toponym LIKE '{$literal}'\n OR surname LIKE '%{$surname}%'\n OR occupation LIKE '%{$surname}%'\n )\n AND is_merged(person_id) IS FALSE\n "; if ($bdate) { $query .= "\n AND f_year(get_pbdate(person_id))\n BETWEEN (({$bdate})::INTEGER - {$diff})\n AND (({$bdate})::INTEGER + {$diff})\n "; } $query .= "\n ORDER BY pbd"; } echo "<h3>{$headline}:</h3>\n"; $handle = pg_query($query); echo "<p>"; while ($row = pg_fetch_row($handle)) { $p = $row[0]; echo get_name_and_dates("./family.php", $p) . conc(child_of($p)) . "<br />\n"; } echo "</p>\n"; echo para(paren(fetch_num_rows($query) . conc($_persons))); echo "</div>\n"; include "./footer.php";