/** * 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->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->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; } } }