/** * 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::NOTE)) !== false) { $str = parent::parse_ptr_id($tree[$i1], Rp_Tags::NOTE); if (isset($str) && $str != '') { $this->id = $str; } else { $this->text = parent::parse_con_tag($tree[$i1], Rp_Tags::NOTE); } } }
/** * 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::MEDIA)) !== false) { $str = parent::parse_ptr_id($tree[$i1], Rp_Tags::MEDIA); if (isset($str) && $str != '') { $this->id = $str; } else { $sub2 = $tree[$i1][1]; if (($i2 = parent::find_tag($sub2, Rp_Tags::TITLE)) !== false) { $this->title = parent::parse_text($sub2[$i2], Rp_Tags::TITLE); } $off = 0; while (($i1 = parent::find_tag($sub2, Rp_Tags::FILE, $off)) !== false) { $tmp = new RP_Media_File(); $tmp->parse_tree(array($sub2[$i1]), $ver); $this->media_files[] = $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::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) { if (isset($tree[0][1])) { $sub2 = $tree[0][1]; $this->ged_c->parse_tree($sub2, $ver); if (empty($ver)) { $ver = $this->ged_c->ver; } $this->source_system->parse_tree($sub2, $ver); if (($i1 = parent::find_tag($sub2, Rp_Tags::DEST)) !== false) { $this->destination_system = parent::parse_text($sub2[$i1], Rp_Tags::DEST); } if (($i1 = parent::find_tag($sub2, Rp_Tags::DATE)) !== false) { $this->transmission_date_time = parent::parse_text($sub2[$i1], Rp_Tags::DATE); if (isset($sub2[$i1][1])) { if (($i2 = parent::find_tag($sub2[$i1][1], Rp_Tags::TIME)) !== false) { $this->transmission_date_time .= ' ' . parent::parse_text($sub2[$i1][1][$i2], Rp_Tags::TIME); } } } if (($i1 = parent::find_tag($sub2, Rp_Tags::FILE)) !== false) { $this->filename = parent::parse_text($sub2[$i1], Rp_Tags::FILE); } if (($i1 = parent::find_tag($sub2, Rp_Tags::COPYRIGHT)) !== false) { $this->copyright = parent::parse_text($sub2[$i1], Rp_Tags::COPYRIGHT); } 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::SUBMITTER)) !== false) { $this->submitter_id = parent::parse_ptr_id($sub2[$i1], Rp_Tags::SUBMITTER); } if (($i1 = parent::find_tag($sub2, Rp_Tags::SUBMISSION)) !== false) { $this->submission_id = parent::parse_ptr_id($sub2[$i1], Rp_Tags::SUBMISSION); } $this->character_set->parse_tree($sub2, $ver); $this->note->parse_tree($sub2, $ver); if (($i1 = parent::find_tag($sub2, Rp_Tags::PLACE)) !== false) { if (isset($sub2[$i1][1])) { if (($i2 = parent::find_tag($sub2[$i1][1], Rp_Tags::FORM)) !== false) { $this->place_form = parent::parse_text($sub2[$i1][1][$i2], Rp_Tags::FORM); } } } } }
/** * 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); } } } } }
/** * 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; } } } }