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]); }