/** * Очистка меню по Id * * @param $id */ public function actionGet($id) { if (!(int) $id) { die("Необходимо ввести корректное Id компании\n"); } $module = Yii::app()->getModule('user'); if ($module->registrationDisabled) { throw new CHttpException(404, Yii::t('UserModule.user', 'requested page was not found!')); } $user = User::getUserByPromo($promo); // \Yii::app()->getUser()->model(); }
/** * @param $promo string Промо код, присылаемый по Email * * @throws CHttpException */ public function run($promo) { $module = Yii::app()->getModule('user'); if ($module->registrationDisabled) { throw new CHttpException(404, Yii::t('UserModule.user', 'requested page was not found!')); } $user = User::getUserByPromo($promo); if (!$user) { throw new CHttpException(400, Yii::t('UserModule.user', '<h1>Bad promo code!</h1>')); } /* Повторное подтверждение */ if ($user->email_confirm) { $this->getController()->redirect(Url::redirectUrl('/cabinet')); } $form = new ActivationForm('default'); $form->prefphone = $user->contact_phone_prefix ? $user->contact_phone_prefix : '+7'; $form->oldphone = $form->prefphone . " " . $user->contact_phone; if (($data = Yii::app()->getRequest()->getPost('ActivationForm')) !== null) { $form->setAttributes($data); if ($form->validate()) { if ($this->saveDataAndSendEmail($user, $form)) { $paramModel = Yii::app()->request->getParam('model', null); $paramExternalId = Yii::app()->request->getParam('external_id', null); if (!is_null($paramModel) && !is_null($paramExternalId)) { $Response = Response::createResponseByOtherModelData($paramModel, $paramExternalId); if (!is_null($Response)) { if ($Response->save()) { $this->getController()->render('successRegister', ['model' => $paramModel, 'external_id' => $paramExternalId, 'response_id' => $Response->primaryKey]); Yii::app()->end(); } else { Yii::app()->getUser()->setFlash(yupe\widgets\YFlashMessages::ERROR_MESSAGE, Yii::t('default', 'Ошибка создания заказа, errmsgcreate', ['errmsgcreate' => print_r($Response->getErrors(), true)])); } } else { Yii::app()->getUser()->setFlash(yupe\widgets\YFlashMessages::ERROR_MESSAGE, Yii::t('default', 'Ошибка создания заказа, errmsgcreate', ['errmsgcreate' => "Can't create Response by createResponseByOtherModelData"])); } } else { Yii::app()->getUser()->setFlash(yupe\widgets\YFlashMessages::SUCCESS_MESSAGE, Yii::t('UserModule.user', 'Аккаунт создан! По указаному адресу email Вам отправлена сслыка для активации Вашего "Личного кабинета"!')); // Yii::app()->session['success_reg'] = true; $this->getController()->redirect(Url::redirectUrl('/cabinet')); } } Yii::app()->getUser()->setFlash(yupe\widgets\YFlashMessages::ERROR_MESSAGE, Yii::t('UserModule.user', 'Не удалось !')); } } $this->getController()->render('activation', ['model' => $form, 'module' => $module, 'user' => $user]); }