. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Elements; use Fisharebest\Webtrees\I18N; use function strtoupper; /** * := [POLI|RELI|GEOG|CULT] * Used to differentiate political (administrative), religious, geographical * or cultural associations. For the superior location object the details of * its type are defined by the in its record. */ class HierarchicalRelationship extends AbstractElement { /** * Convert a value to a canonical form. * * @param string $value * * @return string */ public function canonical(string $value): string { return strtoupper(parent::canonical($value)); } /** * A list of controlled values for this element * * @return array */ public function values(): array { $values = [ '' => '', 'POLI' => /* I18N: Type of location hierarchy */ I18N::translate('political'), 'RELI' => /* I18N: Type of location hierarchy */ I18N::translate('religious'), 'GEOG' => /* I18N: Type of location hierarchy */ I18N::translate('geographic'), 'CULT' => /* I18N: Type of location hierarchy */ I18N::translate('cultural'), ]; uasort($values, [I18N::class, 'strcasecmp']); return $values; } }