Commit 4ff3ca88bfd39408db85647e2b196ade9d05be25

Authored by Yarik
1 parent fa284ab0

test

common/models/Blog.php
... ... @@ -2,6 +2,7 @@
2 2  
3 3 namespace common\models;
4 4  
  5 + use common\modules\comment\models\Comment;
5 6 use Yii;
6 7 use yii\behaviors\BlameableBehavior;
7 8 use yii\behaviors\TimestampBehavior;
... ... @@ -30,7 +31,6 @@
30 31 return 'blog';
31 32 }
32 33  
33   -
34 34 /**
35 35 * @inheritdoc
36 36 */
... ... @@ -49,11 +49,11 @@
49 49 'value' => new Expression('NOW()'),
50 50 ],
51 51 'slug' => [
52   - 'class' => 'common\behaviors\Slug',
53   - 'in_attribute' => 'name',
  52 + 'class' => 'common\behaviors\Slug',
  53 + 'in_attribute' => 'name',
54 54 'out_attribute' => 'link',
55   - 'translit' => true
56   - ]
  55 + 'translit' => true,
  56 + ],
57 57 ];
58 58 }
59 59  
... ... @@ -64,7 +64,10 @@
64 64 {
65 65 return [
66 66 [
67   - [ 'name', 'description' ],
  67 + [
  68 + 'name',
  69 + 'description',
  70 + ],
68 71 'required',
69 72 ],
70 73 [
... ... @@ -83,8 +86,9 @@
83 86 ];
84 87 }
85 88  
86   - public function getDateCreate(){
87   - return date('Y-m-d',strtotime($this->date_add));
  89 + public function getDateCreate()
  90 + {
  91 + return date('Y-m-d', strtotime($this->date_add));
88 92 }
89 93  
90 94 /**
... ... @@ -104,4 +108,10 @@
104 108 'cover' => Yii::t('app', 'Фото главное'),
105 109 ];
106 110 }
  111 +
  112 + public function getComments()
  113 + {
  114 + return $this->hasMany(Comment::className(), [ 'model_id' => 'blog_id' ])
  115 + ->where([ 'model' => $this->className() ]);
  116 + }
107 117 }
... ...
common/modules/comment/widgets/CommentWidget.php
... ... @@ -197,12 +197,16 @@
197 197 if(empty( $view )) {
198 198 throw new \yii\base\InvalidConfigException("form_options[view] must be set");
199 199 }
200   - return $this->render($view, [
201   - 'model' => $this->comment_class,
202   - 'rating' => $this->rating_class,
203   - 'user' => \Yii::$app->user->identity,
204   - 'dataProvider' => $this->dataProvider,
205   - ]);
  200 + if($this->comment_class->guestComment || !empty(\Yii::$app->user->identity)) {
  201 + return $this->render($view, [
  202 + 'model' => $this->comment_class,
  203 + 'rating' => $this->rating_class,
  204 + 'user' => \Yii::$app->user->identity,
  205 + 'dataProvider' => $this->dataProvider,
  206 + ]);
  207 + } else {
  208 + return '';
  209 + }
206 210 }
207 211  
208 212 public function renderWidget()
... ...
common/modules/comment/widgets/views/form-project-comment.php
... ... @@ -22,7 +22,7 @@
22 22 <div class="form-value-wr style">
23 23 <div class="form-ico-ded-wr">
24 24 <div class="header-cabinet-foto">
25   - <?= Html::img($user->userInfo->image) ?>
  25 + <?= Html::img(($user->userInfo->image)?:'') ?>
26 26 </div>
27 27 <div class="form-value-ded-name">
28 28 <?= $user->name ?>
... ...
frontend/controllers/CompanyController.php
... ... @@ -211,6 +211,7 @@
211 211  
212 212 $article = $query->offset($pagination->offset)
213 213 ->limit($pagination->limit)
  214 + ->with('comments')
214 215 ->all();
215 216  
216 217 $blog = new ArrayDataProvider([
... ... @@ -232,12 +233,14 @@
232 233 throw new BadRequestHttpException('Пользователь не найден');
233 234 }
234 235  
235   - $article = Blog::findOne([
236   - 'link' => $link,
237   - 'user_id' => $company_id,
238   - ]);
239   - $article->view_count++;
240   - $article->save();
  236 + $article = Blog::find()
  237 + ->where([
  238 + 'link' => $link,
  239 + 'user_id' => $company_id,
  240 + ])
  241 + ->with('comments')
  242 + ->one();
  243 + $article->updateCounters([ 'view_count' => 1 ]);
241 244  
242 245 return $this->render('blog-view', [
243 246 'company' => $company,
... ...
frontend/controllers/PerformerController.php
... ... @@ -97,7 +97,9 @@
97 97 ->all();
98 98  
99 99 $portfolio = new ArrayDataProvider([
100   - 'allModels' => $user->getPortfolios()->orderBy('portfolio_id')->all(),
  100 + 'allModels' => $user->getPortfolios()
  101 + ->orderBy('portfolio_id')
  102 + ->all(),
101 103 'pagination' => [
102 104 'pageSize' => 9,
103 105 ],
... ... @@ -187,6 +189,7 @@
187 189  
188 190 $article = $query->offset($pagination->offset)
189 191 ->limit($pagination->limit)
  192 + ->with('comments')
190 193 ->all();
191 194  
192 195 $blog = new ArrayDataProvider([
... ... @@ -208,16 +211,17 @@
208 211 throw new BadRequestHttpException('Пользователь не найден');
209 212 }
210 213  
211   - $article = Blog::findOne([
212   - 'link' => $link,
213   - 'user_id' => $performer_id,
214   - ]);
  214 + $article = Blog::find()
  215 + ->where([
  216 + 'link' => $link,
  217 + 'user_id' => $performer_id,
  218 + ])
  219 + ->with('comments')->one();
215 220 $article->updateCounters([ 'view_count' => 1 ]);
216 221  
217 222 return $this->render('blog-view', [
218 223 'user' => $user,
219 224 'article' => $article,
220   -
221 225 ]);
222 226 }
223 227  
... ... @@ -254,7 +258,8 @@
254 258 throw new BadRequestHttpException('Пользователь не найден');
255 259 }
256 260  
257   - $query = Gallery::find()->where([ 'user_id' => $performer_id ]);
  261 + $query = Gallery::find()
  262 + ->where([ 'user_id' => $performer_id ]);
258 263  
259 264 $countQuery = clone $query;
260 265  
... ...
frontend/views/company/_blog_list_view.php
... ... @@ -3,7 +3,6 @@
3 3 * @var Blog $model
4 4 */
5 5 use common\models\Blog;
6   - use common\modules\comment\models\Comment;
7 6 use frontend\helpers\TextHelper;
8 7 use yii\helpers\Html;
9 8 use yii\helpers\Url;
... ... @@ -28,12 +27,7 @@
28 27 </div>
29 28 <div class="blog-post-comm-num">
30 29 <span></span>
31   - <p><?= Comment::find()
32   - ->where([
33   - 'model' => $model->className(),
34   - 'model_id' => $model->getPrimaryKey(),
35   - ])
36   - ->count() ?></p>
  30 + <p><?= count($model->comments) ?></p>
37 31 </div>
38 32 </div>
39 33 <div class="blog-post-content style">
... ...
frontend/views/company/blog-view.php
1 1 <?php
2   -use \yii\helpers\Html;
  2 + /**
  3 + * @var View $this
  4 + * @var Blog $article
  5 + * @var User $company
  6 + */
  7 + use common\models\Blog;
  8 + use common\models\User;
  9 + use yii\web\View;
3 10  
4   -/* @var $this yii\web\View */
5   -$this->params['company'] = $company;
6   -
7   -$this->title = $article->name ;
  11 + $this->params[ 'company' ] = $company;
  12 + $this->title = $article->name;
8 13 ?>
9 14 <div class="performer-vacancy-vacant-title-reclam-wr style">
10 15 <div class="blog-post-wr">
... ... @@ -12,15 +17,15 @@ $this-&gt;title = $article-&gt;name ;
12 17 <div class="blog-post-icons-wr style">
13 18 <div class="blog-post-date">
14 19 <span></span>
15   - <p><?= $article->dateCreate?></p>
  20 + <p><?= \Yii::$app->formatter->asDate($article->dateCreate, 'php:d.m.Y') ?></p>
16 21 </div>
17 22 <div class="blog-post-views">
18 23 <span></span>
19   - <p><?= $article->view_count?></p>
  24 + <p><?= $article->view_count ?></p>
20 25 </div>
21 26 <div class="blog-post-comm-num">
22 27 <span></span>
23   - <p><?= $article->view_count?></p>
  28 + <p><?= count($article->comments) ?></p>
24 29 </div>
25 30 </div>
26 31 <div class="blog-post-content style">
... ... @@ -28,3 +33,29 @@ $this-&gt;title = $article-&gt;name ;
28 33 </div>
29 34 </div>
30 35 </div>
  36 +<?php
  37 + echo \common\modules\comment\widgets\CommentWidget::widget([
  38 + 'context' => $this,
  39 + 'model' => $article::className(),
  40 + 'model_id' => $article->blog_id,
  41 + 'comment_class' => \common\modules\comment\models\Comment::className(),
  42 + 'rating_class' => \common\modules\comment\models\Rating::className(),
  43 + 'class_options' => [
  44 + 'scenario' => is_int(\Yii::$app->user->getId()) ? \common\modules\comment\models\Comment::SCENARIO_USER : \common\modules\comment\models\Comment::SCENARIO_GUEST,
  45 + 'user_id' => \Yii::$app->user->getId(),
  46 + 'guestComment' => true,
  47 + 'status' => \common\modules\comment\models\Comment::STATUS_ACTIVE,
  48 + ],
  49 + 'list_options' => [
  50 + 'view' => 'list-comment',
  51 + ],
  52 + 'form_options' => [
  53 + 'view' => 'form-comment',
  54 + 'tag' => 'div',
  55 + 'class' => 'artbox_comment_form',
  56 + ],
  57 + 'options' => [
  58 + 'class' => 'new-portf-comments-wr style',
  59 + ],
  60 + ]);
  61 +?>
... ...
frontend/views/company/vacancy-view.php
... ... @@ -78,7 +78,7 @@
78 78 'link' => $similar_vacancy->link,
79 79 ]), [ 'class' => 'performer-vacant-reclam-bl-title' ]) ?>
80 80  
81   - <div class="performer-vacant-reclam-bl-title-two"><?= $similar_vacancy->city ?>. <?= \Yii::$app->formatter->asDatetime($similar_vacancy->date_add, 'Y-MM-dd') ?>.
  81 + <div class="performer-vacant-reclam-bl-title-two"><?= $similar_vacancy->city ?>. <?= \Yii::$app->formatter->asDatetime($similar_vacancy->date_add, 'dd.MM.Y') ?>.
