public function actionAddCall() { if (isset($_POST['RequestCall']) && !empty($_POST['RequestCall'])) { $cost = 0; if ($_POST['RequestCall']['type'] == RequestCall::TYPE_SIMPLE) { $cost = 300; } elseif ($_POST['RequestCall']['type'] == RequestCall::TYPE_DIFFICULT) { $cost = 500; } elseif ($_POST['RequestCall']['type'] == RequestCall::TYPE_VERY_DIFFICULT) { $cost = 1000; } $user = UserModel::model()->client()->findByPk(Yii::app()->user->id); if ($user) { if ($user->balance - $cost < 0) { Yii::app()->user->setFlash('error', 'Недостаточно средств! пополните баланс и закажите звонок'); $this->refresh(); } else { Yii::app()->user->setFlash('success', 'Звонок заказан! с вашего счета снято ' . $cost . 'руб'); $user->balance = $user->balance - $cost; $user->save(false); } } $model = new RequestCall(); $model->setAttributes($_POST['RequestCall']); $model->user_id = Yii::app()->user->id; $model->status = 1; $model->save(); $image = CUploadedFile::getInstance($model, 'file'); if ($image) { if (!is_dir('uploads/phoneDocument/images')) { mkdir('uploads/phoneDocument/images', 0777, true); } $ext = explode('.', $image->name); $model->file = Yii::app()->user->id . '_' . md5(time()) . '.' . $ext[1]; $image->saveAs('uploads/phoneDocument/images/' . $model->file); $model->save(false); } } $jurist = UserModel::model()->jurist()->findByPk(Yii::app()->user->id); if (Yii::app()->user->isGuest) { Yii::app()->user->setFlash('error', 'Заказать звонок может только зарегестрированный пользователь'); $this->redirect($this->createUrl('site/index')); } if ($jurist !== null) { Yii::app()->user->setFlash('error', 'Заказать звонок может только пользователь'); $this->redirect($this->createUrl('cabinet/index')); } $this->render('newRequest', ['model' => new RequestCall()]); }