![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/webtrees/resources/views/ |
Upload File : |
<?php declare(strict_types=1); use Fisharebest\Webtrees\Auth; use Fisharebest\Webtrees\Family; use Fisharebest\Webtrees\GedcomRecord; use Fisharebest\Webtrees\I18N; use Fisharebest\Webtrees\Individual; use Fisharebest\Webtrees\Registry; use Fisharebest\Webtrees\Services\GedcomEditService; /** * @var GedcomRecord $record */ ?> <?php $add_facts = (new GedcomEditService())->factsToAdd($record, false); // Add from pick list switch ($record->tag()) { case Individual::RECORD_TYPE: $quick_facts = array_filter(explode(',', $record->tree()->getPreference('INDI_FACTS_QUICK'))); $unique_facts = [ 'ADOP', 'AFN', 'BAPL', 'BAPM', 'BARM', 'BASM', 'BIRT', 'BURI', 'CAST', 'CHAN', 'CHR', 'CHRA', 'CONF', 'CONL', 'CREM', 'DEAT', 'ENDL', 'FCOM', 'GRAD', 'NCHI', 'NMR', 'ORDN', 'PROB', 'REFN', 'RELI', 'RESN', 'RETI', 'RFN', 'RIN', 'SEX', 'SLGC', 'SSN', 'WILL', ]; break; case Family::RECORD_TYPE: $quick_facts = array_filter(explode(',', $record->tree()->getPreference('FAM_FACTS_QUICK'))); $unique_facts = [ 'DIV', 'DIVF', 'ENGA', 'MARR', ]; break; default: $quick_facts = []; $unique_facts = []; break; } // Filter existing tags $filter_fn = static fn (string $tag): bool => !in_array($tag, $unique_facts, true) || $record->facts([$tag])->isEmpty(); $quick_facts = array_filter($quick_facts, $filter_fn); // Create a label for a subtag $label_fn = static fn (string $subtag): string => Registry::elementFactory()->make($record->tag() . ':' . $subtag)->label(); $quick_facts = array_combine($quick_facts, array_map($label_fn, $quick_facts)); $add_facts = array_combine($add_facts, array_map($label_fn, $add_facts)); uasort($add_facts, I18N::comparator()); if (!Auth::canUploadMedia($record->tree(), Auth::user())) { unset($add_facts['OBJE'], $quick_facts['OBJE']); } echo view('edit/add-fact-row', [ 'add_facts' => $add_facts, 'quick_facts' => $quick_facts, 'record' => $record, ]);