{** * Комментарий * * @component comment * @styles css/comments.css * @scripts js/comments.js * * @param object $oComment Комментарий * @param string $classes Дополнительные классы * @param string $attributes Атрибуты * @param string $mods Модификаторы * @param boolean $bShowVote (true) Показывать или нет голосование * @param boolean $bShowReply (true) Показывать или нет кнопку Ответить * @param integer $iAuthorId * @param string $sDateReadLast *} {* Название компонента *} {$sComponent = 'comment'} {* Переменные *} {$oComment = $smarty.local.oComment} {$mods = $smarty.local.mods} {$bShowEdit = $smarty.local.bShowEdit|default:true} {$bIsHidden = $smarty.local.bIsHidden} {$oUser = $oComment->getUser()} {$iCommentId = $oComment->getId()} {$oTarget = $oComment->getTarget()} {* Получаем ссылку на комментарий *} {* TODO: Вынести в бэкенд *} {$sPermalink = ( Config::Get('module.comment.use_nested') ) ? "{router page='comments'}{$iCommentId}" : "{if $oTarget}{$oTarget->getUrl()}{/if}#comment{$iCommentId}"} {** * Добавляем модификаторы *} {* Комментарий с отрицательным рейтингом *} {if $smarty.local.bShowVote && $oComment->isBad()} {$mods = "$mods bad"} {/if} {* Автор комментария является автором объекта к которому оставлен комментарий *} {if $smarty.local.iAuthorId == $oUser->getId()} {$mods = "$mods author"} {/if} {* Комментарий удален *} {if $bIsHidden} {$mods = "$mods deleted"} {* Комментарий текущего залогиненого пользователя *} {elseif $oUserCurrent && $oComment->getUserId() == $oUserCurrent->getId()} {$mods = "$mods self"} {* Непрочитанный комментарий *} {elseif $smarty.local.sDateReadLast && strtotime($smarty.local.sDateReadLast) <= strtotime($oComment->getDate())} {$mods = "$mods new"} {/if} {** * Комментарий * Атрибут id используется для ссылки на комментарий через хэш в урл #comment123 *}
{* Показываем удаленные комментарии только администраторам *} {if ! $bIsHidden || ( $oUserCurrent && $oUserCurrent->isAdministrator() )} {* Аватар пользователя *} {$oUser->getDisplayName()} {* Информация *} {* Текст комментария *}
{$oComment->getText()}
{* Информация о редактировании *} {if $oComment->getDateEdit()}
{$aLang.comments.comment.edit_info}: {date_format date=$oComment->getDateEdit() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"} {if $oComment->getCountEdit() > 1} ({$oComment->getCountEdit()} {$oComment->getCountEdit()|declension:$aLang.common.times_declension}) {/if}
{/if} {* Действия *} {else} {$aLang.comments.comment.deleted} {/if}