app/GedcomTag.php
public static function getPicklistFacts($fact_type): array
    {
        switch ($fact_type) {
            case 'INDI':
                $tags = [
                    // Facts, attributes for individuals (no links to FAMs)
                    'RESN',
                    'NAME',
                    'SEX',
                    'BIRT',
                    'CHR',
                    'DEAT',
                    'BURI',
                    'CREM',
                    'ADOP',
                    'BAPM',
                    'BARM',
                    'BASM',
                    'BLES',
                    'CHRA',
                    'CONF',
                    'FCOM',
                    'ORDN',
                    'NATU',
                    'EMIG',
                    'IMMI',
                    'CENS',
                    'PROB',
                    'WILL',
                    'GRAD',
                    'RETI',
                    'EVEN',
                    'CAST',
                    'DSCR',
                    'EDUC',
                    'IDNO',
                    'NATI',
                    'NCHI',
                    'NMR',
                    'OCCU',
                    'PROP',
                    'RELI',
                    'RESI',
                    'SSN',
                    'TITL',
                    'FACT',
                    'BAPL',
                    'CONL',
                    'ENDL',
                    'SLGC',
                    'SUBM',
                    'ASSO',
                    'ALIA',
                    'ANCI',
                    'DESI',
                    'RFN',
                    'AFN',
                    'REFN',
                    'RIN',
                    'CHAN',
                    'NOTE',
                    'SHARED_NOTE',
                    'SOUR',
                    'OBJE',
                    // non standard tags
                    '_BRTM',
                    '_DEG',
                    '_DNA',
                    '_EYEC',
                    '_FNRL',
                    '_HAIR',
                    '_HEIG',
                    '_HNM',
                    '_HOL',
                    '_INTE',
                    '_MDCL',
                    '_MEDC',
                    '_MILI',
                    '_MILT',
                    '_NAME',
                    '_NAMS',
                    '_NLIV',
                    '_NMAR',
                    '_PRMN',
                    '_TODO',
                    '_UID',
                    '_WEIG',
                    '_YART',
                ];
                break;
            case 'FAM':
                $tags = [
                    // Facts for families, left out HUSB, WIFE & CHIL links
                    'RESN',
                    'ANUL',
                    'CENS',
                    'DIV',
                    'DIVF',
                    'ENGA',
                    'MARB',
                    'MARC',
                    'MARR',
                    'MARL',
                    'MARS',
                    'RESI',
                    'EVEN',
                    'NCHI',
                    'SUBM',
                    'SLGS',
                    'REFN',
                    'RIN',
                    'CHAN',
                    'NOTE',
                    'SHARED_NOTE',
                    'SOUR',
                    'OBJE',
                    // non standard tags
                    '_NMR',
                    'MARR_CIVIL',
                    'MARR_RELIGIOUS',
                    'MARR_PARTNERS',
                    'MARR_UNKNOWN',
                    '_COML',
                    '_MBON',
                    '_MARI',
                    '_SEPR',
                    '_TODO',
                ];
                break;
            case 'SOUR':
                $tags = [
                    // Facts for sources
                    'DATA',
                    'AUTH',
                    'TITL',
                    'ABBR',
                    'PUBL',
                    'TEXT',
                    'REPO',
                    'REFN',
                    'RIN',
                    'CHAN',
                    'NOTE',
                    'SHARED_NOTE',
                    'OBJE',
                    'RESN',
                ];
                break;
            case 'REPO':
                $tags = [
                    // Facts for repositories
                    'NAME',
                    'ADDR',
                    'PHON',
                    'EMAIL',
                    'FAX',
                    'WWW',
                    'NOTE',
                    'SHARED_NOTE',
                    'REFN',
                    'RIN',
                    'CHAN',
                    'RESN',
                ];
                break;
            case 'PLAC':
                $tags = [
                    // Facts for places
                    'FONE',
                    'ROMN',
                    // non standard tags
                    '_HEB',
                ];
                break;
            case 'NAME':
                $tags = [
                    // Facts subordinate to NAME
                    'FONE',
                    'ROMN',
                    // non standard tags
                    '_HEB',
                    '_AKA',
                    '_MARNM',
                ];
                break;
            default:
                $tags = [];
                break;
        }

        $facts = [];
        foreach ($tags as $tag) {
            $facts[$tag] = self::getLabel($tag, null);
        }
        uasort($facts, '\Fisharebest\Webtrees\I18N::strcasecmp');

        return $facts;
    }
