/** * Extracts attribute contents FROM a parent tree object * * @param array $tree an array containing an array FROM which the * object data should be extracted * @param string $ver represents the version of the GEDCOM standard * data is being extracted from * * @return void * * @access public * @since Method available since Release 0.0.1 */ public function parse_tree($tree, $ver) { $this->ver = $ver; if (($i1 = parent::find_tag($tree, Rp_Tags::PLACE)) !== false) { $this->name = parent::parse_text($tree[$i1], Rp_Tags::PLACE); if (isset($tree[$i1][1])) { $sub2 = $tree[$i1][1]; if (($i2 = parent::find_tag($sub2, Rp_Tags::FORM)) !== false) { $this->place_form = parent::parse_text($sub2[$i2], Rp_Tags::FORM); } if (($i2 = parent::find_tag($sub2, Rp_Tags::MAP)) !== false) { $sub3 = $sub2[$i2][1]; if (($i3 = parent::find_tag($sub3, Rp_Tags::LATITUDE)) !== false) { $this->coordinates['Latitude'] = parent::parse_text($sub3[$i3], Rp_Tags::LATITUDE); } if (($i3 = parent::find_tag($sub3, Rp_Tags::LONGITUDE)) !== false) { $this->coordinates['Longitude'] = parent::parse_text($sub3[$i3], Rp_Tags::LONGITUDE); } } $off = 0; while (($i1 = parent::find_tag($sub2, Rp_Tags::PHONETIC, $off)) !== false) { $name = new RP_Name(); $name->parse_tree(array($sub2[$i1]), $ver); $this->phonetic_names[] = $name; $off = $i1 + 1; } $off = 0; while (($i1 = parent::find_tag($sub2, Rp_Tags::ROMANIZED, $off)) !== false) { $name = new RP_Name(); $name->parse_tree(array($sub2[$i1]), $ver); $this->romanized_names[] = $name; $off = $i1 + 1; } $off = 0; while (($i1 = parent::find_tag($sub2, Rp_Tags::NOTE, $off)) !== false) { $tmp = new RP_Note(); $tmp->parse_tree(array($sub2[$i1]), $ver); $this->notes[] = $tmp; $off = $i1 + 1; } } } }
/** * Extracts attribute contents FROM a parent tree object * * @param array $tree an array containing an array FROM which the * object data should be extracted * @param string $ver represents the version of the GEDCOM standard * data is being extracted from * * @return void * * @access public * @since Method available since Release 0.0.1 */ public function parse_tree($tree, $ver) { $this->ver = $ver; if (($i1 = parent::find_tag($tree, Rp_Tags::DATA)) !== false) { if (isset($tree[$i1][1])) { $sub2 = $tree[$i1][1]; $off = 0; while (($i2 = parent::find_tag($sub2, Rp_Tags::EVENT, $off)) !== false) { $event = array('Types' => '', 'Date' => '', 'Jurisdiction' => ''); $event['Types'] = parent::parse_text($sub2[$i2], Rp_Tags::EVENT); if (isset($sub2[$i2][1])) { $sub2_sub = $sub2[$i2][1]; if (($i3 = parent::find_tag($sub2_sub, Rp_Tags::DATE)) !== false) { $event['Date'] = parent::parse_text($sub2_sub[$i3], Rp_Tags::DATE); } if (($i3 = parent::find_tag($sub2_sub, Rp_Tags::PLACE)) !== false) { $event['Jurisdiction'] = parent::parse_text($sub2_sub[$i3], Rp_Tags::PLACE); } } $this->recorded_events[] = $event; $off = $i2 + 1; } if (($i2 = parent::find_tag($sub2, Rp_Tags::AGENCY)) !== false) { $this->responsible_agency = parent::parse_text($sub2[$i2], Rp_Tags::AGENCY); } $off = 0; while (($i2 = parent::find_tag($sub2, Rp_Tags::NOTE, $off)) !== false) { $tmp = new RP_Note(); $tmp->parse_tree(array($sub2[$i2]), $ver); $this->notes[] = $tmp; $off = $i2 + 1; } } } }
/** * Extracts attribute contents FROM a parent tree object * * @param array $tree an array containing an array FROM which the * object data should be extracted * @param string $ver represents the version of the GEDCOM standard * data is being extracted from * * @return void * * @access public * @since Method available since Release 0.0.1 */ public function parse_tree($tree, $ver) { $this->id = parent::parse_ref_id($tree[0], Rp_Tags::REPOSITORY); if (isset($tree[0][1])) { $sub2 = $tree[0][1]; if (($i1 = parent::find_tag($sub2, Rp_Tags::NAME)) !== false) { $this->name = parent::parse_text($sub2[$i1], Rp_Tags::NAME); } $this->address->parse_tree($sub2, $ver); $this->user_file_parse_tree($sub2, $ver); $this->auto_rec_parse_tree($sub2, $ver); $this->change_date_parse_tree($sub2, $ver); $off = 0; while (($i1 = parent::find_tag($sub2, Rp_Tags::NOTE, $off)) !== false) { $tmp = new RP_Note(); $tmp->parse_tree(array($sub2[$i1]), $ver); $this->notes[] = $tmp; $off = $i1 + 1; } } }
/** * Extracts attribute contents FROM a parent tree object * * @param array $tree an array containing an array FROM which the * object data should be extracted * @param string $ver represents the version of the GEDCOM standard * data is being extracted from * * @return void * * @access public * @since Method available since Release 0.0.1 */ public function parse_tree($tree, $ver) { $this->ver = $ver; if (($i1 = parent::find_tag($tree, Rp_Tags::ASSOCIATION)) !== false) { $this->associate_id = parent::parse_ptr_id($tree[$i1], Rp_Tags::ASSOCIATION); if (isset($tree[$i1][1])) { $sub2 = $tree[$i1][1]; if (($i2 = parent::find_tag($sub2, Rp_Tags::RELATIONSHIP)) !== false) { $this->relationship = parent::parse_text($sub2[$i2], Rp_Tags::RELATIONSHIP); } $off = 0; while (($i1 = parent::find_tag($sub2, Rp_Tags::CITE, $off)) !== false) { $tmp = new RP_Citation(); $tmp->parse_tree(array($sub2[$i1]), $ver); $this->citations[] = $tmp; $off = $i1 + 1; } $off = 0; while (($i1 = parent::find_tag($sub2, Rp_Tags::NOTE, $off)) !== false) { $tmp = new RP_Note(); $tmp->parse_tree(array($sub2[$i1]), $ver); $this->notes[] = $tmp; $off = $i1 + 1; } } } }
/** * Extracts attribute contents FROM a parent tree object * * @param array $tree an array containing an array FROM which the * object data should be extracted * @param string $ver represents the version of the GEDCOM standard * data is being extracted from * * @return void * * @access public * @since Method available since Release 0.0.1 */ public function parse_tree($tree, $ver) { $this->ver = $ver; if (($i1 = parent::find_tag($tree, Rp_Tags::PREFIX)) !== false) { $this->prefix = parent::parse_text($tree[$i1], Rp_Tags::PREFIX); } if (($i1 = parent::find_tag($tree, Rp_Tags::GIVEN)) !== false) { $this->given = parent::parse_text($tree[$i1], Rp_Tags::GIVEN); } if (($i1 = parent::find_tag($tree, Rp_Tags::NICK)) !== false) { $this->nick_name = parent::parse_text($tree[$i1], Rp_Tags::NICK); } if (($i1 = parent::find_tag($tree, Rp_Tags::SURPREFIX)) !== false) { $this->surname_prefix = parent::parse_text($tree[$i1], Rp_Tags::SURPREFIX); } if (($i1 = parent::find_tag($tree, Rp_Tags::SURNAME)) !== false) { $this->surname = parent::parse_text($tree[$i1], Rp_Tags::SURNAME); } if (($i1 = parent::find_tag($tree, Rp_Tags::SUFFIX)) !== false) { $this->suffix = parent::parse_text($tree[$i1], Rp_Tags::SUFFIX); } $off = 0; while (($i1 = parent::find_tag($tree, Rp_Tags::NOTE, $off)) !== false) { $tmp = new RP_Note(); $this->notes[] = $tmp->parse_tree(array($tree[$i1]), $ver); $off = $i1 + 1; } $off = 0; while (($i1 = parent::find_tag($tree, Rp_Tags::CITE, $off)) !== false) { $tmp = new RP_Citation(); $this->citations[] = $tmp->parse_tree(array($tree[$i1]), $ver); $off = $i1 + 1; } }
/** * Extracts attribute contents FROM a parent tree object * * @param array $tree an array containing an array FROM which the * object data should be extracted * @param string $ver represents the version of the GEDCOM standard * data is being extracted from * * @return void * * @access public * @since Method available since Release 0.0.1 */ public function parse_tree($tree, $ver) { $this->ver = $ver; if (($i1 = parent::find_tag($tree, Rp_Tags::REPOSITORY)) !== false) { $this->repository_id = parent::parse_ptr_id($tree[$i1], Rp_Tags::REPOSITORY); if (isset($tree[$i1][1])) { $sub2 = $tree[$i1][1]; $off = 0; $idx = 0; while (($i2 = parent::find_tag($sub2, Rp_Tags::CALLNBR, $off)) !== false) { $this->call_nbrs[$idx]['Nbr'] = parent::parse_text($sub2[$i2], Rp_Tags::CALLNBR); if (isset($sub2[$i2][1])) { if (($i3 = parent::find_tag($sub2[$i2][1], Rp_Tags::MEDIATYPE)) !== false) { $this->call_nbrs[$idx]['Media'] = parent::parse_text($sub2[$i2][1][$i3], Rp_Tags::MEDIATYPE); } } $off = $i2 + 1; $idx++; } $off = 0; while (($i2 = parent::find_tag($sub2, Rp_Tags::NOTE, $off)) !== false) { $tmp = new RP_Note(); $tmp->parse_tree(array($sub2[$i2]), $ver); $this->notes[] = $tmp; $off = $i2 + 1; } } } }
/** * Extracts attribute contents FROM a parent tree object * * @param array $tree an array containing an array FROM which the * object data should be extracted * @param string $ver represents the version of the GEDCOM standard * data is being extracted from * * @return void * * @access public * @since Method available since Release 0.0.1 */ public function parse_tree($tree, $ver) { $this->ver = $ver; if (($i1 = parent::find_tag($tree, Rp_Tags::SOURCE)) !== false) { $this->source_id = parent::parse_ptr_id($tree[$i1], Rp_Tags::SOURCE); if (isset($tree[$i1][1])) { $sub2 = $tree[$i1][1]; if (($i2 = parent::find_tag($sub2, Rp_Tags::PAGE)) !== false) { $this->page = parent::parse_text($sub2[$i2], Rp_Tags::PAGE); } if (($i2 = parent::find_tag($sub2, Rp_Tags::QUAY)) !== false) { $this->quay = parent::parse_text($sub2[$i2], Rp_Tags::QUAY); } if (($i2 = parent::find_tag($sub2, Rp_Tags::EVENTTYPE)) !== false) { $this->event_type = parent::parse_text($sub2[$i2], Rp_Tags::EVENTTYPE); if (isset($sub2[$i2][1])) { if (($i3 = parent::find_tag($sub2[$i2][1], Rp_Tags::ROLE)) !== false) { $this->role_in_event = parent::parse_text($sub2[$i2][1][$i3], Rp_Tags::ROLE); } } } if (($i2 = parent::find_tag($sub2, Rp_Tags::DATA)) !== false) { $sub3 = $sub2[$i2][1]; if (isset($sub3)) { if (($i3 = parent::find_tag($sub3, Rp_Tags::DATE)) !== false) { $this->entry_date = parent::parse_text($sub3[$i3], Rp_Tags::DATE); } $off = 0; while (($i3 = parent::find_tag($sub3, Rp_Tags::TEXT, $off)) !== false) { $this->texts[] = parent::parse_con_tag($sub3[$i3], Rp_Tags::TEXT); $off = $i3 + 1; } } } $off = 0; while (($i2 = parent::find_tag($sub2, Rp_Tags::MEDIA, $off)) !== false) { $tmp = new RP_Media_Link(); $tmp->parse_tree(array($sub2[$i2]), $ver); $this->media_links[] = $tmp; $off = $i2 + 1; } $off = 0; while (($i2 = parent::find_tag($sub2, Rp_Tags::NOTE, $off)) !== false) { $tmp = new RP_Note(); $tmp->parse_tree(array($sub2[$i2]), $ver); $this->notes[] = $tmp; $off = $i2 + 1; } } } }
/** * Extracts attribute contents FROM a parent tree object * * @param array $tree an array containing an array FROM which the * object data should be extracted * @param string $ver represents the version of the GEDCOM standard * data is being extracted from * @param string $tag FAMS or FAMC * * @return void * * @access public * @since Method available since Release 0.0.1 */ public function parse_tree($tree, $ver, $tag = Rp_Tags::SPOUSEFAMILY) { $this->ver = $ver; if (($i1 = parent::find_tag($tree, $tag)) !== false) { $this->family_id = parent::parse_ptr_id($tree[$i1], $tag); if (isset($tree[$i1][1])) { $sub2 = $tree[$i1][1]; $off = 0; while (($i2 = parent::find_tag($sub2, Rp_Tags::NOTE, $off)) !== false) { $tmp = new RP_Note(); $tmp->parse_tree(array($sub2[$i2]), $ver); $this->notes[] = $tmp; $off = $i2 + 1; } if ($tag == Rp_Tags::CHILDFAMILY) { if (($i2 = parent::find_tag($sub2, Rp_Tags::LINKTYPE)) !== false) { $this->linkage_type = parent::parse_text($sub2[$i2], Rp_Tags::LINKTYPE); } if (($i2 = parent::find_tag($sub2, Rp_Tags::LINKSTATUS)) !== false) { $this->linkage_status = parent::parse_text($sub2[$i2], Rp_Tags::LINKSTATUS); } } } } }
/** * @todo Description of function noteParseTree * @param $subTree * @param $ver * @return */ public function note_parse_tree($sub_tree, $ver) { $off = 0; while (($i1 = parent::find_tag($sub_tree, Rp_Tags::NOTE, $off)) !== false) { $tmp = new RP_Note(); $tmp->parse_tree(array($sub_tree[$i1]), $ver); $this->notes[] = $tmp; $off = $i1 + 1; } }
/** * Extracts attribute contents FROM a parent tree object * * @param array $tree an array containing an array FROM which the * object data should be extracted * @param string $ver represents the version of the GEDCOM standard * data is being extracted from * * @return void * * @access public * @since Method available since Release 0.0.1 */ public function parse_tree($tree, $ver) { $this->id = parent::parse_ref_id($tree[0], Rp_Tags::SUBMISSION); if (isset($tree[0][1])) { $sub2 = $tree[0][1]; if (($i1 = parent::find_tag($sub2, Rp_Tags::SUBMITTER)) !== false) { $this->submitter_id = parent::parse_ptr_id($sub2[$i1], Rp_Tags::SUBMITTER); } if (($i1 = parent::find_tag($sub2, Rp_Tags::FAMILYFILE)) !== false) { $this->family_file_name = parent::parse_text($sub2[$i1], Rp_Tags::FAMILYFILE); } if (($i1 = parent::find_tag($sub2, Rp_Tags::TEMPLECODE)) !== false) { $this->temple_code = parent::parse_text($sub2[$i1], Rp_Tags::TEMPLECODE); } if (($i1 = parent::find_tag($sub2, Rp_Tags::ANCESTORS)) !== false) { $this->generations_ancestors = parent::parse_text($sub2[$i1], Rp_Tags::ANCESTORS); } if (($i1 = parent::find_tag($sub2, Rp_Tags::DESCENDANTS)) !== false) { $this->generations_descendants = parent::parse_text($sub2[$i1], Rp_Tags::DESCENDANTS); } if (($i1 = parent::find_tag($sub2, Rp_Tags::ORDINANCEFLAG)) !== false) { $this->ordinance_process_flag = parent::parse_text($sub2[$i1], Rp_Tags::ORDINANCEFLAG); } if (($i1 = parent::find_tag($sub2, Rp_Tags::AUTORECID)) !== false) { $this->auto_rec_id = parent::parse_text($sub2[$i1], Rp_Tags::AUTORECID); } if (($i1 = parent::find_tag($sub2, Rp_Tags::CHANGEDATE)) !== false) { $this->change_date->parse_tree(array($sub2[$i1]), $ver); } $off = 0; while (($i1 = parent::find_tag($sub2, Rp_Tags::NOTE, $off)) !== false) { $tmp = new RP_Note(); $tmp->parse_tree(array($sub2[$i1]), $ver); $this->notes[] = $tmp; $off = $i1 + 1; } } }
/** * Extracts attribute contents FROM a parent tree object * * @param array $tree an array containing an array FROM which the * object data should be extracted * @param string $ver represents the version of the GEDCOM standard * data is being extracted from * * @return void * * @access public * @since Method available since Release 0.0.1 */ public function parse_tree($tree, $ver) { $this->id = parent::parse_ref_id($tree[0], Rp_Tags::SUBMITTER); if (isset($tree[0][1])) { $sub2 = $tree[0][1]; if (($i1 = parent::find_tag($sub2, Rp_Tags::NAME)) !== false) { $this->name = parent::parse_text($sub2[$i1], Rp_Tags::NAME); } $this->address->parse_tree($sub2, $ver); $off = 0; while (($i1 = parent::find_tag($sub2, Rp_Tags::MEDIA, $off)) !== false) { $tmp = new RP_Media_Link(); $tmp->parse_tree(array($sub2[$i1]), $ver); $this->media_links[] = $tmp; $off = $i1 + 1; } if (($i1 = parent::find_tag($sub2, Rp_Tags::LANGUAGE)) !== false) { $this->language = parent::parse_text($sub2[$i1], Rp_Tags::LANGUAGE); } if (($i1 = parent::find_tag($sub2, Rp_Tags::RFN)) !== false) { $this->submitter_ref_nbr = parent::parse_text($sub2[$i1], Rp_Tags::RFN); } if (($i1 = parent::find_tag($sub2, Rp_Tags::AUTORECID)) !== false) { $this->auto_rec_id = parent::parse_text($sub2[$i1], Rp_Tags::AUTORECID); } if (($i1 = parent::find_tag($sub2, Rp_Tags::CHANGEDATE)) !== false) { $this->change_date->parse_tree(array($sub2[$i1]), $ver); } $off = 0; while (($i1 = parent::find_tag($sub2, Rp_Tags::NOTE, $off)) !== false) { $tmp = new RP_Note(); $tmp->parse_tree(array($sub2[$i1]), $ver); $this->notes[] = $tmp; $off = $i1 + 1; } } }
/** * Extracts attribute contents FROM a parent tree object * * @param array $tree an array containing an array FROM which the * object data should be extracted * @param string $ver represents the version of the GEDCOM standard * data is being extracted from * * @return void * * @access public * @since Method available since Release 0.0.1 */ protected function parse_tree_detail($tree, $ver) { if (($i1 = parent::find_tag($tree, Rp_Tags::TYPE)) !== false) { $this->type = parent::parse_text($tree[$i1], Rp_Tags::TYPE); } if (($i1 = parent::find_tag($tree, Rp_Tags::DATE)) !== false) { $this->date = parent::parse_text($tree[$i1], Rp_Tags::DATE); } if (($i1 = parent::find_tag($tree, Rp_Tags::ADDRESS)) !== false) { $this->address->parse_tree(array($tree[$i1]), $ver); } if (($i1 = parent::find_tag($tree, Rp_Tags::PLACE)) !== false) { $this->place->parse_tree(array($tree[$i1]), $ver); } if (($i1 = parent::find_tag($tree, Rp_Tags::RELIGION)) !== false) { $this->religious_affiliation = parent::parse_text($tree[$i1], Rp_Tags::RELIGION); } if (($i1 = parent::find_tag($tree, Rp_Tags::AGENCY)) !== false) { $this->resp_agency = parent::parse_text($tree[$i1], Rp_Tags::AGENCY); } if (($i1 = parent::find_tag($tree, Rp_Tags::AGE)) !== false) { $this->age = parent::parse_text($tree[$i1], Rp_Tags::AGE); } if (($i1 = parent::find_tag($tree, Rp_Tags::RESTRICTION)) !== false) { $this->restriction = parent::parse_text($tree[$i1], Rp_Tags::RESTRICTION); } if (($i1 = parent::find_tag($tree, Rp_Tags::CAUSE)) !== false) { $this->cause = parent::parse_text($tree[$i1], Rp_Tags::CAUSE); } if (isset($this->place)) { $this->place->parse_tree($tree, $ver); } if (isset($this->address)) { $this->address->parse_tree($tree, $ver); } $off = 0; while (($i1 = parent::find_tag($tree, Rp_Tags::CITE, $off)) !== false) { $tmp = new RP_Citation(); $tmp->parse_tree(array($tree[$i1]), $ver); $this->citations[] = $tmp; $off = $i1 + 1; } $off = 0; while (($i1 = parent::find_tag($tree, Rp_Tags::MEDIA, $off)) !== false) { $tmp = new RP_Media_Link(); $tmp->parse_tree(array($tree[$i1]), $ver); $this->media_links[] = $tmp; $off = $i1 + 1; } $off = 0; while (($i1 = parent::find_tag($tree, Rp_Tags::NOTE, $off)) !== false) { $tmp = new RP_Note(); $tmp->parse_tree(array($tree[$i1]), $ver); $this->notes[] = $tmp; $off = $i1 + 1; } }
/** * Extracts attribute contents FROM a parent tree object * * @param array $tree an array containing an array FROM which the * object data should be extracted * @param string $ver represents the version of the GEDCOM standard * data is being extracted from * * @return void * * @access public * @since Method available since Release 0.0.1 */ public function parse_tree($tree, $ver) { $this->ver = $ver; if (($i1 = parent::find_tag($tree, Rp_Tags::CHANGEDATE)) !== false) { $sub2 = $tree[$i1][1]; if (($i2 = parent::find_tag($sub2, Rp_Tags::DATE)) !== false) { $this->date = parent::parse_text($sub2[$i2], Rp_Tags::DATE); if (isset($sub2[$i2][1])) { if (($i3 = parent::find_tag($sub2[$i2][1], Rp_Tags::TIME)) !== false) { $this->time = parent::parse_text($sub2[$i2][1][$i3], Rp_Tags::TIME); } } $off = 0; while (($i2 = parent::find_tag($sub2, Rp_Tags::NOTE, $off)) !== false) { $tmp = new RP_Note(); $tmp->parse_tree(array($sub2[$i2]), $ver); $this->notes[] = $tmp; $off = $i2 + 1; } } } }