Skip to content

Commit 5189e1e

Browse files
Merge pull request #68 from sulemaanhamza/master
Fixed multiple errors, validations, exception handling, bug fixes
2 parents 86e7269 + 651da00 commit 5189e1e

File tree

7 files changed

+417
-372
lines changed

7 files changed

+417
-372
lines changed

src/Utils/GedcomWriter.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -304,12 +304,12 @@ private function getSubm($_subm)
304304

305305
if ($addr != null) {
306306
$arr_addr = [
307-
'addr' => $_addr->getAddr() ?? 'Unknown',
308-
'adr1' => $_addr->getAdr1() ?? 'Unknown',
309-
'adr2' => $_addr->getAdr2() ?? 'Unknown',
310-
'city' => $_addr->getCity() ?? 'Unknown',
311-
'stae' => $_addr->getStae() ?? 'Unknown',
312-
'ctry' => $_addr->getCtry() ?? 'Unknown',
307+
'addr' => $addr->getAddr() ?? 'Unknown',
308+
'adr1' => $addr->getAdr1() ?? 'Unknown',
309+
'adr2' => $addr->getAdr2() ?? 'Unknown',
310+
'city' => $addr->getCity() ?? 'Unknown',
311+
'stae' => $addr->getStae() ?? 'Unknown',
312+
'ctry' => $addr->getCtry() ?? 'Unknown',
313313
];
314314
} else {
315315
$arr_addr = [

src/Utils/Importer/Fam/Even.php

Lines changed: 130 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace FamilyTree365\LaravelGedcom\Utils\Importer\Fam;
44

55
use FamilyTree365\LaravelGedcom\Models\FamilyEvent;
6+
use Throwable;
67

78
class Even
89
{
@@ -15,140 +16,147 @@ class Even
1516
*/
1617
public static function read($conn, $even, $fam, $obje_ids = [])
1718
{
18-
if ($even == null || $fam === null) {
19-
return;
20-
}
21-
$class_name = get_class($even);
22-
$type = $even->getType();
23-
$_date = $even->getDate();
24-
$date = \FamilyTree365\LaravelGedcom\Utils\Importer\Date::read($conn, $_date);
25-
if (strpos($date, 'BEF') !== false) {
26-
$newdate = trim(str_replace('BEF', '', $date));
27-
$date_cnvert = strtotime($newdate);
28-
} elseif (strpos($date, 'AFT') !== false) {
29-
$newdate = trim(str_replace('AFT', '', $date));
30-
$date_cnvert = strtotime($newdate);
31-
} else {
32-
$date_cnvert = strtotime($date);
33-
}
34-
$_plac = $even->getPlac();
35-
$plac = \FamilyTree365\LaravelGedcom\Utils\Importer\Indi\Even\Plac::read($conn, $_plac);
36-
$_phon = $even->getPhon();
37-
$phon = \FamilyTree365\LaravelGedcom\Utils\Importer\Phon::read($conn, $_phon);
38-
$_addr = $even->getAddr();
39-
$addr_id = \FamilyTree365\LaravelGedcom\Utils\Importer\Addr::read($conn, $_addr);
40-
$caus = $even->getCaus();
41-
$age = $even->getAge();
42-
$agnc = $even->getAgnc();
43-
$fam_id = $fam->id;
44-
$husb_id = $fam->husband_id;
45-
$wife_id = $fam->wife_id;
46-
// update husb age
47-
$_husb = $even->getHusb();
48-
if ($_husb) {
49-
$husb = Person::on($conn)->find($husb_id);
50-
if ($husb) {
51-
$husb->age = $_husb->getAge();
52-
$husb->save();
19+
try
20+
{
21+
if ($even == null || $fam === null) {
22+
return;
23+
}
24+
$class_name = get_class($even);
25+
$type = $even->getType();
26+
$_date = $even->getDate();
27+
$date = \FamilyTree365\LaravelGedcom\Utils\Importer\Date::read($conn, $_date);
28+
if (strpos($date, 'BEF') !== false) {
29+
$newdate = trim(str_replace('BEF', '', $date));
30+
$date_cnvert = strtotime($newdate);
31+
} elseif (strpos($date, 'AFT') !== false) {
32+
$newdate = trim(str_replace('AFT', '', $date));
33+
$date_cnvert = strtotime($newdate);
34+
} else {
35+
$date_cnvert = strtotime($date);
36+
}
37+
$_plac = $even->getPlac();
38+
$plac = \FamilyTree365\LaravelGedcom\Utils\Importer\Indi\Even\Plac::read($conn, $_plac);
39+
$_phon = $even->getPhon();
40+
$phon = \FamilyTree365\LaravelGedcom\Utils\Importer\Phon::read($conn, $_phon);
41+
$_addr = $even->getAddr();
42+
$addr_id = \FamilyTree365\LaravelGedcom\Utils\Importer\Addr::read($conn, $_addr);
43+
$caus = $even->getCaus();
44+
$age = $even->getAge();
45+
$agnc = $even->getAgnc();
46+
$fam_id = $fam->id;
47+
$husb_id = $fam->husband_id;
48+
$wife_id = $fam->wife_id;
49+
// update husb age
50+
$_husb = $even->getHusb();
51+
if ($_husb) {
52+
$husb = Person::on($conn)->find($husb_id);
53+
if ($husb) {
54+
$husb->age = $_husb->getAge();
55+
$husb->save();
56+
}
5357
}
54-
}
5558

56-
// update wife age
57-
$_wife = $even->getWife();
58-
if ($_wife) {
59-
$wife = Person::on($conn)->find($wife_id);
60-
if ($wife) {
61-
$wife->age = $_wife->getAge();
62-
$wife->save();
59+
// update wife age
60+
$_wife = $even->getWife();
61+
if ($_wife) {
62+
$wife = Person::on($conn)->find($wife_id);
63+
if ($wife) {
64+
$wife->age = $_wife->getAge();
65+
$wife->save();
66+
}
6367
}
64-
}
6568

66-
switch ($class_name) {
67-
case 'Even':
68-
break;
69-
case 'Anul':
70-
break;
71-
case 'Cens':
72-
break;
73-
case 'Div':
74-
break;
75-
case 'Divf':
76-
break;
77-
case 'Enga':
78-
break;
79-
case 'Marr':
80-
break;
81-
case 'Marb':
82-
break;
83-
case 'Marc':
84-
break;
85-
case 'Marl':
86-
break;
87-
case 'Mars':
88-
break;
89-
default:
90-
}
91-
$adop = '';
92-
$adop_famc = '';
93-
$birt_famc = '';
94-
// store Fam/Even
95-
$key = [
96-
'family_id' => $fam_id,
97-
'title' => $class_name,
98-
'type' => $type,
99-
'date' => $date,
100-
'converted_date' => $date_cnvert,
101-
'plac' => $plac,
102-
'phon' => $phon,
103-
'caus' => $caus,
104-
'age' => $age,
105-
'agnc' => $agnc,
106-
'husb' => $husb_id,
107-
'wife' => $wife_id,
108-
];
109-
$data = [
110-
'family_id' => $fam_id,
111-
'title' => $class_name,
112-
'type' => $type, //
113-
'date' => $date,
114-
'converted_date' => $date_cnvert,
115-
'plac' => $plac, //
116-
'addr_id' => $addr_id, //
117-
'phon' => $phon, //
118-
'caus' => $caus, //
119-
'age' => $age, //
120-
'agnc' => $agnc, //
121-
'husb' => $husb_id, //
122-
'wife' => $wife_id, //
123-
];
69+
switch ($class_name) {
70+
case 'Even':
71+
break;
72+
case 'Anul':
73+
break;
74+
case 'Cens':
75+
break;
76+
case 'Div':
77+
break;
78+
case 'Divf':
79+
break;
80+
case 'Enga':
81+
break;
82+
case 'Marr':
83+
break;
84+
case 'Marb':
85+
break;
86+
case 'Marc':
87+
break;
88+
case 'Marl':
89+
break;
90+
case 'Mars':
91+
break;
92+
default:
93+
}
94+
$adop = '';
95+
$adop_famc = '';
96+
$birt_famc = '';
97+
// store Fam/Even
98+
$key = [
99+
'family_id' => $fam_id,
100+
'title' => $class_name,
101+
'type' => $type,
102+
'date' => $date,
103+
'converted_date' => $date_cnvert,
104+
'plac' => $plac,
105+
'phon' => $phon,
106+
'caus' => $caus,
107+
'age' => $age,
108+
'agnc' => $agnc,
109+
'husb' => $husb_id,
110+
'wife' => $wife_id,
111+
];
112+
$data = [
113+
'family_id' => $fam_id,
114+
'title' => $class_name,
115+
'type' => $type, //
116+
'date' => $date,
117+
'converted_date' => $date_cnvert,
118+
'plac' => $plac, //
119+
'addr_id' => $addr_id, //
120+
'phon' => $phon, //
121+
'caus' => $caus, //
122+
'age' => $age, //
123+
'agnc' => $agnc, //
124+
'husb' => $husb_id, //
125+
'wife' => $wife_id, //
126+
];
124127

125-
$record = FamilyEvent::on($conn)->updateOrCreate($key, $data);
128+
$record = FamilyEvent::on($conn)->updateOrCreate($key, $data);
126129

127-
$_group = 'fam_even';
128-
$_gid = $record->id;
130+
$_group = 'fam_even';
131+
$_gid = $record->id;
129132

130-
// array
131-
$sour = $even->getSour();
132-
if ($sour && count($sour) > 0) {
133-
foreach ($sour as $item) {
134-
if ($item) {
135-
\FamilyTree365\LaravelGedcom\Utils\Importer\SourRef::read($conn, $item, $_group, $_gid);
133+
// array
134+
$sour = $even->getSour();
135+
if ($sour && count($sour) > 0) {
136+
foreach ($sour as $item) {
137+
if ($item) {
138+
\FamilyTree365\LaravelGedcom\Utils\Importer\SourRef::read($conn, $item, $_group, $_gid);
139+
}
136140
}
137141
}
138-
}
139-
$obje = $even->getObje();
140-
if ($obje && count($obje) > 0) {
141-
foreach ($obje as $item) {
142-
if ($item) {
143-
\FamilyTree365\LaravelGedcom\Utils\Importer\ObjeRef::read($conn, $item, $_group, $_gid, $obje_ids);
142+
$obje = $even->getObje();
143+
if ($obje && count($obje) > 0) {
144+
foreach ($obje as $item) {
145+
if ($item) {
146+
\FamilyTree365\LaravelGedcom\Utils\Importer\ObjeRef::read($conn, $item, $_group, $_gid, $obje_ids);
147+
}
144148
}
145149
}
146-
}
147-
$notes = $even->getNote();
148-
if ($notes && count($notes) > 0) {
149-
foreach ($notes as $item) {
150-
\FamilyTree365\LaravelGedcom\Utils\Importer\NoteRef::read($conn, $item, $_group, $_gid);
150+
$notes = $even->getNote();
151+
if ($notes && count($notes) > 0) {
152+
foreach ($notes as $item) {
153+
\FamilyTree365\LaravelGedcom\Utils\Importer\NoteRef::read($conn, $item, $_group, $_gid);
154+
}
151155
}
152156
}
157+
catch(Throwable $e)
158+
{
159+
report($e);
160+
}
153161
}
154162
}

src/Utils/Importer/Fam/Slgs.php

Lines changed: 43 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace FamilyTree365\LaravelGedcom\Utils\Importer\Fam;
44

55
use FamilyTree365\LaravelGedcom\Models\FamilySlgs;
6+
use Throwable;
67

78
class Slgs
89
{
@@ -15,50 +16,57 @@ class Slgs
1516
*/
1617
public static function read($conn, $slgs, $fam)
1718
{
18-
if ($slgs == null || $fam === null) {
19-
return;
20-
}
19+
try
20+
{
21+
if ($slgs == null || $fam === null) {
22+
return;
23+
}
2124

22-
$stat = $slgs->getStat();
23-
$date = $slgs->getDate();
24-
$plac = $slgs->getPlac();
25-
$temp = $slgs->getTemp();
25+
$stat = $slgs->getStat();
26+
$date = $slgs->getDate();
27+
$plac = $slgs->getPlac();
28+
$temp = $slgs->getTemp();
2629

27-
$key = [
28-
'family_id'=> $fam->id,
29-
'stat' => $stat,
30-
'date' => $date,
31-
'plac' => $plac,
32-
'temp' => $temp,
33-
];
34-
$data = [
35-
'family_id'=> $fam->id,
36-
'stat' => $stat,
37-
'date' => $date,
38-
'plac' => $plac,
39-
'temp' => $temp,
40-
];
30+
$key = [
31+
'family_id'=> $fam->id,
32+
'stat' => $stat,
33+
'date' => $date,
34+
'plac' => $plac,
35+
'temp' => $temp,
36+
];
37+
$data = [
38+
'family_id'=> $fam->id,
39+
'stat' => $stat,
40+
'date' => $date,
41+
'plac' => $plac,
42+
'temp' => $temp,
43+
];
4144

42-
$record = FamilySlgs::on($conn)->updateOrCreate($key, $data);
45+
$record = FamilySlgs::on($conn)->updateOrCreate($key, $data);
4346

44-
$_group = 'fam_slgs';
45-
$_gid = $record->id;
47+
$_group = 'fam_slgs';
48+
$_gid = $record->id;
4649

47-
// array
48-
$sour = $slgs->getSour();
49-
if ($sour && count($sour) > 0) {
50-
foreach ($sour as $item) {
51-
if ($item) {
52-
\FamilyTree365\LaravelGedcom\Utils\Importer\SourRef::read($conn, $item, $_group, $_gid);
50+
// array
51+
$sour = $slgs->getSour();
52+
if ($sour && count($sour) > 0) {
53+
foreach ($sour as $item) {
54+
if ($item) {
55+
\FamilyTree365\LaravelGedcom\Utils\Importer\SourRef::read($conn, $item, $_group, $_gid);
56+
}
5357
}
5458
}
55-
}
5659

57-
$note = $slgs->getNote();
58-
if ($note && count($note) > 0) {
59-
foreach ($note as $item) {
60-
\FamilyTree365\LaravelGedcom\Utils\Importer\NoteRef::read($conn, $item, $_group, $_gid);
60+
$note = $slgs->getNote();
61+
if ($note && count($note) > 0) {
62+
foreach ($note as $item) {
63+
\FamilyTree365\LaravelGedcom\Utils\Importer\NoteRef::read($conn, $item, $_group, $_gid);
64+
}
6165
}
6266
}
67+
catch(Throwable $e)
68+
{
69+
report($e);
70+
}
6371
}
6472
}

0 commit comments

Comments
 (0)