Просмотр файла app/settings.php

Размер файла: 4.11Kb
  1. <?php
  2.  
  3. declare(strict_types=1);
  4.  
  5. use App\Models\User;
  6. use App\Services\Setting;
  7. use DI\ContainerBuilder;
  8.  
  9. return static function (ContainerBuilder $containerBuilder) {
  10. // Global Settings Object
  11. $containerBuilder->addDefinitions([
  12. Setting::class => function () {
  13. return new Setting([
  14. 'debug' => true,
  15.  
  16. 'main' => [
  17. 'title' => 'Добро пожаловать',
  18. 'guest_name' => 'Гость',
  19. 'delete_name' => 'Удаленный',
  20. ],
  21.  
  22. 'story' => [
  23. 'allow_posting' => true, // Разрешать пользователям публиковать статьи
  24. 'per_page' => 10, // Количество статей на страницу
  25. 'title_min_length' => 5, // Минимальная длина статьи
  26. 'title_max_length' => 50, // Максимальная длина заголовка
  27. 'text_min_length' => 5, // Минимальная длина статьи
  28. 'text_max_length' => 5000, // Максимальная длина статьи
  29. 'short_words' => 100, // Количество слов в сокращенной статье
  30. 'tags_max' => 5, // Максимальное количество тегов
  31. 'tags_min_length' => 2, // Минимальное количество символов в теге
  32. 'tags_max_length' => 20, // Максимальное количество символов в теге
  33. ],
  34.  
  35. 'comment' => [
  36. 'text_min_length' => 5,
  37. 'text_max_length' => 1000,
  38. ],
  39.  
  40. 'guestbook' => [
  41. 'per_page' => 10,
  42. 'text_min_length' => 5,
  43. 'text_max_length' => 1000,
  44. 'name_min_length' => 3,
  45. 'name_max_length' => 20,
  46. 'allow_guests' => true, // Разрешить гостям писать
  47. ],
  48.  
  49. 'session' => [
  50. 'cookie_name' => 'motor_session',
  51. 'cookie_domain' => false,
  52. 'cookie_secure' => true,
  53. 'cookie_httponly' => true,
  54. 'cookie_samesite' => 'Lax',
  55. ],
  56.  
  57. 'file' => [
  58. 'size_max' => 1024 * 1000 * 5, // Максимальный вес 5MB
  59. 'total_max' => 5, // Максимальное количество загружаемых файлов
  60. 'extensions' => ['jpg', 'jpeg', 'gif', 'png', 'bmp', 'webp'],
  61. ],
  62.  
  63. 'image' => [
  64. 'resize' => 1000, // Обрезать изображения px
  65. 'weight_max' => null, // Максимальный размер px
  66. 'weight_min' => 100, // Минимальный размер px
  67. ],
  68.  
  69. 'roles' => [
  70. User::BOSS => 'Босс',
  71. User::ADMIN => 'Админ',
  72. User::MODER => 'Модератор',
  73. User::EDITOR => 'Редактор',
  74. User::USER => 'Пользователь',
  75. User::PENDED => 'Ожидающий',
  76. User::BANNED => 'Забаненный',
  77. ],
  78.  
  79. 'user' => [
  80. 'per_page' => 10,
  81. ],
  82.  
  83. 'displayErrorDetails' => true, // Should be set to false in production
  84. 'logError' => false,
  85. 'logErrorDetails' => false,
  86. 'logger' => [
  87. 'name' => 'motor-app',
  88. 'path' => isset($_ENV['docker']) ? 'php://stdout' : __DIR__ . '/../logs/app.log',
  89. //'level' => Logger::DEBUG,
  90. ],
  91. ]);
  92. }
  93. ]);
  94. };