1db7d25eeSGreg Roach<?php 23976b470SGreg Roach 3db7d25eeSGreg Roach/** 4db7d25eeSGreg Roach * webtrees: online genealogy 5*89f7189bSGreg Roach * Copyright (C) 2021 webtrees development team 6db7d25eeSGreg Roach * This program is free software: you can redistribute it and/or modify 7db7d25eeSGreg Roach * it under the terms of the GNU General Public License as published by 8db7d25eeSGreg Roach * the Free Software Foundation, either version 3 of the License, or 9db7d25eeSGreg Roach * (at your option) any later version. 10db7d25eeSGreg Roach * This program is distributed in the hope that it will be useful, 11db7d25eeSGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of 12db7d25eeSGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13db7d25eeSGreg Roach * GNU General Public License for more details. 14db7d25eeSGreg Roach * You should have received a copy of the GNU General Public License 15*89f7189bSGreg Roach * along with this program. If not, see <https://www.gnu.org/licenses/>. 16db7d25eeSGreg Roach */ 17fcfa147eSGreg Roach 18e7f56f2aSGreg Roachdeclare(strict_types=1); 1915d603e7SGreg Roach 20db7d25eeSGreg Roachnamespace Fisharebest\Webtrees\Census; 21db7d25eeSGreg Roach 22054771e9SGreg Roachuse Fisharebest\Webtrees\Age; 23054771e9SGreg Roachuse Fisharebest\Webtrees\I18N; 24db7d25eeSGreg Roachuse Fisharebest\Webtrees\Individual; 25db7d25eeSGreg Roach 26db7d25eeSGreg Roach/** 27db7d25eeSGreg Roach * The age of a female individual (rounded down to the nearest 5 years). 28db7d25eeSGreg Roach */ 29c1010edaSGreg Roachclass CensusColumnAgeFemale5Years extends AbstractCensusColumn implements CensusColumnInterface 30c1010edaSGreg Roach{ 31db7d25eeSGreg Roach /** 32db7d25eeSGreg Roach * Generate the likely value of this census column, based on available information. 33db7d25eeSGreg Roach * 34db7d25eeSGreg Roach * @param Individual $individual 3515d603e7SGreg Roach * @param Individual $head 36db7d25eeSGreg Roach * 37db7d25eeSGreg Roach * @return string 38db7d25eeSGreg Roach */ 395a62e0a6SGreg Roach public function generate(Individual $individual, Individual $head): string 40c1010edaSGreg Roach { 4139ca88baSGreg Roach if ($individual->sex() === 'M') { 42db7d25eeSGreg Roach return ''; 43b2ce94c6SRico Sonntag } 44b2ce94c6SRico Sonntag 45054771e9SGreg Roach $age = new Age($individual->getEstimatedBirthDate(), $this->date()); 46054771e9SGreg Roach $years = $age->ageYears(); 47054771e9SGreg Roach 48db7d25eeSGreg Roach if ($years > 15) { 49db7d25eeSGreg Roach $years -= $years % 5; 50db7d25eeSGreg Roach } 51db7d25eeSGreg Roach 52054771e9SGreg Roach return I18N::number($years); 53db7d25eeSGreg Roach } 54db7d25eeSGreg Roach} 55