270 lines
6.3 KiB
Markdown
270 lines
6.3 KiB
Markdown
**The config is in `config/lfm.php`.**
|
|
|
|
## Routing:
|
|
|
|
### use\_package\_routes
|
|
|
|
* type: `boolean`
|
|
* default: `true`
|
|
|
|
Use default routes or not. You will need to define routes to all controllers of this package if this is set to `false`.
|
|
|
|
|
|
## Multi-User Mode:
|
|
|
|
### allow\_private\_folder
|
|
|
|
* type: `boolean`
|
|
* default: `true`
|
|
|
|
Only the owner(each signed-in user) of the private can upload and manage files within. Set to `false` to turn this feature off.
|
|
|
|
### private\_folder\_name
|
|
|
|
* type: `string`
|
|
* default: user id
|
|
|
|
Privates folders for each user will be named by this config. Default to user id.
|
|
|
|
To change the behavior:
|
|
|
|
1. run `php artisan publish tag="lfm_handler"`
|
|
2. rewrite `userField` function in App\Handler\ConfigHandler class
|
|
3. set value of this config to App\Handler\ConfigHandler::class
|
|
|
|
### allow\_shared\_folder
|
|
|
|
* type: `boolean`
|
|
* default: `true`
|
|
|
|
### shared\_folder\_name
|
|
|
|
* type: `string`
|
|
* default: `"shares"`
|
|
|
|
Flexible way to customize client folders accessibility.
|
|
|
|
If you want to customize client folders:
|
|
|
|
1. run `php artisan publish tag="lfm_handler"`
|
|
2. rewrite `userField` function in `App\Handler\ConfigHandler` class
|
|
3. set value of this config to `App\Handler\ConfigHandler::class`
|
|
|
|
All users can upload and manage files within shared folders. Set to `false` to turn this feature off.
|
|
|
|
|
|
## Folder Categories
|
|
|
|
### folder\_categories
|
|
|
|
* type: `array` (nested)
|
|
* default:
|
|
|
|
```
|
|
'folder_categories' => [
|
|
'file' => [
|
|
'folder_name' => 'files',
|
|
'startup_view' => 'list',
|
|
'max_size' => 50000, // size in KB
|
|
'valid_mime' => [
|
|
'image/jpeg',
|
|
'image/pjpeg',
|
|
'image/png',
|
|
'image/gif',
|
|
'application/pdf',
|
|
'text/plain',
|
|
],
|
|
],
|
|
'image' => [
|
|
'folder_name' => 'photos',
|
|
'startup_view' => 'grid',
|
|
'max_size' => 50000, // size in KB
|
|
'valid_mime' => [
|
|
'image/jpeg',
|
|
'image/pjpeg',
|
|
'image/png',
|
|
'image/gif',
|
|
],
|
|
],
|
|
],
|
|
```
|
|
|
|
The default config creates two folder categories, `file` and `image`, each operates independently. Files uploaded by users will be placed under one of these folder categories, depend on which is configured with your WYSIWYG editor or stand-alone upload button.
|
|
|
|
Detail options are explained here:
|
|
|
|
* `folder_name`: The folder name of the category. For example, if `folder_name` is set to `files2` then:
|
|
* directory path of the private folder will be: `/<path-to-laravel>/storage/app/public/files2/<user-id>/`
|
|
* directory path of the shared folder will be: `/<path-to-laravel>/storage/app/public/files2/shares/`
|
|
* `startup_view`: The default display mode. Available options: `list` & `grid`.
|
|
* `max_size`: The maximum size(in KB) of of a single file to be uploaded.
|
|
* `valid_mime`: Only files with mime types listed here are allowed to be uploaded. See [full mime types list](http://docs.w3cub.com/http/basics_of_http/mime_types/complete_list_of_mime_types/).
|
|
|
|
## Pagination:
|
|
|
|
### paginator
|
|
|
|
* type: `array`
|
|
* default:
|
|
|
|
```
|
|
'paginator' => [
|
|
'perPage' => 30,
|
|
],
|
|
```
|
|
|
|
|
|
## Upload / Validation:
|
|
|
|
### disk
|
|
|
|
* type: `string`
|
|
* default: `public`
|
|
|
|
Disk name of Laravel File System. All files are placed in here. Choose one of the `disks` section in `config/filesystems.php`.
|
|
|
|
### rename\_file
|
|
|
|
* type: `boolean`
|
|
* default: `false`
|
|
|
|
If set to `true`, the uploaded file will be renamed using `uniqid()`.
|
|
|
|
### alphanumeric\_filename
|
|
|
|
* type: `boolean`
|
|
* default: `false`
|
|
|
|
If set to `true`, non-alphanumeric file name will be replaced with `_`.
|
|
|
|
### alphanumeric\_directory
|
|
|
|
* type: `boolean`
|
|
* default: `false`
|
|
|
|
If set to `true`, non-alphanumeric folder name will be rejected.
|
|
|
|
### should\_validate\_size
|
|
|
|
* type: `boolean`
|
|
* default: `false`
|
|
|
|
If set to `true`, the size of uploading file will be verified.
|
|
|
|
### should\_validate\_mime
|
|
|
|
* type: `boolean`
|
|
* default: `true`
|
|
|
|
If set to `true`, the mime type of uploading file will be verified.
|
|
|
|
### over\_write\_on_duplicate
|
|
|
|
* type: `int`
|
|
* default: `false`
|
|
|
|
Define behavior on files with identical name. Setting it to `true` cause old file replace with new one. Setting it to `false` show `error-file-exist` error and abort the upload process.
|
|
|
|
## Thumbnail
|
|
|
|
### should\_create\_thumbnails
|
|
|
|
* type: `boolean`
|
|
* default: `true`
|
|
|
|
If set to `true`, thumbnails will be created for faster loading.
|
|
|
|
### thumb\_folder\_name
|
|
|
|
* type: `string`
|
|
* default: `thumbs`
|
|
|
|
Folder name to place thumbnails.
|
|
|
|
### raster\_mimetypes
|
|
|
|
* type: `array`
|
|
* default:
|
|
|
|
```
|
|
'raster_mimetypes' => [
|
|
'image/jpeg',
|
|
'image/pjpeg',
|
|
'image/png',
|
|
],
|
|
```
|
|
|
|
Create thumbnails automatically only for listed types. See [full mime types list](http://docs.w3cub.com/http/basics_of_http/mime_types/complete_list_of_mime_types/).
|
|
|
|
### thumb_img_width
|
|
|
|
* type: `int`
|
|
* default: `200`
|
|
|
|
Thumbnail images width (in px).
|
|
|
|
### thumb_img_height
|
|
|
|
* type: `int`
|
|
* default: `200`
|
|
|
|
Thumbnail images height (in px).
|
|
|
|
Create thumbnails automatically only for listed types.
|
|
|
|
|
|
|
|
## File Extension Information
|
|
|
|
### file\_type\_array
|
|
|
|
* type: `array`
|
|
* default:
|
|
|
|
```
|
|
'file_type_array' => [
|
|
'pdf' => 'Adobe Acrobat',
|
|
'doc' => 'Microsoft Word',
|
|
'docx' => 'Microsoft Word',
|
|
'xls' => 'Microsoft Excel',
|
|
'xlsx' => 'Microsoft Excel',
|
|
'zip' => 'Archive',
|
|
'gif' => 'GIF Image',
|
|
'jpg' => 'JPEG Image',
|
|
'jpeg' => 'JPEG Image',
|
|
'png' => 'PNG Image',
|
|
'ppt' => 'Microsoft PowerPoint',
|
|
'pptx' => 'Microsoft PowerPoint',
|
|
],
|
|
```
|
|
|
|
Gives description for listed file extensions.
|
|
|
|
## php.ini override
|
|
|
|
### php\_ini\_overrides
|
|
|
|
* type: `array` or `boolean`
|
|
* default:
|
|
|
|
|
|
```
|
|
'php_ini_overrides' => [
|
|
'memory_limit' => '256M',
|
|
],
|
|
```
|
|
|
|
These values override your php.ini settings before uploading files. Set these to false to ingnore and apply your php.ini settings
|
|
|
|
⚠️ **Caveats**
|
|
|
|
The php\_ini\_overrides are applied on every request the filemanager does and are reset once the script has finished executing.
|
|
This has one drawback: any ini settings that you might want to change that apply to the request itself will not work.
|
|
|
|
For example, overriding these settings will not work:
|
|
* upload\_max\_filesize
|
|
* post\_max\_size
|
|
|
|
**Why this is expected behaviour:**
|
|
upload\_max\_filesize and post\_max\_size will get set but uploaded files are already passed to your PHP script before the settings are changed.
|