addOption('mit-benutzern', null, InputOption::VALUE_NONE, 'Konten mit Passwort-Hashes mitnehmen.') ->addOption('ziel', null, InputOption::VALUE_REQUIRED, 'Pfad der Zip-Datei (Standard: var/pakete/paket--.zip).'); } protected function execute(InputInterface $input, OutputInterface $output): int { $io = new SymfonyStyle($input, $output); try { $file = $this->packages->export((bool) $input->getOption('mit-benutzern'), $input->getOption('ziel') ?: null); } catch (InvalidPage $e) { $io->error($e->getMessage()); return Command::FAILURE; } $manifest = $this->packages->inspect($file); $io->success(sprintf('%s: %d Seite(n), %d Mediendatei(en), Konten %s.', $file, (int) ($manifest['inhalt']['page'] ?? 0), (int) $manifest['medien'], $manifest['benutzer'] ? 'enthalten' : 'nicht enthalten')); return Command::SUCCESS; } }