Skip to content

Commit 1749e1c

Browse files
committed
add string values in person and family import
1 parent 82c3437 commit 1749e1c

File tree

1 file changed

+65
-8
lines changed

1 file changed

+65
-8
lines changed

src/Utils/GedcomParser.php

Lines changed: 65 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,21 @@ public function parse(string $filename, string $slug, bool $progressBar = false)
2323
$parser = new \PhpGedcom\Parser();
2424
$gedcom = @$parser->parse($filename);
2525

26+
/**
27+
* work
28+
*/
29+
30+
$head = $gedcom->getHead();
31+
$subn = $gedcom->getSubn();
32+
$subm = $gedcom->getSubm();
33+
$sour = $gedcom->getSour();
34+
$note = $gedcom->getNote();
35+
$repo = $gedcom->getRepo();
36+
$obje = $gedcom->getObje();
37+
38+
/**
39+
* work end
40+
*/
2641
$individuals = $gedcom->getIndi();
2742
$families = $gedcom->getFam();
2843
$total = count($individuals) + count($families);
@@ -89,14 +104,42 @@ private function getPerson($individual)
89104
$name = current($individual->getName())->getName();
90105
}
91106

92-
$sex = $individual->getSex();
93-
$attr = $individual->getAttr();
94-
$events = $individual->getEven();
107+
// string value
108+
$uid = $individual->getUid();
109+
$chan = $individual->getChan();
110+
$rin = $individual->getRin();
111+
$resn = $individual->getResn();
112+
$rfn = $individual->getRfn();
113+
$afn = $individual->getAfn();
114+
115+
// array value
116+
$note = $individual->getNote();
117+
$obje = $individual->getObje();
118+
$sour = $individual->getSour();
119+
$fams = $individual->getFams();
120+
$famc = $individual->getFamc();
121+
$alia = $individual->getAlia();
122+
$asso = $individual->getAsso();
123+
$subm = $individual->getSubm();
124+
$anci = $individual->getAnci();
125+
$desi = $individual->getDesi();
126+
$refn = $individual->getRefn();
127+
128+
// object
129+
$bapl = $individual->getBapl();
130+
$conl = $individual->getConl();
131+
$endl = $individual->getEndl();
132+
$slgc = $individual->getSlgc();
133+
134+
135+
$sex = preg_replace("/[^MF]/", "", $individual->getSex());
136+
$attr = $individual->getAllAttr();
137+
$events = $individual->getAllEven();
95138

96139
if ($givn == "") {
97140
$givn = $name;
98141
}
99-
$person = Person::create(compact('name', 'givn', 'surn', 'sex'));
142+
$person = Person::updateOrCreate(compact('name', 'givn', 'surn', 'sex'), compact('name', 'givn', 'surn', 'sex', 'uid','chan', 'rin', 'resn', 'rfn', 'afn'));
100143
$this->persons_id[$g_id] = $person->id;
101144

102145
if ($events !== null) {
@@ -126,15 +169,29 @@ private function getFamily($family)
126169
$g_id = $family->getId();
127170
$husb = $family->getHusb();
128171
$wife = $family->getWife();
129-
$description = NULL;
130-
$type_id = 0;
172+
173+
// string
174+
$chan = $family->getChan();
175+
$nchi = $family->getNchi();
176+
177+
// array
178+
$_slgs = $family->getSlgs();
179+
$_subm = $family->getSubm();
180+
$_refn = $family->getRefn();
181+
$_rin = $family->getRin();
182+
$_note = $family->getNote();
183+
$_sour = $family->getSour();
184+
$_obje = $family->getObje();
185+
186+
$description = NULL;
187+
$type_id = 0;
131188
$children = $family->getChil();
132-
$events = $family->getEven();
189+
$events = $family->getAllEven();
133190

134191
$husband_id = (isset($this->persons_id[$husb])) ? $this->persons_id[$husb] : 0;
135192
$wife_id = (isset($this->persons_id[$wife])) ? $this->persons_id[$wife] : 0;
136193

137-
$family = Family::create(compact('husband_id', 'wife_id', 'description', 'type_id'));
194+
$family = Family::updateOrCreate(compact('husband_id', 'wife_id'), compact('husband_id', 'wife_id', 'description', 'type_id' ,'chan', 'nchi'));
138195

139196
if ($children !== null) {
140197
foreach ($children as $child) {

0 commit comments

Comments
 (0)