export-opml-for-user.php 790 B

12345678910111213141516171819202122232425262728293031
  1. #!/usr/bin/env php
  2. <?php
  3. declare(strict_types=1);
  4. require(__DIR__ . '/_cli.php');
  5. performRequirementCheck(FreshRSS_Context::systemConf()->db['type'] ?? '');
  6. $cliOptions = new class extends CliOptionsParser {
  7. public string $user;
  8. public function __construct() {
  9. $this->addRequiredOption('user', (new CliOption('user')));
  10. parent::__construct();
  11. }
  12. };
  13. if (!empty($cliOptions->errors)) {
  14. fail('FreshRSS error: ' . array_shift($cliOptions->errors) . "\n" . $cliOptions->usage);
  15. }
  16. $username = cliInitUser($cliOptions->user);
  17. fwrite(STDERR, 'FreshRSS exporting OPML for user “' . $username . "”…\n");
  18. $export_service = new FreshRSS_Export_Service($username);
  19. list($filename, $content) = $export_service->generateOpml();
  20. echo $content;
  21. invalidateHttpCache($username);
  22. done();