public static function getPicklistFacts($fact_type): array
    {
        switch ($fact_type) {
            case 'INDI':
                $tags = [
                    // Facts, attributes for individuals (no links to FAMs)
                    'RESN',
                    'NAME',
                    'SEX',
                    'BIRT',
                    'CHR',
                    'DEAT',
                    'BURI',
                    'CREM',
                    'ADOP',
                    'BAPM',
                    'BARM',
                    'BASM',
                    'BLES',
                    'CHRA',
                    'CONF',
                    'FCOM',
                    'ORDN',
                    'NATU',
                    'EMIG',
                    'IMMI',
                    'CENS',
                    'PROB',
                    'WILL',
                    'GRAD',
                    'RETI',
                    'EVEN',
                    'CAST',
                    'DSCR',
                    'EDUC',
                    'IDNO',
                    'NATI',
                    'NCHI',
                    'NMR',
                    'OCCU',
                    'PROP',
                    'RELI',
                    'RESI',
                    'SSN',
                    'TITL',
                    'FACT',
                    'BAPL',
                    'CONL',
                    'ENDL',
                    'SLGC',
                    'SUBM',
                    'ASSO',
                    'ALIA',
                    'ANCI',
                    'DESI',
                    'RFN',
                    'AFN',
                    'REFN',
                    'RIN',
                    'CHAN',
                    'NOTE',
                    'SHARED_NOTE',
                    'SOUR',
                    'OBJE',
                    // non standard tags
                    '_BRTM',
                    '_DEG',
                    '_DNA',
                    '_EYEC',
                    '_FNRL',
                    '_HAIR',
                    '_HEIG',
                    '_HNM',
                    '_HOL',
                    '_INTE',
                    '_MDCL',
                    '_MEDC',
                    '_MILI',
                    '_MILT',
                    '_NAME',
                    '_NAMS',
                    '_NLIV',
                    '_NMAR',
                    '_PRMN',
                    '_TODO',
                    '_UID',
                    '_WEIG',
                    '_YART',
                ];
                break;
            case 'FAM':
                $tags = [
                    // Facts for families, left out HUSB, WIFE & CHIL links
                    'RESN',
                    'ANUL',
                    'CENS',
                    'DIV',
                    'DIVF',
                    'ENGA',
                    'MARB',
                    'MARC',
                    'MARR',
                    'MARL',
                    'MARS',
                    'RESI',
                    'EVEN',
                    'NCHI',
                    'SUBM',
                    'SLGS',
                    'REFN',
                    'RIN',
                    'CHAN',
                    'NOTE',
                    'SHARED_NOTE',
                    'SOUR',
                    'OBJE',
                    // non standard tags
                    '_NMR',
                    'MARR_CIVIL',
                    'MARR_RELIGIOUS',
                    'MARR_PARTNERS',
                    'MARR_UNKNOWN',
                    '_COML',
                    '_MBON',
                    '_MARI',
                    '_SEPR',
                    '_TODO',
                ];
                break;
            case 'SOUR':
                $tags = [
                    // Facts for sources
                    'DATA',
                    'AUTH',
                    'TITL',
                    'ABBR',
                    'PUBL',
                    'TEXT',
                    'REPO',
                    'REFN',
                    'RIN',
                    'CHAN',
                    'NOTE',
                    'SHARED_NOTE',
                    'OBJE',
                    'RESN',
                ];
                break;
            case 'REPO':
                $tags = [
                    // Facts for repositories
                    'NAME',
                    'ADDR',
                    'PHON',
                    'EMAIL',
                    'FAX',
                    'WWW',
                    'NOTE',
                    'SHARED_NOTE',
                    'REFN',
                    'RIN',
                    'CHAN',
                    'RESN',
                ];
                break;
            case 'PLAC':
                $tags = [
                    // Facts for places
                    'FONE',
                    'ROMN',
                    // non standard tags
                    '_HEB',
                ];
                break;
            case 'NAME':
                $tags = [
                    // Facts subordinate to NAME
                    'FONE',
                    'ROMN',
                    // non standard tags
                    '_HEB',
                    '_AKA',
                    '_MARNM',
                ];
                break;
            default:
                $tags = [];
                break;
        }

        $facts = [];
        foreach ($tags as $tag) {
            $facts[$tag] = self::getLabel($tag, null);
        }
        uasort($facts, '\Fisharebest\Webtrees\I18N::strcasecmp');

        return $facts;
    }
