2017 © Pedro Peláez
 

yii2-extension yii2-elfinder

Yii2 ElFinder

image

sieulog/yii2-elfinder

Yii2 ElFinder

  • Saturday, November 21, 2015
  • by sieulog
  • Repository
  • 1 Watchers
  • 0 Stars
  • 22 Installations
  • JavaScript
  • 0 Dependents
  • 0 Suggesters
  • 66 Forks
  • 0 Open issues
  • 11 Versions
  • 0 % Grown

The README.md

ElFinder for Yii 2

ElFinder — using in Yii2CMS., (*1)

Установка

Удобнее всего установить это расширение через composer., (*2)

Либо запустить, (*3)

php composer.phar require --prefer-dist sieulog/yii2-elfinder "*"

или добавить, (*4)

"sieulog/yii2-elfinder": "*"

в разделе require вашего composer.json файла., (*5)

Настройка

'controllerMap' => [
        'elfinder' => [
            'class' => 'mihaildev\elfinder\Controller',
            'access' => ['@'], //глобальный доступ к фаил менеджеру @ - для авторизорованных , ? - для гостей , чтоб открыть всем ['@', '?']
            'disabledCommands' => ['netmount'], //отключение ненужных команд https://github.com/Studio-42/elFinder/wiki/Client-configuration-options#commands
            'roots' => [
                [
                    'baseUrl'=>'@web',
                    'basePath'=>'@webroot',
                    'path' => 'files/global',
                    'name' => 'Global'
                ],
                [
                    'class' => 'mihaildev\elfinder\UserPath',
                    'path'  => 'files/user_{id}',
                    'name'  => 'My Documents'
                ],
                [
                    'path' => 'files/some',
                    'name' => ['category' => 'my','message' => 'Some Name'] //перевод Yii::t($category, $message)
                ],
                [
                    'path'   => 'files/some',
                    'name'   => ['category' => 'my','message' => 'Some Name'], // Yii::t($category, $message)
                    'access' => ['read' => '*', 'write' => 'UserFilesAccess'] // * - для всех, иначе проверка доступа в даааном примере все могут видет а редактировать могут пользователи только с правами UserFilesAccess
                ]
            ],
            'watermark' => [
                    'source'         => __DIR__.'/logo.png', // Path to Water mark image
                     'marginRight'    => 5,          // Margin right pixel
                     'marginBottom'   => 5,          // Margin bottom pixel
                     'quality'        => 95,         // JPEG image save quality
                     'transparency'   => 70,         // Water mark image transparency ( other than PNG )
                     'targetType'     => IMG_GIF|IMG_JPG|IMG_PNG|IMG_WBMP, // Target image formats ( bit-field )
                     'targetMinPixel' => 200         // Target image minimum pixel size
            ]
        ]
    ],
'controllerMap' => [
        'elfinder' => [
            'class' => 'mihaildev\elfinder\PathController',
            'access' => ['@'],
            'root' => [
                'path' => 'files',
                'name' => 'Files'
            ],
            'watermark' => [
                        'source'         => __DIR__.'/logo.png', // Path to Water mark image
                         'marginRight'    => 5,          // Margin right pixel
                         'marginBottom'   => 5,          // Margin bottom pixel
                         'quality'        => 95,         // JPEG image save quality
                         'transparency'   => 70,         // Water mark image transparency ( other than PNG )
                         'targetType'     => IMG_GIF|IMG_JPG|IMG_PNG|IMG_WBMP, // Target image formats ( bit-field )
                         'targetMinPixel' => 200         // Target image minimum pixel size
            ]
        ]
    ],

Использование

use mihaildev\elfinder\InputFile;
use mihaildev\elfinder\ElFinder;
use yii\web\JsExpression;

echo InputFile::widget([
    'language'   => 'ru',
    'controller' => 'elfinder', // вставляем название контроллера, по умолчанию равен elfinder
    'filter'     => 'image',    // фильтр файлов, можно задать массив фильтров https://github.com/Studio-42/elFinder/wiki/Client-configuration-options#wiki-onlyMimes
    'name'       => 'myinput',
    'value'      => '',
]);

