diff --git a/README.md b/README.md index 5d295c9..1cffc38 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,11 @@ * Разрешения задаются в Админпанели * Аватар Пользователя * если есть в системе - выведет его изображение, если нет выведет аватар с первой буквой имени пользователя или анонима -* Авторский рейтинг - * При создании комментария , Автор может поставить оценку - звезды 5 баллов +* Авторская оценка + * При создании комментария , Автор может поставить оценку материалу (документу) - звезды 1...5 баллов * Права для Анонимов (разрешено/нет)настраиваются в Админпанели - * Разрешать Авторский рейтинг при ответах настраивается в Админпанели -* Рейтинг Пользователей + * Разрешать Авторскую оценку в ответах настраивается в Админпанели +* Рейтинг комментариев * Пользователи и Анонимы могут ставить оценки комментариям других Авторов * На выбор два варианта или пять звезд или лайк (сердечко) * Права для Анонимов (разрешено участвовать/нет)настраиваются в Админпанели diff --git a/class/comment.php b/class/comment.php index fce3b90..c94e519 100644 --- a/class/comment.php +++ b/class/comment.php @@ -1587,6 +1587,15 @@ function commentAdminListShow($tpl_dir) } } + + $comment_rating_type = $AVE_DB->Query(" + SELECT comment_rating_type + FROM " . PREFIX . "_module_comments + LIMIT 1 + ")->GetCell(); + $AVE_Template->assign('comment_rating_type', (int)$comment_rating_type); + + $AVE_Template->assign([ 'docs' => $docs, 'page_nav' => ($num > $limit) ? get_pagination($seiten, 'page', ' {t} ') : '', @@ -1601,11 +1610,6 @@ function commentAdminListShow($tpl_dir) * * @param string $tpl_dir - путь к шаблонам модуля */ -/** - * Метод, предназначенный для редактирования комментариев в Административной части. - * - * @param string $tpl_dir - путь к шаблонам модуля - */ function commentAdminPostEdit($tpl_dir) { global $AVE_DB, $AVE_Template; diff --git a/lang/ru.txt b/lang/ru.txt index 7c5b45d..c689837 100644 --- a/lang/ru.txt +++ b/lang/ru.txt @@ -165,16 +165,16 @@ COMMENT_TITEL_FIELD_1 = "Заголовок поля 1:" COMMENT_TITEL_FIELD_2 = "Заголовок поля 2:" COMMENT_FIELD_SHOW = " Показывать" COMMENT_FIELD_REQUIRED = " Обязательное" -COMMENT_SET_OVER_RATING_TITEL = "Настройка общего рейтинга" -COMMENT_OVER_RATING_TYPE = "Тип общего рейтинга:" +COMMENT_SET_OVER_RATING_TITEL = "Настройка Рейтинга комментариев" +COMMENT_OVER_RATING_TYPE = "Тип рейтинга комментариев:" COMMENT_OVER_RATING_STAR = "Звезды (1-5)" COMMENT_OVER_RATING_LIKE = "Лайк (Сердечко)" COMMENT_OVER_RATING_OFF = "Выключить рейтинг" COMMENT_VOTING_RIGHTS = "Права на голосование:" COMMENT_VOTING_RIGHTS_ANONIM = "Разрешить анонимам голосовать" -COMMENT_SET_AVTOR_RATING_TITEL = "Настройка авторского рейтинга" -COMMENT_SET_AVTOR_ASSESS = "Авторская оценка:" -COMMENT_SET_AVTOR_ON = "Включить \"Авторские звезды\"" +COMMENT_SET_AVTOR_RATING_TITEL = "Настройка Авторской оценки" +COMMENT_SET_AVTOR_ASSESS = "Авторская оценка (звезды):" +COMMENT_SET_AVTOR_ON = "Включить Авторскую оценку" COMMENT_SET_AVTOR_ON_AVWER = "Использовать в ответах" COMMENT_AVTOR_RIGHTS_ANONIM = "Разрешить анонимам ставить звезды" COMMENT_FILES_TITEL = "Настройки загрузки файлов" @@ -247,9 +247,10 @@ COMMENT_CONFIRM_ADM_NAME = "Удалить навсегда (вместе с COMMENT_CONFIRM_ADM_DIR_SOFT = "Мягкое удаление комментария (ветка остается)" COMMENT_CONFIRM_ADM_NAME_SOFT = "Удалить все данные и применить текст Комментарий удален администратором ?" COMMENT_TABLE_STATUS = "Статус" -COMMENT_TABLE_AUTOR_RATING = "Автор и Рейтинг" +COMMENT_TABLE_AUTOR_RATING = "Автор и Авторская оценка" COMMENT_TABLE_IP = "IP адрес" COMMENT_TABLE_DATE_EDIT = "Дата Создания / Редактирования" COMMENT_TABLE_TEXT_COMM = "Текст комментария" COMMENT_TABLE_FILES = "Файлы" COMMENT_TABLE_ACTIONS = "Действия" +COMMENT_RATING_ADMIN = "Рейтинг комментариев" diff --git a/templates/admin_comments.tpl b/templates/admin_comments.tpl index 5a50f8b..02d4d96 100644 --- a/templates/admin_comments.tpl +++ b/templates/admin_comments.tpl @@ -128,7 +128,14 @@ gap: 6px; } .del-adm { background: #fff5f5; color: #c0392b; border: 1px solid #fadbd8; } - .del-aut { background: #f8f9fa; color: #7f8c8d; border: 1px solid #e5e8e8; font-style: italic; } + .del-aut { background: #f8f9fa; color: #7f8c8d; border: 1px solid #e5e8e8; font-style: italic; } + +/* Рейтинг комментария в таблице */ + .comm-rating-box { display: flex; align-items: center; justify-content: center; gap: 5px; min-width: 80px; } + .comm-stars { color: #f1c40f; font-size: 13px; text-align: center; } + .comm-likes { color: #e74c3c; font-size: 13px; font-weight: bold; display: flex; align-items: center; gap: 4px; justify-content: center; } + .rating-count-box { font-size: 10px; color: #999; font-weight: normal; margin-top: -2px; } + .bi-heart-fill { font-size: 12px; } @@ -150,6 +157,7 @@ {#COMMENT_TABLE_IP#} {#COMMENT_TABLE_DATE_EDIT#} {#COMMENT_TABLE_TEXT_COMM#} + {#COMMENT_RATING_ADMIN#} {#COMMENT_TABLE_FILES#} {#COMMENT_TABLE_ACTIONS#} @@ -234,6 +242,45 @@ + +
+ {if $comment_rating_type == 0} + {* ТИП 0: ЗВЕЗДЫ *} +
+ {assign var="comm_avg" value=0} + {if $row.rating_count > 0} + {math equation="round(x / y)" x=$row.rating_sum y=$row.rating_count assign="comm_avg"} + {/if} + +
+ {section name=star start=1 loop=6} + {if $smarty.section.star.index <= $comm_avg}★{else}{/if} + {/section} +
+
+ ({$row.rating_count|default:0}) +
+
+ + {elseif $comment_rating_type == 1} + {* ТИП 1: ЛАЙКИ *} +
+ {if $row.rating_count > 0} + + {$row.rating_count} + {else} + + 0 + {/if} +
+ + {else} + {* ТИП 2 ИЛИ ЛЮБОЙ ДРУГОЙ: ВЫКЛЮЧЕНО *} + + {/if} +
+ +
{if $row.images}