blob: f87a9c27b1efdded309fcf5f6b492c56267b208a [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
Copybara botbe50d492023-11-30 00:16:42 +010023
24// Classes autoload
25spl_autoload_register(function($className) {
26 if ($className == "lbuchs\WebAuthn\Binary\ByteBuffer") {
27 include_once(__DIR__."/lib/WebAuthn/Binary/ByteBuffer.php");
28 return;
29 }
30
31
32 include_once(__DIR__."/inc/".$className.".php");
33});
34
35// Getting configuration
36require_once(__DIR__."/config.php");
37
Adrià Vilanova Martínezb81f2862023-12-20 23:49:57 +010038// Error handler
39if ($conf['superdebug']) {
40 set_error_handler(function($severity, $message, $file, $line) {
41 if (error_reporting() & $severity) {
42 throw new ErrorException($message, 0, $severity, $file, $line);
43 }
44 });
45}
46
Copybara botbe50d492023-11-30 00:16:42 +010047// Setting timezone and locale accordingly
48date_default_timezone_set("Europe/Madrid");
49setlocale(LC_TIME, 'es_ES.UTF-8', 'es_ES', 'es');
50
51// Database settings
52$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");
53mysqli_set_charset($con, "utf8mb4");
54
55// Session settings
56session_set_cookie_params([
57 "lifetime" => 0,
58 "path" => $conf["path"],
59 "httponly" => true
60]);
61session_start();
62
63// Check if app has been installed
64if (db::needsSetUp()) {
65 security::logout();
66 die("Please, run install.php from the command line to install the app before using it.");
67}