public function renderFileContent() { $attribute = $this->attribute; $input = $thumb = ''; $selectedFileOpt = ['class' => 'fm-browse-input']; if ($this->model->{$attribute}) { $filesModel = \Yii::$app->getModule('filemanager')->models['files']; $file = $filesModel::findOne(['file_identifier' => $this->model->{$attribute}]); } if (isset($file) && $file) { $fileType = $file->mime_type; if ($file->dimension) { $src = $file->object_url . $file->thumbnail_name; $fileType = 'image'; } else { $src = $file->object_url . $file->src_file_name; } $gridBox = new \dpodium\filemanager\components\GridBox(['owner' => $this, 'src' => $src, 'fileType' => $fileType, 'toolArray' => [['tagType' => 'i', 'options' => ['class' => 'fa-icon fa fa-times fm-remove', 'title' => Yii::t('filemanager', 'Remove')]]], 'thumbnailSize' => \Yii::$app->getModule('filemanager')->thumbnailSize]); foreach ($this->fileData as $attribute) { $value = isset($file->{$attribute}) ? $file->{$attribute} : null; $input .= Html::input('input', "Filemanager[{$attribute}]", $value); } $thumb = $gridBox->renderGridBox(); } else { $selectedFileOpt['value'] = ''; } $fileView = Html::tag('div', $thumb, ['class' => 'fm-browse-selected-view']); $selectedFile = Html::activeInput('input', $this->model, $this->attribute, $selectedFileOpt); $buttonClass = empty($this->options['class']) ? 'btn btn-primary' : $this->options['class']; $browseButton = Html::label(Yii::t('filemanager', 'Browse'), Html::getInputId($this->model, $this->attribute), ['class' => 'fm-btn-browse btn-browse ' . $buttonClass, 'data-url' => Url::to(['/filemanager/files/browse']), 'data-backdrop' => 'static', 'data-toggle' => 'modal', 'data-target' => '#fm-modal']); return $fileView . $browseButton . $selectedFile . $input; }
public function actionUse() { $fileId = Yii::$app->request->post('id'); $model = $this->findModel($fileId); $fileType = $model->mime_type; if ($model->dimension) { $src = $model->object_url . $model->thumbnail_name; $fileType = 'image'; } else { $src = $model->object_url . $model->src_file_name; } $toolArray = [['tagType' => 'i', 'options' => ['class' => 'fa-icon fa fa-times fm-remove', 'title' => \Yii::t('filemanager', 'Remove')]]]; $gridBox = new \dpodium\filemanager\components\GridBox(['src' => $src, 'fileType' => $fileType, 'toolArray' => $toolArray, 'thumbnailSize' => $this->module->thumbnailSize]); $selectedFileView = $gridBox->renderGridBox(); Yii::$app->response->format = Response::FORMAT_JSON; return ArrayHelper::merge($model->attributes, ['selectedFile' => $selectedFileView]); }