research-nk/rnk-elfinder-bundle

El finder 连接器用于 Symfony2

安装: 15

依赖: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 0

开放问题: 0

语言:JavaScript

类型:symfony-bundle

dev-master 2013-07-04 09:10 UTC

This package is not auto-updated.

Last update: 2024-09-23 11:53:05 UTC


README

此包提供了对 Symfony2 elFinder 的集成。

elFinder 是一个开源的基于 JavaScript 的 jQuery UI 网络文件管理器。此包受到了 FMElfinderBundle 的启发。与 FMElfinderBundle 不同,RNKElfinderBundle 提供了与 Symfony\Component\HttpFoundation 组件的完全集成,且不使用 assetic less。所有 exit() 函数和 $_GET, $_POST, $_FILES 数组的使用都被移除。这种方法修复了在 symfony 中使用原生的 elFinderConnector 时出现的 500 http 错误。

安装

RNKElfinderBundle 包含 elFinder 源代码文件(由于 elFinder 中没有 composer 集成)。我们没有对 elFinder 代码进行任何修改。如果嵌入式的 elFinder 版本过时,请通知我们。我们将尽快更新它。

###1 在您的 composer.json 中添加以下行

{
    "require": {
        "research-nk/elfinder-bundle": "dev-master"
    }
}

###2 运行 composer 下载包

$ php composer.phar update research-nk/elfinder-bundle

###3 将此包添加到您的应用程序内核中

<?php
// app/AppKernel.php
public function registerBundles()
{
    $bundles = array(
        // ...
        new RNK\ElFinderBundle\RNKElfinderBundle(),
        // ...
    );
}

###4 路由配置

将以下路由添加到您的应用程序中

# app/config/routing.yml
RNKElFinderBundle:
    resource: "@RNKElFinderBundle/Resources/config/routing.yml"

或手动配置路由

rnk_el_finder_backend:
    pattern:  /rnk_el_finder_backend
    defaults: { _controller: RNKElFinderBundle:ElFinder:backend }

rnk_el_finder_show:
    pattern: /rnk_el_finder_show
    defaults: { _controller: RNKElFinderBundle:ElFinder:show }

###5 保护 RNKElFinderBundle

# app/config/security.yml
security:
    access_control:
        - { path: ^/rnk_el_finder_backend, role: ROLE_ADMIN }
        - { path: ^/rnk_el_finder_show, role: ROLE_ADMIN }

###6 安装资源文件

$ php app/console assets:install

基本配置

将配置选项添加到您的 config.yml 中

rnk_el_finder:
  locale: '%locale%'
  connector:
    debug: false
    roots:
      uploads:
        driver: LocalFileSystem
        show_hidden_files: false
        path: 'uploads'
        upload_allow: []
        upload_deny: []
        upload_max_size: 10M

更多关于连接器配置的信息可以在此找到 - elFinder - 客户端配置选项

locale

设置 elFinder 本地化。

数据类型:字符串
默认值: '%locale%' - symfony 默认本地化

connector.debug

向客户端发送调试信息。

数据类型:布尔值
默认值: false

connector.roots

包含每个根设置的数组数组。这是唯一必需的选项。支持多个根。数组中的键是根名称。

数据类型:数组
默认值: array()

connector.roots.[ROOT_NAME].show_hidden_files

确定连接器是否应该隐藏以点开头的文件

数据类型:布尔值
默认值: false

connector.roots.[ROOT_NAME].upload_allow

允许上传的 MIME 类型。

数据类型:数组
默认值: array()

connector.roots.[ROOT_NAME].upload_deny

不允许上传的 MIME 类型。接受的值与 uploadAllow 相同

数据类型:数组
默认值: array()

connector.roots.[ROOT_NAME].upload_max_size

最大上传文件大小。此大小按文件计算。可以设置为数字或带有单位 10M,500K,1G 的字符串。

数据类型:整数|字符串
默认值: 10M

TODO

  • 添加测试
  • 添加与 CKEditor 的集成
  • 添加与 TinyMCE 的集成
  • 添加对所有 elFinder 配置选项的支持
  • 解析 elfinder 标头数组并使用 Response 对象发送它们