2013-06-30 06:02:51 +03:00
{ * *
2014-06-11 11:59:54 +03:00
* Список диалогов
2014-07-23 19:36:13 +03:00
*
* @param array $talks
* @param boolean $selectable
2014-12-05 13:49:29 +02:00
* @param boolean $paging
2013-06-30 06:02:51 +03:00
*}
2016-04-07 12:40:28 +03:00
{ component_define_params params = [ 'talks' , 'selectable' ] }
2015-10-16 18:09:29 +03:00
<div class="js-talk-list">
2016-04-07 12:40:28 +03:00
{ if $talks }
2015-10-16 18:09:29 +03:00
<form action=" { router page = 'talk' } " method="post" id="talk-form">
{ * Скрытые поля * }
{ component 'field' template = 'hidden.security-key' }
{ component 'field' template = 'hidden' name = 'form_action' id = 'talk-form-action' }
{ * Экшнбар * }
2016-04-07 12:40:28 +03:00
{ if $selectable }
2015-10-16 18:09:29 +03:00
{ component 'actionbar' template = 'item.select'
classes = 'js-talk-actionbar-select'
target = '.js-talk-list-item'
assign = select
items = [
[ 'text' => $aLang.talk.actionbar.read, 'filter' => ":not('.talk-unread')" ],
[ 'text' => $aLang.talk.actionbar.unread, 'filter' => ".talk-unread" ]
]}
{ component 'actionbar'
classes='talk-list-actionbar'
items=[
[ 'buttons' => [ 'html' => $select ] ],
[
'buttons' => [
[ 'icon' => 'check', 'classes' => 'js-talk-form-button', 'attributes' => [ 'data-action' => 'mark_as_read', 'title' => $aLang.talk.actionbar.mark_as_read ], 'mods' => 'icon' ],
[ 'icon' => 'trash', 'classes' => 'js-talk-form-button', 'attributes' => [ 'data-action' => 'remove' , 'title' => $aLang.common.remove ], 'mods' => 'icon' ]
]
2015-06-08 19:43:31 +03:00
]
2015-10-16 18:09:29 +03:00
]}
{ /if }
{ * Список сообщений * }
<table class="ls-table talk-list">
<tbody>
2016-04-07 12:40:28 +03:00
{ foreach $talks as $talk }
2015-10-16 18:09:29 +03:00
{ * Создатель диалога * }
{ $author = $talk - > getTalkUser ( ) }
{ * В с е участники диалога * }
{ $users = $talk - > getTalkUsers ( ) }
{ * Кол-во участников диалога * }
{ $usersCount = count ( $users ) }
<tr class="talk-list-item { if $author - > getCommentCountNew ( ) or ! $author - > getDateLast ( ) } talk-unread { /if } js-talk-list-item" data-id=" { $talk - > getId ( ) } ">
{ * Выделение * }
2016-04-07 12:40:28 +03:00
{ if $selectable }
2015-10-16 18:09:29 +03:00
<td class="cell-checkbox">
<input type="checkbox" name="talk_select[ { $talk - > getId ( ) } ]" data-id=" { $talk - > getId ( ) } " />
</td>
{ /if }
2015-10-27 11:02:57 +02:00
{ * Избранное * }
<td class="cell-favourite">
{ component 'favourite' classes = 'js-favourite-talk' target = $talk }
</td>
2015-10-16 18:09:29 +03:00
{ * Основная информация о диалоге * }
<td class="cell-info">
<div class="talk-list-item-info">
{ * Участники диалога * }
{ if $usersCount > 2 }
<a href=" { router page = 'talk' } read/ { $talk - > getId ( ) } /" class="talk-list-item-info-avatar">
<img src=" { Config : : Get ( 'path.skin.web' ) } /assets/images/avatars/avatar_male_64x64crop.png" />
</a>
{ lang name = 'talk.participants' count = $usersCount plural = true }
{ else }
{ * Если участников двое, то отображаем только собеседника * }
{ foreach $users as $user }
{ $user = $user - > getUser ( ) }
{ if $user - > getUserId ( ) ! = $oUserCurrent - > getId ( ) }
<a href=" { $user - > getUserWebPath ( ) } " class="talk-list-item-info-avatar">
<img src=" { $user - > getProfileAvatarPath ( 6 4 ) } " alt=" { $user - > getLogin ( ) } " />
</a>
2015-10-28 13:00:45 +02:00
<a href=" { $user - > getUserWebPath ( ) } " class="ls-word-wrap"> { $user - > getDisplayName ( ) } </a>
2015-10-16 18:09:29 +03:00
{ /if }
{ /foreach }
{ /if }
{ * Дата * }
<time class="talk-list-item-info-date" datetime=" { date_format date = $talk - > getDate ( ) format = 'c' } " title=" { date_format date = $talk - > getDate ( ) format = 'j F Y, H:i' } ">
{ date_format date = $talk - > getDate ( ) hours_back = "12" minutes_back = "60" now = "60" day = "day H:i" format = "j F Y, H:i" }
</time>
2015-01-27 15:48:47 +02:00
</div>
2015-10-16 18:09:29 +03:00
</td>
2015-01-27 15:48:47 +02:00
2015-10-16 18:09:29 +03:00
{ * Заголовок и текст последнего сообщения * }
<td>
<div class="talk-list-item-extra">
{ * Заголовок * }
<h2 class="talk-list-item-title">
<a href=" { router page = 'talk' } read/ { $talk - > getId ( ) } /">
{ $talk - > getTitle ( ) | escape }
</a>
</h2>
{ * Текст последнего сообщения * }
<div class="talk-list-item-text">
{ ( ( $talk - > getCommentLast ( ) ) ? $talk - > getCommentLast ( ) - > getText ( ) : $talk - > getText ( ) ) | strip_tags | truncate : 1 2 0 : "..." | escape }
2015-01-27 15:48:47 +02:00
</div>
2015-10-16 18:09:29 +03:00
{ * Кол-во сообщений * }
{ if $talk - > getCountComment ( ) }
<div class="talk-list-item-count">
{ $talk - > getCountComment ( ) }
{ if $author - > getCommentCountNew ( ) }
<strong>+ { $author - > getCommentCountNew ( ) } </strong>
{ /if }
</div>
{ /if }
</div>
</td>
</tr>
{ /foreach }
</tbody>
</table>
</form>
{ else }
{ component 'blankslate' text = $aLang.talk.notices.empty }
{ /if }
{ component 'pagination' total = + $paging.iCountPage current = + $paging.iCurrentPage url = "{$paging.sBaseUrl}/page__page__/{$paging.sGetParams}" }
</div>