2017 © Pedro Peláez
 

yii2-extension yii2kcfinder

KCFinder for Yii2

image

bastarann/yii2kcfinder

KCFinder for Yii2

  • Wednesday, December 30, 2015
  • by bastarann
  • Repository
  • 1 Watchers
  • 0 Stars
  • 3 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

KCFinder for Yii2

KCFinder for Yii2., (*1)

WIP..., (*2)

Installation

The preferred way to install this helper is through composer., (*3)

Since kcfinder package do not have stable release on packagist, you should use these settings in your composer.json file :, (*4)

"minimum-stability": "dev",
"prefer-stable": true,

After, either run, (*5)

php composer.phar require "bastarann/yii2kcfinder" "*"

or add, (*6)

"bastarann/yii2kcfinder" : "*"

to the require section of your application's composer.json file., (*7)

Widget Use

Without model :, (*8)

use bastarann\yii2kcfinder\KCFinderInputWidget;

echo KCFinderInputWidget::widget([
    'name' => 'image',
]);

With model and ActiveForm :, (*9)

use bastarann\yii2kcfinder\KCFinderInputWidget;

echo $form->field($model, 'images')->widget(KCFinderInputWidget::className(), [
    'multiple' => true,
]);

Use with 2amigos/yii2-ckeditor-widget

You should extend \dosamigos\ckeditor\CKEditor, e.g. :, (*10)

namespace app\widgets;

use yii\helpers\ArrayHelper;

use bastarann\yii2kcfinder\KCFinderAsset;

class CKEditor extends \dosamigos\ckeditor\CKEditor
{

    public $enableKCFinder = true;

    /**
     * Registers CKEditor plugin
     */
    protected function registerPlugin()
    {
        if ($this->enableKCFinder)
        {
            $this->registerKCFinder();
        }

        parent::registerPlugin();
    }

    /**
     * Registers KCFinder
     */
    protected function registerKCFinder()
    {
        $register = KCFinderAsset::register($this->view);
        $kcfinderUrl = $register->baseUrl;

        $browseOptions = [
            'filebrowserBrowseUrl' => $kcfinderUrl . '/browse.php?opener=ckeditor&type=files',
            'filebrowserUploadUrl' => $kcfinderUrl . '/upload.php?opener=ckeditor&type=files',
        ];

        $this->clientOptions = ArrayHelper::merge($browseOptions, $this->clientOptions);
    }

}

You should then set KCFinder options using session var, e.g. :, (*11)

// kcfinder options
// http://kcfinder.sunhater.com/install#dynamic
$kcfOptions = array_merge(KCFinder::$kcfDefaultOptions, [
    'uploadURL' => Yii::getAlias('@web').'/upload',
    'access' => [
        'files' => [
            'upload' => true,
            'delete' => false,
            'copy' => false,
            'move' => false,
            'rename' => false,
        ],
        'dirs' => [
            'create' => true,
            'delete' => false,
            'rename' => false,
        ],
    ],
]);

// Set kcfinder session options
Yii::$app->session->set('KCFINDER', $kcfOptions);

The Versions

30/12 2015