Files
bookmarkly2/include/language.php
T
2025-10-11 00:16:59 +02:00

59 lines
1.7 KiB
PHP

<?php
// include/language.php
// Configure session settings before starting session
ini_set('session.cookie_httponly', 1);
ini_set('session.use_strict_mode', 1);
ini_set('session.cookie_secure', isset($_SERVER['HTTPS']) ? 1 : 0);
// Set default session cookie lifetime to 24 hours (86400 seconds)
ini_set('session.cookie_lifetime', 86400);
ini_set('session.gc_maxlifetime', 86400);
session_start();
// The $pdo object is available from init.php which included this file.
// Get language setting from database
try {
$stmt = $pdo->query("SELECT value FROM settings WHERE key = 'language'");
$language = $stmt->fetchColumn();
// Also fetch debug mode setting here
$stmt = $pdo->query("SELECT value FROM settings WHERE key = 'debug_mode'");
$debug_mode = $stmt->fetchColumn();
} catch (Exception $e) {
// If database/table doesn't exist yet, default to English and debug off
$language = 'en';
$debug_mode = '0';
}
$language = $language ?: 'en';
$debug_mode = $debug_mode ?: '0';
// Set error reporting based on debug mode
if ($debug_mode === '1') {
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
} else {
ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
error_reporting(0);
}
// Load the language file
$lang_file = __DIR__ . "/../lang/{$language}.php";
if (file_exists($lang_file)) {
$translations = require $lang_file;
} else {
// Fallback to English if the language file doesn't exist
$translations = require __DIR__ . '/../lang/en.php';
}
// Function to get a translated string
function translate($key) {
global $translations;
return $translations[$key] ?? $key;
}