xref: /webtrees/app/Repository.php (revision e8e7866be1a6002e498a9d6b7d1257c59d7e3484)
1<?php
2namespace Fisharebest\Webtrees;
3
4/**
5 * webtrees: online genealogy
6 * Copyright (C) 2015 webtrees development team
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19/**
20 * Class Repository - Class file for a Repository (REPO) object
21 */
22class Repository extends GedcomRecord {
23	const RECORD_TYPE = 'REPO';
24	const URL_PREFIX  = 'repo.php?rid=';
25
26	/** {@inheritdoc} */
27	protected static function fetchGedcomRecord($xref, $tree_id) {
28		return Database::prepare(
29			"SELECT o_gedcom FROM `##other` WHERE o_id = :xref AND o_file = :tree_id AND o_type = 'REPO'"
30		)->execute(array(
31			'xref'    => $xref,
32			'tree_id' => $tree_id,
33		))->fetchOne();
34	}
35
36	/** {@inheritdoc} */
37	protected function createPrivateGedcomRecord($access_level) {
38		return '0 @' . $this->xref . "@ REPO\n1 NAME " . I18N::translate('Private');
39	}
40
41	/** {@inheritdoc} */
42	public function extractNames() {
43		parent::extractNamesFromFacts(1, 'NAME', $this->getFacts('NAME'));
44	}
45}
46