Commit 658d13d421e85dd5e85c97767b7dd89d0bc50a76

Authored by Administrator
1 parent ca009a89

09.02.16

common/components/UserCheck.php 0 → 100644
  1 +<?php
  2 +
  3 +namespace common\components;
  4 +
  5 +use common\models\User;
  6 +use common\models\UserInfo;
  7 +use Yii;
  8 +use yii\base\BootstrapInterface;
  9 +use yii\db\Expression;
  10 +
  11 +
  12 +class UserCheck implements BootstrapInterface
  13 +{
  14 + public function bootstrap($app){
  15 + \Yii::$app->on(\yii\base\Application::EVENT_BEFORE_REQUEST, function ($event) {
  16 +
  17 + if(\Yii::$app->user->identity instanceof User){
  18 + $userInfo = \Yii::$app->user->identity->userInfo;
  19 + $expression = new Expression('NOW()');
  20 + $userInfo->date_visit = (new \yii\db\Query)->select($expression)->scalar();
  21 + $userInfo->save();
  22 + }
  23 +
  24 + });
  25 + return $app;
  26 + }
  27 +
  28 +}
0 29 \ No newline at end of file
... ...
common/models/User.php
... ... @@ -275,6 +275,12 @@ class User extends ActiveRecord implements IdentityInterface, UserRbacInterface
275 275 return $this->hasOne(CompanyInfo::className(), ['user_id' => 'id']);
276 276 }
277 277  
  278 + public function getLiveTime(){
  279 +
  280 + $now = new \DateTime('now');
  281 + $date1 = new \DateTime(date ('Y-m-d H:i:s',$this->created_at));
  282 + return \Yii::$app->formatter->asRelativeTime($date1->diff($now));
  283 + }
278 284  
279 285 public function getIsPerformer()
280 286 {
... ...
common/models/UserInfo.php
... ... @@ -72,6 +72,18 @@ class UserInfo extends \yii\db\ActiveRecord
72 72 ];
73 73 }
74 74  
  75 +
  76 + public function getBusyText(){
  77 + return $this->busy ? 'Занят' : 'Свободный';
  78 + }
  79 +
  80 +
  81 + public function getLastVisit(){
  82 + return \Yii::$app->formatter->asRelativeTime($this->date_visit);
  83 + }
  84 +
  85 +
  86 +
