Blame view

frontend/controllers/AccountsController.php 1.99 KB
6310a439   Administrator   firs page
1
2
3
  <?php
  namespace frontend\controllers;
  
70abf3e7   Administrator   add field v.1
4
  use common\models\Fields;
2ff00662   Administrator   firs page
5
  use common\models\Language;
6310a439   Administrator   firs page
6
  use Yii;
0ae6f109   Administrator   firs page
7
  use common\models\User;
8e7a541c   Administrator   firs page
8
9
  use common\models\UserInfo;
  
6310a439   Administrator   firs page
10
11
12
13
14
15
16
17
18
19
20
  use yii\filters\AccessControl;
  use yii\web\Controller;
  use yii\web\NotFoundHttpException;
  
  
  /**
   * Site controller
   */
  class AccountsController extends Controller
  {
  
6e1510b2   Administrator   firs page
21
22
23
  
      public $layout = 'admin';
  
6310a439   Administrator   firs page
24
25
26
27
28
29
30
      public function behaviors()
      {
          return [
              'access' => [
                  'class' => AccessControl::className(),
                  'rules' => [
                      [
fbdb1f1c   Yarik   test
31
                          'actions' => ['cabinet','change-password', 'bookmarks'],
6310a439   Administrator   firs page
32
33
34
35
36
37
38
39
40
41
42
43
44
                          'allow' => true,
                          'roles' => ['@'],
                      ],
                  ],
              ],
          ];
      }
  
  
      public function actionCabinet()
      {
  
  
8e7a541c   Administrator   firs page
45
          $user =  $this->findUser(Yii::$app->user->identity->id);
6310a439   Administrator   firs page
46
  
2ff00662   Administrator   firs page
47
48
          $langs = Language::getActiveLanguages();
  
6310a439   Administrator   firs page
49
  
70abf3e7   Administrator   add field v.1
50
51
52
53
54
55
56
57
58
59
60
          if ($user->load(Yii::$app->request->post()) && $user->save()) {
              $user->userInfo->load(Yii::$app->request->post());
              $user->userInfo->save();
              Fields::saveFieldData( Yii::$app->request->post('Fields'), $user->id, $user::className());
              return $this->render('cabinet', [
                  'user' => $user,
                  'user_info' => $user->userInfo,
                  'langs' => $langs,
              ]);
  
          } else {
6310a439   Administrator   firs page
61
  
70abf3e7   Administrator   add field v.1
62
63
64
65
66
              return $this->render('cabinet', [
                  'user' => $user,
                  'user_info' => $user->userInfo,
                  'langs' => $langs,
              ]);
6310a439   Administrator   firs page
67
  
70abf3e7   Administrator   add field v.1
68
          }
6310a439   Administrator   firs page
69
70
71
72
  
  
      }
  
fbdb1f1c   Yarik   test
73
74
75
76
77
      public function actionBookmarks()
      {
          return $this->render('bookmarks');
      }
  
6310a439   Administrator   firs page
78
  
70abf3e7   Administrator   add field v.1
79
80
81
82
83
      /**
       * @param $id
       * @return User
       * @throws NotFoundHttpException
       */
8e7a541c   Administrator   firs page
84
      protected function findUser($id)
6310a439   Administrator   firs page
85
86
      {
  
70abf3e7   Administrator   add field v.1
87
          if ($model = User::findOne(["id"=>$id])) {
6310a439   Administrator   firs page
88
89
90
91
92
93
94
              return $model;
          } else {
              throw new NotFoundHttpException('The requested page does not exist.');
          }
      }
  
  
6310a439   Administrator   firs page
95
  
6310a439   Administrator   firs page
96
  }