59 lines
1.9 KiB
PHP
59 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* Application Configuration
|
|
*/
|
|
|
|
// Database configuration
|
|
define('DB_HOST', $_ENV['DB_HOST'] ?? 'localhost');
|
|
define('DB_PORT', $_ENV['DB_PORT'] ?? 3306);
|
|
define('DB_NAME', $_ENV['DB_NAME'] ?? 'inventory');
|
|
define('DB_USER', $_ENV['DB_USER'] ?? 'root');
|
|
define('DB_PASS', $_ENV['DB_PASS'] ?? '');
|
|
|
|
// Application settings
|
|
define('APP_ENV', $_ENV['APP_ENV'] ?? 'production');
|
|
define('APP_URL', $_ENV['APP_URL'] ?? 'http://localhost:8080');
|
|
define('APP_DEBUG', $_ENV['APP_DEBUG'] ?? false);
|
|
define('APP_KEY', $_ENV['APP_KEY'] ?? 'base64:default-key-change-in-production');
|
|
|
|
// Session settings
|
|
define('SESSION_SECURE', $_ENV['SESSION_SECURE'] ?? false);
|
|
define('SESSION_LIFETIME', $_ENV['SESSION_LIFETIME'] ?? 3600);
|
|
|
|
// File upload settings
|
|
define('UPLOAD_MAX_SIZE', $_ENV['UPLOAD_MAX_SIZE'] ?? '50M');
|
|
define('ALLOWED_FILE_TYPES', $_ENV['ALLOWED_FILE_TYPES'] ?? 'pdf,jpg,jpeg,png,gif,doc,docx,xls,xlsx');
|
|
|
|
// Security settings
|
|
define('CSRF_TOKEN_LIFETIME', $_ENV['CSRF_TOKEN_LIFETIME'] ?? 3600);
|
|
define('PASSWORD_MIN_LENGTH', $_ENV['PASSWORD_MIN_LENGTH'] ?? 8);
|
|
define('LOGIN_MAX_ATTEMPTS', $_ENV['LOGIN_MAX_ATTEMPTS'] ?? 5);
|
|
define('LOGIN_LOCKOUT_TIME', $_ENV['LOGIN_LOCKOUT_TIME'] ?? 900);
|
|
|
|
// Paths
|
|
define('ROOT_PATH', dirname(__DIR__));
|
|
define('APP_PATH', ROOT_PATH . '/app');
|
|
define('CONFIG_PATH', ROOT_PATH . '/config');
|
|
define('STORAGE_PATH', ROOT_PATH . '/storage');
|
|
define('PUBLIC_PATH', ROOT_PATH . '/public');
|
|
define('LANG_PATH', ROOT_PATH . '/lang');
|
|
|
|
// Error reporting
|
|
if (APP_DEBUG) {
|
|
error_reporting(E_ALL);
|
|
ini_set('display_errors', 1);
|
|
} else {
|
|
error_reporting(0);
|
|
ini_set('display_errors', 0);
|
|
}
|
|
|
|
// Set timezone
|
|
date_default_timezone_set('Europe/Berlin');
|
|
|
|
// Configure session
|
|
ini_set('session.cookie_httponly', 1);
|
|
ini_set('session.cookie_secure', SESSION_SECURE ? 1 : 0);
|
|
ini_set('session.cookie_samesite', 'Strict');
|
|
ini_set('session.use_strict_mode', 1);
|
|
ini_set('session.gc_maxlifetime', SESSION_LIFETIME);
|