コード例 #1
0
 public function actionSignup()
 {
     $model = new ProfileForm();
     $model->setScenario('signup');
     if ($model->load(Yii::$app->request->post())) {
         if ($user = $model->signup()) {
             if (Yii::$app->getUser()->login($user)) {
                 return $this->goHome();
             }
         }
     }
     return $this->render('signup', ['model' => $model]);
 }
コード例 #2
0
 /**
  * Страница продукта
  */
 public function actionProductBuy($id)
 {
     $item = Product::find()->with('organization', 'type')->with('agreement')->where(['id' => $id])->asArray()->one();
     $item['price_format'] = Product::priceFormat($item['price']);
     $item['price_discount_format'] = Product::priceFormat($item['price_discount']);
     if (!count($item['agreement'])) {
         $agreement = Agreement::find()->where(["default_flag" => 1])->asArray()->one();
         $item['agreement'] = $agreement;
     }
     // Загружаем в форму данные пользователя
     $user = Yii::$app->user->getIdentity();
     $model_signup = array();
     $page = $user ? 'product_buy' : 'buy_forbidden';
     if ($page == 'buy_forbidden') {
         $model_signup = new ProfileForm();
         $model_signup->setScenario('signup');
         if ($model_signup->load(Yii::$app->request->post())) {
             if ($user = $model_signup->signup()) {
                 if (Yii::$app->getUser()->login($user)) {
                     return $this->redirect(Yii::$app->request->referrer);
                     //return $this->goHome();
                 }
             }
         }
     } else {
         if (Yii::$app->request->post() && $user) {
             // Устанавливаем сценарий валидации
             $form = new OrderForm();
             if ($form->saveOrder($user, $item, Yii::$app->request->post())) {
                 die('true');
             } else {
                 die('false');
             }
         }
     }
     return $this->render($page, ['item' => $item, 'user' => $user, 'model_signup' => $model_signup]);
 }
コード例 #3
0
 public function actionProfile()
 {
     // Устанавливаем сценарий валидации
     $form = new ProfileForm();
     $form->setScenario('profile');
     // Загружаем в форму данные пользователя
     $User = Yii::$app->user->getIdentity();
     $form->setUser($User);
     if ($form->load(Yii::$app->request->post()) && $form->validate()) {
         // Сохраняем пользователя с данными из формы
         if ($form->save($User)) {
             Yii::$app->session->setFlash('success', 'Данные успешно сохранены.');
         } else {
             Yii::$app->session->setFlash('error', 'Произошла ошибка при сохранении данных пользователя.');
         }
         return $this->refresh();
     }
     $orders = Order::findAll(['user_id' => $User->id]);
     $template = Yii::$app->request->get('edit') ? 'profile_edit' : 'profile';
     $form->birthday_date = date('d.m.Y', strtotime($form->birthday_date));
     return $this->render($template, ['model' => $form, 'orders' => $orders]);
 }
コード例 #4
0
 public function actionEditprofile()
 {
     $model = new ProfileForm();
     $userid = Yii::$app->user->getId();
     $user = User::find()->where(['id' => $userid])->one();
     if ($model->load(Yii::$app->request->post())) {
         $user->username = $_POST['ProfileForm']['username'];
         $user->email = $_POST['ProfileForm']['email'];
         $user->mobile = $_POST['ProfileForm']['mobile'];
         $model->avatar = UploadedFile::getInstance($model, 'avatar');
         if ($model->avatar) {
             if ($user->avatar) {
                 // if present delete old image
                 $image_name = substr($user->avatar, strrpos($user->avatar, '/') + 1);
                 unlink(Yii::$app->basePath . '/web/uploads/' . $image_name);
                 // delete image
             }
             $model->avatar->saveAs('uploads/' . $model->avatar->baseName . '.' . $model->avatar->extension);
             // save Image in uploads folder
             $user->avatar = Yii::$app->getUrlManager()->getBaseUrl() . '/uploads/' . $model->avatar->baseName . '.' . $model->avatar->extension;
             // prepare image url for storing in DB
             $imagePath = Yii::$app->basePath . '/web/uploads/' . $model->avatar->baseName . '.' . $model->avatar->extension;
             // image path for Image croping class SimpleImage
             $img = new SimpleImage($imagePath);
             $img->resize(100, 100)->save();
             //resize image to 100x100 for avatar
         }
         if ($user->save()) {
             Yii::$app->response->redirect(array('site/profile', 'user' => $user));
         }
     } else {
         return $this->render('edit_profile', ['model' => $model, 'user' => $user]);
     }
 }
コード例 #5
0
ファイル: UserController.php プロジェクト: shapik2004/album2
 public function actionProfile()
 {
     if (Yii::$app->user->isGuest) {
         $this->redirect(Url::toRoute(['intro/index']));
         return;
     }
     if (Yii::$app->user->identity->role == User::ROLE_DEMO) {
         $this->redirect(Url::toRoute(['user/signup-demo']));
         return;
     }
     $this->layout = 'default';
     $model = new ProfileForm();
     if ($model->load(Yii::$app->request->post(), 'ProfileForm')) {
         if ($model->validate()) {
             if ($model->save()) {
                 Yii::$app->getSession()->setFlash('success', Yii::t('app', 'Изменения успешно сохранены.'));
                 return $this->redirect(Url::toRoute('user/profile'));
             } else {
             }
         } else {
         }
     } else {
         if (!$model->loadByUserId(Yii::$app->user->identity->getId())) {
         }
     }
     $settings = new SettingForm();
     $currencies = $settings->getValue('currencies', []);
     $currencies_new = [];
     foreach ($currencies as $key => $currency) {
         $currencies_new[$currency['code']] = $currency['code'];
     }
     return $this->render('profile', ['model' => $model, 'currencies' => $currencies_new]);
 }
コード例 #6
0
 public function testNotCorrectSignup()
 {
     $model = new ProfileForm(['username' => 'troy.becker', 'email' => '*****@*****.**', 'password' => 'some_password']);
     expect('username and email are in use, user should not be created', $model->signup())->null();
 }
コード例 #7
0
ファイル: UserController.php プロジェクト: ockor/yii2adv-blog
 public function actionShowUserProfile($id)
 {
     $user = User::findOne(['id' => $id]);
     $model = ProfileForm::cacheCurrentProfile($user);
     return $this->render('user-profile', ['model' => $model]);
 }
コード例 #8
0
 /**
  * Displays profilepage.
  *
  * @return mixed
  */
 public function actionProfile()
 {
     if (Yii::$app->user->isGuest) {
         return $this->goHome();
     }
     $model = ProfileForm::findOne(Yii::$app->user->id);
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         Yii::$app->session->setFlash('success', Yii::t('app', 'ProfileForm_saved'));
         return $this->redirect(['profile']);
     } else {
     }
     //echo'<pre>';print_r($model);echo'</pre>';die;
     $data = ['model' => $model];
     //Yii::$app->session->setFlash('error', Yii::t('app', 'ProfileForm_saved'));
     return $this->render('main', ['subTmpl' => 'profile', 'data' => $data]);
 }