iutbay/yii2-kcfinder

This package is abandoned and no longer maintained. No replacement package was suggested.
There is no license information available for the latest version (0.0.1) of this package.

KCFinder for Yii2

Maintainers

👁 iutbay

Package info

github.com/iutbay/yii2-kcfinder

Issues

Type:yii2-extension

pkg:composer/iutbay/yii2-kcfinder

Statistics

Installs: 43 498

Dependents: 6

Suggesters: 0

Stars: 20

0.0.1 2014-11-28 10:23 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

Unknown License 13e5ce1226915634905bb7488a9884f69293cf8f

  • Kevin LEVRON <kevin.levron.woop@gmail.com>

extensionkcfinderyii2

This package is not auto-updated.

Last update: 2025-10-10 16:48:39 UTC


README

KCFinder for Yii2.

WARNING : I don't have time actually to maintain this repository, but take a look here (WIP)...

Installation

The preferred way to install this helper is through composer.

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

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

After, either run

php composer.phar require "iutbay/yii2-kcfinder" "dev-master"

or add

"iutbay/yii2-kcfinder" : "dev-master"

to the require section of your application's composer.json file.

Widget Use

Without model :

use iutbay\yii2kcfinder\KCFinderInputWidget;

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

With model and ActiveForm :

use iutbay\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. :

namespace app\widgets;

use yii\helpers\ArrayHelper;

use iutbay\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. :

// 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);