kwaadpepper / laravel-responsivefilemanager
将Alberto Peripolli的Responsive File Manager集成到Laravel中
Requires
- php: >=7.1
This package is auto-updated.
Last update: 2022-09-25 17:29:35 UTC
README
Laravel-ResponsiveFileManager
此软件包含Responsive File Manager的修改版本 Responsive File Manager 查看 官方网站
Responsive File Manager (RFM)授权基于CC BY-NC 3.0,这意味着软件不能用于商业目的的再分发。
如果您想用于商业目的,请查看作者(Alberto Peripolli)的网站
除文件中提及的其它授权外,此仓库受MIT授权。
对RFM进行修改是为了
- 防止冲突
- 修复小错误
- 适配Laravel
此处的Laravel插件代码部分受MIT授权。
RFM作者提供其代码的商业版本(修改后的include.js
)。如果您在Laravel应用程序中使用CSRF检查,需要在ajax调用中添加_token: jQuery('meta[name="csrf-token"]').attr('content')
,您需要修改此文件。您可以使用www.diffchecker.com来检查您需要应用到include.commercial.js
文件中的修改。我不能提供RFM用于商业目的的许可证
如果您有一些修改、建议或其他要说的,请告诉我。如果您做了什么有趣的事情并希望分享,请不要犹豫,提交PR
如何安装?
#1
在您的项目中安装
composer require kwaadpepper/laravel-responsivefilemanager
现在有一个新的配置文件 rfm.php
在 config/app.php
中安装
'providers' => [
/*
* Laravel Framework Service Providers...
*/
...
// Responsive File Manager
Kwaadpepper\ResponsiveFileManager\FileManagerServiceProvider::class
],
在 app/Http/Kernel.php
中需要使用 StartSession,也可以使用并推荐使用 CSRF Token
protected $middlewareGroups = [
...
'web' => [
...
\Illuminate\Session\Middleware\StartSession::class,
// Responsive File Manager supports CSRF Token usage
\App\Http\Middleware\VerifyCsrfToken::class
]
...
];
然后执行
php artisan vendor:publish --provider="Kwaadpepper\ResponsiveFileManager\FileManagerServiceProvider"
生成用于URL识别的私有密钥
php artisan rfm:generate
所有配置都已包括以实现即插即用。文件应存储在public文件夹中。
别忘了创建上传目录
mkdir -p public/uploads/files/
#2
作为独立使用
使用助手函数来编写文件管理器URL
<a href="@filemanager_get_resource(dialog.php)?field_id=imgField&lang=en_EN&akey=@filemanager_get_key()" value="Files">Open RFM</a>
查看负责文件管理器文档中的USE AS STAND-ALONE FILE MANAGER
提示:似乎支持Bootstrap Modal
包含在TinyMCE或CKEDITOR中
包含JS
- 对于CKEditor
将 #MYTEXTAREAJS 替换为您的文本区域输入
<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>
- 针对 TinyMCE
使用 tinymce 参数
$(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_sort_by: '',
filemanager_descending: '',
filemanager_subfolder: '',
filemanager_crossdomain: '',
external_filemanager_path: '@filemanager_get_resource(dialog.php)',
filemanager_title:"Responsive Filemanager" ,
external_plugins: { "filemanager" : "/vendor/responsivefilemanager/plugin.min.js"}
});
});
为了使文件夹私有,请使用 .htaccess 并设置 Deny from all
配置
语言
此包支持多种语言,但尚不完整。如果您有相关语言技能,请贡献。
- URL 获取参数 ($_GET)
RF.language
会话变量(用户在下拉列表中选择的语言)- config.php(rfm.php)
default_language
- 用户首选语言(HTTP 头部)
- 您的 Laravel 应用默认语言
支持的语言
az_AZ Azərbaycan dili
bg_BG български език
ca Català, valencià
cs čeština, český jazyk
da Dansk
de Deutsch
el_GR ελληνικά
en_EN English
es Español
fa فارسی
fi_FI Finnish
fr_FR Français
he_IL Hebrew (Israel)
hr Hrvatski jezik
hu_HU Magyar
id Bahasa Indonesia
it Italiano
ja 日本
lt Lietuvių kalba
mn_MN монгол
nb_NO Norsk bokmål
nn_NO Norsk nynorsk
nl Nederlands, Vlaams
pl Język polski, polszczyzna
pt_BR Português(Brazil,
pt_PT Português
ro Română
ru Pусский язык
sk Slovenčina
sl Slovenski jezik
sv_SE Svenska
th_TH ไทย
tr_TR Türkçe
uk_UA Yкраїнська мова
vi Tiếng Việt
zh_CN 中文 (Zhōngwén), 汉语, 漢語
FTP
待定
TODO
- 设置私钥
- 在 JS 端进行更多更正
- 在语言上进行更多更正
- 使用 tinyMCE 进行测试
- 包括商业支持
- 测试和调试 FTP 功能(Alpha 版本仍需要调试一些功能)
- TODO:缓存 FTP 缩略图以进行预览(仅限图像)
- 多用户和身份验证支持
- 编译资产
- 发布包
- 重写路由以使其更简洁(例如:ajax_calls/{action}/{subaction})
- 正确分离视图和逻辑(例如:dialog.php OMG <(o_O)>)