pgv_lang["NN"], and a * translated version of the word ALL by means of variable i18n::translate('All'). * * The details can be shown in two ways, with surnames or without surnames. By default * the user first sees a list of surnames of the chosen letter and by clicking on a * surname a list with names of people with that chosen surname is displayed. * * Beneath the details list is the option to skip the surname list or show it. * Depending on the current status of the list. * * NOTE: indilist.php and famlist.php contain mostly identical code. * Updates to one file almost certainly need to be made to the other one as well. * * webtrees: Web based Family History software * Copyright (C) 2010 webtrees development team. * * Derived from PhpGedView * Copyright (C) 2002 to 2009 PGV Development Team. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @package webtrees * @subpackage Lists * @version $Id$ */ define('WT_SCRIPT_NAME', 'indilist.php'); require './includes/session.php'; require_once WT_ROOT.'includes/functions/functions_print_lists.php'; // We show three different lists: $alpha =safe_GET('alpha'); // All surnames beginning with this letter where "@"=unknown and ","=none $surname =safe_GET('surname', '[^<>&%{};]*'); // All indis with this surname. NB - allow ' and " $show_all=safe_GET('show_all', array('no','yes'), 'no'); // All indis // Don't show the list until we have some filter criteria if (isset($alpha) || isset($surname) || $show_all=='yes') { $showList = true; } else { $showList = false; } // Long lists can be broken down by given name $falpha=safe_GET('falpha'); // All first names beginning with this letter $show_all_firstnames=safe_GET('show_all_firstnames', array('no','yes'), 'no'); // We can show either a list of surnames or a list of names $surname_sublist=safe_GET('surname_sublist', array('no','yes')); if (!$surname_sublist) { $surname_sublist=safe_COOKIE('surname_sublist', array('no','yes'), 'yes'); } setcookie('surname_sublist', $surname_sublist); // We can either include or exclude married names. // We use $SHOW_MARRIED_NAMES as the default value. $show_marnm=safe_GET('show_marnm', array('no','yes')); if (!$show_marnm) { $show_marnm=safe_COOKIE('show_marnm_indilist', array('no','yes')); } if (!$show_marnm) { $show_marnm=$SHOW_MARRIED_NAMES ? 'yes' : 'no'; } setcookie('show_marnm_indilist', $show_marnm); // Override $SHOW_MARRIED_NAMES for this page $SHOW_MARRIED_NAMES=($show_marnm=='yes'); // Fetch a list of the initial letters of all surnames in the database $initials=get_indilist_salpha($SHOW_MARRIED_NAMES, false, WT_GED_ID); // Make sure selections are consistent. // i.e. can't specify show_all and surname at the same time. if ($show_all=='yes') { $alpha=''; $surname=''; $legend=i18n::translate('All'); $url='indilist.php?show_all=yes'; } elseif ($surname) { $surname=utf8_strtoupper($surname); $alpha=utf8_substr($surname, 0, 1); foreach (explode(' ', i18n::$alphabet) as $letter) { if (strpos($surname, utf8_strtoupper($letter))===0) { $alpha=utf8_strtoupper($letter); } } $show_all='no'; $legend=$surname; switch($falpha) { case '': break; case '@': $legend.=', '.i18n::translate('(unknown)'); break; default: $legend.=', '.$falpha; break; } $surname_sublist='no'; $url='indilist.php?surname='.urlencode($surname); } else { $show_all='no'; $surname=''; if ($alpha=='@') { $legend=i18n::translate('(unknown)'); $surname_sublist='no'; $surname='@N.N.'; } elseif ($alpha==',') { $legend=i18n::translate('None'); $surname_sublist='no'; } else { $legend=$alpha; } $url='indilist.php?alpha='.urlencode($alpha); } print_header(i18n::translate('Individuals').' : '.$legend); echo '
';
echo i18n::translate('Choose a letter to show individuals whose family name starts with that letter.');
echo help_link('alpha');
echo '
', join(' | ', $list), '
'; if ($alpha!='@' && $alpha!=',' && !$surname) { if ($surname_sublist=='yes') { echo '', i18n::translate('Skip surname lists'), ''; echo help_link('skip_sublist', 'qm', 'skip_surnames'); } else { echo '', i18n::translate('Show surname lists'), ''; echo help_link('skip_sublist', 'qm', 'show_surnames'); } echo ' '; } if ($showList) { if ($SHOW_MARRIED_NAMES) { echo '', i18n::translate('Exclude married names'), ''; } else { echo '', i18n::translate('Include married names'), ''; } echo help_link('show_marnm'); echo '
'; } } echo '';
echo i18n::translate('Choose a letter to show individuals who have a given name which starts with that letter.');
echo help_link('alpha');
echo '
', join(' | ', $list), '