Finanzmanager/scripts/e2e-einstellungen.php
fds2610-bot 5695e2e3df Fix n.n.: E2E-Läufe sichern Einstellungen, Kippschalter statt Ankreuzfeldern
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-29 11:37:52 +02:00

52 lines
1.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env php
<?php
declare(strict_types=1);
/**
* Sichert die Programmeinstellungen vor einem E2E-Lauf und stellt sie danach
* wieder her.
*
* docker compose exec -T -u www-data php php scripts/e2e-einstellungen.php sichern
* docker compose exec -T -u www-data php php scripts/e2e-einstellungen.php wiederherstellen
*
* `tests/e2e/run.sh` ruft beides selbst auf. `--still` schweigt, solange
* nichts schiefgeht.
*/
require dirname(__DIR__) . '/vendor/autoload.php';
use Finanzmanager\Config;
use Finanzmanager\Services\E2EEinstellungen;
Config::load();
$still = in_array('--still', $argv, true);
$aktion = $argv[1] ?? '';
$pfad = E2EEinstellungen::standardPfad();
$sage = static function (string $zeile) use ($still): void {
if (!$still) {
echo $zeile . PHP_EOL;
}
};
switch ($aktion) {
case 'sichern':
$anzahl = E2EEinstellungen::sichern($pfad);
$sage($anzahl === null
? 'Sicherung aus einem früheren Lauf vorhanden – bleibt stehen.'
: sprintf('%d Einstellungen gesichert.', $anzahl));
exit(0);
case 'wiederherstellen':
$anzahl = E2EEinstellungen::wiederherstellen($pfad);
$sage($anzahl === null
? 'Keine Sicherung vorhanden – nichts wiederherzustellen.'
: sprintf('%d Einstellungen wiederhergestellt.', $anzahl));
exit(0);
default:
fwrite(STDERR, "Aufruf: e2e-einstellungen.php sichern|wiederherstellen [--still]\n");
exit(2);
}