Пытаюсь заставить работать этот файлменеджер.
в целом работает он замечательно.
захотелось мне ему передать ряд параметров, согласно описанию для этого достаточно в сессию запсиать параметр KCFINDER с масивом нужных значений.
что я и сделал в контроллере.
Код: Выделить всё
$kcfOptions = array_merge(KCFinder::$kcfDefaultOptions, [
'uploadDir' => Yii::getAlias('@backend/web/uploads/'),
'uploadURL' => Yii::$app->getUrlManager()->createUrl('uploads'),
'access' => [
'files' => [
'upload' => true,
'delete' => true,
'copy' => true,
'move' => true,
'rename' => true,
],
'dirs' => [
'create' => true,
'delete' => true,
'rename' => true,
],
],
]);
// Set kcfinder session options
Yii::$app->getSession()->set('KCFINDER', $kcfOptions);
оказалось, что при вызове KCFinder (вызываю из CKEditor и напрямую из формы)
сессия создается заново и конечно же никаких ключей KCFINDER в ней нет.
я добавил свой код для записи процесса выполненния кода KCFinder, вот кусок кода
Код: Выделить всё
class session {
const SESSION_VAR = "_sessionVar";
public $values;
protected $config;
protected $fd;
protected function log($str){
fwrite($this->fd, $str.PHP_EOL);
}
public function __construct($configFile) {
$this->fd = fopen("kcfinder.txt", 'a') or die("не удалось создать файл");
$this->log('open session');
// Start session if it is not already started
if (!session_id()) {
$this->log('session start');
session_start();
}
$this->log('read config');
.... и т.д.
Код: Выделить всё
open session
session start
read config
Чего не хватает?
Почему открывает новую сессию?