_options !== null) return $this->_options; $this->_options['roots'] = []; foreach($this->roots as $root){ if(is_string($root)) $root = ['path' => $root]; if(!isset($root['class'])) $root['class'] = 'mihaildev\elfinder\LocalPath'; $root = Yii::createObject($root); /** @var \mihaildev\elfinder\LocalPath $root*/ if($root->isAvailable()) $this->_options['roots'][] = $root->getRoot(); } if(!empty($this->watermark)){ $this->_options['bind']['upload.presave'] = 'Plugin.Watermark.onUpLoadPreSave'; if(is_string($this->watermark)){ $watermark = [ 'source' => $this->watermark ]; }else{ $watermark = $this->watermark; } $this->_options['plugin']['Watermark'] = $watermark; } $this->_options = ArrayHelper::merge($this->_options, $this->connectOptions); return $this->_options; } }