/** * @return string */ public function actionUploadImage() { $returnData = []; $className = \Yii::$app->request->get('model_name'); $attribute = \Yii::$app->request->get('attribute'); if ($className && $attribute) { $model = new $className(); $modelName = $model->formName(); $files = UploadedFile::getInstances($model, $attribute); foreach ($files as $file) { $originalName = $file->baseName . '.' . $file->extension; $fileId = FPM::transfer()->saveUploadedFile($file); if ($fileId) { $existModelId = \Yii::$app->request->post('id'); $tempSign = \Yii::$app->request->post('sign'); $savedImage = EntityToFile::add($modelName, $existModelId, $fileId, $tempSign, \Yii::$app->request->get('entity_attribute')); if (!$savedImage) { $returnData['error'][] = 'Не получилось связать файл ' . $originalName . ' с моделью'; } else { $returnData = ['deleteUrl' => ImagesUploadModel::deleteImageUrl(['id' => $savedImage->id]), 'cropUrl' => ImagesUploadModel::getCropUrl(['id' => $savedImage->id]), 'id' => $savedImage->id, 'imgId' => $savedImage->file_id]; } } else { $returnData['error'][] = 'Не получилось сохранить файл ' . $originalName; } } } return Json::encode($returnData); }
<?php use backend\modules\imagesUpload\models\ImagesUploadModel; ?> <a class="crop-link btn btn-xs btn-default pull-right" data-toggle="modal" href="<?php echo ImagesUploadModel::getCropUrl(['id' => '']); ?> " {dataKey} data-target=".modal-hidden"> <i class="glyphicon glyphicon glyphicon-scissors file-icon-large text-success"></i> </a>