コード例 #1
0
 public function actionIndex()
 {
     Yii::$app->controller->enableCsrfValidation = false;
     $success = false;
     $path = false;
     if (Yii::$app->request->isPost) {
         $model_id = (int) Yii::$app->request->post('model_id');
         $model_name = Yii::$app->request->post('model_name');
         $option_id = (int) Yii::$app->request->post('option_id');
         //  Находим Options
         /**
          * @var $option Options
          */
         $option = Options::find()->where(['model_id' => $model_id, 'model' => $model_name, 'option_id' => $option_id])->one();
         // Удаляем файл и запись в Options
         if ($option) {
             if (unlink($_SERVER['DOCUMENT_ROOT'] . $option->value)) {
                 if ($option->delete()) {
                     $success = true;
                     $path = $option->value;
                 }
             }
         }
         //  Находим ChildOptions если есть
         /**
          * @var $option ChildOptions
          */
         $child_option = ChildOptions::find()->where(['model_id' => $model_id, 'model' => $model_name, 'option_id' => $option_id])->one();
         // Если находим - удаляем файл и запись в ChildOptions
         if ($child_option) {
             if (unlink($_SERVER['DOCUMENT_ROOT'] . $child_option->value)) {
                 if ($child_option->delete()) {
                     $success = true;
                     $path = $child_option->value;
                 }
             }
         }
         return Json::encode(['success' => $success, 'path' => $path]);
     }
 }
コード例 #2
0
 /**
  * Получаем значение параметра конкретной модели по алиасу
  *
  * @param $alias                string string
  * @param $relations_model_name string
  *
  * @return mixed
  */
 public function getChildOptionValueByAlias($alias, $relations_model_name = 'Cats-Items')
 {
     /**
      * @var $optionList OptionsList
      * @var $option     Options
      */
     $optionList = OptionsList::find()->where(['alias' => $alias])->one();
     $option = ChildOptions::find()->where(['model_id' => $this->owner->id, 'model' => $relations_model_name, 'option_id' => $optionList->id])->one();
     if (in_array($optionList->type->alias, MyHelper::TYPES_WITH_PRESET_ARRAY)) {
         $return = $optionList->preset->value($option->value);
     } elseif (in_array($optionList->type->alias, MyHelper::TYPES_WITH_MULTIPLE_PRESET_ARRAY)) {
         $optionM = ChildOptionMultiple::find()->where(['value' => $option->value])->one();
         $return = $optionList->preset->value($optionM->value);
     } else {
         $return = $option->value;
     }
     return $return;
 }