<?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" => dirname(__DIR__, 2) . "/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")
];
