diff options
| author | Greg Roach <fisharebest@gmail.com> | 2015-10-07 13:31:46 +0100 |
|---|---|---|
| committer | Greg Roach <fisharebest@gmail.com> | 2015-10-07 13:31:46 +0100 |
| commit | b26116c93fc2030fb2b07a782c69484dc7536947 (patch) | |
| tree | 1f79bb4e8f10a767769270d62c6776790c28d5c4 /app/Census/AbstractCensusColumn.php | |
| parent | 548ca0dd332bc2ccd2184fad673fab4643826e17 (diff) | |
| download | webtrees-b26116c93fc2030fb2b07a782c69484dc7536947.tar.gz webtrees-b26116c93fc2030fb2b07a782c69484dc7536947.tar.bz2 webtrees-b26116c93fc2030fb2b07a782c69484dc7536947.zip | |
Census
Diffstat (limited to 'app/Census/AbstractCensusColumn.php')
| -rw-r--r-- | app/Census/AbstractCensusColumn.php | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/app/Census/AbstractCensusColumn.php b/app/Census/AbstractCensusColumn.php index a1c8c5c93d..26afd7046b 100644 --- a/app/Census/AbstractCensusColumn.php +++ b/app/Census/AbstractCensusColumn.php @@ -16,6 +16,7 @@ namespace Fisharebest\Webtrees\Census; use Fisharebest\Webtrees\Date; +use Fisharebest\Webtrees\Family; use Fisharebest\Webtrees\Individual; /** @@ -78,7 +79,9 @@ class AbstractCensusColumn { /** * Find the father of an individual * - * @return Individual $individual + * @param Individual $individual + * + * @return Individual|null */ public function father(Individual $individual) { $family = $individual->getPrimaryChildFamily(); @@ -93,7 +96,9 @@ class AbstractCensusColumn { /** * Find the mother of an individual * - * @return Individual $individual + * @param Individual $individual + * + * @return Individual|null */ public function mother(Individual $individual) { $family = $individual->getPrimaryChildFamily(); @@ -132,6 +137,31 @@ class AbstractCensusColumn { } /** + * Find the current spouse family of an individual + * + * @param Individual $individual + * + * @return Family|null + */ + public function spouseFamily(Individual $individual) { + // Exclude families that were created after this census date + $families = array(); + foreach ($individual->getSpouseFamilies() as $family) { + if (Date::compare($family->getMarriageDate(), $this->date()) <= 0) { + $families[] = $family; + } + } + + if (empty($families)) { + return null; + } else { + usort($families, function(Family $x, Family $y) { return Date::compare($x->getMarriageDate(), $y->getMarriageDate()); }); + + return end($families); + } + } + + /** * The full version of the column's name. * * @return string |
