Files
Stefan Lazic a451060c1b Initial
Takes in a file, process it and output a new file with additional columns.
2026-07-10 15:45:02 +01:00

48 lines
1.5 KiB
PHP

<?php
declare(strict_types=1);
$database = [
'host' => (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') ? 'localhost' : 'postgres_db',
'port' => '5432',
'name' => 'warner',
'user' => 'postgres',
'password' => 'secret',
'sslmode' => 'prefer',
];
$databaseUrl = getenv('DATABASE_URL');
if (is_string($databaseUrl) && $databaseUrl !== '') {
$parsed = parse_url($databaseUrl);
if (is_array($parsed) && in_array(($parsed['scheme'] ?? ''), ['postgres', 'postgresql'], true)) {
$database['host'] = (string) ($parsed['host'] ?? $database['host']);
$database['port'] = (string) ($parsed['port'] ?? $database['port']);
$database['name'] = ltrim((string) ($parsed['path'] ?? ''), '/') ?: $database['name'];
$database['user'] = (string) ($parsed['user'] ?? $database['user']);
$database['password'] = (string) ($parsed['pass'] ?? $database['password']);
if (!empty($parsed['query'])) {
parse_str($parsed['query'], $query);
if (is_array($query) && isset($query['sslmode'])) {
$database['sslmode'] = (string) $query['sslmode'];
}
}
}
}
$appUrl = getenv('APP_URL');
if (!is_string($appUrl) || $appUrl === '') {
$appUrl = 'http://localhost/warner/';
}
return [
'app' => [
'name' => 'Spreadsheet Importer',
'url' => rtrim($appUrl, '/') . '/',
],
'import' => [
'chunk_size' => 100,
],
'database' => $database,
];