zanysoft / laravel-responsive-filemanager
Integrate Alberto Peripolli's Responsive File Manager with Laravel
Installs: 1 146
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 2
Open Issues: 1
Requires
- php: >=7.4
- illuminate/contracts: ^8.0|^9.0|^10.0|^11.0
- illuminate/http: ^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
README
This software includes a modified version of Responsive File Manager see official website
Responsive File Manager (RFM) is licenced under CC BY-NC 3.0 which means software can't be redistributed for a commercial use.
If you wan't to use it for comercial purpose take a look on the author (Alberto Peripolli ) website
This repo is under MIT Licence except parts where antoher licence is mentioned in file.
The Laravel plugin code part here is under MIT Licence.
The RFM author delivers a commercial version of his code (a modified include.js
). You will need to modify this file if you use CSRF check on your laravel app by adding _token: jQuery('meta[name="csrf-token"]').attr('content')
on ajax calls. You can use www.diffchecker.com to check modifications you will have to apply to your include.commercial.js
file. I can't deliver myself a licence to use RFM for commercial purpose
If you have some corrections, recommendations or anything else to say please let me know.
Read Responsive File Manager Documentation
How to Install ?
Install in your project
composer require zanysoft/laravel-responsive-filemanager
Now there is a new configuration file rfm.php
Install in config/app.php
'providers' => [
/*
* Laravel Framework Service Providers...
*/
...
// Responsive File Manager
ZanySoft\ResponsiveFileManager\FileManagerServiceProvider::class
],
In app/Http/Kernel.php
need to use StartSession, can also use and is recommended CSRF Token
protected $middlewareGroups = [
...
'web' => [
...
\Illuminate\Session\Middleware\StartSession::class,
// Responsive File Manager supports CSRF Token usage
\App\Http\Middleware\VerifyCsrfToken::class
]
...
];
then do
php artisan vendor:publish --provider="ZanySoft\ResponsiveFileManager\FileManagerServiceProvider"
Generate private key for url identification
php artisan rfm:generate
All configs included to work out of the box. Files are meant to be stored in public folder.
Don't forget to set upload dir in config file
$upload_dir = 'media/';
$thumbs_upload_dir = 'thumbs/'; //this will create inside upload directory
Set route prefix in config file
'route_prefix' => 'filemanager/',
//or
'route_prefix' => 'admin/filemanager/',
Set middleware in config file for security purpose
'middleware' => 'auth', //defaualt is web
Use as StandAlone
Use helpers to write filemanager url
<a href="@filemanager_get_resource(dialog.php)?field_id=imgField&lang=en_EN&akey=@filemanager_get_key()">Open RFM</a>
// OR
<a href="@filemanager_dialog(['field_id'=>'imgField'])">Open RFM</a>
// OR
<a href="@filemanager_dialog()">Open RFM</a>
see USE AS STAND-ALONE FILE MANAGER
in Responsible File Manager Doc
Include in TinyMCE or CKEDITOR
Include JS
- For CKEditor
Replace #MYTEXTAREAJS with your textarea input
<script src='{{ asset('/vendor/unisharp/laravel-ckeditor/ckeditor.js') }}'></script>
<script>
$(document).ready(function() {
if($("#MYTEXTAREAID").length) {
CKEDITOR.replace( 'postBody', {
filebrowserBrowseUrl : '@filemanager_get_resource(dialog.php)?akey=@filemanager_get_key()&type=2&editor=ckeditor&fldr=',
filebrowserUploadUrl : '@filemanager_get_resource(dialog.php)?akey=@filemanager_get_key()&type=2&editor=ckeditor&fldr=',
filebrowserImageBrowseUrl : '@filemanager_get_resource(dialog.php)?akey=@filemanager_get_key()&type=1&editor=ckeditor&fldr=',
language : '<?php App::getLocale() ?>'
});
}
})
</script>
- For TinyMCE
with tinymce parameters
$(document).ready(() => {
$('textarea').first().tinymce({
script_url : '/tinymce/tinymce.min.js',
width: 680,height: 300,
plugins: [
"advlist autolink link image lists charmap print preview hr anchor pagebreak",
"searchreplace wordcount visualblocks visualchars insertdatetime media nonbreaking",
"table contextmenu directionality emoticons paste textcolor filemanager code"
],
toolbar1: "undo redo | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | styleselect",
toolbar2: "| responsivefilemanager | link unlink anchor | image media | forecolor backcolor | print preview code ",
image_advtab: true ,
filemanager_access_key: '@filemanager_get_key()',
filemanager_relative_url: true,
filemanager_sort_by: '',
filemanager_descending: '',
filemanager_basefolder: '',
filemanager_subfolder: '',
filemanager_crossdomain: '',
external_filemanager_path: '@external_filemanager_path()',
filemanager_title:"Responsive Filemanager" ,
external_plugins: { "filemanager" : "/vendor/responsivefilemanager/plugin.min.js"}
});
});
To make private folder use .htaccess with Deny from all