Пример #1
0
 public function actionDeleteQuestion($id)
 {
     $model = QuestionModel::model()->findByPk($id);
     $userQuestion = UserQuestion::model()->findByAttributes(['question_id' => $id]);
     if ($model) {
         $model->delete();
     }
     if ($userQuestion) {
         $userQuestion->delete();
     }
 }
Пример #2
0
 public function actionAdd()
 {
     if (Yii::app()->user->isGuest) {
         Yii::app()->user->setFlash('error', 'Вопрос может задать только зарегестрированный пользователь');
         $this->redirect($this->createUrl('site/index'));
     }
     $model = new QuestionModel();
     $model->setScenario('insert');
     $user = UserModel::model()->findByPk(Yii::app()->user->id);
     $text = null;
     if (!empty($_POST['QuestionModel'])) {
         if (isset($_POST['QuestionModel']['cost'])) {
             if ($user->balance < $_POST['QuestionModel']['cost']) {
                 Yii::app()->user->setFlash('error', 'Недостаточно средств, пожалуйсто пополните счет');
                 $this->refresh();
             }
         }
         $model->attributes = $_POST['QuestionModel'];
         $model->status = QuestionModel::STATUS_NEW;
         $model->user_id = Yii::app()->user->getId();
         if ($_POST['QuestionModel']['type'] == 'free') {
             $model->setScenario('free');
             Yii::app()->user->setFlash('success', 'Спасибо за Ваш вопрос');
         }
         if ($model->save()) {
             if ($_POST['QuestionModel']['type'] == 'pay') {
                 $user->balance = $user->balance - $_POST['QuestionModel']['cost'];
                 $user->save(false);
                 Yii::app()->user->setFlash('success', 'Спасибо за Ваш вопрос была снята сумма ' . $model->cost . ' руб');
             }
             $userQuestion = new UserQuestion();
             $userQuestion->attributes = $_POST['UserQuestion'];
             $userQuestion->email = $user->email;
             $userQuestion->question_id = $model->id;
             $userQuestion->save();
         }
     }
     $this->render('add', ['model' => $model]);
 }