private static function fetchGedcomRecord($xref, $gedcom_id) { static $statement = null; // We don't know what type of object this is. Try each one in turn. $data = WT_Individual::fetchGedcomRecord($xref, $gedcom_id); if ($data) { return $data; } $data = WT_Family::fetchGedcomRecord($xref, $gedcom_id); if ($data) { return $data; } $data = WT_Source::fetchGedcomRecord($xref, $gedcom_id); if ($data) { return $data; } $data = WT_Repository::fetchGedcomRecord($xref, $gedcom_id); if ($data) { return $data; } $data = WT_Media::fetchGedcomRecord($xref, $gedcom_id); if ($data) { return $data; } $data = WT_Note::fetchGedcomRecord($xref, $gedcom_id); if ($data) { return $data; } // Some other type of record... if (is_null($statement)) { $statement = WT_DB::prepare("SELECT o_gedcom FROM `##other` WHERE o_id=? AND o_file=?"); } return $statement->execute(array($xref, $gedcom_id))->fetchOne(); }