public function init()
{
parent::init();
$request = Yii::$app->getRequest();
$this->registerTranslations();
if ($request->enableCsrfValidation === true) {
$this->settings['data'][$request->csrfParam] = $request->getCsrfToken();
}
if (!isset($this->settings['url'])) {
$this->settings['url'] = $request->getUrl();
} else {
$this->settings['url'] = Url::to($this->settings['url']);
}
if ($this->crop === true) {
$this->settings['autoUpload'] = false;
}
if (isset($this->settings['multiple']) && $this->settings['multiple'] === true) {
if ($this->template === null) {
$this->template = 'multiple';
}
if ($this->preview === false) {
unset($this->_defaultMultipleSettings['elements']['file']['preview']);
}
$this->_defaultSettings = $this->_defaultMultipleSettings;
} else {
if ($this->template === null) {
$this->template = 'single';
}
if ($this->preview === false) {
unset($this->_defaultSingleSettings['elements']['preview']);
}
$this->_defaultSettings = $this->_defaultSingleSettings;
}
$this->settings = ArrayHelper::merge($this->_defaultSettings, $this->settings);
}