index.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. declare(strict_types=1);
  3. require dirname(__DIR__, 2) . '/constants.php';
  4. require LIB_PATH . '/lib_rss.php'; //Includes class autoloader
  5. FreshRSS_Context::initSystem();
  6. if (!FreshRSS_Context::hasSystemConf()) {
  7. header('HTTP/1.1 500 Internal Server Error');
  8. die('Invalid system init!');
  9. }
  10. $frameAncestors = FreshRSS_Context::systemConf()->attributeString('csp.frame-ancestors') ?? "'none'";
  11. header("Content-Security-Policy: default-src 'self'; frame-ancestors $frameAncestors");
  12. header('X-Content-Type-Options: nosniff');
  13. if (($_SERVER['PATH_INFO'] ?? $_SERVER['ORIG_PATH_INFO'] ?? '') !== '') {
  14. // Do not allow trailing slashes
  15. header('HTTP/1.1 400 Bad Request');
  16. die('Invalid path!');
  17. }
  18. Minz_Translate::init(Minz_Translate::getLanguage(null, Minz_Request::getPreferredLanguages(), null));
  19. ?>
  20. <!DOCTYPE html>
  21. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB" lang="en-GB">
  22. <head>
  23. <meta charset="UTF-8" />
  24. <title><?= _t('api.information.title') ?></title>
  25. <meta name="robots" content="noindex" />
  26. <link rel="start" href="../i/" />
  27. <script src="../scripts/api.js" defer="defer"></script>
  28. </head>
  29. <body>
  30. <h1><?= _t('api.information.title') ?></h1>
  31. <h2><?= _t('api.information.title.greader') ?></h2>
  32. <dl>
  33. <dt><?= _t('api.information.address') ?>
  34. </dt>
  35. <dd><kbd><?= Minz_Url::display('/api/greader.php', 'html', true) ?></kbd></dd>
  36. <dt><?= _t('api.information.test.greader') ?></dt>
  37. <dd id="greaderOutput"
  38. data-api-url="<?= Minz_Url::display('/api/greader.php', 'php', true) ?>"
  39. data-i18n-pass="<?= _t('api.information.output.pass') ?>"
  40. data-i18n-encoding-support="<?= _t('api.information.output.encoding-support') ?>"
  41. data-i18n-invalid-configuration="<?= _t('api.information.output.invalid-configuration') ?>"
  42. data-i18n-unknown-error="<?= _t('api.information.output.unknown-error') ?>"
  43. >?</dd>
  44. </dl>
  45. <h2><?= _t('api.information.title.fever') ?></h2>
  46. <dl>
  47. <dt><?= _t('api.information.address') ?></dt>
  48. <dd><kbd><?= Minz_Url::display('/api/fever.php', 'html', true) ?></kbd></dd>
  49. <dt><?= _t('api.information.test.fever') ?></dt>
  50. <dd id="feverOutput"
  51. data-api-url="<?= Minz_Url::display('/api/fever.php', 'php', true) ?>"
  52. data-i18n-pass="<?= _t('api.information.output.pass') ?>"
  53. data-i18n-invalid-configuration="<?= _t('api.information.output.invalid-configuration') ?>"
  54. data-i18n-unknown-error="<?= _t('api.information.output.unknown-error') ?>"
  55. >?</dd>
  56. </dl>
  57. <h2><?= _t('api.information.title.extension') ?></h2>
  58. <dl>
  59. <dt><?= _t('api.information.address') ?></dt>
  60. <dd><kbd><?= Minz_Url::display('/api/misc.php/Extension%20name/', 'html', true) ?></kbd></dd>
  61. </dl>
  62. </body>
  63. </html>