82 82 <?php
83 83 if(!empty( $similar_vacancy->salary )) {
84 84 ?>
... ...
frontend/views/performer/_blog_list_view.php
... ... @@ -28,12 +28,7 @@
28 28 </div>
29 29 <div class="blog-post-comm-num">
30 30 <span></span>
31   - <p><?= Comment::find()
32   - ->where([
33   - 'model' => $model->className(),
34   - 'model_id' => $model->getPrimaryKey(),
35   - ])
36   - ->count() ?></p>
  31 + <p><?= count($model->comments) ?></p>
37 32 </div>
38 33 </div>
39 34 <div class="blog-post-content style">
... ...
frontend/views/performer/blog-list.php
1 1 <?php
  2 + /**
  3 + * @var ArrayDataProvider $blog
  4 + * @var Pagination $pagination
  5 + * @var yii\web\View $this
  6 + */
  7 + use yii\data\ArrayDataProvider;
  8 + use yii\data\Pagination;
  9 + use yii\widgets\LinkPager;
  10 + use yii\widgets\ListView;
2 11  
3   -use \yii\helpers\Html;
4   -use yii\widgets\LinkPager;
5   -use yii\widgets\ListView;
6   -
7   -/* @var $this yii\web\View */
8   -$this->params['user'] = $user;
9   -$this->title = 'My Yii Application';
  12 + $this->params[ 'user' ] = $user;
  13 + $this->title = 'My Yii Application';
10 14 ?>
11 15 <div class="performer-vacancy-vacant-title-reclam-wr style">
12 16  
13   - <?=
14   - ListView::widget( [
  17 + <?= ListView::widget([
15 18 'dataProvider' => $blog,
16   - 'itemView'=>'_blog_list_view',
17   - 'summary'=>'',
18   - ] );
19   - ?>
  19 + 'itemView' => '_blog_list_view',
  20 + 'summary' => '',
  21 + ]); ?>
20 22 </div>
21 23 <div class="navi-buttons-wr style">
22   - <?=
23   - LinkPager::widget([
  24 + <?= LinkPager::widget([
24 25 'pagination' => $pagination,
25   - ]);
26   - ?>
  26 + ]); ?>
27 27 </div>
28 28  
... ...
frontend/views/performer/blog-view.php
1 1 <?php
2   - use \yii\helpers\Html;
  2 + /**
  3 + * @var yii\web\View $this
  4 + * @var Blog $article
  5 + */
  6 + use common\models\Blog;
3 7  
4   - /* @var $this yii\web\View */
5   - $this->params['user'] = $user;
  8 + $this->params[ 'user' ] = $user;
6 9  
7   - $this->title = $article->name ;
  10 + $this->title = $article->name;
8 11 ?>
9 12 <div class="performer-vacancy-vacant-title-reclam-wr style">
10 13 <div class="blog-post-wr">
... ... @@ -12,15 +15,15 @@
12 15 <div class="blog-post-icons-wr style">
13 16 <div class="blog-post-date">
14 17 <span></span>
15   - <p><?= $article->dateCreate?></p>
  18 + <p><?= \Yii::$app->formatter->asDate($article->date_add, 'php:d.m.Y') ?></p>
16 19 </div>
17 20 <div class="blog-post-views">
18 21 <span></span>
19   - <p><?= $article->view_count?></p>
  22 + <p><?= $article->view_count ?></p>
20 23 </div>
21 24 <div class="blog-post-comm-num">
22 25 <span></span>
23   - <p><?= $article->view_count?></p>
  26 + <p><?= count($article->comments) ?></p>
24 27 </div>
25 28 </div>
26 29 <div class="blog-post-content style">
... ... @@ -28,3 +31,29 @@
28 31 </div>
29 32 </div>
30 33 </div>
  34 +<?php
  35 + echo \common\modules\comment\widgets\CommentWidget::widget([
  36 + 'context' => $this,
  37 + 'model' => $article::className(),
  38 + 'model_id' => $article->blog_id,
  39 + 'comment_class' => \common\modules\comment\models\Comment::className(),
  40 + 'rating_class' => \common\modules\comment\models\Rating::className(),
  41 + 'class_options' => [
  42 + 'scenario' => is_int(\Yii::$app->user->getId()) ? \common\modules\comment\models\Comment::SCENARIO_USER : \common\modules\comment\models\Comment::SCENARIO_GUEST,
  43 + 'user_id' => \Yii::$app->user->getId(),
  44 + 'guestComment' => true,
  45 + 'status' => \common\modules\comment\models\Comment::STATUS_ACTIVE,
  46 + ],
  47 + 'list_options' => [
  48 + 'view' => 'list-comment',
  49 + ],
  50 + 'form_options' => [
  51 + 'view' => 'form-comment',
  52 + 'tag' => 'div',
  53 + 'class' => 'artbox_comment_form',
  54 + ],
  55 + 'options' => [
  56 + 'class' => 'new-portf-comments-wr style',
  57 + ],
  58 + ]);
  59 +?>
... ...
frontend/views/tender/view.php
... ... @@ -47,7 +47,7 @@ $this-&gt;title = &#39;My Yii Application&#39;;
47 47 <div class="section-box">
48 48 <div class="cabinet-message-read-autor-wr style">
49 49 <div class="cabinet-message-read-foto-wr">
50   - <div class="cabinet-message-read-foto"><img src="<?= $model->user->userInfo->image ?>" alt=""/></div>
  50 + <div class="cabinet-message-read-foto"><img src="<?= ($model->user->userInfo->image)?:'' ?>" alt=""/></div>
51 51 </div>
52 52 <div class="cab-mes-read-cont">
53 53 <div class="cab-mes-read-cont-title"><?= $model->user->owner->name ?></div>
... ...