", $alpha =safe_GET('alpha', WT_REGEX_UNSAFE); // All surnames beginning with this letter where "@"=unknown and ","=none $surname =safe_GET('surname', WT_REGEX_UNSAFE); // All indis with this surname. NB - allow ' and " $show_all=safe_GET('show_all', array('no','yes'), 'no'); // All indis // Long lists can be broken down by given name $show_all_firstnames=safe_GET('show_all_firstnames', array('no','yes'), 'no'); if ($show_all_firstnames=='yes') { $falpha=''; } else { $falpha=safe_GET('falpha'); // All first names beginning with this letter } $show_marnm=get_user_setting(WT_USER_ID, WT_SCRIPT_NAME.'_show_marnm'); switch (safe_GET('show_marnm', array('no','yes'))) { case 'no': $show_marnm=false; if (WT_USER_ID) { set_user_setting(WT_USER_ID, WT_SCRIPT_NAME.'_show_marnm', $show_marnm); } break; case 'yes': $show_marnm=true; if (WT_USER_ID) { set_user_setting(WT_USER_ID, WT_SCRIPT_NAME.'_show_marnm', $show_marnm); } break; } // Make sure selections are consistent. // i.e. can't specify show_all and surname at the same time. if ($show_all=='yes') { if ($show_all_firstnames=='yes') { $alpha=''; $surname=''; $legend=WT_I18N::translate('All'); $url=WT_SCRIPT_NAME.'?show_all=yes&ged='.WT_GEDURL; $show='indi'; } else if ($falpha) { $alpha=''; $surname=''; $legend=WT_I18N::translate('All').', '.htmlspecialchars($falpha).'…'; $url=WT_SCRIPT_NAME.'?show_all=yes&ged='.WT_GEDURL; $show='indi'; } else { $alpha=''; $surname=''; $legend=WT_I18N::translate('All'); $url=WT_SCRIPT_NAME.'?show_all=yes'.'&ged='.WT_GEDURL; $show=safe_GET('show', array('surn', 'indi'), 'surn'); } } elseif ($surname) { $alpha=WT_Query_Name::initialLetter($surname); // so we can highlight the initial letter $show_all='no'; if ($surname=='@N.N.') { $legend=$UNKNOWN_NN; } else { $legend=htmlspecialchars($surname); } $url=WT_SCRIPT_NAME.'?surname='.rawurlencode($surname).'&ged='.WT_GEDURL; switch($falpha) { case '': break; case '@': $legend.=', '.$UNKNOWN_PN; $url.='&falpha='.rawurlencode($falpha).'&ged='.WT_GEDURL; break; default: $legend.=', '.htmlspecialchars($falpha).'…'; $url.='&falpha='.rawurlencode($falpha).'&ged='.WT_GEDURL; break; } $show='indi'; // SURN list makes no sense here } elseif ($alpha=='@') { $show_all='no'; $legend=$UNKNOWN_NN; $url=WT_SCRIPT_NAME.'?alpha='.rawurlencode($alpha).'&ged='.WT_GEDURL; $show='indi'; // SURN list makes no sense here } elseif ($alpha==',') { $show_all='no'; $legend=WT_I18N::translate('None'); $url=WT_SCRIPT_NAME.'?alpha='.rawurlencode($alpha).'&ged='.WT_GEDURL; $show='indi'; // SURN list makes no sense here } elseif ($alpha) { $show_all='no'; $legend=htmlspecialchars($alpha).'…'; $url=WT_SCRIPT_NAME.'?alpha='.rawurlencode($alpha).'&ged='.WT_GEDURL; $show=safe_GET('show', array('surn', 'indi'), 'surn'); } else { $show_all='no'; $legend='…'; $url=WT_SCRIPT_NAME.'?ged='.WT_GEDURL; $show='none'; // Don't show lists until something is chosen } $controller ->setPageTitle(WT_I18N::translate('Individuals').' : '.$legend) ->pageHeader(); echo '
', join(' | ', $list), '
'; // Search spiders don't get an option to show/hide the surname sublists, // nor does it make sense on the all/unknown/surname views if (!$SEARCH_SPIDER) { echo '';
if ($show!='none') {
if ($show_marnm) {
echo '', WT_I18N::translate('Exclude individuals with “%s” as a married name', $legend), '';
} else {
echo '', WT_I18N::translate('Include individuals with “%s” as a married name', $legend), '';
}
if ($alpha!='@' && $alpha!=',' && !$surname) {
if ($show=='surn') {
echo '
', WT_I18N::translate('Show the list of individuals'), '';
} else {
echo '
', WT_I18N::translate('Show the list of surnames'), '';
}
}
}
echo '
', join(' | ', $list), '
'; } } if ($show=='indi') { echo format_indi_table( WT_Query_Name::individuals($surname, $alpha, $falpha, $show_marnm, false, WT_GED_ID) ); } } }