Commit 9fd076e851141059796a4732436dd2deaaad0122
1 parent
d2f56112
01.03.16
Showing
23 changed files
with
189 additions
and
128 deletions
Show diff stats
.gitignore
common/config/main.php
@@ -26,6 +26,7 @@ | @@ -26,6 +26,7 @@ | ||
26 | ] | 26 | ] |
27 | ] | 27 | ] |
28 | ], | 28 | ], |
29 | + | ||
29 | 'modules' => [ | 30 | 'modules' => [ |
30 | 'permit' => [ | 31 | 'permit' => [ |
31 | 'class' => 'common\components\developeruz\db_rbac\Yii2DbRbac', | 32 | 'class' => 'common\components\developeruz\db_rbac\Yii2DbRbac', |
@@ -86,6 +87,7 @@ | @@ -86,6 +87,7 @@ | ||
86 | 'options', | 87 | 'options', |
87 | ], | 88 | ], |
88 | 'components' => [ | 89 | 'components' => [ |
90 | + | ||
89 | 'cache' => [ | 91 | 'cache' => [ |
90 | 'class' => 'yii\caching\FileCache', | 92 | 'class' => 'yii\caching\FileCache', |
91 | ], | 93 | ], |
common/models/Chat.php
@@ -19,6 +19,8 @@ use Yii; | @@ -19,6 +19,8 @@ use Yii; | ||
19 | */ | 19 | */ |
20 | class Chat extends \yii\db\ActiveRecord | 20 | class Chat extends \yii\db\ActiveRecord |
21 | { | 21 | { |
22 | + public $newMessage; | ||
23 | + | ||
22 | /** | 24 | /** |
23 | * @inheritdoc | 25 | * @inheritdoc |
24 | */ | 26 | */ |
@@ -75,6 +77,41 @@ class Chat extends \yii\db\ActiveRecord | @@ -75,6 +77,41 @@ class Chat extends \yii\db\ActiveRecord | ||
75 | */ | 77 | */ |
76 | public function getMessages() | 78 | public function getMessages() |
77 | { | 79 | { |
78 | - return $this->hasMany(Message::className(), ['chat_id' => 'chat_id'])->orderBy('message_id') ; | 80 | + return $this->hasMany(Message::className(), ['chat_id' => 'chat_id']) ; |
81 | + | ||
82 | + } | ||
83 | + | ||
84 | + | ||
85 | + public function getAllMessages(){ | ||
86 | + $messages = $this->hasMany(Message::className(), ['chat_id' => 'chat_id'])->orderBy('message_id'); | ||
87 | + $messages_clone = clone($messages); | ||
88 | + Message::updateAll(['status' => 0], ['message_id' => $messages->select(['message_id'])->where(['status' => 1])->column()]); | ||
89 | + | ||
90 | + return $messages_clone; | ||
91 | + } | ||
92 | + | ||
93 | + | ||
94 | + public function getInterlocutor(){ | ||
95 | + if($this->from_user == \Yii::$app->user->id){ | ||
96 | + return UserInfo::findOne(['user_id'=>$this->to_user]); | ||
97 | + } else { | ||
98 | + return UserInfo::findOne(['user_id'=>$this->from_user]); | ||
99 | + } | ||
100 | + } | ||
101 | + | ||
102 | + public function hasNewMessage(){ | ||
103 | + $newMessages = $this->getMessages()->where(['status'=>'1', ]) | ||
104 | + ->andWhere(['<>','user_id', \Yii::$app->user->id])->all(); | ||
105 | + if($newMessages){ | ||
106 | + | ||
107 | + $this->newMessage = $newMessages; | ||
108 | + | ||
109 | + return true; | ||
110 | + | ||
111 | + } else { | ||
112 | + return false; | ||
113 | + } | ||
79 | } | 114 | } |
115 | + | ||
116 | + | ||
80 | } | 117 | } |
common/models/Job.php
@@ -28,6 +28,34 @@ class Job extends \yii\db\ActiveRecord | @@ -28,6 +28,34 @@ class Job extends \yii\db\ActiveRecord | ||
28 | return 'job'; | 28 | return 'job'; |
29 | } | 29 | } |
30 | 30 | ||
31 | + | ||
32 | + /** | ||
33 | + * @inheritdoc | ||
34 | + */ | ||
35 | + public function behaviors() | ||
36 | + { | ||
37 | + return [ | ||
38 | + 'slug' => [ | ||
39 | + 'class' => 'common\behaviors\Slug', | ||
40 | + 'in_attribute' => 'name', | ||
41 | + 'out_attribute' => 'link', | ||
42 | + 'translit' => true | ||
43 | + ] | ||
44 | + ]; | ||
45 | + } | ||
46 | + | ||
47 | + public function beforeSave($insert) | ||
48 | + { | ||
49 | + $this->date_start = \Yii::$app->formatter->asDatetime($this->date_start, 'Y-MM-d HH:mm:ss'); | ||
50 | + | ||
51 | + if($this->date_end) { | ||
52 | + $this->date_end = \Yii::$app->formatter->asDatetime($this->date_end, 'Y-MM-d HH:mm:ss'); | ||
53 | + } | ||
54 | + | ||
55 | + | ||
56 | + return parent::beforeSave($insert); // TODO: Change the autogenerated stub | ||
57 | + } | ||
58 | + | ||
31 | /** | 59 | /** |
32 | * @inheritdoc | 60 | * @inheritdoc |
33 | */ | 61 | */ |
common/models/Message.php
@@ -23,6 +23,9 @@ class Message extends \yii\db\ActiveRecord | @@ -23,6 +23,9 @@ class Message extends \yii\db\ActiveRecord | ||
23 | 23 | ||
24 | public $file; | 24 | public $file; |
25 | 25 | ||
26 | + const NEW_MESSAGE = 1; | ||
27 | + const READ_MESSAGE = 0; | ||
28 | + | ||
26 | /** | 29 | /** |
27 | * @inheritdoc | 30 | * @inheritdoc |
28 | */ | 31 | */ |
@@ -40,6 +43,7 @@ class Message extends \yii\db\ActiveRecord | @@ -40,6 +43,7 @@ class Message extends \yii\db\ActiveRecord | ||
40 | [['chat_id', 'user_id', 'status'], 'integer'], | 43 | [['chat_id', 'user_id', 'status'], 'integer'], |
41 | [['text'], 'string'], | 44 | [['text'], 'string'], |
42 | [['date','file'], 'safe'], | 45 | [['date','file'], 'safe'], |
46 | + [['status'], 'default', 'value' => self::NEW_MESSAGE], | ||
43 | [['files'], 'string', 'max' => 255], | 47 | [['files'], 'string', 'max' => 255], |
44 | [['chat_id'], 'exist', 'skipOnError' => true, 'targetClass' => Chat::className(), 'targetAttribute' => ['chat_id' => 'chat_id']], | 48 | [['chat_id'], 'exist', 'skipOnError' => true, 'targetClass' => Chat::className(), 'targetAttribute' => ['chat_id' => 'chat_id']], |
45 | ]; | 49 | ]; |
@@ -76,7 +80,12 @@ class Message extends \yii\db\ActiveRecord | @@ -76,7 +80,12 @@ class Message extends \yii\db\ActiveRecord | ||
76 | 80 | ||
77 | public function getFilesList(){ | 81 | public function getFilesList(){ |
78 | $files = json_decode($this->files); | 82 | $files = json_decode($this->files); |
79 | - return File::findAll($files); | 83 | + if(!empty($files)){ |
84 | + return File::findAll($files); | ||
85 | + } else { | ||
86 | + return false; | ||
87 | + } | ||
88 | + | ||
80 | 89 | ||
81 | } | 90 | } |
82 | 91 |
common/models/Project.php
@@ -41,6 +41,8 @@ | @@ -41,6 +41,8 @@ | ||
41 | return 'project'; | 41 | return 'project'; |
42 | } | 42 | } |
43 | 43 | ||
44 | + | ||
45 | + | ||
44 | /** | 46 | /** |
45 | * @inheritdoc | 47 | * @inheritdoc |
46 | */ | 48 | */ |
@@ -58,6 +60,12 @@ | @@ -58,6 +60,12 @@ | ||
58 | 'updatedAtAttribute' => false, | 60 | 'updatedAtAttribute' => false, |
59 | 'value' => new Expression('NOW()'), | 61 | 'value' => new Expression('NOW()'), |
60 | ], | 62 | ], |
63 | + 'slug' => [ | ||
64 | + 'class' => 'common\behaviors\Slug', | ||
65 | + 'in_attribute' => 'name', | ||
66 | + 'out_attribute' => 'link', | ||
67 | + 'translit' => true | ||
68 | + ] | ||
61 | ]; | 69 | ]; |
62 | } | 70 | } |
63 | 71 |
common/models/Team.php
@@ -34,6 +34,11 @@ | @@ -34,6 +34,11 @@ | ||
34 | return 'team'; | 34 | return 'team'; |
35 | } | 35 | } |
36 | 36 | ||
37 | + | ||
38 | + | ||
39 | + | ||
40 | + | ||
41 | + | ||
37 | /** | 42 | /** |
38 | * @inheritdoc | 43 | * @inheritdoc |
39 | */ | 44 | */ |
@@ -51,6 +56,12 @@ | @@ -51,6 +56,12 @@ | ||
51 | 'updatedAtAttribute' => false, | 56 | 'updatedAtAttribute' => false, |
52 | 'value' => new Expression('NOW()'), | 57 | 'value' => new Expression('NOW()'), |
53 | ], | 58 | ], |
59 | + 'slug' => [ | ||
60 | + 'class' => 'common\behaviors\Slug', | ||
61 | + 'in_attribute' => 'name', | ||
62 | + 'out_attribute' => 'link', | ||
63 | + 'translit' => true | ||
64 | + ] | ||
54 | ]; | 65 | ]; |
55 | } | 66 | } |
56 | 67 |
common/models/Vacancy.php
@@ -54,6 +54,12 @@ | @@ -54,6 +54,12 @@ | ||
54 | 'updatedAtAttribute' => false, | 54 | 'updatedAtAttribute' => false, |
55 | 'value' => new Expression('NOW()'), | 55 | 'value' => new Expression('NOW()'), |
56 | ], | 56 | ], |
57 | + 'slug' => [ | ||
58 | + 'class' => 'common\behaviors\Slug', | ||
59 | + 'in_attribute' => 'name', | ||
60 | + 'out_attribute' => 'link', | ||
61 | + 'translit' => true | ||
62 | + ] | ||
57 | ]; | 63 | ]; |
58 | } | 64 | } |
59 | 65 | ||
@@ -72,10 +78,14 @@ | @@ -72,10 +78,14 @@ | ||
72 | 'string', | 78 | 'string', |
73 | ], | 79 | ], |
74 | [ | 80 | [ |
75 | - [ 'employmentInput', 'specializationInput' ], | 81 | + [ 'employmentInput', 'specializationInput', ], |
76 | 'safe', | 82 | 'safe', |
77 | ], | 83 | ], |
78 | [ | 84 | [ |
85 | + ['salary_currency'], | ||
86 | + 'integer' | ||
87 | + ], | ||
88 | + [ | ||
79 | [ 'employmentInput', 'specializationInput' ], | 89 | [ 'employmentInput', 'specializationInput' ], |
80 | 'default', | 90 | 'default', |
81 | 'value' => [], | 91 | 'value' => [], |
common/widgets/views/youtube_field.php
@@ -21,7 +21,7 @@ | @@ -21,7 +21,7 @@ | ||
21 | ]) ?> | 21 | ]) ?> |
22 | <div class="input-blocks"> | 22 | <div class="input-blocks"> |
23 | <label for="iframe_youtube-<?= ++$label ?>">Youtube</label> | 23 | <label for="iframe_youtube-<?= ++$label ?>">Youtube</label> |
24 | - <input id="iframe_youtube-<?= $label ?>" type="text" placeholder="iframe" class="form-control custom-input-2" value="<?= isset( $model[ $t ][ 'value' ] ) ? $model[ $t ][ 'value' ] : '' ?>" name="Fields[youtube][<?= $row ?>][0][youtube]"/> | 24 | + <input id="iframe_youtube-<?= $label ?>" type="text" placeholder="iframe" class="form-control custom-input-2" value='<?= isset( $model[ $t ][ 'value' ] ) ? '<iframe width="560" height="315" src="'.$model[ $t ][ 'value' ].'" frameborder="0" allowfullscreen></iframe>' : '' ?>' name="Fields[youtube][<?= $row ?>][0][youtube]"/> |
25 | </div> | 25 | </div> |
26 | <span data-id="<?= isset( $model[ $i ][ 'parent_key' ] ) ? $model[ $i ][ 'parent_key' ] : 0 ?>" title="удалить" class="glyphicon glyphicon-trash delete-field-item"></span> | 26 | <span data-id="<?= isset( $model[ $i ][ 'parent_key' ] ) ? $model[ $i ][ 'parent_key' ] : 0 ?>" title="удалить" class="glyphicon glyphicon-trash delete-field-item"></span> |
27 | <?= Html::endTag('div') ?> | 27 | <?= Html::endTag('div') ?> |
frontend/config/main.php
@@ -38,7 +38,8 @@ return [ | @@ -38,7 +38,8 @@ return [ | ||
38 | 'css' => [] | 38 | 'css' => [] |
39 | ], | 39 | ], |
40 | 'yii\web\JqueryAsset' =>[ | 40 | 'yii\web\JqueryAsset' =>[ |
41 | - 'js' => [] | 41 | + 'js' => ['//code.jquery.com/jquery-2.1.4.min.js'], |
42 | + 'jsOptions' => ['position' => \yii\web\View::POS_HEAD] | ||
42 | ] | 43 | ] |
43 | ], | 44 | ], |
44 | ], | 45 | ], |
@@ -82,7 +83,7 @@ return [ | @@ -82,7 +83,7 @@ return [ | ||
82 | 'company/portfolio/<company_id:[\w-]+>/<filter:[\d]+>' => 'company/portfolio-filter', | 83 | 'company/portfolio/<company_id:[\w-]+>/<filter:[\d]+>' => 'company/portfolio-filter', |
83 | 'company/portfolio-view/<company_id:[\w-]+>/<portfolio_id:[\w-]+>' => 'company/portfolio-view', | 84 | 'company/portfolio-view/<company_id:[\w-]+>/<portfolio_id:[\w-]+>' => 'company/portfolio-view', |
84 | 'company/blog-view/<company_id:[\w-]+>/<link:[\w-]+>' => 'company/blog-view', | 85 | 'company/blog-view/<company_id:[\w-]+>/<link:[\w-]+>' => 'company/blog-view', |
85 | - 'company/vacancy-view/<company_id:[\w-]+>/<link:[\w-]+>' => 'company/vacancy-view', | 86 | + 'company/vacancy-view/<company_id:[\w-]+>/<link:[\w-_\s]+>' => 'company/vacancy-view', |
86 | 'company/<action>/<company_id:[\w-]+>' => 'company/<action>', | 87 | 'company/<action>/<company_id:[\w-]+>' => 'company/<action>', |
87 | 'chat/message/<user_id:[\w-]>'=> 'chat/message', | 88 | 'chat/message/<user_id:[\w-]>'=> 'chat/message', |
88 | 'tender/view/<tender_id:[\d-]+>' => 'tender/view', | 89 | 'tender/view/<tender_id:[\d-]+>' => 'tender/view', |
frontend/controllers/AccountsController.php
@@ -1081,9 +1081,11 @@ | @@ -1081,9 +1081,11 @@ | ||
1081 | $currencies = Currency::getCurrencyDropdown(); | 1081 | $currencies = Currency::getCurrencyDropdown(); |
1082 | $post = \Yii::$app->request->post(); | 1082 | $post = \Yii::$app->request->post(); |
1083 | if(!empty( $post )) { | 1083 | if(!empty( $post )) { |
1084 | + | ||
1084 | $vacancy->load($post); | 1085 | $vacancy->load($post); |
1085 | $vacancy->validate(); | 1086 | $vacancy->validate(); |
1086 | if(!$vacancy->hasErrors()) { | 1087 | if(!$vacancy->hasErrors()) { |
1088 | + | ||
1087 | $vacancy->save(); | 1089 | $vacancy->save(); |
1088 | Fields::saveFieldData(Yii::$app->request->post('Fields'), $vacancy->vacancy_id, Vacancy::className(), 'ru'); | 1090 | Fields::saveFieldData(Yii::$app->request->post('Fields'), $vacancy->vacancy_id, Vacancy::className(), 'ru'); |
1089 | $vacancy->unlinkAll('employments', true); | 1091 | $vacancy->unlinkAll('employments', true); |
frontend/controllers/ChatController.php
@@ -39,7 +39,17 @@ class ChatController extends Controller | @@ -39,7 +39,17 @@ class ChatController extends Controller | ||
39 | 39 | ||
40 | public function actionList() | 40 | public function actionList() |
41 | { | 41 | { |
42 | - return $this->render('list'); | 42 | + |
43 | + $chat = new ActiveDataProvider([ | ||
44 | + 'query' => Chat::find(), | ||
45 | + 'pagination' => [ | ||
46 | + 'pageSize' => 5, | ||
47 | + ], | ||
48 | + ]); | ||
49 | + | ||
50 | + return $this->render('list',[ | ||
51 | + 'chat' => $chat | ||
52 | + ]); | ||
43 | } | 53 | } |
44 | 54 | ||
45 | public function actionMessage($user_id) | 55 | public function actionMessage($user_id) |
@@ -64,7 +74,6 @@ class ChatController extends Controller | @@ -64,7 +74,6 @@ class ChatController extends Controller | ||
64 | $chat->from_user = $user->id; | 74 | $chat->from_user = $user->id; |
65 | $chat->to_user = $user_id; | 75 | $chat->to_user = $user_id; |
66 | $chat->save(); | 76 | $chat->save(); |
67 | - | ||
68 | } | 77 | } |
69 | 78 | ||
70 | 79 |
frontend/controllers/SiteController.php
@@ -143,7 +143,7 @@ class SiteController extends Controller | @@ -143,7 +143,7 @@ class SiteController extends Controller | ||
143 | */ | 143 | */ |
144 | public function actionLogin() | 144 | public function actionLogin() |
145 | { | 145 | { |
146 | - $this->layout = 'admin'; | 146 | + |
147 | 147 | ||
148 | if (!\Yii::$app->user->isGuest) { | 148 | if (!\Yii::$app->user->isGuest) { |
149 | return $this->goHome(); | 149 | return $this->goHome(); |
frontend/views/accounts/_blog_form.php
@@ -29,12 +29,6 @@ use yii\helpers\Html; | @@ -29,12 +29,6 @@ use yii\helpers\Html; | ||
29 | ->textInput (['class'=> 'custom-input-2 fix-input-2']); ?> | 29 | ->textInput (['class'=> 'custom-input-2 fix-input-2']); ?> |
30 | </div> | 30 | </div> |
31 | </div> | 31 | </div> |
32 | - <div class="input-blocks-wrapper full-blocks"> | ||
33 | - <div class="input-blocks"> | ||
34 | - <?= $form->field($blog, 'link') | ||
35 | - ->textInput (['class'=> 'custom-input-2 fix-input-2']); ?> | ||
36 | - </div> | ||
37 | - </div> | ||
38 | 32 | ||
39 | <div class="input-blocks-wrapper full-blocks admin-editor-bl"> | 33 | <div class="input-blocks-wrapper full-blocks admin-editor-bl"> |
40 | <div class="input-blocks"> | 34 | <div class="input-blocks"> |
frontend/views/accounts/_portfolio_form.php
@@ -38,12 +38,7 @@ | @@ -38,12 +38,7 @@ | ||
38 | </div> | 38 | </div> |
39 | </div> | 39 | </div> |
40 | 40 | ||
41 | - <div class="input-blocks-wrapper"> | ||
42 | - <div class="input-blocks"> | ||
43 | - <?= $form->field($portfolio, 'link') | ||
44 | - ->textInput([ 'class' => 'custom-input-2 fix-input-2' ]); ?> | ||
45 | - </div> | ||
46 | - </div> | 41 | + |
47 | 42 | ||
48 | <div class="input-blocks-wrapper admin-menu-list"> | 43 | <div class="input-blocks-wrapper admin-menu-list"> |
49 | <div class="input-blocks" style="width: 100%; margin-bottom: 5px"> | 44 | <div class="input-blocks" style="width: 100%; margin-bottom: 5px"> |
frontend/views/accounts/_projects_form.php
@@ -35,13 +35,6 @@ | @@ -35,13 +35,6 @@ | ||
35 | </div> | 35 | </div> |
36 | 36 | ||
37 | <div class="input-blocks-wrapper"> | 37 | <div class="input-blocks-wrapper"> |
38 | - <div class="input-blocks"> | ||
39 | - <?= $form->field($project, 'link') | ||
40 | - ->textInput (['class'=> 'custom-input-2']) ?> | ||
41 | - </div> | ||
42 | -</div> | ||
43 | - | ||
44 | -<div class="input-blocks-wrapper"> | ||
45 | <div class="input-blocks admin-project-list admin-currency-second"> | 38 | <div class="input-blocks admin-project-list admin-currency-second"> |
46 | <?= $form->field($project, 'project_pid') | 39 | <?= $form->field($project, 'project_pid') |
47 | ->dropDownList($projects, [ 'prompt' => 'Родительский проект' ]) ?> | 40 | ->dropDownList($projects, [ 'prompt' => 'Родительский проект' ]) ?> |
frontend/views/accounts/_team_form.php
@@ -49,12 +49,6 @@ | @@ -49,12 +49,6 @@ | ||
49 | </div> | 49 | </div> |
50 | </div> | 50 | </div> |
51 | 51 | ||
52 | -<div class="input-blocks-wrapper"> | ||
53 | - <div class="input-blocks"> | ||
54 | - <?= $form->field($team, 'link') | ||
55 | - ->textInput([ 'class' => 'custom-input-2' ]) ?> | ||
56 | - </div> | ||
57 | -</div> | ||
58 | 52 | ||
59 | <div class="input-blocks-wrapper"> | 53 | <div class="input-blocks-wrapper"> |
60 | <div class="input-blocks"> | 54 | <div class="input-blocks"> |
frontend/views/accounts/_vacancy_form.php
@@ -32,12 +32,7 @@ | @@ -32,12 +32,7 @@ | ||
32 | </div> | 32 | </div> |
33 | </div> | 33 | </div> |
34 | 34 | ||
35 | -<div class="input-blocks-wrapper"> | ||
36 | - <div class="input-blocks"> | ||
37 | - <?= $form->field($vacancy, 'link') | ||
38 | - ->textInput (['class'=> 'custom-input-2']); ?> | ||
39 | - </div> | ||
40 | -</div> | 35 | + |
41 | 36 | ||
42 | <div class="input-blocks-wrapper"> | 37 | <div class="input-blocks-wrapper"> |
43 | <div class="input-blocks"> | 38 | <div class="input-blocks"> |
1 | +<?php | ||
2 | + | ||
3 | +use yii\helpers\Html; | ||
4 | + | ||
5 | +?> | ||
6 | + | ||
7 | +<?php if($model->hasNewMessage()):?> | ||
8 | +<div class="cabinet-message-blocks new-message-cabinet-blocks"> | ||
9 | + <div class="ico-sender-wrapper"> | ||
10 | + <div class="ico-sender"> | ||
11 | + <?= Html::a(Html::img($model->interlocutor->image));?> | ||
12 | + </div> | ||
13 | + </div> | ||
14 | + <div class="cabinet-message-text-wrapper"> | ||
15 | + <div class="cabinet-message-title"><?= $model->interlocutor->name ?></div> | ||
16 | + <div class="cabinet-message-message"> | ||
17 | + <a href="#"> <div class="cabinet-message-message-ico"></div>Сообщения (<?= count($model->newMessage) ?>), последнее от <?= end($model->newMessage)->date ?></a> | ||
18 | + </div> | ||
19 | + <div class="cabinet-message-status">(Есть непрочитанные)</div> | ||
20 | + </div> | ||
21 | + <?= Html::a(' | ||
22 | + <div class="cabinet-message-write-ico"></div> | ||
23 | + <div class="cabinet-message-write-txt">Написать сообщение</div> | ||
24 | + ', ['chat/message', 'user_id' =>$model->interlocutor->user_id ], ['class'=>'cabinet-message-write' ] );?> | ||
25 | +</div> | ||
26 | +<?php else: ?> | ||
27 | + <div class="cabinet-message-blocks"> | ||
28 | + <div class="ico-sender-wrapper"> | ||
29 | + <div class="ico-sender"> | ||
30 | + <?= Html::a(Html::img($model->interlocutor->image));?> | ||
31 | + </div> | ||
32 | + </div> | ||
33 | + <div class="cabinet-message-text-wrapper"> | ||
34 | + <div class="cabinet-message-title"><?= $model->interlocutor->name ?></div> | ||
35 | + <div class="cabinet-message-message"> | ||
36 | + <a href="#"> <div class="cabinet-message-message-ico"></div>Сообщения</a> | ||
37 | + </div> | ||
38 | + <div class="cabinet-message-status">(Все прочитаны)</div> | ||
39 | + </div> | ||
40 | + <?= Html::a(' | ||
41 | + <div class="cabinet-message-write-ico"></div> | ||
42 | + <div class="cabinet-message-write-txt">Написать сообщение</div> | ||
43 | + ', ['chat/message', 'user_id' =>$model->interlocutor->user_id ], ['class'=>'cabinet-message-write' ] );?> | ||
44 | + </div> | ||
45 | +<?php endif; ?> |
frontend/views/chat/list.php
1 | <?php | 1 | <?php |
2 | use common\models\Option; | 2 | use common\models\Option; |
3 | use yii\widgets\DetailView; | 3 | use yii\widgets\DetailView; |
4 | +use yii\widgets\ListView; | ||
4 | 5 | ||
5 | - $this->title = 'Мой профиль'; | 6 | +$this->title = 'Мой профиль'; |
6 | $this->params['breadcrumbs'][] = $this->title; | 7 | $this->params['breadcrumbs'][] = $this->title; |
7 | ?> | 8 | ?> |
8 | <div class="section-box content"> | 9 | <div class="section-box content"> |
@@ -11,92 +12,19 @@ $this->params['breadcrumbs'][] = $this->title; | @@ -11,92 +12,19 @@ $this->params['breadcrumbs'][] = $this->title; | ||
11 | <div class="box-all"> | 12 | <div class="box-all"> |
12 | <div class="section-box"> | 13 | <div class="section-box"> |
13 | <div class="cabinet-message-blocks-wr style"> | 14 | <div class="cabinet-message-blocks-wr style"> |
14 | - <div class="cabinet-message-blocks new-message-cabinet-blocks"> | ||
15 | - <div class="ico-sender-wrapper"> | ||
16 | - <div class="ico-sender"> | ||
17 | - <a href="#"><img src="/images/cabinet-message/foto-ico-2.jpg" alt=""/></a> | ||
18 | - </div> | ||
19 | - </div> | ||
20 | - <div class="cabinet-message-text-wrapper"> | ||
21 | - <div class="cabinet-message-title">Иванов Иван</div> | ||
22 | - <div class="cabinet-message-message"> | ||
23 | - <a href="#"> <div class="cabinet-message-message-ico"></div>Сообщения (3), последнее от 25.11.15</a> | ||
24 | - </div> | ||
25 | - <div class="cabinet-message-status">(Есть непрочитанные)</div> | ||
26 | - </div> | ||
27 | - <a href="#" class="cabinet-message-write"> | ||
28 | - <div class="cabinet-message-write-ico"></div> | ||
29 | - <div class="cabinet-message-write-txt">Оставить заметку</div> | ||
30 | - </a> | ||
31 | - </div> | ||
32 | - <div class="cabinet-message-blocks"> | ||
33 | - <div class="ico-sender-wrapper"> | ||
34 | - <div class="ico-sender"> | ||
35 | - <a href="#"><img src="/images/cabinet-message/foto-ico-1.jpg" alt=""/></a> | ||
36 | - </div> | ||
37 | - </div> | ||
38 | - <div class="cabinet-message-text-wrapper"> | ||
39 | - <div class="cabinet-message-title">Петров Петр</div> | ||
40 | - <div class="cabinet-message-message"> | ||
41 | - <a href="#"> <div class="cabinet-message-message-ico"></div>Сообщения</a> | ||
42 | - </div> | ||
43 | - <div class="cabinet-message-status">(Все прочитаны)</div> | ||
44 | - </div> | ||
45 | - <a href="#" class="cabinet-message-write"> | ||
46 | - <div class="cabinet-message-write-ico"></div> | ||
47 | - <div class="cabinet-message-write-txt">Оставить заметку</div> | ||
48 | - </a> | ||
49 | - </div> | ||
50 | 15 | ||
51 | - <div class="cabinet-message-blocks"> | ||
52 | - <div class="ico-sender-wrapper"> | ||
53 | - <div class="ico-sender"> | ||
54 | - <a href="#"><img src="/images/cabinet-message/foto-ico-1.jpg" alt=""/></a> | ||
55 | - </div> | ||
56 | - </div> | ||
57 | - <div class="cabinet-message-text-wrapper"> | ||
58 | - <div class="cabinet-message-title">Петров Петр</div> | ||
59 | - <div class="cabinet-message-message"> | ||
60 | - <a href="#"> <div class="cabinet-message-message-ico"></div>Сообщения</a> | ||
61 | - </div> | ||
62 | - <div class="cabinet-message-status">(Все прочитаны)</div> | ||
63 | - </div> | ||
64 | - <a href="#" class="cabinet-message-write"> | ||
65 | - <div class="cabinet-message-write-ico"></div> | ||
66 | - <div class="cabinet-message-write-txt">Оставить заметку</div> | ||
67 | - </a> | ||
68 | - </div> | ||
69 | 16 | ||
70 | - <div class="cabinet-message-blocks"> | ||
71 | - <div class="ico-sender-wrapper"> | ||
72 | - <div class="ico-sender"> | ||
73 | - <a href="#"><img src="/images/cabinet-message/foto-ico-1.jpg" alt=""/></a> | ||
74 | - </div> | ||
75 | - </div> | ||
76 | - <div class="cabinet-message-text-wrapper"> | ||
77 | - <div class="cabinet-message-title">Петров Петр</div> | ||
78 | - <div class="cabinet-message-message"> | ||
79 | - <a href="#"> <div class="cabinet-message-message-ico"></div>Сообщения</a> | ||
80 | - </div> | ||
81 | - <div class="cabinet-message-status">(Все прочитаны)</div> | ||
82 | - </div> | ||
83 | - <a href="#" class="cabinet-message-write"> | ||
84 | - <div class="cabinet-message-write-ico"></div> | ||
85 | - <div class="cabinet-message-write-txt">Оставить заметку</div> | ||
86 | - </a> | ||
87 | - </div> | 17 | + <?= |
18 | + ListView::widget( [ | ||
19 | + 'dataProvider' => $chat, | ||
20 | + 'itemView'=>'_chat_list_view', | ||
21 | + 'itemOptions' => [ | ||
22 | + 'tag' => false, | ||
23 | + ], | ||
24 | + 'layout' => "{items}\n<div class='navi-buttons-wr style'>{pager}</div>" | ||
25 | + ] ); | ||
26 | + ?> | ||
88 | 27 | ||
89 | - <div class="navi-buttons-wr style"> | ||
90 | - <ul class="pagination"> | ||
91 | - <li><a href="#">1</a></li> | ||
92 | - <li><a href="#">2</a></li> | ||
93 | - <li><a href="#">3</a></li> | ||
94 | - <li><a href="#">4</a></li> | ||
95 | - <li><a href="#">5</a></li> | ||
96 | - <li class="dots-next"><a href="#">...</a></li> | ||
97 | - <li><a href="#">156</a></li> | ||
98 | - </ul> | ||
99 | - </div> | ||
100 | </div> | 28 | </div> |
101 | </div> | 29 | </div> |
102 | </div> | 30 | </div> |
frontend/views/chat/message.php
@@ -91,7 +91,7 @@ $this->registerJsFile("/js/forms.js"); | @@ -91,7 +91,7 @@ $this->registerJsFile("/js/forms.js"); | ||
91 | <div class="cabinet-message-read-wr style"> | 91 | <div class="cabinet-message-read-wr style"> |
92 | <div class="comments_block"> | 92 | <div class="comments_block"> |
93 | <div class="content"> | 93 | <div class="content"> |
94 | - <?php foreach($chat->messages as $message):?> | 94 | + <?php foreach($chat->allMessages as $message):?> |
95 | <?php if($message->isMy()):?> | 95 | <?php if($message->isMy()):?> |
96 | <div class="comment right"> | 96 | <div class="comment right"> |
97 | <div class="author_pic"><?= Html::img($message->user->minImg($message->user->image,48,48))?></div> | 97 | <div class="author_pic"><?= Html::img($message->user->minImg($message->user->image,48,48))?></div> |
frontend/views/company/_vacancy_list_view.php
@@ -2,12 +2,13 @@ | @@ -2,12 +2,13 @@ | ||
2 | use frontend\helpers\TextHelper; | 2 | use frontend\helpers\TextHelper; |
3 | use yii\bootstrap\Html; | 3 | use yii\bootstrap\Html; |
4 | use yii\helpers\Url; | 4 | use yii\helpers\Url; |
5 | +use yii\i18n\Formatter; | ||
5 | 6 | ||
6 | ?> | 7 | ?> |
7 | 8 | ||
8 | <div class="performer-vacant-reclam-bl"> | 9 | <div class="performer-vacant-reclam-bl"> |
9 | <?= Html::a($model->name, Url::toRoute( ['company/vacancy-view', 'company_id' => $model->user_id,'link' => $model->link]), ['class' => 'performer-vacant-reclam-bl-title']) ?> | 10 | <?= Html::a($model->name, Url::toRoute( ['company/vacancy-view', 'company_id' => $model->user_id,'link' => $model->link]), ['class' => 'performer-vacant-reclam-bl-title']) ?> |
10 | - <div class="performer-vacant-reclam-bl-title-two"> <?= $model->city ?> <?=$model->date_add ?> <?=$model->salary ?> <?=$model->salaryCurrency->label ?> </div> | 11 | + <div class="performer-vacant-reclam-bl-title-two"> <?= $model->city ?> <?= \Yii::$app->formatter->asDatetime($model->date_add, 'Y-MM-dd') ?> <?=$model->salary ?> <?=$model->salaryCurrency->label ?> </div> |
11 | <div class="performer-vacant-reclam-bl-content"> | 12 | <div class="performer-vacant-reclam-bl-content"> |
12 | <span><?= TextHelper::truncateHtmlText($model->description, 200, '...') ?></span> | 13 | <span><?= TextHelper::truncateHtmlText($model->description, 200, '...') ?></span> |
13 | <?= Html::a('<img src="/images/performar_vacancy/arrow-post.png" alt=""/>', ['vacancy-view', 'company_id' => $model->user_id,'vacancy_id' => $model->vacancy_id], ['class' => 'performer-vacant-reclam-bl-content-read']) ?> | 14 | <?= Html::a('<img src="/images/performar_vacancy/arrow-post.png" alt=""/>', ['vacancy-view', 'company_id' => $model->user_id,'vacancy_id' => $model->vacancy_id], ['class' => 'performer-vacant-reclam-bl-content-read']) ?> |
frontend/views/layouts/main.php
@@ -25,7 +25,6 @@ AppAsset::register($this); | @@ -25,7 +25,6 @@ AppAsset::register($this); | ||
25 | <?= Html::csrfMetaTags() ?> | 25 | <?= Html::csrfMetaTags() ?> |
26 | 26 | ||
27 | <title><?= Html::encode($this->title) ?></title> | 27 | <title><?= Html::encode($this->title) ?></title> |
28 | - <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> | ||
29 | <?php $this->head() ?> | 28 | <?php $this->head() ?> |
30 | 29 | ||
31 | </head> | 30 | </head> |