defines.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * @package Grav\Core
  4. *
  5. * @copyright Copyright (c) 2015 - 2021 Trilby Media, LLC. All rights reserved.
  6. * @license MIT License; see LICENSE file for details.
  7. */
  8. // Some standard defines
  9. define('GRAV', true);
  10. define('GRAV_VERSION', '1.7.7');
  11. define('GRAV_SCHEMA', '1.7.0_2020-11-20_1');
  12. define('GRAV_TESTING', false);
  13. // PHP minimum requirement
  14. if (!defined('GRAV_PHP_MIN')) {
  15. define('GRAV_PHP_MIN', '7.3.6');
  16. }
  17. // Directory separator
  18. if (!defined('DS')) {
  19. define('DS', '/');
  20. }
  21. // Directories and Paths
  22. if (!defined('GRAV_ROOT')) {
  23. $path = rtrim(str_replace(DIRECTORY_SEPARATOR, DS, getenv('GRAV_ROOT') ?: getcwd()), DS);
  24. define('GRAV_ROOT', $path);
  25. }
  26. if (!defined('GRAV_USER_PATH')) {
  27. $path = rtrim(getenv('GRAV_USER_PATH') ?: 'user', DS);
  28. define('GRAV_USER_PATH', $path);
  29. }
  30. if (!defined('GRAV_CACHE_PATH')) {
  31. $path = rtrim(getenv('GRAV_CACHE_PATH') ?: 'cache', DS);
  32. define('GRAV_CACHE_PATH', $path);
  33. }
  34. if (!defined('GRAV_LOG_PATH')) {
  35. $path = rtrim(getenv('GRAV_LOG_PATH') ?: 'logs', DS);
  36. define('GRAV_LOG_PATH', $path);
  37. }
  38. if (!defined('GRAV_TMP_PATH')) {
  39. $path = rtrim(getenv('GRAV_TMP_PATH') ?: 'tmp', DS);
  40. define('GRAV_TMP_PATH', $path);
  41. }
  42. if (!defined('GRAV_BACKUP_PATH')) {
  43. $path = rtrim(getenv('GRAV_BACKUP_PATH') ?: 'backup', DS);
  44. define('GRAV_BACKUP_PATH', $path);
  45. }
  46. unset($path);
  47. define('USER_PATH', GRAV_USER_PATH . DS);
  48. define('CACHE_PATH', GRAV_CACHE_PATH . DS);
  49. define('ROOT_DIR', GRAV_ROOT . DS);
  50. define('USER_DIR', ROOT_DIR . USER_PATH);
  51. define('CACHE_DIR', ROOT_DIR . CACHE_PATH);
  52. // DEPRECATED: Do not use!
  53. define('ASSETS_DIR', ROOT_DIR . 'assets/');
  54. define('IMAGES_DIR', ROOT_DIR . 'images/');
  55. define('ACCOUNTS_DIR', USER_DIR .'accounts/');
  56. define('PAGES_DIR', USER_DIR .'pages/');
  57. define('DATA_DIR', USER_DIR .'data/');
  58. define('SYSTEM_DIR', ROOT_DIR .'system/');
  59. define('LIB_DIR', SYSTEM_DIR .'src/');
  60. define('PLUGINS_DIR', USER_DIR .'plugins/');
  61. define('THEMES_DIR', USER_DIR .'themes/');
  62. define('VENDOR_DIR', ROOT_DIR .'vendor/');
  63. define('LOG_DIR', ROOT_DIR . GRAV_LOG_PATH . DS);
  64. // END DEPRECATED
  65. // Some extensions
  66. define('CONTENT_EXT', '.md');
  67. define('TEMPLATE_EXT', '.html.twig');
  68. define('TWIG_EXT', '.twig');
  69. define('PLUGIN_EXT', '.php');
  70. define('YAML_EXT', '.yaml');
  71. // Content types
  72. define('RAW_CONTENT', 1);
  73. define('TWIG_CONTENT', 2);
  74. define('TWIG_CONTENT_LIST', 3);
  75. define('TWIG_TEMPLATES', 4);