. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Elements; use Fisharebest\Webtrees\I18N; use Fisharebest\Webtrees\Tree; use function e; /** * Events which can take "Y" to indicate that they occurred, but date/place are unknown. */ class AbstractEventElement extends AbstractElement { /** * Convert a value to a canonical form. * * @param string $value * * @return string */ public function canonical(string $value): string { $value = parent::canonical($value); if ($value === 'y') { return 'Y'; } return $value; } /** * An edit control for this data. * * @param string $id * @param string $name * @param string $value * @param Tree $tree * * @return string */ public function edit(string $id, string $name, string $value, Tree $tree): string { return '
' . $this->editHidden($id, $name, $value ? 'Y' : '') . '' . '' . '
' . ''; } /** * Display the value of this type of element. * * @param string $value * @param Tree $tree * * @return string */ public function value(string $value, Tree $tree): string { if ($value === 'Y') { return I18N::translate('yes'); } return parent::value($value, $tree); } }