diff options
| author | Greg Roach <fisharebest@gmail.com> | 2021-05-08 14:34:30 +0100 |
|---|---|---|
| committer | Greg Roach <fisharebest@gmail.com> | 2021-05-09 10:36:36 +0100 |
| commit | 7b54238961f347ceabed416b844859d4260b5348 (patch) | |
| tree | 9381850ed05d72a23980ca71a4699f5cecbb62f1 /app/Factories | |
| parent | 914ea12f67bcff691919d6fc4703d15491971fab (diff) | |
| download | webtrees-7b54238961f347ceabed416b844859d4260b5348.tar.gz webtrees-7b54238961f347ceabed416b844859d4260b5348.tar.bz2 webtrees-7b54238961f347ceabed416b844859d4260b5348.zip | |
Gedcom tags
Diffstat (limited to 'app/Factories')
| -rw-r--r-- | app/Factories/ElementFactory.php | 119 |
1 files changed, 71 insertions, 48 deletions
diff --git a/app/Factories/ElementFactory.php b/app/Factories/ElementFactory.php index f3e02a008c..038f09ddd5 100644 --- a/app/Factories/ElementFactory.php +++ b/app/Factories/ElementFactory.php @@ -198,6 +198,7 @@ use Fisharebest\Webtrees\Elements\VersionNumber; use Fisharebest\Webtrees\Elements\WebtreesUser; use Fisharebest\Webtrees\Elements\WhereWithinSource; use Fisharebest\Webtrees\Elements\Will; +use Fisharebest\Webtrees\Elements\XrefAssociate; use Fisharebest\Webtrees\Elements\XrefFamily; use Fisharebest\Webtrees\Elements\XrefIndividual; use Fisharebest\Webtrees\Elements\XrefLocation; @@ -294,7 +295,6 @@ class ElementFactory implements ElementFactoryInterface 'FAM:CHAN' => new Change(I18N::translate('Last change')), 'FAM:CHAN:DATE' => new ChangeDate(I18N::translate('Date of last change')), 'FAM:CHAN:DATE:TIME' => new TimeValue(I18N::translate('Time')), - 'FAM:CHAN:NOTE' => new NoteStructure(I18N::translate('Note')), 'FAM:CHIL' => new XrefIndividual(I18N::translate('Child')), 'FAM:DIV' => new Divorce(I18N::translate('Divorce')), 'FAM:DIVF' => new DivorceFiled(I18N::translate('Divorce filed')), @@ -324,7 +324,6 @@ class ElementFactory implements ElementFactoryInterface 'FAM:RIN' => new AutomatedRecordId(I18N::translate('Record ID number')), 'FAM:SLGS' => new LdsSpouseSealing(I18N::translate('LDS spouse sealing')), 'FAM:SLGS:DATE' => new DateLdsOrd(I18N::translate('Date')), - 'FAM:SLGS:NOTE' => new NoteStructure(I18N::translate('Note')), 'FAM:SLGS:PLAC' => new PlaceLivingOrdinance(I18N::translate('Place')), 'FAM:SLGS:STAT' => new LdsSpouseSealingDateStatus(I18N::translate('Status')), 'FAM:SLGS:STAT:DATE' => new ChangeDate(I18N::translate('Status change date')), @@ -335,7 +334,6 @@ class ElementFactory implements ElementFactoryInterface 'FAM:SOUR:DATA:TEXT' => new TextFromSource(I18N::translate('Text')), 'FAM:SOUR:EVEN' => new EventTypeCitedFrom(I18N::translate('Event')), 'FAM:SOUR:EVEN:ROLE' => new RoleInEvent(I18N::translate('Role')), - 'FAM:SOUR:NOTE' => new NoteStructure(I18N::translate('Note')), 'FAM:SOUR:OBJE' => new XrefMedia(I18N::translate('Media object')), 'FAM:SOUR:PAGE' => new WhereWithinSource(I18N::translate('Citation details')), 'FAM:SOUR:QUAY' => new CertaintyAssessment(I18N::translate('Quality of data')), @@ -427,11 +425,10 @@ class ElementFactory implements ElementFactoryInterface 'INDI:AFN' => new AncestralFileNumber(I18N::translate('Ancestral file number')), 'INDI:ALIA' => new XrefIndividual(I18N::translate('Alias')), 'INDI:ANCI' => new XrefSubmitter(I18N::translate('Ancestors interest')), - 'INDI:ASSO' => new XrefIndividual(I18N::translate('Associate'), ['RELA' => '0:1', 'NOTE' => '0:M', 'SOUR' => '0:M']), + 'INDI:ASSO' => new XrefAssociate(I18N::translate('Associate')), 'INDI:ASSO:RELA' => new RelationIsDescriptor(I18N::translate('Relationship')), 'INDI:BAPL' => new LdsBaptism(I18N::translate('LDS baptism')), 'INDI:BAPL:DATE' => new DateLdsOrd(I18N::translate('Date of LDS baptism')), - 'INDI:BAPL:NOTE' => new NoteStructure(I18N::translate('Note')), 'INDI:BAPL:PLAC' => new PlaceLivingOrdinance(I18N::translate('Place of LDS baptism')), 'INDI:BAPL:STAT' => new LdsBaptismDateStatus(I18N::translate('Status')), 'INDI:BAPL:STAT:DATE' => new ChangeDate(I18N::translate('Status change date')), @@ -462,7 +459,6 @@ class ElementFactory implements ElementFactoryInterface 'INDI:CHAN' => new Change(I18N::translate('Last change')), 'INDI:CHAN:DATE' => new ChangeDate(I18N::translate('Date of last change')), 'INDI:CHAN:DATE:TIME' => new TimeValue(I18N::translate('Time')), - 'INDI:CHAN:NOTE' => new NoteStructure(I18N::translate('Note')), 'INDI:CHR' => new Christening(I18N::translate('Christening')), 'INDI:CHR:DATE' => new DateValue(I18N::translate('Date of christening')), 'INDI:CHR:FAMC' => new XrefFamily(I18N::translate('Godparents')), @@ -473,7 +469,6 @@ class ElementFactory implements ElementFactoryInterface 'INDI:CONF:PLAC' => new PlaceName(I18N::translate('Place of confirmation')), 'INDI:CONL' => new LdsConfirmation(I18N::translate('LDS confirmation')), 'INDI:CONL:DATE' => new DateLdsOrd(I18N::translate('Date of LDS confirmation')), - 'INDI:CONL:NOTE' => new NoteStructure(I18N::translate('Note')), 'INDI:CONL:PLAC' => new PlaceLivingOrdinance(I18N::translate('Place of LDS confirmation')), 'INDI:CONL:STAT' => new LdsSpouseSealingDateStatus(I18N::translate('Status')), 'INDI:CONL:STAT:DATE' => new ChangeDate(I18N::translate('Status change date')), @@ -494,7 +489,6 @@ class ElementFactory implements ElementFactoryInterface 'INDI:EMIG:PLAC' => new PlaceName(I18N::translate('Place of emigration')), 'INDI:ENDL' => new LdsEndowment(I18N::translate('LDS endowment')), 'INDI:ENDL:DATE' => new DateLdsOrd(I18N::translate('Date of LDS endowment')), - 'INDI:ENDL:NOTE' => new NoteStructure(I18N::translate('Note')), 'INDI:ENDL:PLAC' => new PlaceLivingOrdinance(I18N::translate('Place of LDS endowment')), 'INDI:ENDL:STAT' => new LdsEndowmentDateStatus(I18N::translate('Status')), 'INDI:ENDL:STAT:DATE' => new ChangeDate(I18N::translate('Status change date')), @@ -505,8 +499,7 @@ class ElementFactory implements ElementFactoryInterface 'INDI:EVEN:TYPE' => new EventAttributeType(I18N::translate('Type of event')), 'INDI:FACT' => new AttributeDescriptor(I18N::translate('Fact')), 'INDI:FACT:TYPE' => new EventAttributeType(I18N::translate('Type of fact')), - 'INDI:FAMC' => new XrefFamily(I18N::translate('Family as a child')), - 'INDI:FAMC:NOTE' => new NoteStructure(I18N::translate('Note')), + 'INDI:FAMC' => new XrefFamily(I18N::translate('Family as a child'), ['NOTE' => '0:1', 'PEDI' => '0:1', 'STAT' => '0:1']), 'INDI:FAMC:PEDI' => new PedigreeLinkageType(I18N::translate('Relationship to parents')), 'INDI:FAMC:STAT' => new ChildLinkageStatus(I18N::translate('Status')), 'INDI:FAMS' => new XrefFamily(I18N::translate('Family as a spouse')), @@ -530,7 +523,6 @@ class ElementFactory implements ElementFactoryInterface 'INDI:NAME:FONE:TYPE' => new PhoneticType(I18N::translate('Phonetic type')), 'INDI:NAME:GIVN' => new NamePieceGiven(I18N::translate('Given names')), 'INDI:NAME:NICK' => new NamePieceNickname(I18N::translate('Nickname')), - 'INDI:NAME:NOTE' => new NoteStructure(I18N::translate('Note')), 'INDI:NAME:NPFX' => new NamePiecePrefix(I18N::translate('Name prefix')), 'INDI:NAME:NSFX' => new NamePieceSuffix(I18N::translate('Name suffix')), 'INDI:NAME:ROMN' => new NameRomanizedVariation(I18N::translate('Romanized name'), ['TYPE' => '0,1']), @@ -575,7 +567,6 @@ class ElementFactory implements ElementFactoryInterface 'INDI:SLGC' => new LdsChildSealing(I18N::translate('LDS child sealing')), 'INDI:SLGC:DATE' => new DateLdsOrd(I18N::translate('Date of LDS child sealing')), 'INDI:SLGC:FAMC' => new XrefFamily(I18N::translate('Parents')), - 'INDI:SLGC:NOTE' => new NoteStructure(I18N::translate('Note')), 'INDI:SLGC:PLAC' => new PlaceLivingOrdinance(I18N::translate('Place of LDS child sealing')), 'INDI:SLGC:STAT' => new LdsChildSealingDateStatus(I18N::translate('Status')), 'INDI:SLGC:STAT:DATE' => new ChangeDate(I18N::translate('Status change date')), @@ -586,7 +577,6 @@ class ElementFactory implements ElementFactoryInterface 'INDI:SOUR:DATA:TEXT' => new TextFromSource(I18N::translate('Text')), 'INDI:SOUR:EVEN' => new EventTypeCitedFrom(I18N::translate('Event')), 'INDI:SOUR:EVEN:ROLE' => new RoleInEvent(I18N::translate('Role')), - 'INDI:SOUR:NOTE' => new NoteStructure(I18N::translate('Note')), 'INDI:SOUR:OBJE' => new XrefMedia(I18N::translate('Media object')), 'INDI:SOUR:PAGE' => new WhereWithinSource(I18N::translate('Citation details')), 'INDI:SOUR:QUAY' => new CertaintyAssessment(I18N::translate('Quality of data')), @@ -1058,17 +1048,22 @@ class ElementFactory implements ElementFactoryInterface 'FAM:*:PLAC:_MAIDENHEAD' => new MaidenheadLocator('Maidenhead locator'), 'FAM:*:PLAC:_POST' => new AddressPostalCode('Postal code'), 'FAM:*:PLAC:_POST:DATE' => new DateValue(I18N::translate('Date')), - 'FAM:*:_ASSO' => new XrefIndividual(I18N::translate('Associate'), ['RELA' => '0:1', 'NOTE' => '0:M', 'SOUR' => '0:M']), + 'FAM:*:_ASSO' => new XrefAssociate(I18N::translate('Associate')), 'FAM:*:_ASSO:NOTE' => new NoteStructure(I18N::translate('Note')), 'FAM:*:_ASSO:RELA' => new RelationIsDescriptor(I18N::translate('Relationship')), 'FAM:*:_ASSO:SOUR' => new XrefSource(I18N::translate('Source citation')), + 'FAM:*:_ASSO:SOUR:DATA' => new SourceData(I18N::translate('Data')), + 'FAM:*:_ASSO:SOUR:DATA:DATE' => new EntryRecordingDate(I18N::translate('Date of entry in original source')), + 'FAM:*:_ASSO:SOUR:DATA:TEXT' => new TextFromSource(I18N::translate('Text')), + 'FAM:*:_ASSO:SOUR:EVEN' => new EventTypeCitedFrom(I18N::translate('Event')), + 'FAM:*:_ASSO:SOUR:EVEN:ROLE' => new RoleInEvent(I18N::translate('Role')), + 'FAM:*:_ASSO:SOUR:NOTE' => new NoteStructure(I18N::translate('Note')), + 'FAM:*:_ASSO:SOUR:OBJE' => new XrefMedia(I18N::translate('Media object')), + 'FAM:*:_ASSO:SOUR:PAGE' => new WhereWithinSource(I18N::translate('Citation details')), + 'FAM:*:_ASSO:SOUR:QUAY' => new CertaintyAssessment(I18N::translate('Quality of data')), 'FAM:*:_WITN' => new CustomElement('Witness'), - 'FAM:_STAT' => new FamilyStatusText(I18N::translate('Family status')), - 'FAM:_STAT:DATE' => new DateValue(I18N::translate('Date')), - 'FAM:_STAT:NOTE' => new NoteStructure(I18N::translate('Note')), - 'FAM:_STAT:PLAC' => new PlaceName(I18N::translate('Place')), - 'FAM:_STAT:SOUR' => new XrefSource(I18N::translate('Source citation')), - 'FAM:_TODO' => new ResearchTask(I18N::translate('Research task')), + 'FAM:_STAT' => new FamilyStatusText(I18N::translate('Family status'), ['DATE' => '0:1', 'PLAC' => '0:1', 'NOTE' => '0:M', 'SOUR' => '0:M']), + 'FAM:_TODO' => new ResearchTask(I18N::translate('Research task'), ['DESC' => '1:1', '_CAT' => '0:1', '_PRTY' => '0:1', 'TYPE' => '0:1', 'NOTE' => '0:M', 'DATA' => '0:1', 'STAT' => '0:1', '_CDATE' => '0:1', '_RDATE' => '0:1', 'REPO' => '0:1', '_UID' => '0:M']), 'FAM:_TODO:DATA' => new SubmitterText(I18N::translate('The solution')), 'FAM:_TODO:DATE' => new DateValue(I18N::translate('Creation date')), 'FAM:_TODO:DESC' => new CustomElement(I18N::translate('Description')), @@ -1100,10 +1095,19 @@ class ElementFactory implements ElementFactoryInterface 'INDI:*:PLAC:_MAIDENHEAD' => new MaidenheadLocator('Maidenhead locator'), 'INDI:*:PLAC:_POST' => new AddressPostalCode('Postal code'), 'INDI:*:PLAC:_POST:DATE' => new DateValue(I18N::translate('Date')), - 'INDI:*:_ASSO' => new XrefIndividual(I18N::translate('Associate'), ['RELA' => '0:1', 'NOTE' => '0:M', 'SOUR' => '0:M']), + 'INDI:*:_ASSO' => new XrefAssociate(I18N::translate('Associate')), 'INDI:*:_ASSO:NOTE' => new NoteStructure(I18N::translate('Note')), 'INDI:*:_ASSO:RELA' => new RelationIsDescriptor(I18N::translate('Relationship')), 'INDI:*:_ASSO:SOUR' => new XrefSource(I18N::translate('Source citation')), + 'INDI:*:_ASSO:SOUR:DATA' => new SourceData(I18N::translate('Data')), + 'INDI:*:_ASSO:SOUR:DATA:DATE' => new EntryRecordingDate(I18N::translate('Date of entry in original source')), + 'INDI:*:_ASSO:SOUR:DATA:TEXT' => new TextFromSource(I18N::translate('Text')), + 'INDI:*:_ASSO:SOUR:EVEN' => new EventTypeCitedFrom(I18N::translate('Event')), + 'INDI:*:_ASSO:SOUR:EVEN:ROLE' => new RoleInEvent(I18N::translate('Role')), + 'INDI:*:_ASSO:SOUR:NOTE' => new NoteStructure(I18N::translate('Note')), + 'INDI:*:_ASSO:SOUR:OBJE' => new XrefMedia(I18N::translate('Media object')), + 'INDI:*:_ASSO:SOUR:PAGE' => new WhereWithinSource(I18N::translate('Citation details')), + 'INDI:*:_ASSO:SOUR:QUAY' => new CertaintyAssessment(I18N::translate('Quality of data')), 'INDI:*:_WITN' => new CustomElement('Witness'), 'INDI:BAPM:_GODP' => new CustomElement('Godparent'), 'INDI:CHR:_GODP' => new CustomElement('Godparent'), @@ -1302,6 +1306,10 @@ class ElementFactory implements ElementFactoryInterface $this->register([ 'FAM:CHAN:_PGVU' => new WebtreesUser(I18N::translate('Author of last change')), 'FAM:COMM' => new CustomElement(I18N::translate('Comment')), + 'INDI:*:ASSO' => new XrefAssociate(I18N::translate('Associate')), + 'INDI:*:ASSO:RELA' => new RelationIsDescriptor(I18N::translate('Relationship')), + 'INDI:*:PLAC:_HEB' => new NoteStructure(I18N::translate('Place in Hebrew')), + 'INDI:ADDR' => new AddressLine(I18N::translate('Address'), []), 'INDI:BIRT:DATE:TIME' => new TimeValue(I18N::translate('Time')), 'INDI:BURI:CEME' => new CustomElement(I18N::translate('Cemetery')), 'INDI:CHAN:_PGVU' => new WebtreesUser(I18N::translate('Author of last change')), @@ -1351,33 +1359,48 @@ class ElementFactory implements ElementFactoryInterface // webtrees extensions $this->register([ - 'FAM:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), - 'FAM:_UID' => new PafUid(I18N::translate('Unique identifier')), - 'INDI:*:ASSO' => new XrefIndividual(I18N::translate('Associate'), ['RELA' => '0:1']), - 'INDI:*:ASSO:RELA' => new RelationIsDescriptor(I18N::translate('Relationship')), - 'INDI:*:PLAC:_HEB' => new NoteStructure(I18N::translate('Place in Hebrew')), - 'INDI:ADDR' => new AddressLine(I18N::translate('Address')), - 'INDI:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), - 'INDI:_UID' => new PafUid(I18N::translate('Unique identifier')), - 'INDI:_WT_OBJE_SORT' => new XrefMedia(I18N::translate('Re-order media')), - 'NOTE:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), - 'NOTE:RESN' => new RestrictionNotice(I18N::translate('Restriction')), - 'NOTE:_UID' => new PafUid(I18N::translate('Unique identifier')), - 'OBJE:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), - 'OBJE:RESN' => new RestrictionNotice(I18N::translate('Restriction')), - 'OBJE:_UID' => new PafUid(I18N::translate('Unique identifier')), - 'REPO:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), - 'REPO:RESN' => new RestrictionNotice(I18N::translate('Restriction')), - 'REPO:_UID' => new PafUid(I18N::translate('Unique identifier')), - 'SOUR:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), - 'SOUR:RESN' => new RestrictionNotice(I18N::translate('Restriction')), - 'SOUR:_UID' => new PafUid(I18N::translate('Unique identifier')), - 'SUBM:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), - 'SUBM:RESN' => new RestrictionNotice(I18N::translate('Restriction')), - 'SUBM:_UID' => new PafUid(I18N::translate('Unique identifier')), - 'SUBN:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), - 'SUBN:RESN' => new RestrictionNotice(I18N::translate('Restriction')), - 'SUBN:_UID' => new PafUid(I18N::translate('Unique identifier')), + 'FAM:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), + 'FAM:_ASSO' => new XrefAssociate(I18N::translate('Associate')), + 'FAM:_ASSO:RELA' => new RelationIsDescriptor(I18N::translate('Relationship')), + 'FAM:*:_ASSO' => new XrefAssociate(I18N::translate('Associate')), + 'FAM:*:_ASSO:NOTE' => new NoteStructure(I18N::translate('Note')), + 'FAM:*:_ASSO:RELA' => new RelationIsDescriptor(I18N::translate('Relationship')), + 'FAM:*:_ASSO:SOUR' => new XrefSource(I18N::translate('Source citation')), + 'FAM:*:_ASSO:SOUR:DATA' => new SourceData(I18N::translate('Data')), + 'FAM:*:_ASSO:SOUR:DATA:DATE' => new EntryRecordingDate(I18N::translate('Date of entry in original source')), + 'FAM:*:_ASSO:SOUR:DATA:TEXT' => new TextFromSource(I18N::translate('Text')), + 'FAM:*:_ASSO:SOUR:EVEN' => new EventTypeCitedFrom(I18N::translate('Event')), + 'FAM:*:_ASSO:SOUR:EVEN:ROLE' => new RoleInEvent(I18N::translate('Role')), + 'FAM:*:_ASSO:SOUR:NOTE' => new NoteStructure(I18N::translate('Note')), + 'FAM:*:_ASSO:SOUR:OBJE' => new XrefMedia(I18N::translate('Media object')), + 'FAM:*:_ASSO:SOUR:PAGE' => new WhereWithinSource(I18N::translate('Citation details')), + 'FAM:*:_ASSO:SOUR:QUAY' => new CertaintyAssessment(I18N::translate('Quality of data')), + 'INDI:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), + 'INDI:*:_ASSO' => new XrefAssociate(I18N::translate('Associate')), + 'INDI:*:_ASSO:NOTE' => new NoteStructure(I18N::translate('Note')), + 'INDI:*:_ASSO:RELA' => new RelationIsDescriptor(I18N::translate('Relationship')), + 'INDI:*:_ASSO:SOUR' => new XrefSource(I18N::translate('Source citation')), + 'INDI:*:_ASSO:SOUR:DATA' => new SourceData(I18N::translate('Data')), + 'INDI:*:_ASSO:SOUR:DATA:DATE' => new EntryRecordingDate(I18N::translate('Date of entry in original source')), + 'INDI:*:_ASSO:SOUR:DATA:TEXT' => new TextFromSource(I18N::translate('Text')), + 'INDI:*:_ASSO:SOUR:EVEN' => new EventTypeCitedFrom(I18N::translate('Event')), + 'INDI:*:_ASSO:SOUR:EVEN:ROLE' => new RoleInEvent(I18N::translate('Role')), + 'INDI:*:_ASSO:SOUR:NOTE' => new NoteStructure(I18N::translate('Note')), + 'INDI:*:_ASSO:SOUR:OBJE' => new XrefMedia(I18N::translate('Media object')), + 'INDI:*:_ASSO:SOUR:PAGE' => new WhereWithinSource(I18N::translate('Citation details')), + 'INDI:*:_ASSO:SOUR:QUAY' => new CertaintyAssessment(I18N::translate('Quality of data')), + 'NOTE:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), + 'NOTE:RESN' => new RestrictionNotice(I18N::translate('Restriction')), + 'OBJE:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), + 'OBJE:RESN' => new RestrictionNotice(I18N::translate('Restriction')), + 'REPO:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), + 'REPO:RESN' => new RestrictionNotice(I18N::translate('Restriction')), + 'SOUR:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), + 'SOUR:RESN' => new RestrictionNotice(I18N::translate('Restriction')), + 'SUBM:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), + 'SUBM:RESN' => new RestrictionNotice(I18N::translate('Restriction')), + '_LOC:CHAN:_WT_USER' => new WebtreesUser(I18N::translate('Author of last change')), + '_LOC:RESN' => new RestrictionNotice(I18N::translate('Restriction')), ]); } |