public static function getPicklistFacts ( $ fact_type ) : array { switch ( $ fact_type ) { case 'INDI' : $ tags = [ // Facts, attributes for individuals (no links to FAMs) 'RESN' , 'NAME' , 'SEX' , 'BIRT' , 'CHR' , 'DEAT' , 'BURI' , 'CREM' , 'ADOP' , 'BAPM' , 'BARM' , 'BASM' , 'BLES' , 'CHRA' , 'CONF' , 'FCOM' , 'ORDN' , 'NATU' , 'EMIG' , 'IMMI' , 'CENS' , 'PROB' , 'WILL' , 'GRAD' , 'RETI' , 'EVEN' , 'CAST' , 'DSCR' , 'EDUC' , 'IDNO' , 'NATI' , 'NCHI' , 'NMR' , 'OCCU' , 'PROP' , 'RELI' , 'RESI' , 'SSN' , 'TITL' , 'FACT' , 'BAPL' , 'CONL' , 'ENDL' , 'SLGC' , 'SUBM' , 'ASSO' , 'ALIA' , 'ANCI' , 'DESI' , 'RFN' , 'AFN' , 'REFN' , 'RIN' , 'CHAN' , 'NOTE' , 'SHARED_NOTE' , 'SOUR' , 'OBJE' , // non standard tags '_BRTM' , '_DEG' , '_DNA' , '_EYEC' , '_FNRL' , '_HAIR' , '_HEIG' , '_HNM' , '_HOL' , '_INTE' , '_MDCL' , '_MEDC' , '_MILI' , '_MILT' , '_NAME' , '_NAMS' , '_NLIV' , '_NMAR' , '_PRMN' , '_TODO' , '_UID' , '_WEIG' , '_YART' , ] ; break ; case 'FAM' : $ tags = [ // Facts for families, left out HUSB, WIFE & CHIL links 'RESN' , 'ANUL' , 'CENS' , 'DIV' , 'DIVF' , 'ENGA' , 'MARB' , 'MARC' , 'MARR' , 'MARL' , 'MARS' , 'RESI' , 'EVEN' , 'NCHI' , 'SUBM' , 'SLGS' , 'REFN' , 'RIN' , 'CHAN' , 'NOTE' , 'SHARED_NOTE' , 'SOUR' , 'OBJE' , // non standard tags '_NMR' , 'MARR_CIVIL' , 'MARR_RELIGIOUS' , 'MARR_PARTNERS' , 'MARR_UNKNOWN' , '_COML' , '_MBON' , '_MARI' , '_SEPR' , '_TODO' , ] ; break ; case 'SOUR' : $ tags = [ // Facts for sources 'DATA' , 'AUTH' , 'TITL' , 'ABBR' , 'PUBL' , 'TEXT' , 'REPO' , 'REFN' , 'RIN' , 'CHAN' , 'NOTE' , 'SHARED_NOTE' , 'OBJE' , 'RESN' , ] ; break ; case 'REPO' : $ tags = [ // Facts for repositories 'NAME' , 'ADDR' , 'PHON' , 'EMAIL' , 'FAX' , 'WWW' , 'NOTE' , 'SHARED_NOTE' , 'REFN' , 'RIN' , 'CHAN' , 'RESN' , ] ; break ; case 'PLAC' : $ tags = [ // Facts for places 'FONE' , 'ROMN' , // non standard tags '_HEB' , ] ; break ; case 'NAME' : $ tags = [ // Facts subordinate to NAME 'FONE' , 'ROMN' , // non standard tags '_HEB' , '_AKA' , '_MARNM' , ] ; break ; default : $ tags = [ ] ; break ; } $ facts = [ ] ; foreach ( $ tags as $ tag ) { $ facts [ $ tag ] = self :: getLabel ( $ tag , null ) ; } uasort ( $ facts , '\Fisharebest\Webtrees\I18N::strcasecmp' ) ; return $ facts ; }
Get a list of facts, for use in the "fact picker" edit control

@param string $fact_type

@return string[]
Get a list of facts for use in the fact picker edit control