- NasFileManager.php - filesystem helper (browse, upload, download, delete, rename, mkdir) - project-files.php API - CRUD operace nad soubory projektu - ProjectFileManager.jsx - React komponenta v detailu projektu - Automaticke vytvoreni slozky pri vytvoreni projektu (rucne i z objednavky) - Prejmenovani slozky pri zmene nazvu projektu - Checkbox "Smazat i soubory na disku" pri mazani projektu/objednavky - Path traversal ochrana, MIME validace, blocklist nebezpecnych typu - Bily spinner v primary tlacitkach, ConfirmModal message jako div - Case-insensitive rename fix pro Windows filesystem Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
48 lines
1.5 KiB
PHP
48 lines
1.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Aplikacni konstanty
|
|
*
|
|
* Definuje konstanty pouzivane v celé API.
|
|
* Vyzaduje, aby byl pred includovanim tohoto souboru nacten helpers.php a .env.
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
// Environment
|
|
define('APP_ENV', env('APP_ENV', 'production'));
|
|
define('DEBUG_MODE', APP_ENV === 'local');
|
|
|
|
// Database configuration
|
|
define('DB_HOST', env('DB_HOST', 'localhost'));
|
|
define('DB_NAME', env('DB_NAME', ''));
|
|
define('DB_USER', env('DB_USER', ''));
|
|
define('DB_PASS', env('DB_PASS', ''));
|
|
define('DB_CHARSET', 'utf8mb4');
|
|
|
|
// Security configuration
|
|
define('MAX_LOGIN_ATTEMPTS', 5);
|
|
define('LOCKOUT_MINUTES', 15);
|
|
define('BCRYPT_COST', 12);
|
|
|
|
// CORS - konfigurovatelne pres env (comma-separated), fallback na hardcoded hodnoty
|
|
define('CORS_ALLOWED_ORIGINS', env('CORS_ALLOWED_ORIGINS', '')
|
|
? array_map('trim', explode(',', (string) env('CORS_ALLOWED_ORIGINS', '')))
|
|
: ['http://www.boha-automation.cz', 'https://www.boha-automation.cz']);
|
|
|
|
// Paths
|
|
define('API_ROOT', dirname(__DIR__));
|
|
define('INCLUDES_PATH', API_ROOT . '/includes');
|
|
|
|
// Rate limiting
|
|
define('RATE_LIMIT_STORAGE_PATH', dirname(__DIR__) . '/rate_limits');
|
|
|
|
// NAS File Manager
|
|
define('NAS_FILES_PATH', env('NAS_FILES_PATH', ''));
|
|
define('NAS_MAX_UPLOAD_SIZE', (int) env('NAS_MAX_UPLOAD_SIZE', 52428800));
|
|
define(
|
|
'NAS_ALLOWED_EXTENSIONS',
|
|
array_filter(array_map('trim', explode(',', (string) env('NAS_ALLOWED_EXTENSIONS', ''))))
|
|
);
|
|
define('NAS_BLOCKED_EXTENSIONS', ['exe', 'bat', 'sh', 'php', 'htaccess', 'env', 'cmd', 'com', 'msi', 'ps1']);
|