<?php
$env_path = __DIR__ . '/.env';
$env = [];
if (file_exists($env_path)) {
$lines = file($env_path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach ($lines as $line) {
$line = trim($line);
if ($line === '' || $line[0] === '#') continue;
if (strpos($line, '=') === false) continue;
list($key, $value) = explode('=', $line, 2);
$env[trim($key)] = trim($value);
}
}
return [
"app_name" => $env['APP_NAME'] ?? "SHServ",
"version" => $env['APP_VERSION'] ?? "0.3 dev",
"debug" => ($env['DEBUG'] ?? "false") === "true",
"default_db_wrap" => false,
"db" => [
"dblib" => $env['DB_DRIVER'] ?? "mysql",
"host" => $env['DB_HOST'] ?? "localhost",
"dbname" => $env['DB_NAME'] ?? "smart-home-server",
"charset" => $env['DB_CHARSET'] ?? "utf8",
"user" => $env['DB_USER'] ?? "root",
"password" => $env['DB_PASSWORD'] ?? ""
],
"app_file" => "App.php",
"templates_folder" => "Templates",
"logs_enable" => true,
"logs_folder" => "SHServ/Logs",
"devmode" => ($env['DEVMODE'] ?? "false") === "true",
"controllers_folder" => "Controllers",
"text_msgs" => require_once("SHServ/text-msgs.php"),
"error_handler" => [
"important_errors" => ["E_WARNING", "E_ERROR", "E_CORE_ERROR", "EXCEPTION"]
],
"device_ip_range" => [
$env['DEVICE_IP_RANGE_START'] ?? "192.168.2.2",
$env['DEVICE_IP_RANGE_END'] ?? "192.168.2.254"
],
"device_api_connect_timeout" => (float)($env['DEVICE_API_CONNECT_TIMEOUT'] ?? "1"),
"device_api_timeout" => (float)($env['DEVICE_API_TIMEOUT'] ?? "5")
];