75 87 /**
76 88 * @inheritdoc
77 89 */
... ...
common/modules/file/controllers/UploaderController.php
... ... @@ -50,7 +50,7 @@ class UploaderController extends Controller {
50 50 $e1_height = $height/$width;
51 51  
52 52  
53   - if($this->isBigger($width,$height,$w,$h)){
  53 +// if($this->isBigger($width,$height,$w,$h)){
54 54 if($e_width<$e1_width){
55 55  
56 56 $new_width = $width*($e_width/$e1_width);
... ... @@ -68,10 +68,10 @@ class UploaderController extends Controller {
68 68 }
69 69  
70 70  
71   - } else {
72   - $img->save($imageAliasSave, array('flatten' => false));
73   - return true;
74   - }
  71 +// } else {
  72 +// $img->save($imageAliasSave, array('flatten' => false));
  73 +// return true;
  74 +// }
75 75  
76 76  
77 77 Image::crop($imageAlias, $width, $height,[$x,$y])
... ...
common/widgets/views/courses_field.php
... ... @@ -6,9 +6,9 @@
6 6  
7 7 <div class="skills-title">Пройденные курсы, тренинги</div>
8 8  
9   - <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
10 9  
11 10  
  11 + <div class="field_list">
12 12 <?php $t = 0;
13 13 for($i = 1; $i <= count($model); $i++):
14 14 $row = $i;
... ... @@ -25,8 +25,8 @@
25 25 <?= Html::endTag('div') ?>
26 26 <?php $i = ++$t; ?>
27 27 <?php endfor; ?>
28   -
29   -
  28 + </div>
  29 + <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
30 30 </fieldset>
31 31 <script>
32 32 var start_i_<?=$this->context->id?> = <?=$i?>;
... ... @@ -39,7 +39,7 @@
39 39 function ()
40 40 {
41 41 var block = $ (this)
42   - .parent ('fieldset');
  42 + .siblings('.field_list');
43 43 var block_id = $ (this)
44 44 .parent ('fieldset');
45 45 var sub_block = '<div class="form-group" >' +
... ... @@ -47,7 +47,6 @@
47 47 '<input type="number" class="form-control" value="" name="Fields[courses][' + start_i_<?=$this->context->id?>++ + '][1][year]" />' +
48 48 '<span title="удалить" class="glyphicon glyphicon-trash delete-field-item"></span>' +
49 49 '<div>';
50   - console.log (block);
51 50 block.append (sub_block);
52 51 }
53 52 );
... ...
common/widgets/views/development_field.php
... ... @@ -6,9 +6,7 @@
6 6  
7 7 <div class="skills-title">Собственные разработки, патенты</div>
8 8  
9   - <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
10   -
11   -
  9 + <div class="field_list">
12 10 <?php $t = 0;
13 11 for($i = 1; $i <= count($model); $i++):
14 12 $row = $i;
... ... @@ -26,7 +24,8 @@
26 24 <?php $i = ++$t; ?>
27 25 <?php endfor; ?>
28 26  
29   -
  27 + </div>
  28 + <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
30 29 </fieldset>
31 30 <script>
32 31 var start_i_<?=$this->context->id?> = <?=$i?>;
... ... @@ -39,7 +38,7 @@
39 38 function ()
40 39 {
41 40 var block = $ (this)
42   - .parent ('fieldset');
  41 + .siblings('.field_list');
43 42 var block_id = $ (this)
44 43 .parent ('fieldset');
45 44 var sub_block = '<div class="form-group" >' +
... ...
common/widgets/views/education_field.php
... ... @@ -6,8 +6,7 @@
6 6  
7 7 <div class="skills-title">Образование</div>
8 8  
9   -
10   - <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
  9 + <div class="field_list">
11 10  
12 11 <?php $t = 0;
13 12 for($i = 1; $i <= count($model); $i++):
... ... @@ -33,8 +32,8 @@
33 32 <?php $i = ++$t; ?>
34 33 <?php endfor; ?>
35 34  
36   -
37   -
  35 + </div>
  36 + <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
38 37 </fieldset>
39 38  
40 39 <script>
... ... @@ -48,7 +47,7 @@
48 47 function ()
49 48 {
50 49 var block = $ (this)
51   - .parent ('fieldset');
  50 + .siblings('.field_list');
52 51 var block_id = $ (this)
53 52 .parent ('fieldset');
54 53 var sub_block = '<div class="form-group" >' +
... ...
common/widgets/views/phone_field.php
... ... @@ -5,7 +5,7 @@
5 5  
6 6 <legend>Телефон</legend>
7 7  
8   - <p class="btn btn-success add_field_<?=$this->context->id?>">Добавить поле</p>
  8 + <div class="field_list">
9 9  
10 10  
11 11 <?php $t = 0; for($i=1; $i <= count($model); $i++):
... ... @@ -20,14 +20,16 @@
20 20 <?php $i = ++ $t; ?>
21 21 <?php endfor; ?>
22 22  
23   -
  23 + </div>
  24 + <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
24 25  
25 26 </fieldset>
26 27 <script>
27 28 var start_i_<?=$this->context->id?> = <?=$i?>;
28 29 $( document ).ready(function(){
29 30 $('.add_field_<?=$this->context->id?>').click(function(){
30   - var block = $(this).parent('fieldset');
  31 + var block = $ (this)
  32 + .siblings('.field_list');
31 33 var block_id = $(this).parent('fieldset');
32 34 var sub_block = '<div class="form-group" >'+
33 35 '<input type="text" placeholder="Телефон" class="form-control" value="" name="Fields[phone]['+ start_i_<?=$this->context->id?>++ +'][0][phone]" />'+
... ...
common/widgets/views/requirements_field.php
... ... @@ -6,7 +6,7 @@
6 6  
7 7 <legend>Требования</legend>
8 8  
9   - <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
  9 + <div class="field_list">
10 10  
11 11  
12 12 <?php $t = 0;
... ... @@ -25,7 +25,8 @@
25 25 <?php $i = ++$t; ?>
26 26 <?php endfor; ?>
27 27  
28   -
  28 + </div>
  29 + <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
29 30 </fieldset>
30 31 <script>
31 32 var start_i_<?=$this->context->id?> = <?=$i?>;
... ... @@ -38,7 +39,7 @@
38 39 function ()
39 40 {
40 41 var block = $ (this)
41   - .parent ('fieldset');
  42 + .siblings('.field_list');
42 43 var block_id = $ (this)
43 44 .parent ('fieldset');
44 45 var sub_block = '<div class="form-group" >' +
... ...
common/widgets/views/site_field.php
... ... @@ -5,7 +5,7 @@ use yii\helpers\Html;
5 5  
6 6 <legend>Сайт</legend>
7 7  
8   - <p class="btn btn-success add_field_<?=$this->context->id?>">Добавить поле</p>
  8 + <div class="field_list">
9 9  
10 10  
11 11 <?php $t = 0; for($i=1; $i <= count($model); $i++):
... ... @@ -20,14 +20,16 @@ use yii\helpers\Html;
20 20 <?php $i = ++ $t; ?>
21 21 <?php endfor; ?>
22 22  
23   -
  23 + </div>
  24 + <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
24 25  
25 26 </fieldset>
26 27 <script>
27 28 var start_i_<?=$this->context->id?> = <?=$i?>;
28 29 $( document ).ready(function(){
29 30 $('.add_field_<?=$this->context->id?>').click(function(){
30   - var block = $(this).parent('fieldset');
  31 + var block = $ (this)
  32 + .siblings('.field_list');
31 33 var block_id = $(this).parent('fieldset');
32 34 var sub_block = '<div class="form-group" >'+
33 35 '<input type="text" placeholder="Телефон" class="form-control" value="" name="Fields[site]['+ start_i_<?=$this->context->id?>++ +'][0][site]" />'+
... ...
common/widgets/views/soft_field.php
... ... @@ -6,7 +6,7 @@
6 6  
7 7 <div class="skills-title">Работа с программами</div>
8 8  
9   - <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
  9 + <div class="field_list">
10 10  
11 11  
12 12 <?php $t = 0;
... ... @@ -25,7 +25,8 @@
25 25 <?php $i = ++$t; ?>
26 26 <?php endfor; ?>
27 27  
28   -
  28 + </div>
  29 + <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
29 30 </fieldset>
30 31 <script>
31 32 var start_i_<?=$this->context->id?> = <?=$i?>;
... ... @@ -38,7 +39,7 @@
38 39 function ()
39 40 {
40 41 var block = $ (this)
41   - .parent ('fieldset');
  42 + .siblings('.field_list');
42 43 var block_id = $ (this)
43 44 .parent ('fieldset');
44 45 var sub_block = '<div class="form-group" >' +
... ...
common/widgets/views/youtube_field.php
... ... @@ -6,7 +6,7 @@
6 6  
7 7 <legend>Видео с Youtube</legend>
8 8  
9   - <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
  9 + <div class="field_list">
10 10  
11 11  
12 12 <?php $t = 0;
... ... @@ -24,7 +24,8 @@
24 24 <?= Html::endTag('div') ?>
25 25 <?php $i = ++$t; ?>
26 26 <?php endfor; ?>
27   -
  27 + </div>
  28 + <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить поле</p>
28 29  
29 30 </fieldset>
30 31 <script>
... ... @@ -38,7 +39,7 @@
38 39 function ()
39 40 {
40 41 var block = $ (this)
41   - .parent ('fieldset');
  42 + .siblings('.field_list');
42 43 var block_id = $ (this)
43 44 .parent ('fieldset');
44 45 var sub_block = '<div class="form-group" >' +
... ...
frontend/config/main.php
... ... @@ -13,11 +13,23 @@ return [
13 13 'id' => 'app-frontend',
14 14 'basePath' => dirname(__DIR__),
15 15 //'bootstrap' => ['log', 'PageController'],
16   - 'bootstrap' => ['log'],
  16 +// 'bootstrap' => ['log'],
17 17 'controllerNamespace' => 'frontend\controllers',
18 18 'modules' => [
19 19  
20 20 ],
  21 + 'bootstrap' => [
  22 +
  23 + // название класса
  24 + 'common\components\UserCheck',
  25 +
  26 +
  27 + // анонимная функция
  28 + function () {
  29 + return new common\components\UserCheck;
  30 + }
  31 + ],
  32 +
21 33 'components' => [
22 34 //'PageController'=>[
23 35 // 'class' => 'frontend\controllers\PageController'
... ...
frontend/controllers/PerformerController.php
1 1 <?php
2 2 namespace frontend\controllers;
3 3  
  4 +use common\models\Fields;
  5 +use common\widgets\FieldEditor;
4 6 use Yii;
5 7 use common\models\LoginForm;
6 8 use frontend\models\PasswordResetRequestForm;
... ... @@ -46,9 +48,19 @@ class PerformerController extends Controller
46 48 ];
47 49 }
48 50  
  51 + /**
  52 + * @var $user common\models\User
  53 + */
49 54 public function actionIndex()
50 55 {
51   - return $this->render('common');
  56 + $user = \Yii::$app->user->identity;
  57 +
  58 + $education = Fields::getData($user->id,$user::className(),'education');
  59 +
  60 + return $this->render('common',[
  61 + 'user' => \Yii::$app->user->identity,
  62 + '$education' => $education
  63 + ]);
52 64 }
53 65  
54 66 public function actionCommon(/*$performer_id*/)
... ...
frontend/views/accounts/general.php
... ... @@ -221,7 +221,7 @@
221 221 'model'=> $user_info,
222 222 'field'=>'poster',
223 223 'width'=>1920,
224   - 'height'=>600,
  224 + 'height'=>235,
225 225 'multi'=>false,
226 226 'gallery' =>$user_info->poster,
227 227 'name' => 'Выбрать файл'
... ...
frontend/views/layouts/performer.php
1 1 <?php
2 2  
  3 +use yii\helpers\Html;
3 4 use yii\widgets\Breadcrumbs;
4 5 use yii\widgets\Menu;
5 6  
... ... @@ -9,7 +10,7 @@ $this-&gt;beginContent(&#39;@app/views/layouts/main.php&#39;);
9 10  
10 11 ?>
11 12 <div class="section-box content">
12   - <div class="section-box-16" style="background: url('<?= Yii::$app->user->identity->userInfo->poster;?>') no-repeat">
  13 + <div class="section-box-16" style="background: url('<?= Yii::$app->user->identity->userInfo->poster;?>') 50% no-repeat">
13 14 <div class="box-wr">
14 15 <div class="box-all">
15 16 <div class="blog-buttons-wr style">
... ... @@ -91,28 +92,37 @@ $this-&gt;beginContent(&#39;@app/views/layouts/main.php&#39;);
91 92 <div class="performance-vacancy-sidebar-comm style">30 отзывов</div>
92 93 <a href="#" class="performance-vacancy-sidebar-write style">написать отзыв</a>
93 94 </div>
94   - <div class="performer-vacancy-sidebar-img style"><img src="/images/ded-foto.jpg" alt=""/></div>
  95 + <div class="performer-vacancy-sidebar-img style">
  96 + <?= Html::img(Yii::$app->user->identity->userInfo->image);?>
  97 + </div>
95 98 <div class="performer-vacancy-sidebar-all style">
96 99 <div class="performer-vacancy-sidebar-soc style">
97 100 <ul>
98   - <li><a target="_blank" href="#"><img src="/images/ico-fb.png" alt=""/></a></li>
99   - <li><a target="_blank" href="#"><img src="/images/ico-tw.png" alt=""/></a></li>
100   - <li><a target="_blank" href="#"><img src="/images/ico-in.png" alt=""/></a></li>
101   - <li><a target="_blank" href="#"><img src="/images/ico-vk.png" alt=""/></a></li>
  101 + <li>
  102 + <?= Html::a(Html::img('/images/ico-fb.png'),[Yii::$app->user->identity->userInfo->social_fb],['target'=>'_blank'])?>
  103 + </li>
  104 + <li>
  105 + <?= Html::a(Html::img('/images/ico-tw.png'),[Yii::$app->user->identity->userInfo->social_t],['target'=>'_blank'])?>
  106 + </li>
  107 + <li>
  108 + <?= Html::a(Html::img('/images/ico-in.png'),[Yii::$app->user->identity->userInfo->social_in],['target'=>'_blank'])?>
  109 + </li>
  110 + <li>
  111 + <?= Html::a(Html::img('/images/ico-vk.png'),[Yii::$app->user->identity->userInfo->social_vk],['target'=>'_blank'])?>
  112 + </li>
102 113 </ul>
103 114 </div>
104 115 <div class="performer-vacancy-sidebar-views style">
105 116 <ul class="style">
106   - <li><img src="/images/sidebar-ico/ico-1.png" alt=""/><div class="sidebarvievstxt">2562 просмотра</div></li>
107   - <li><img src="/images/sidebar-ico/ico-9.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">Статус: </span>свободен</div></li>
108   - <li><img src="/images/sidebar-ico/ico-2.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">На сайте: </span>1г. 8 мес.</div></li>
109   - <li><img src="/images/sidebar-ico/ico-3.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">Последний визит:<br /></span>2 дня назад</div></li>
110   - <li><img src="/images/sidebar-ico/ico-10.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">Трудовой стаж:<br /></span>10 лет 6 месяцев</div></li>
111   - <li><img src="/images/sidebar-ico/ico-11.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">Звание в МФП:<br /></span>кандидат в МФП</div></li>
112   - <li><img src="/images/sidebar-ico/ico-4.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">Последнее обновление: </span>1 ноября 2015</div></li>
113   - <li><img src="/images/sidebar-ico/ico-12.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">Стоимость работ:<br /></span>от 500 грн за час</div></li>
  117 + <li><img src="/images/sidebar-ico/ico-1.png" alt=""/><div class="sidebarvievstxt"><?= Yii::$app->user->identity->userInfo->view_count?> просмотра</div></li>
  118 + <li><img src="/images/sidebar-ico/ico-9.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">Статус: </span><?= Yii::$app->user->identity->userInfo->busyText?></div></li>
  119 + <li><img src="/images/sidebar-ico/ico-2.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">На сайте: </span><?= Yii::$app->user->identity->liveTime?></div></li>
  120 + <li><img src="/images/sidebar-ico/ico-3.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">Последний визит:<br /></span><?= Yii::$app->user->identity->userInfo->lastVisit?></div></li>
  121 + <li><img src="/images/sidebar-ico/ico-10.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">Трудовой стаж:<br /></span><?= Yii::$app->user->identity->userInfo->experience?></div></li>
  122 + <li><img src="/images/sidebar-ico/ico-11.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">Звание в МФП:<br /></span><?= Yii::$app->user->identity->userInfo->rank?></div></li>
  123 + <li><img src="/images/sidebar-ico/ico-12.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">Стоимость работ:<br /></span><?= Yii::$app->user->identity->userInfo->salary?></div></li>
114 124 <li><img src="/images/sidebar-ico/ico-13.png" alt=""/><div class="sidebarvievstxt">Наличный, безналичный расчет, электронные деньги</div></li>
115   - <li><img src="/images/sidebar-ico/ico-14.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">Текущее место работы:<br /></span>ООО “Дизайнер”</div></li>
  125 + <li><img src="/images/sidebar-ico/ico-14.png" alt=""/><div class="sidebarvievstxt"><span class="sidebar-views-txt">Текущее место работы:<br /></span><?= Yii::$app->user->identity->userInfo->job?></div></li>
116 126  
117 127 </ul>
118 128 </div>
... ...
frontend/views/performer/common.php
... ... @@ -2,22 +2,15 @@
2 2  
3 3 use \yii\helpers\Html;
4 4  
5   -/* @var $this yii\web\View */
  5 +/* @var $this yii\web\View
  6 + * @var $user common\models\User
  7 + */
6 8  
7 9 $this->title = 'My Yii Application';
8 10 ?>
9 11 <div class="proektant-profile-content">
10 12 <div class="proektant-profile-hidden-txt">
11   - <p>Дизайнер, проектировщик, визуализатор.</p>
12   - <p>Предоставление строительной бригады с большим опытом работы.</p>
13   - <p>Ремонт "Под ключ".</p>
14   - <p>Оказываю весь спектр услуг в области дизайна интерьеров в Сочи. Начиная с разработки дизайн — проекта и заканчивая финишной отделкой помещений.</p>
15   -
16   - <p>Зверям алкаем геенна забудь ветром. Уж До зрит Ты Со вы Идет сидя Он воды злак Се Во. Ли пить свод ей да Се очах ты быть се мя края роду. . Меч ком умы всё был нег оно над. Так умом Умом уме жену нее Лию неба зрит лик дух пир. </p>
17   - <p>Оком рек чтя Под мир роз сон Тем Сына лиры Век. Рожденный рабствуют праведник Умудряйся. Незаконно Посвятясь Провождай Царствует. Их яд до не небрежа во Вы об ко Незримы общница. . Моя оставлять или ослепляет цел мужествен Смиренных всемирный раз праведный тук. Схохлена Змеистых пробавил весельем ветряных. Во Соделалось устремится Не мя Поработают От благовенья. Сад родом Жертв Уже Катит Тем струя Сам Самый Пук холме. Обильным сочетает разделил разность Страдать чувствия. </p>
18   - <p>Неба поет Живя Весь Горе. Мука ль вы Их дней он ИЗ НА Нощи Вы были паки то Кого. Из он ни Из. Ее То Им на НА. Дух тли Мир тих. На Доблести бы пророках от во Мы да Подвигни. То до во ея За ко. Зла Они без шум жен мои зло. Се ты да то Кто за Ея мя За. Возводит Пастушья удаленьи ИСТИННОЕ БРАТСКОЕ </p>
19   - <p>Се презирая се Ту НА струится черплешь яр восторге восхитят всемочны. До Те Являлся Ты Из погреби им Внимает На Ангелов тревога пройдут. То ПОМОЩЬ вещать ах им об Те По Ты ты отсвет языком грехах. По Полна их Со во новое На Ты же вверх всяка. . Фурии Дай тем Вот истин остов Броня воплю сад лик. Пламенны начальна творенье облекись ароматно. Ту он от милосердье со Правосудие По На ПОДРАЖАНИЕ. Уз из Да воздушных Заповедям полагаюсь окруженно пламенной Аз То. </p>
20   - <p>Тя пиитах льщуся беседу се ст Их. Ваш Или чтит ходи Неба идут сует Где чуд. Вод Доднесь вид все неслися Блеснет Час Глотает поя воздуха белизна вер. Дав простирают Проникнули полагаться тма нас кою. Ко Те За ИЗ бы ея ты во</p>
  13 + <?= $user->userInfo->about?>
21 14 </div>
22 15 <a href="#" class="profile-see-all"></a>
23 16 <div class="proektant-profile-courses-wr style">
... ...