blob: 984756ba5d04f061b2d980efad3a6e630ce2f38a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
<?php
declare(strict_types=1);
use Fisharebest\Webtrees\I18N;
use Fisharebest\Webtrees\Individual;
use Fisharebest\Webtrees\Module\IndividualListModule;
use Fisharebest\Webtrees\Module\ModuleListInterface;
use Fisharebest\Webtrees\Tree;
/**
* @var IndividualListModule|null $module
* @var array<string,string> $params
* @var array<array<int>> $surnames
* @var bool $totals
* @var Tree $tree
*/
$maximum = max(array_map(static fn (array $x): int => max($x), $surnames));
$minimum = min(array_map(static fn (array $x): int => min($x), $surnames));
?>
<div class="wt-surnames-column-list px-3" style="columns: 15rem; column-rule: solid thin gray; border: solid thin gray;">
<?php foreach ($surnames as $surn => $surns) : ?>
<?php foreach ($surns as $surname => $count) : ?>
<?php
$size = 1.0 + ($maximum === $minimum ? 0 : 1.5 * ($count - $minimum) / ($maximum - $minimum));
if ($surn === Individual::NOMEN_NESCIO) {
$label = I18N::translateContext('Unknown surname', '…');
$url = $module instanceof ModuleListInterface ? $module->listUrl($tree, ['surname' => $surname] + $params) : '';
} elseif ($surname === '') {
if ($surn === '') {
$label = I18N::translate('No surname');
} else {
$label = e($surn);
}
$url = $module instanceof ModuleListInterface ? $module->listUrl($tree, ['surname' => $surname] + $params) : '';
} else {
$label = e($surname);
$url = $module instanceof ModuleListInterface ? $module->listUrl($tree, ['surname' => $surname] + $params) : '';
}
if ($totals) {
$item = I18N::translate('%1$s (%2$s)', '<span class="ut">' . $label . '</span>', I18N::number($count));
} else {
$item = '<span class="ut">' . $label . '</span>';
}
?>
<div class="wt-surnames-column-list-item ut">
<?php if ($url !== '') : ?>
<a href="<?= e($url) ?>"><?= $item ?></a>
<?php else : ?>
<?= $item ?>
<?php endif ?>
</div>
<?php endforeach ?>
<?php endforeach ?>
</div>
|