- <?php
-
- declare(strict_types=1);
-
- use App\Models\User;
- use App\Services\Setting;
- use DI\ContainerBuilder;
-
- return static function (ContainerBuilder $containerBuilder) {
- // Global Settings Object
- $containerBuilder->addDefinitions([
- Setting::class => function () {
- return new Setting([
- 'debug' => true,
-
- 'main' => [
- 'title' => 'Добро пожаловать',
- 'guest_name' => 'Гость',
- 'delete_name' => 'Удаленный',
- ],
-
- 'story' => [
- 'allow_posting' => true, // Разрешать пользователям публиковать статьи
- 'per_page' => 10, // Количество статей на страницу
- 'title_min_length' => 5, // Минимальная длина статьи
- 'title_max_length' => 50, // Максимальная длина заголовка
- 'text_min_length' => 5, // Минимальная длина статьи
- 'text_max_length' => 5000, // Максимальная длина статьи
- 'short_words' => 100, // Количество слов в сокращенной статье
- 'tags_max' => 5, // Максимальное количество тегов
- 'tags_min_length' => 2, // Минимальное количество символов в теге
- 'tags_max_length' => 20, // Максимальное количество символов в теге
- ],
-
- 'comment' => [
- 'text_min_length' => 5,
- 'text_max_length' => 1000,
- ],
-
- 'guestbook' => [
- 'per_page' => 10,
- 'text_min_length' => 5,
- 'text_max_length' => 1000,
- 'name_min_length' => 3,
- 'name_max_length' => 20,
- 'allow_guests' => true, // Разрешить гостям писать
- ],
-
- 'session' => [
- 'cookie_name' => 'motor_session',
- 'cookie_domain' => false,
- 'cookie_secure' => true,
- 'cookie_httponly' => true,
- 'cookie_samesite' => 'Lax',
- ],
-
- 'file' => [
- 'size_max' => 1024 * 1000 * 5, // Максимальный вес 5MB
- 'total_max' => 5, // Максимальное количество загружаемых файлов
- 'extensions' => ['jpg', 'jpeg', 'gif', 'png', 'bmp', 'webp'],
- ],
-
- 'image' => [
- 'resize' => 1000, // Обрезать изображения px
- 'weight_max' => null, // Максимальный размер px
- 'weight_min' => 100, // Минимальный размер px
- ],
-
- 'roles' => [
- User::BOSS => 'Босс',
- User::ADMIN => 'Админ',
- User::MODER => 'Модератор',
- User::EDITOR => 'Редактор',
- User::USER => 'Пользователь',
- User::PENDED => 'Ожидающий',
- User::BANNED => 'Забаненный',
- ],
-
- 'user' => [
- 'per_page' => 10,
- ],
-
- 'displayErrorDetails' => true, // Should be set to false in production
- 'logError' => false,
- 'logErrorDetails' => false,
- 'logger' => [
- 'name' => 'motor-app',
- 'path' => isset($_ENV['docker']) ? 'php://stdout' : __DIR__ . '/../logs/app.log',
- //'level' => Logger::DEBUG,
- ],
- ]);
- }
- ]);
- };