echo $form->field($model, 'attribute')->widget(InputFile::className(), [
    'language'      => 'ru',
    'controller'    => 'elfinder', // вставляем название контроллера, по умолчанию равен elfinder
    'filter'        => 'image',    // фильтр файлов, можно задать массив фильтров https://github.com/Studio-42/elFinder/wiki/Client-configuration-options#wiki-onlyMimes
    'template'      => '

{input}{button}
', 'options' => ['class' => 'form-control'], 'buttonOptions' => ['class' => 'btn btn-default'], 'multiple' => false // возможность выбора нескольких файлов ]); echo ElFinder::widget([ 'language' => 'ru', 'controller' => 'elfinder', // вставляем название контроллера, по умолчанию равен elfinder 'filter' => 'image', // фильтр файлов, можно задать массив фильтров https://github.com/Studio-42/elFinder/wiki/Client-configuration-options#wiki-onlyMimes 'callbackFunction' => new JsExpression('function(file, id){}') // id - id виджета ]);

Использование при работе с PathController

use mihaildev\elfinder\InputFile;
use mihaildev\elfinder\ElFinder;
use yii\web\JsExpression;

echo InputFile::widget([
    'language'   => 'ru',
    'controller' => 'elfinder', // вставляем название контроллера, по умолчанию равен elfinder
    'path' => 'image', // будет открыта папка из настроек контроллера с добавлением указанной под деритории  
    'filter'     => 'image',    // фильтр файлов, можно задать массив фильтров https://github.com/Studio-42/elFinder/wiki/Client-configuration-options#wiki-onlyMimes
    'name'       => 'myinput',
    'value'      => '',
]);

echo $form->field($model, 'attribute')->widget(InputFile::className(), [
    'language'      => 'ru',
    'controller'    => 'elfinder', // вставляем название контроллера, по умолчанию равен elfinder
    'path' => 'image', // будет открыта папка из настроек контроллера с добавлением указанной под деритории 
    'filter'        => 'image',    // фильтр файлов, можно задать массив фильтров https://github.com/Studio-42/elFinder/wiki/Client-configuration-options#wiki-onlyMimes
    'template'      => '

{input}{button}
', 'options' => ['class' => 'form-control'], 'buttonOptions' => ['class' => 'btn btn-default'], 'multiple' => false // возможность выбора нескольких файлов ]); echo ElFinder::widget([ 'language' => 'ru', 'controller' => 'elfinder', // вставляем название контроллера, по умолчанию равен elfinder 'path' => 'image', // будет открыта папка из настроек контроллера с добавлением указанной под деритории 'filter' => 'image', // фильтр файлов, можно задать массив фильтров https://github.com/Studio-42/elFinder/wiki/Client-configuration-options#wiki-onlyMimes 'callbackFunction' => new JsExpression('function(file, id){}') // id - id виджета ]);

CKEditor

use mihaildev\elfinder\ElFinder;

$ckeditorOptions = ElFinder::ckeditorOptions($controller,[/* Some CKEditor Options */]);

Для указания подкаталога (при использовании PathController), (*6)

use mihaildev\elfinder\ElFinder;

$ckeditorOptions = ElFinder::ckeditorOptions([$controller, 'path' => 'some/sub/path'],[/* Some CKEditor Options */]);

Использование совместно с приложением "mihaildev/yii2-ckeditor" (https://github.com/MihailDev/yii2-ckeditor), (*7)

use mihaildev\ckeditor\CKEditor;
use mihaildev\elfinder\ElFinder;

$form->field($model, 'attribute')->widget(CKEditor::className(), [
  ...
  'editorOptions' => ElFinder::ckeditorOptions('elfinder',[/* Some CKEditor Options */]),
  ...
]);

Для указания подкаталога (при использовании PathController), (*8)

use mihaildev\ckeditor\CKEditor;
use mihaildev\elfinder\ElFinder;

$form->field($model, 'attribute')->widget(CKEditor::className(), [
  ...
  'editorOptions' => ElFinder::ckeditorOptions(['elfinder', 'path' => 'some/sub/path'],[/* Some CKEditor Options */]),
  ...
]);

Проблемы

При встраивание без iframe возможен конфликт с bootstrap.js. Studio-42/elFinder#740 Решение - добавляем в шаблон запись, (*9)


mihaildev\elfinder\Assets::noConflict($this);

Полезные ссылки

ElFinder Wiki - https://github.com/Studio-42/elFinder/wiki, (*10)

The Versions

21/11 2015

dev-master

9999999-dev https://github.com/MihailDev/yii2-elfinder

Yii2 ElFinder

  Sources   Download

BSD-3-Clause

The Requires

 

yii elfinder filemanager

03/07 2015

1.1.3

1.1.3.0 https://github.com/MihailDev/yii2-elfinder

Yii2 ElFinder

  Sources   Download

BSD-3-Clause

The Requires

 

yii elfinder filemanager

28/11 2014

1.1.2

1.1.2.0 https://github.com/MihailDev/yii2-elfinder

Yii2 ElFinder

  Sources   Download

BSD-3-Clause

The Requires

 

yii elfinder filemanager

28/11 2014

1.1.1

1.1.1.0 https://github.com/MihailDev/yii2-elfinder

Yii2 ElFinder

  Sources   Download

BSD-3-Clause

The Requires

 

yii elfinder filemanager

28/11 2014

1.1.0

1.1.0.0 https://github.com/MihailDev/yii2-elfinder

Yii2 ElFinder

  Sources   Download

BSD-3-Clause

The Requires

 

yii elfinder filemanager

22/11 2014

1.0.5

1.0.5.0 https://github.com/MihailDev/yii2-elfinder

Yii2 ElFinder

  Sources   Download

BSD-3-Clause

The Requires

 

yii elfinder filemanager

26/10 2014

1.0.4

1.0.4.0 https://github.com/MihailDev/yii2-elfinder

Yii2 ElFinder

  Sources   Download

BSD-3-Clause

The Requires

 

yii elfinder filemanager

23/10 2014

1.0.3

1.0.3.0 https://github.com/MihailDev/yii2-elfinder

Yii2 ElFinder

  Sources   Download

BSD-3-Clause

The Requires

 

yii elfinder filemanager

15/10 2014

1.0.2

1.0.2.0 https://github.com/MihailDev/yii2-elfinder

Yii2 ElFinder

  Sources   Download

BSD-3-Clause

The Requires

 

yii elfinder filemanager

23/02 2014

1.0.1

1.0.1.0 https://github.com/MihailDev/yii2-elfinder

Yii2 ElFinder

  Sources   Download

BSD-3-Clause

The Requires

 

yii elfinder filemanager

25/01 2014

1.0.0

1.0.0.0 https://github.com/MihailDev/yii2-elfinder

Yii2 ElFinder

  Sources   Download

BSD-3-Clause

The Requires

 

yii elfinder filemanager