Exemple #1
0
 public function actionDeleteFile()
 {
     $modelID = Yii::$app->request->post('modelId');
     $modelName = Yii::$app->request->post('modelName');
     $attribute = Yii::$app->request->post('attribute');
     $language = Yii::$app->request->post('language');
     if (Yii::$app->request->isAjax && $modelID && $modelName && $attribute) {
         $error = true;
         /** @var $model ActiveRecord */
         if ($language) {
             $model = $modelName::find()->where(['model_id' => $modelID, 'language' => $language])->one();
         } else {
             $model = $modelName::findOne($modelID);
         }
         if ($model) {
             $fileId = $model->{$attribute};
             $model->{$attribute} = null;
             if ($model->save(false)) {
                 FPM::deleteFile($fileId);
                 $error = false;
             }
         }
         return Json::encode(['error' => $error]);
     }
     return false;
 }
Exemple #2
0
 /**
  * @return string
  */
 public function actionDeleteImage()
 {
     $returnData = [];
     $id = \Yii::$app->request->get('id');
     if ($id) {
         $imageEntity = EntityToFile::find()->where('id = :id', [':id' => (int) $id])->one();
         if ($imageEntity) {
             $fileId = $imageEntity->file_id;
             if ($imageEntity->delete()) {
                 FPM::deleteFile($fileId);
             } else {
                 $returnData[] = ['error' => 'Не удалось удалить файл'];
             }
         } else {
             $returnData[] = ['error' => 'Информация о изображении не найдена'];
         }
     }
     return Json::encode($returnData);
 }
 /**
  * Validate file, and delete old file
  *
  * @param \yii\base\Event $event
  *
  * @return bool
  */
 public function afterValidate($event)
 {
     $file = \yii\web\UploadedFile::getInstance($this->owner, $this->attribute);
     if (!$file && !$this->required) {
         return true;
     }
     $oldFileId = $this->owner->{$this->attribute};
     if (!$file && $oldFileId) {
         return true;
     }
     if ($this->validateFile($file)) {
         $this->owner->{$this->attribute} = $this->getValue($file);
         \metalguardian\fileProcessor\helpers\FPM::deleteFile($oldFileId);
         return true;
     }
     return false;
 }
 /**
  * @param $id
  */
 private function delete($id)
 {
     if ($id) {
         FPM::deleteFile($id);
     }
 }