Blame view

frontend/controllers/PerformerController.php 5.5 KB
97fb6489   Yarik   test
1
2
3
  <?php
  namespace frontend\controllers;
  
376a557b   Administrator   09.02.16
4
  use common\models\Blog;
658d13d4   Administrator   09.02.16
5
  use common\models\Fields;
9217ef8e   Administrator   09.02.16
6
  use common\models\Gallery;
f7089e23   Administrator   15.02.16
7
8
  use common\models\Portfolio;
  use common\models\PortfolioSpecialization;
97fb6489   Yarik   test
9
  use Yii;
376a557b   Administrator   09.02.16
10
11
  use yii\data\ArrayDataProvider;
  use yii\data\Pagination;
4f404e20   Administrator   09.02.16
12
  use yii\helpers\ArrayHelper;
9217ef8e   Administrator   09.02.16
13
  use yii\web\BadRequestHttpException;
97fb6489   Yarik   test
14
  use yii\web\Controller;
97fb6489   Yarik   test
15
  use common\models\User;
4f404e20   Administrator   09.02.16
16
  
97fb6489   Yarik   test
17
18
19
20
21
22
23
24
  
  
  /**
   * Site controller
   */
  class PerformerController extends Controller
  {
      public $layout = 'performer';
4f404e20   Administrator   09.02.16
25
26
27
28
      public $user;
  
  
  
97fb6489   Yarik   test
29
  
97fb6489   Yarik   test
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
      /**
       * @inheritdoc
       */
      public function actions()
      {
          return [
              'error' => [
                  'class' => 'yii\web\ErrorAction',
              ],
              'captcha' => [
                  'class' => 'yii\captcha\CaptchaAction',
                  'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
              ],
          ];
      }
  
9bb0160d   Administrator   09.02.16
46
  
bdee266b   Yarik   test
47
      public function actionIndex()
97fb6489   Yarik   test
48
      {
9bb0160d   Administrator   09.02.16
49
          $this->redirect('site/index');
658d13d4   Administrator   09.02.16
50
  
97fb6489   Yarik   test
51
52
      }
  
9bb0160d   Administrator   09.02.16
53
      public function actionCommon($performer_id)
97fb6489   Yarik   test
54
      {
9bb0160d   Administrator   09.02.16
55
  
4f404e20   Administrator   09.02.16
56
          $user = User::findOne($performer_id);
9bb0160d   Administrator   09.02.16
57
  
9217ef8e   Administrator   09.02.16
58
59
60
61
          if(!$user instanceof User){
              throw new BadRequestHttpException('Пользователь не найден');
          }
  
4f404e20   Administrator   09.02.16
62
63
64
65
          $educations = Fields::getData($user->id,$user->className(),'education');
          $phones = Fields::getData($user->id,$user->className(),'phone');
          $sites = Fields::getData($user->id,$user->className(),'site');
          $soft = implode(', ',ArrayHelper::getColumn(Fields::getData($user->id,$user->className(),'soft'), 'soft'));
9bb0160d   Administrator   09.02.16
66
67
68
  
          return $this->render('common',[
              'user' => $user,
4f404e20   Administrator   09.02.16
69
70
71
72
              'educations' => $educations,
              'phones' => $phones,
              'sites' => $sites,
              'soft' => $soft
9bb0160d   Administrator   09.02.16
73
          ]);
4f404e20   Administrator   09.02.16
74
75
  
  
97fb6489   Yarik   test
76
77
      }
  
4f404e20   Administrator   09.02.16
78
      public function actionPortfolio($performer_id)
97fb6489   Yarik   test
79
      {
4f404e20   Administrator   09.02.16
80
81
          $user = User::findOne($performer_id);
  
9217ef8e   Administrator   09.02.16
82
83
84
          if(!$user instanceof User){
              throw new BadRequestHttpException('Пользователь не найден');
          }
f7089e23   Administrator   15.02.16
85
          $projects = ArrayHelper::getColumn($user->portfolios,'portfolio_id');
9217ef8e   Administrator   09.02.16
86
87
  
  
f7089e23   Administrator   15.02.16
88
89
90
91
92
93
94
95
96
97
          $filters = PortfolioSpecialization::find()->select(["specialization_id","COUNT('specialization_id') AS count"])
              ->where(["portfolio_id"=>$projects ])->groupBy("specialization_id")->all();
  
          $portfolio = new ArrayDataProvider([
              'allModels' => $user->portfolios,
              'pagination' => [
                  'pageSize' => 9,
              ],
          ]);
  
4f404e20   Administrator   09.02.16
98
          return $this->render('portfolio',[
f7089e23   Administrator   15.02.16
99
100
101
              'user' => $user,
              'filters' => $filters,
              'portfolio' => $portfolio
4f404e20   Administrator   09.02.16
102
103
          ]);
  
97fb6489   Yarik   test
104
105
      }
  
4f404e20   Administrator   09.02.16
106
      public function actionBlogList($performer_id)
97fb6489   Yarik   test
107
      {
4f404e20   Administrator   09.02.16
108
          $user = User::findOne($performer_id);
376a557b   Administrator   09.02.16
109
  
9217ef8e   Administrator   09.02.16
110
111
112
113
114
          if(!$user instanceof User){
              throw new BadRequestHttpException('Пользователь не найден');
          }
  
  
376a557b   Administrator   09.02.16
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
          $query = Blog::find(['user_id'=>$performer_id]);
  
          $countQuery = clone $query;
  
          $pagination = new Pagination(['totalCount' => $countQuery->count(),
                          'pageSize' => 5,
          ]);
  
          $article = $query->offset($pagination->offset)
              ->limit($pagination->limit)
              ->all();
  
          $blog = new ArrayDataProvider([
              'allModels' => $article,
          ]);
  
  
4f404e20   Administrator   09.02.16
132
          return $this->render('blog-list',[
376a557b   Administrator   09.02.16
133
134
135
              'user' => $user,
              'blog' => $blog,
              'pagination' => $pagination
4f404e20   Administrator   09.02.16
136
          ]);
97fb6489   Yarik   test
137
138
      }
  
376a557b   Administrator   09.02.16
139
      public function actionBlogView($performer_id, $link)
97fb6489   Yarik   test
140
      {
376a557b   Administrator   09.02.16
141
          $user = User::findOne($performer_id);
9217ef8e   Administrator   09.02.16
142
143
144
145
146
147
  
          if(!$user instanceof User){
              throw new BadRequestHttpException('Пользователь не найден');
          }
  
  
376a557b   Administrator   09.02.16
148
          $article = Blog::findOne(['link'=>$link,'user_id'=>$performer_id]);
f6ea8941   Administrator   09.02.16
149
150
          $article->view_count ++;
          $article->save();
376a557b   Administrator   09.02.16
151
152
153
154
155
156
157
  
  
          return $this->render('blog-view',[
              'user' => $user,
              'article' =>$article,
  
          ]);
97fb6489   Yarik   test
158
159
      }
  
4f404e20   Administrator   09.02.16
160
      public function actionReview($performer_id)
fbdb1f1c   Yarik   test
161
      {
4f404e20   Administrator   09.02.16
162
          $user = User::findOne($performer_id);
9217ef8e   Administrator   09.02.16
163
164
165
166
167
168
  
          if(!$user instanceof User){
              throw new BadRequestHttpException('Пользователь не найден');
          }
  
  
4f404e20   Administrator   09.02.16
169
170
171
          return $this->render('review',[
              'user' => $user
          ]);
fbdb1f1c   Yarik   test
172
173
      }
  
4f404e20   Administrator   09.02.16
174
      public function actionWorkplace($performer_id)
fbdb1f1c   Yarik   test
175
      {
4f404e20   Administrator   09.02.16
176
          $user = User::findOne($performer_id);
9217ef8e   Administrator   09.02.16
177
178
179
          if(!$user instanceof User){
              throw new BadRequestHttpException('Пользователь не найден');
          }
f6ea8941   Administrator   09.02.16
180
  
4f404e20   Administrator   09.02.16
181
182
183
          return $this->render('workplace',[
              'user' => $user
          ]);
fbdb1f1c   Yarik   test
184
185
      }
  
4f404e20   Administrator   09.02.16
186
      public function actionGallery($performer_id)
fbdb1f1c   Yarik   test
187
      {
4f404e20   Administrator   09.02.16
188
          $user = User::findOne($performer_id);
9217ef8e   Administrator   09.02.16
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
  
          if(!$user instanceof User){
              throw new BadRequestHttpException('Пользователь не найден');
          }
  
  
          $query = Gallery::find(['user_id'=>$performer_id]);
  
          $countQuery = clone $query;
  
          $pagination = new Pagination(['totalCount' => $countQuery->count(),
              'pageSize' => 5,
          ]);
  
          $gallery = $query->offset($pagination->offset)
              ->limit($pagination->limit)
              ->all();
  
          $gallery = new ArrayDataProvider([
              'allModels' => $gallery,
          ]);
  
3d0e6093   Administrator   15.02.16
211
212
          $videos = Fields::getData($user->id,Gallery::className(),'youtube');
  
fbdb1f1c   Yarik   test
213
          $this->layout = 'gallery';
9217ef8e   Administrator   09.02.16
214
  
4f404e20   Administrator   09.02.16
215
          return $this->render('gallery',[
9217ef8e   Administrator   09.02.16
216
217
              'user' => $user,
              'gallery' =>$gallery,
3d0e6093   Administrator   15.02.16
218
219
              'pagination' => $pagination,
              'videos' => $videos
9217ef8e   Administrator   09.02.16
220
           ]);
fbdb1f1c   Yarik   test
221
      }
97fb6489   Yarik   test
222
  }