toString(); $hundred_years_ago = new DateTime(); $hundred_years_ago->modify('-100 years'); $hundred_years_ago = new Date($hundred_years_ago->format('Y')); $unique_indis = []; // Don't double-count indis with multiple names. $today_jd = unixtojd(); $show_estimated_dates = (bool) $tree->getPreference('SHOW_EST_LIST_DATES'); $module = app(ModuleService::class) ->findByComponent(ModuleChartInterface::class, $tree, Auth::user()) ->first(static function (ModuleInterface $module) { return $module instanceof RelationshipsChartModule; }); ?> getPreference('MAX_ALIVE_AGE'); // Inititialise chart data $deat_by_age = []; for ($age = 0; $age <= $max_age; $age++) { $deat_by_age[$age]['M'] = 0; $deat_by_age[$age]['F'] = 0; $deat_by_age[$age]['U'] = 0; } $birt_by_decade = []; $deat_by_decade = []; for ($year = 1400; $year < 2050; $year += 10) { $birt_by_decade[$year]['M'] = 0; $birt_by_decade[$year]['F'] = 0; $birt_by_decade[$year]['U'] = 0; $deat_by_decade[$year]['M'] = 0; $deat_by_decade[$year]['F'] = 0; $deat_by_decade[$year]['U'] = 0; } $birthData = [ [ [ 'label' => I18N::translate('Century'), 'type' => 'date', ], [ 'label' => I18N::translate('Males'), 'type' => 'number', ], [ 'label' => I18N::translate('Females'), 'type' => 'number', ], ] ]; $deathData = [ [ [ 'label' => I18N::translate('Century'), 'type' => 'date', ], [ 'label' => I18N::translate('Males'), 'type' => 'number', ], [ 'label' => I18N::translate('Females'), 'type' => 'number', ], ] ]; $deathAgeData = [ [ I18N::translate('Age'), I18N::translate('Males'), I18N::translate('Females'), I18N::translate('Average age'), ] ]; ?>
= I18N::translate('Given names') ?> | = I18N::translate('Surname') ?> | = /* I18N: Abbreviation for “Sosa-Stradonitz number”. This is an individual’s surname, so may need transliterating into non-latin alphabets. */ I18N::translate('Sosa') ?> | = I18N::translate('Birth') ?> | = view('icons/anniversary') ?> | = I18N::translate('Place') ?> | = I18N::translate('Death') ?> | = view('icons/anniversary') ?> | = I18N::translate('Age') ?> | = I18N::translate('Place') ?> | = I18N::translate('Last change') ?> | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
getAllNames() as $num => $name) : ?>
= $name['full'] ?>
getPrimaryName()) : ?>
= $individual->getSexImage() ?>
= $individual->getPrimaryParentsNames('parents details1', 'none') ?> |
= I18N::number($key) ?> = I18N::number($key) ?> |
getAllBirthDates(); ?>
$birth_date) : ?>
= $birth_date->display(true) ?>
= $individual->getEstimatedBirthDate()->display(true) ?> |
gregorianYear() >= 1550 && $birth_dates[0]->gregorianYear() < 2030 && !isset($unique_indis[$individual->xref()])) : ?> gregorianYear() / 10) * 10][$individual->sex()]; ?> = Date::getAge($birth_dates[0]) ?> |
getAllBirthPlaces() as $n => $birth_place) : ?>
= $birth_place->shortName(true) ?>
|
= I18N::number($individual->numberOfChildren()) ?> | getAllDeathDates() ?>
$death_date) : ?>
= $death_date->display(true) ?>
getEstimatedDeathDate()->minimumDate()->minimumJulianDay() < $today_jd): ?> = $individual->getEstimatedDeathDate()->display(true) ?> |
gregorianYear() >= 1550 && $death_dates[0]->gregorianYear() < 2030 && !isset($unique_indis[$individual->xref()])) : ?> gregorianYear() / 10) * 10][$individual->sex()]; ?> = Date::getAge($death_dates[0]) ?> | xref()]) && $age_at_death >= 0 && $age_at_death <= $max_age) : ?> sex()]; ?>= e($age_at_death) ?> |
getAllDeathPlaces() as $n => $death_place) : ?>
= $death_place->shortName(true) ?>
|
= view('components/datetime', ['timestamp' => $individual->lastChangeTimestamp()]) ?> | = $individual->sex() ?> | canShow() || Date::compare($individual->getEstimatedBirthDate(), $hundred_years_ago) > 0) : ?> Y100 YES | 0) : ?> Y100 isDead()) : ?> YES N | childFamilies()) : ?> R isDead() && $individual->numberOfChildren() < 1) : ?> L |