Browse Source

Add an option to force used locale in config.inc.php

dev
Miraty 1 week ago
parent
commit
4eb11a1785
2 changed files with 26 additions and 17 deletions
  1. +10
    -4
      config.inc.php
  2. +16
    -13
      inc.php

+ 10
- 4
config.inc.php View File

@@ -13,10 +13,16 @@ deleteOldQR(60 * 60 * 24 * 7);
// FR : Nom du thème (doit être dans le dossier themes)
$theme = "dark";

// EN: Language used if those wanted by the user are not available
// EN: Language used if those requested by the user are not available
// FR : Langue utilisée si celles demandées par l'utilisateurice ne sont pas disponibles
$locale = "fr"; // fr ou en
$locale = "en"; // en || fr

$fileNameLenght = 32; // Longueur du nom du fichier du code QR
// EN: Should the locales requested by the user be ignored?
// FR : Faut-il ignorer les langues demandées par l'utilisateurice ?
$forceLocale = false;

//$additionalText = "This LibreQR instance is hosted by <a href='https://foo.bar'>foo</a>.";
// EN: Lenght of the QR code filename
// FR : Longueur du nom du fichier du code QR
$fileNameLenght = 32;

//$customText = "This LibreQR instance is hosted by <a href='https://foo.bar'>foo</a>.";

+ 16
- 13
inc.php View File

@@ -2,30 +2,33 @@

require "config.inc.php";

// Defines locale used
$clientLocales = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$clientLocales = preg_replace("#[A-Z0-9]|q=|;|-|\.#", "", $clientLocales);
$clientLocales = explode(',', $clientLocales);
$availableLocales = array('fr', 'en', 'template');
foreach ($clientLocales as $clientLocale) {
if (in_array($clientLocale, $availableLocales)) {
$locale = $clientLocale;
break;
// Defines the locale used
if ($forceLocale == false) {
$clientLocales = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$clientLocales = preg_replace("#[A-Z0-9]|q=|;|-|\.#", "", $clientLocales);
$clientLocales = explode(',', $clientLocales);
$availableLocales = array('fr', 'en', 'template');
foreach ($clientLocales as $clientLocale) {
if (in_array($clientLocale, $availableLocales)) {
$locale = $clientLocale;
break;
}
}
}
require "locales/" . $locale . ".php";

// Defines root URL
// Defines the root URL
if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off')
$protocol = "https";
else
$protocol = "http";
$instPath = $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$instPath = preg_replace('#\?.*$#', '', $instPath);
$instPath = preg_replace('#(manifest|opensearch|index).php$#i', '', $instPath);
$rootPath = $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$rootPath = preg_replace('#\?.*$#', '', $rootPath);
$rootPath = preg_replace('#(manifest|opensearch|index).php$#i', '', $rootPath);

require "themes/" . $theme . "/theme.php"; // Load theme

// Used to generate the filename of the QR code
function generateRandomString($length) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);


Loading…
Cancel
Save