-
Finished the planner end to end. Corrected rollover and yearly accounting, recurring targets, savings rules, and targeted dormant restorations. Added editing/deletion for income, expenses, targets, and categories. Rebuilt dashboard, analytics, calendar, settings, exports, authentication, and responsive mobile UI. Added original artwork at [financial-flow.png](/Users/tyemeclifford/Documents/GH/budget/public/assets/images/financial-flow.png), generated with built-in Imagegen using an abstract financial-momentum landscape prompt. Added [self-test.php](/Users/tyemeclifford/Documents/GH/budget/scripts/self-test.php). Verification passed: automated accounting/export tests, full browser workflow, responsive 390px layout, light/dark themes, and no console errors. Tested with FrankenPHP v1.12.4. Live Mailgun delivery was not attempted without credentials.
This commit is contained in:
@@ -18,6 +18,11 @@ final class Database
|
||||
{
|
||||
$this->configPath = $configPath;
|
||||
$this->config = $this->readConfig($configPath);
|
||||
$sqliteOverride = getenv('BUDGET_SQLITE_PATH');
|
||||
if (is_string($sqliteOverride) && $sqliteOverride !== '') {
|
||||
$this->config['driver'] = 'sqlite';
|
||||
$this->config['sqlite_path'] = $sqliteOverride;
|
||||
}
|
||||
$driver = (string) ($this->config['driver'] ?? 'sqlite');
|
||||
|
||||
if ($driver === 'mysql') {
|
||||
|
||||
Reference in New Issue
Block a user