blob: 0e563e2b4333df100e8e2567fe747a31234487a2 [file] [log] [blame]
Copybara botbe50d492023-11-30 00:16:42 +01001<?php
Adrià Vilanova Martínez5af86512023-12-02 20:44:16 +01002/*
3 * hores
4 * Copyright (c) 2023 Adrià Vilanova Martínez
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Affero General Public License as
8 * published by the Free Software Foundation, either version 3 of the
9 * License, or (at your option) any later version.
10 *
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 Affero General Public License for more details.
15 *
16 * You should have received a copy of the GNU Affero General Public
17 * License along with this program.
18 * If not, see http://www.gnu.org/licenses/.
19 */
20
Copybara botbe50d492023-11-30 00:16:42 +010021// Core of the application
22
23const INTERNAL_CLASS_NAMESPACE = "Internal\\";
24
25// Classes autoload
26spl_autoload_register(function($className) {
27 if ($className == "lbuchs\WebAuthn\Binary\ByteBuffer") {
28 include_once(__DIR__."/lib/WebAuthn/Binary/ByteBuffer.php");
29 return;
30 }
31
32
33 include_once(__DIR__."/inc/".$className.".php");
34});
35
36// Getting configuration
37require_once(__DIR__."/config.php");
38
39// Setting timezone and locale accordingly
40date_default_timezone_set("Europe/Madrid");
41setlocale(LC_TIME, 'es_ES.UTF-8', 'es_ES', 'es');
42
43// Database settings
44$con = @mysqli_connect($conf["db"]["server"], $conf["db"]["user"], $conf["db"]["password"], $conf["db"]["database"]) or die("There was an error connecting to the database.\n");
45mysqli_set_charset($con, "utf8mb4");
46
47// Session settings
48session_set_cookie_params([
49 "lifetime" => 0,
50 "path" => $conf["path"],
51 "httponly" => true
52]);
53session_start();
54
55// Check if app has been installed
56if (db::needsSetUp()) {
57 security::logout();
58 die("Please, run install.php from the command line to install the app before using it.");
59}