update v 1.0.7.5
This commit is contained in:
235
vendor/unisharp/laravel-filemanager/README.md
vendored
235
vendor/unisharp/laravel-filemanager/README.md
vendored
@@ -1,4 +1,6 @@
|
||||
# laravel-filemanager
|
||||
# Laravel Filemanager
|
||||
|
||||
[](https://packagist.org/packages/unisharp/laravel-filemanager) [](https://packagist.org/packages/unisharp/laravel-filemanager) [](https://packagist.org/packages/unisharp/laravel-filemanager) [](https://packagist.org/packages/unisharp/laravel-filemanager)
|
||||
|
||||
A files and images management user interface with file uploading support. (Works well with CKEditor and TinyMCE)
|
||||
|
||||
@@ -7,217 +9,46 @@ PR is welcome!
|
||||
## Overview
|
||||
|
||||
* The project was forked from [tsawler/laravel-filemanager](http://packalyst.com/packages/package/tsawler/laravel-filemanager)
|
||||
* Support public and private folders for multi users
|
||||
* Customizable views, routes and middlewares
|
||||
* Supported locales : en, fr, zh-TW, zh-CN, pt-BR
|
||||
* Customizable routes and middlewares
|
||||
* Supported locales : en, fr, pt-BR, tr, zh-CN, zh-TW
|
||||
* Supports public and private folders for multi users
|
||||
* Supports multi-level folders
|
||||
* Supports using independently(see integration doc)
|
||||
|
||||
## Documents
|
||||
|
||||
## Requirements
|
||||
1. [Installation](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/installation.md)
|
||||
1. [Intergration](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/integration.md)
|
||||
1. [Config](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/config.md)
|
||||
1. [Customization](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/customization.md)
|
||||
|
||||
* php >= 5.5
|
||||
* Laravel 5
|
||||
* requires [intervention/image](https://github.com/Intervention/image) (to make thumbs, crop and resize images).
|
||||
|
||||
## Installation
|
||||
|
||||
1. Install package
|
||||
|
||||
```bash
|
||||
composer require unisharp/laravel-filemanager
|
||||
```
|
||||
|
||||
1. Edit `config/app.php` :
|
||||
|
||||
Add service providers
|
||||
|
||||
```php
|
||||
Unisharp\Laravelfilemanager\LaravelFilemanagerServiceProvider::class,
|
||||
Intervention\Image\ImageServiceProvider::class,
|
||||
```
|
||||
|
||||
And add class aliases
|
||||
|
||||
```php
|
||||
'Image' => Intervention\Image\Facades\Image::class,
|
||||
```
|
||||
|
||||
1. Publish the package's config and assets :
|
||||
|
||||
```bash
|
||||
php artisan vendor:publish --tag=lfm_config
|
||||
php artisan vendor:publish --tag=lfm_public
|
||||
```
|
||||
|
||||
1. Ensure that the files & images directories (in `config/lfm.php`) are writable by your web server.
|
||||
|
||||
## WYSIWYG Editor Integration:
|
||||
### Option 1: CKEditor
|
||||
|
||||
1. Install [laravel-ckeditor](https://github.com/UniSharp/laravel-ckeditor) package
|
||||
|
||||
1. Modify the views
|
||||
|
||||
Sample 1 - Replace by ID:
|
||||
```html
|
||||
<script src="/vendor/unisharp/laravel-ckeditor/ckeditor.js"></script>
|
||||
<textarea id="my-editor" name="content" class="form-control">{!! old('content', $content) !!}</textarea>
|
||||
<script>
|
||||
CKEDITOR.replace( 'my-editor', {
|
||||
filebrowserImageBrowseUrl: '/laravel-filemanager?type=Images',
|
||||
filebrowserImageUploadUrl: '/laravel-filemanager/upload?type=Images&_token={{csrf_token()}}',
|
||||
filebrowserBrowseUrl: '/laravel-filemanager?type=Files',
|
||||
filebrowserUploadUrl: '/laravel-filemanager/upload?type=Files&_token={{csrf_token()}}'
|
||||
});
|
||||
</script>
|
||||
```
|
||||
|
||||
Sample 2 - With JQuery Selector:
|
||||
|
||||
```html
|
||||
<script src="/vendor/unisharp/laravel-ckeditor/ckeditor.js"></script>
|
||||
<script src="/vendor/unisharp/laravel-ckeditor/adapters/jquery.js"></script>
|
||||
<textarea name="content" class="form-control my-editor">{!! old('content', $content) !!}</textarea>
|
||||
<script>
|
||||
$('textarea.my-editor').ckeditor({
|
||||
filebrowserImageBrowseUrl: '/laravel-filemanager?type=Images',
|
||||
filebrowserImageUploadUrl: '/laravel-filemanager/upload?type=Images&_token={{csrf_token()}}',
|
||||
filebrowserBrowseUrl: '/laravel-filemanager?type=Files',
|
||||
filebrowserUploadUrl: '/laravel-filemanager/upload?type=Files&_token={{csrf_token()}}'
|
||||
});
|
||||
</script>
|
||||
```
|
||||
|
||||
### Option 2: TinyMCE4
|
||||
|
||||
```html
|
||||
<script src="//cdn.tinymce.com/4/tinymce.min.js"></script>
|
||||
<textarea name="content" class="form-control my-editor">{!! old('content', $content) !!}</textarea>
|
||||
<script>
|
||||
var editor_config = {
|
||||
path_absolute : "/",
|
||||
selector: "textarea",
|
||||
plugins: [
|
||||
"advlist autolink lists link image charmap print preview hr anchor pagebreak",
|
||||
"searchreplace wordcount visualblocks visualchars code fullscreen",
|
||||
"insertdatetime media nonbreaking save table contextmenu directionality",
|
||||
"emoticons template paste textcolor colorpicker textpattern"
|
||||
],
|
||||
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image media",
|
||||
relative_urls: false,
|
||||
file_browser_callback : function(field_name, url, type, win) {
|
||||
var x = window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth;
|
||||
var y = window.innerHeight|| document.documentElement.clientHeight|| document.getElementsByTagName('body')[0].clientHeight;
|
||||
|
||||
var cmsURL = editor_config.path_absolute + 'laravel-filemanager?field_name=' + field_name;
|
||||
if (type == 'image') {
|
||||
cmsURL = cmsURL + "&type=Images";
|
||||
} else {
|
||||
cmsURL = cmsURL + "&type=Files";
|
||||
}
|
||||
|
||||
tinyMCE.activeEditor.windowManager.open({
|
||||
file : cmsURL,
|
||||
title : 'Filemanager',
|
||||
width : x * 0.8,
|
||||
height : y * 0.8,
|
||||
resizable : "yes",
|
||||
close_previous : "no"
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
tinymce.init(editor_config);
|
||||
</script>
|
||||
```
|
||||
|
||||
## Config
|
||||
|
||||
In `config/lfm.php` :
|
||||
|
||||
```php
|
||||
'rename_file' => true,
|
||||
// true : files will be renamed as uniqid
|
||||
// false : files will remain original names
|
||||
|
||||
'use_package_routes' => true,
|
||||
// set this to false to customize route for file manager
|
||||
|
||||
'middlewares' => ['auth'],
|
||||
// determine middlewares that apply to all file manager routes
|
||||
|
||||
'allow_multi_user' => true,
|
||||
// true : user can upload files to shared folder and their own folder
|
||||
// false : all files are put together in shared folder
|
||||
|
||||
'user_field' => 'id',
|
||||
// determine which column of users table will be used as user's folder name
|
||||
|
||||
'shared_folder_name' => 'shares',
|
||||
// the name of shared folder
|
||||
|
||||
'thumb_folder_name' => 'thumbs',
|
||||
// the name of thumb folder
|
||||
|
||||
'images_dir' => 'public/photos/',
|
||||
'images_url' => '/photos/',
|
||||
// path and url of images
|
||||
|
||||
'files_dir' => 'public/files/',
|
||||
'files_url' => '/files/',
|
||||
// path and url of files
|
||||
```
|
||||
|
||||
## Customization
|
||||
|
||||
1. If the route is changed, make sure urls below is correspond to your route :
|
||||
|
||||
CKEditor
|
||||
```javascript
|
||||
<script>
|
||||
CKEDITOR.replace( 'editor', {
|
||||
filebrowserImageBrowseUrl: '/your-custom-route?type=Images',
|
||||
filebrowserBrowseUrl: '/your-custom-route?type=Files',
|
||||
});
|
||||
</script>
|
||||
```
|
||||
|
||||
And be sure to include the `?type=Images` or `?type=Files` parameter.
|
||||
|
||||
TinyMCE
|
||||
```javascript
|
||||
...
|
||||
var cmsURL = editor_config.path_absolute + 'your-custom-route?field_name='+field_name+'&lang='+ tinymce.settings.language;
|
||||
if (type == 'image') {
|
||||
cmsURL = cmsURL + "&type=Images";
|
||||
} else {
|
||||
cmsURL = cmsURL + "&type=Files";
|
||||
}
|
||||
...
|
||||
```
|
||||
|
||||
1. To customize the views :
|
||||
|
||||
on Linux :
|
||||
|
||||
```bash
|
||||
cp -rf vendor/unisharp/laravel-filemanager/src/views/* resources/views/vendor/laravel-filemanager/
|
||||
```
|
||||
|
||||
on MAC :
|
||||
|
||||
```bash
|
||||
cp -rf vendor/unisharp/laravel-filemanager/src/views/ resources/views/vendor/laravel-filemanager/
|
||||
```
|
||||
## Upgrade guide
|
||||
* `composer update unisharp/laravel-filemanager`
|
||||
* `php artisan vendor:publish --tag=lfm_view --force`
|
||||
* `php artisan vendor:publish --tag=lfm_config --force`(remember to keep your previous settings in `config/lfm.php`)
|
||||
|
||||
## Screenshots
|
||||
* Independent usage example :
|
||||
|
||||

|
||||
|
||||
* List view :
|
||||
|
||||

|
||||
|
||||
* Grid view :
|
||||
|
||||

|
||||
|
||||
## Credits
|
||||
* All contibutors from GitHub. (issues / PR)
|
||||
* Special thanks to
|
||||
* [@taswler](https://github.com/tsawler) the author.
|
||||
* [@taswler](https://github.com/tsawler) the original author.
|
||||
* [@olivervogel](https://github.com/olivervogel) for the awesome [image library](https://github.com/Intervention/image)
|
||||
* [@welcoMattic](https://github.com/welcoMattic) providing fr translations and lots of bugfixes.
|
||||
* [@fraterblack](https://github.com/fraterblack) TinyMCE 4 support and pt-BR translations.
|
||||
* [@olivervogel](https://github.com/olivervogel) for the awesome [image library](https://github.com/Intervention/image)
|
||||
* [All @UniSharp members](https://github.com/UniSharp)
|
||||
* [@1dot44mb](https://github.com/1dot44mb) tr translations.
|
||||
* [@Nikita240](https://github.com/Nikita240) fixing controller extending errors.
|
||||
* [@amin101](https://github.com/amin101) guide for independent use and fixes for url/directory error on Windows
|
||||
* [@nasirkhan](https://github.com/nasirkhan) bug fixes and alphanumeric filename check
|
||||
* All [@UniSharp](https://github.com/UniSharp) members
|
||||
|
Reference in New Issue
Block a user