Files
nuhodds_fi4/config/filament-file-manager.php
T
2026-10-28 10:53:39 +01:00

114 lines
3.9 KiB
PHP

<?php
declare(strict_types=1);
use UniFileManager\Core\Support\ConfigStorageAreaResolver;
use UniFileManager\Core\Support\DefaultFileManagerAuthorizer;
return [
/* @deprecated Use storage_areas.private.disk. */
'disk' => env('FILAMENT_FILE_MANAGER_DISK', 'local'),
/* @deprecated Use storage_areas.private.root. */
'root' => env('FILAMENT_FILE_MANAGER_ROOT', 'file-manager'),
/* @deprecated Use storage_areas.private.visibility. */
'visibility' => 'private',
/*
* Storage areas are defined on the server. The browser can select an area
* by key, but it can never provide a disk, root, or visibility value.
* Keep public media disabled until you have configured a public disk or CDN.
*/
'storage_areas' => [
'private' => [
'enabled' => true,
'label' => 'Private files',
'disk' => env('FILAMENT_FILE_MANAGER_DISK', 'local'),
'root' => env('FILAMENT_FILE_MANAGER_ROOT', 'file-manager'),
'visibility' => 'private',
],
'public' => [
'enabled' => false,
'label' => 'Public media',
'disk' => env('FILAMENT_FILE_MANAGER_PUBLIC_DISK', 'public'),
'root' => env('FILAMENT_FILE_MANAGER_PUBLIC_ROOT', 'file-manager-public'),
'visibility' => 'public',
],
],
/*
* Resolve storage areas from trusted, server-side request context. Leave the
* default resolver in place for standard single-tenant applications.
*/
'storage_area_resolver' => ConfigStorageAreaResolver::class,
/* Used by UniFilePicker when more than one area is enabled. Private is the safer default. */
'file_picker_default_area' => 'private',
'max_upload_size' => 204800, // 200 MB in Kilobytes (200 * 1024)
'max_upload_files' => 10,
/* Enable the embedded File Picker library. Fields can override this with ->library(false). */
'file_picker_library' => true,
/* Legacy File Picker manager URL metadata. Set this only for integrations that need it. */
'file_picker_manager_url' => null,
'folders_per_page' => 10,
'files_per_page' => 10,
'items_per_page' => 20,
/* Maximum nested folder levels below the configured File Manager root. */
'max_directory_depth' => 7,
/* Show the optional "Folders first" layout choice. When disabled, all items stay together. */
'show_item_layout' => false,
'allowed_mimes' => [
// ZIP
'application/zip',
'application/x-zip-compressed',
// IMG
'image/jpeg', 'image/png', 'image/webp', 'image/gif', 'application/pdf',
'text/plain', 'text/csv', 'application/msword',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'application/vnd.ms-excel',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
// CSV
'text/csv',
'text/plain',
// Excel (XLS & XLSX)
'application/vnd.ms-excel',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
// Tar.gz / Gzip
'application/x-gzip',
'application/gzip',
'application/x-tar',
],
'allowed_extensions' => ['csv', 'doc', 'docx', 'xls', 'xlsx', 'zip', 'xls', 'xlsx', 'gz', 'tar', 'jpg', 'jpeg', 'png', 'webp', 'gif', 'pdf', 'txt'],
'preview_mimes' => ['application/zip', 'image/jpeg', 'image/png', 'image/webp', 'image/gif', 'application/pdf', 'text/plain'],
/* Maximum authorised preview and thumbnail requests per minute, per user or guest IP address. */
'preview_rate_limit' => 60,
'thumbnails' => [
'enabled' => true,
'directory' => '.thumbnails',
'max_dimension' => 360,
/* Skip synchronous thumbnail generation for larger source images. */
'max_source_pixels' => 8_000_000,
],
/* Replace this with an application-specific authorizer before exposing the page. */
'authorizer' => DefaultFileManagerAuthorizer::class,
];