xref: /webtrees/index.php (revision 8634febf6487fcb3ee7b59e88f828071a22cba22)
1<?php
2
3/**
4 * webtrees: online genealogy
5 * Copyright (C) 2023 webtrees development team
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <https://www.gnu.org/licenses/>.
16 */
17
18declare(strict_types=1);
19
20namespace Fisharebest\Webtrees;
21
22use function is_file;
23use function is_string;
24use function parse_url;
25
26use const PHP_SAPI;
27use const PHP_URL_PATH;
28
29require __DIR__ . '/vendor/autoload.php';
30
31if (PHP_SAPI === 'cli-server') {
32    $file = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
33    if (is_string($file) && is_file($file)) {
34        return false;
35    }
36}
37
38// @see https://github.com/briannesbitt/Carbon/issues/2536
39$file = '/vendor/symfony/translation/TranslatorInterface.php';
40if (file_exists(__DIR__ . $file) && !unlink(__DIR__ . $file)) {
41    echo 'Please delete the file ' . $file;
42    return;
43}
44
45$webtrees = new Webtrees();
46$webtrees->bootstrap();
47
48if (PHP_SAPI === 'cli') {
49    $webtrees->cliRequest();
50} else {
51    $webtrees->httpRequest();
52}
53