]> git.p6c8.net - jirafeau_project.git/blobdiff - lib/settings.php
Made check for MIME type "image/svg+xml" case insensitive
[jirafeau_project.git] / lib / settings.php
index 353a8d67444cd4c086e3bb2edffdb758b452bd27..cbdfaff47097ab6dc6d59c09ab5654e09d3bcf9c 100644 (file)
@@ -2,6 +2,8 @@
 /*
  *  Jirafeau, your web file repository
  *  Copyright (C) 2008  Julien "axolotl" BERNARD <axolotl@magieeternelle.org>
+ *  Copyright (C) 2015  Jerome Jutteau <jerome@jutteau.fr>
+ *  Copyright (C) 2024  Jirafeau project <https://gitlab.com/jirafeau> (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
  *  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 <http://www.gnu.org/licenses/>.
+ *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
-// Jirafeau constants
+global $cfg;
 
-define('JIRAFEAU_PACKAGE', 'Jirafeau');
-define('JIRAFEAU_VERSION', '0.4');
+// 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);
+}
 
-// directories
+// Setup debug mode
+if ($cfg['debug'] === true) {
+    @error_reporting(E_ALL);
+} else {
+    @error_reporting(0);
+}
 
-define('VAR_FILES', $cfg['var_root'] . 'files/');
-define('VAR_LINKS', $cfg['var_root'] . 'links/');
 
-// i18n
+// Set constants
 
-setlocale(LC_ALL, $cfg['lang']);
+/* Jirafeau package */
+define('JIRAFEAU_PACKAGE', 'Jirafeau');
+define('JIRAFEAU_VERSION', '4.6.x-dev');
 
-bindtextdomain(JIRAFEAU_PACKAGE, JIRAFEAU_ROOT . 'lib/locale');
-textdomain(JIRAFEAU_PACKAGE);
+define('JIRAFEAU_WEBSITE', 'https://gitlab.com/jirafeau/Jirafeau');
 
+/* Directories. */
+define('VAR_FILES', $cfg['var_root'] . 'files/');
+define('VAR_LINKS', $cfg['var_root'] . 'links/');
+define('VAR_ASYNC', $cfg['var_root'] . 'async/');
 
-// useful constants
+// 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);
 
-if(!defined('NL')) {
-  define('NL', "\n");
+/* Useful constants. */
+if (!defined('NL')) {
+    define('NL', "\n");
+}
+if (!defined('QUOTE')) {
+    define('QUOTE', "'");
 }
 
 define('JIRAFEAU_INFINITY', -1);
@@ -46,6 +74,31 @@ 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_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_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');

patrick-canterino.de