X-Git-Url: https://git.p6c8.net/jirafeau_project.git/blobdiff_plain/3cf8b39b331dd5f80c4ac674d13a6387d01d49b9..471c7b967a8ca4efb933aa93a89665c1bb466706:/lib/settings.php?ds=inline diff --git a/lib/settings.php b/lib/settings.php index afd16c8..cbdfaff 100644 --- a/lib/settings.php +++ b/lib/settings.php @@ -2,6 +2,8 @@ /* * Jirafeau, your web file repository * Copyright (C) 2008 Julien "axolotl" BERNARD + * Copyright (C) 2015 Jerome Jutteau + * Copyright (C) 2024 Jirafeau project (see AUTHORS.md) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as @@ -14,37 +16,89 @@ * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . + * along with this program. If not, see . */ -// Jirafeau constants -define ('JIRAFEAU_PACKAGE', 'Jirafeau'); -define ('JIRAFEAU_VERSION', '0.4'); -// directories +global $cfg; -define ('VAR_FILES', $cfg['var_root'] . 'files/'); -define ('VAR_LINKS', $cfg['var_root'] . 'links/'); +// Read config files +require(JIRAFEAU_ROOT . 'lib/config.original.php'); +if (file_exists(JIRAFEAU_ROOT . 'lib/config.local.php')) { + // read local copy and merge with original values + $cfgOriginal = $cfg; + require(JIRAFEAU_ROOT . 'lib/config.local.php'); + $cfg = array_merge($cfgOriginal, $cfg); + unset($cfgOriginal); +} + +// Setup debug mode +if ($cfg['debug'] === true) { + @error_reporting(E_ALL); +} else { + @error_reporting(0); +} -// i18n -setlocale (LC_ALL, $cfg['lang']); +// Set constants -bindtextdomain (JIRAFEAU_PACKAGE, JIRAFEAU_ROOT.'lib/locale'); -textdomain (JIRAFEAU_PACKAGE); +/* Jirafeau package */ +define('JIRAFEAU_PACKAGE', 'Jirafeau'); +define('JIRAFEAU_VERSION', '4.6.x-dev'); +define('JIRAFEAU_WEBSITE', 'https://gitlab.com/jirafeau/Jirafeau'); -// useful constants +/* Directories. */ +define('VAR_FILES', $cfg['var_root'] . 'files/'); +define('VAR_LINKS', $cfg['var_root'] . 'links/'); +define('VAR_ASYNC', $cfg['var_root'] . 'async/'); -if (!defined ('NL')) -{ - define ('NL', "\n"); +// helping variable to build absolute link to +// root of the domain without handling the URL scheme +$absPrefix = parse_url($cfg['web_root'], PHP_URL_PATH); +if (true === empty($absPrefix)) { + // fallback if installation isn't done yet: relative links to same level on the current page + $absPrefix = './'; } +define('JIRAFEAU_ABSPREFIX', $absPrefix); + +/* Useful constants. */ +if (!defined('NL')) { + define('NL', "\n"); +} +if (!defined('QUOTE')) { + define('QUOTE', "'"); +} + +define('JIRAFEAU_INFINITY', -1); +define('JIRAFEAU_MINUTE', 60); // 60 +define('JIRAFEAU_HOUR', 3600); // JIRAFEAU_MINUTE * 60 +define('JIRAFEAU_DAY', 86400); // JIRAFEAU_HOUR * 24 +define('JIRAFEAU_WEEK', 604800); // JIRAFEAU_DAY * 7 +define('JIRAFEAU_FORTNIGHT', 1209600); // JIRAFEAU_WEEK * 2 +define('JIRAFEAU_MONTH', 2592000); // JIRAFEAU_DAY * 30 +define('JIRAFEAU_QUARTER', 7776000); // JIRAFEAU_DAY * 90 +define('JIRAFEAU_YEAR', 31536000); // JIRAFEAU_DAY * 365 -define ('JIRAFEAU_INFINITY', -1); -define ('JIRAFEAU_MINUTE', 60); // 60 -define ('JIRAFEAU_HOUR', 3600); // JIRAFEAU_MINUTE * 60 -define ('JIRAFEAU_DAY', 86400); // JIRAFEAU_HOUR * 24 -define ('JIRAFEAU_WEEK', 604800); // JIRAFEAU_DAY * 7 -define ('JIRAFEAU_MONTH', 2419200); // JIRAFEAU_WEEK * 4 +define('JIRAFEAU_USER_AUTH_BY_IP_NO_PASSWORD', 1); +define('JIRAFEAU_USER_AUTH_BY_PASSWORD', 2); + +define('JIRAFEAU_SODIUM_CHUNKSIZE', 1024); + +// Define some Sodium constants from newer PHP versions if they are not available + +if (extension_loaded('sodium')) { + if (!defined('SODIUM_CRYPTO_STREAM_XCHACHA20_KEYBYTES')) { + define('SODIUM_CRYPTO_STREAM_XCHACHA20_KEYBYTES', 32); + } + + if (!defined('SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_HEADERBYTES')) { + define('SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_HEADERBYTES', 24); + } + + if (!defined('SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_ABYTES')) { + define('SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_ABYTES', 17); + } +} -?> +// set UTC as default timezone for all date/time functions +date_default_timezone_set('UTC');