constants.php 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. declare(strict_types=1);
  3. //NB: Do not edit; use ./constants.local.php instead.
  4. //<Not customisable>
  5. /** @var string */
  6. const FRESHRSS_MIN_PHP_VERSION = '8.1.0';
  7. /** @var string */
  8. const FRESHRSS_VERSION = '1.28.2-dev';
  9. /** @var string */
  10. const FRESHRSS_WEBSITE = 'https://freshrss.org';
  11. /** @var string */
  12. const FRESHRSS_WIKI = 'https://freshrss.github.io/FreshRSS/';
  13. /** @var string */
  14. const APP_NAME = 'FreshRSS';
  15. /** @var string */
  16. const FRESHRSS_PATH = __DIR__;
  17. /** @var string */
  18. const PUBLIC_PATH = FRESHRSS_PATH . '/p';
  19. /** @var string */
  20. const PUBLIC_TO_INDEX_PATH = '/i';
  21. /** @var string */
  22. const INDEX_PATH = PUBLIC_PATH . PUBLIC_TO_INDEX_PATH;
  23. /** @var string */
  24. const PUBLIC_RELATIVE = '..';
  25. /** @var string */
  26. const LIB_PATH = FRESHRSS_PATH . '/lib';
  27. /** @var string */
  28. const APP_PATH = FRESHRSS_PATH . '/app';
  29. /** @var string */
  30. const I18N_PATH = APP_PATH . '/i18n';
  31. /** @var string */
  32. const CORE_EXTENSIONS_PATH = LIB_PATH . '/core-extensions';
  33. /** @var string */
  34. const TESTS_PATH = FRESHRSS_PATH . '/tests';
  35. //</Not customisable>
  36. if (version_compare(PHP_VERSION, FRESHRSS_MIN_PHP_VERSION, '<')) {
  37. die(sprintf("Error: FreshRSS requires PHP %s+ but was invoked with PHP %s!\n", FRESHRSS_MIN_PHP_VERSION, PHP_VERSION));
  38. }
  39. if (file_exists(__DIR__ . '/constants.local.php')) {
  40. //Include custom / local settings:
  41. include __DIR__ . '/constants.local.php';
  42. }
  43. defined('FRESHRSS_USERAGENT') or define('FRESHRSS_USERAGENT', 'FreshRSS/' . FRESHRSS_VERSION . ' (' . PHP_OS . '; ' . FRESHRSS_WEBSITE . ')');
  44. // PHP text output compression http://php.net/ob_gzhandler (better to do it at Web server level)
  45. defined('PHP_COMPRESSION') or define('PHP_COMPRESSION', false);
  46. defined('COPY_LOG_TO_SYSLOG') or define('COPY_LOG_TO_SYSLOG', filter_var(getenv('COPY_LOG_TO_SYSLOG'), FILTER_VALIDATE_BOOLEAN));
  47. // For cases when syslog is not available
  48. defined('COPY_SYSLOG_TO_STDERR') or define('COPY_SYSLOG_TO_STDERR', filter_var(getenv('COPY_SYSLOG_TO_STDERR'), FILTER_VALIDATE_BOOLEAN));
  49. // Maximum log file size in Bytes, before it will be divided by two
  50. defined('MAX_LOG_SIZE') or define('MAX_LOG_SIZE', 1048576);
  51. // Amount of characters of text shown if feed has no title
  52. defined('MAX_CHARS_EMPTY_FEED_TITLE') or define('MAX_CHARS_EMPTY_FEED_TITLE', 75);
  53. //This directory must be writable
  54. $dataPath = getenv('DATA_PATH');
  55. if (is_string($dataPath) && $dataPath !== '') {
  56. define('DATA_PATH', $dataPath);
  57. } else {
  58. defined('DATA_PATH') or define('DATA_PATH', FRESHRSS_PATH . '/data');
  59. }
  60. defined('UPDATE_FILENAME') or define('UPDATE_FILENAME', DATA_PATH . '/update.php');
  61. defined('USERS_PATH') or define('USERS_PATH', DATA_PATH . '/users');
  62. defined('LOG_FILENAME') or define('LOG_FILENAME', 'log.txt');
  63. defined('ADMIN_LOG') or define('ADMIN_LOG', USERS_PATH . '/_/' . LOG_FILENAME);
  64. defined('API_LOG') or define('API_LOG', USERS_PATH . '/_/log_api.txt');
  65. defined('TOS_FILENAME') or define('TOS_FILENAME', DATA_PATH . '/tos.html');
  66. defined('CACHE_PATH') or define('CACHE_PATH', DATA_PATH . '/cache');
  67. defined('PSHB_LOG') or define('PSHB_LOG', USERS_PATH . '/_/log_pshb.txt');
  68. defined('PSHB_PATH') or define('PSHB_PATH', DATA_PATH . '/PubSubHubbub');
  69. defined('EXTENSIONS_DATA') or define('EXTENSIONS_DATA', DATA_PATH . '/extensions-data');
  70. defined('THIRDPARTY_EXTENSIONS_PATH') or define('THIRDPARTY_EXTENSIONS_PATH', FRESHRSS_PATH . '/extensions');
  71. //Deprecated constants
  72. defined('EXTENSIONS_PATH') or define('EXTENSIONS_PATH', FRESHRSS_PATH . '/extensions');
  73. //Directory used for feed mutex with *.freshrss.lock files. Must be writable.
  74. defined('TMP_PATH') or define('TMP_PATH', sys_get_temp_dir());
  75. //clean the cache after x hours (720 hours = 30 days)
  76. defined('CLEANCACHE_HOURS') or define('CLEANCACHE_HOURS', 720);