eniskeskin / laravel-responsivefilemanager
将Alberto Peripolli的Responsive File Manager集成到Laravel中
Requires
- php: >=7.1
This package is auto-updated.
Last update: 2024-09-14 08:02:52 UTC
README
本软件包含Responsive File Manager(RFM)的修改版 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替换为您的textarea输入
<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)>)