#!/usr/bin/env php db['type'] ?? ''); $cliOptions = new class extends CliOptionsParser { public string $user; public string $filename; public function __construct() { $this->addRequiredOption('user', (new CliOption('user'))); $this->addRequiredOption('filename', (new CliOption('filename'))); parent::__construct(); } }; if (!empty($cliOptions->errors)) { fail('FreshRSS error: ' . array_shift($cliOptions->errors) . "\n" . $cliOptions->usage); } $username = cliInitUser($cliOptions->user); $filename = $cliOptions->filename; if (pathinfo($filename, PATHINFO_EXTENSION) !== 'sqlite') { fail('Only *.sqlite files are supported!'); } echo 'FreshRSS exporting database to SQLite for user “', $username, "”…\n"; $databaseDAO = FreshRSS_Factory::createDatabaseDAO($username); $ok = $databaseDAO->dbCopy($filename, FreshRSS_DatabaseDAO::SQLITE_EXPORT); done($ok);