/** * 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; } } } }
/** * @todo Description of function citeParseTree * @param $subTree * @param $ver * @return */ public function cite_parse_tree($sub_tree, $ver) { $off = 0; while (($i1 = parent::find_tag($sub_tree, Rp_Tags::CITE, $off)) !== false) { $tmp = new RP_Citation(); $tmp->parse_tree(array($sub_tree[$i1]), $ver); $this->citations[] = $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 */ 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; } }