diff --git a/class/comment.php b/class/comment.php index 347787a..7db3b44 100644 --- a/class/comment.php +++ b/class/comment.php @@ -903,7 +903,7 @@ if (!$can_upload && isset($_FILES['comment_image'])) { // 1. Получаем оригинальное имя файла без расширения $original_basename = pathinfo($fname, PATHINFO_FILENAME); - // 2. Очищаем имя через нашу исправленную функцию + // 2. Очищаем имя $clean_name = prepare_fname($original_basename); // 3. Защита от пустого имени @@ -941,7 +941,7 @@ if (!$can_upload && isset($_FILES['comment_image'])) { $user_rating = (int)$row['user_rating']; } - // 6. Обновление базы данных + // Обновление базы данных $new_status = $is_admin ? (int)$row['comment_status'] : ($row['comment_need_approve'] == '1' ? 0 : 1); $AVE_DB->Query(" @@ -1112,7 +1112,7 @@ function commentPostDelete($comment_id) $user_id = empty($_SESSION['user_id']) ? 0 : (int)$_SESSION['user_id']; $anon_key = $this->_getAnonKey(); - // ПРОВЕРКА ПРАВ ГОЛОСОВАНИЯ (Новое) + // ПРОВЕРКА ПРАВ ГОЛОСОВАНИЯ // Получаем настройки модуля, чтобы узнать, разрешено ли анонимам голосовать $settings = $this->_commentSettingsGet(); if (empty($user_id) && empty($settings['comment_rating_anon_vote'])) { @@ -1206,7 +1206,6 @@ function commentPostDelete($comment_id) '" . time() . "') "); - // ОБНОВЛЕНИЕ В ТАБЛИЦЕ INFO $AVE_DB->Query(" UPDATE " . PREFIX . "_module_comment_info SET rating_sum = rating_sum + " . $vote_value . ", @@ -1214,7 +1213,7 @@ function commentPostDelete($comment_id) WHERE Id = '" . $comment_id . "' "); - // ФИНАЛ: Чистый ответ для JS + // Чистый ответ для JS if ($ajax) { if (ob_get_length()) ob_end_clean(); echo 'success'; @@ -1236,7 +1235,6 @@ function commentAdminDelete($comment_id) if (empty($ids)) return; // Читаем тип удаления из запроса (для одиночных кликов по иконкам) - // Для массового удаления через кнопку "Применить" этот параметр обычно не передается $delete_type = $_REQUEST['admin_action_type'] ?? 'auto'; foreach ($ids as $id) { @@ -1245,7 +1243,6 @@ function commentAdminDelete($comment_id) // Проверяем наличие детей $has_children = $AVE_DB->Query("SELECT COUNT(*) FROM " . PREFIX . "_module_comment_info WHERE parent_id = '$id'")->GetCell(); - // ЛОГИКА СОГЛАСНО ДОГОВОРУ: // Если тип 'soft' ИЛИ (тип 'auto' и есть дети) — делаем мягкое удаление if (($delete_type == 'soft') || ($delete_type == 'auto' && $has_children > 0)) { $AVE_DB->Query(" @@ -1404,7 +1401,7 @@ function commentAdminListShow($tpl_dir) $res = $AVE_DB->Query("SELECT Id FROM " . PREFIX . "_module_comment_info WHERE parent_id IN ($parent_list)"); $found_children = []; - // Перебираем результат построчно через стандартный FetchAssocArray + // Перебираем результат построчно if ($res) { while ($row_child = $res->FetchAssocArray()) { $found_children[] = (int)$row_child['Id']; diff --git a/lang/ru.txt b/lang/ru.txt index b4e44bf..b3f9f01 100644 --- a/lang/ru.txt +++ b/lang/ru.txt @@ -219,3 +219,30 @@ COMMENT_SET_GEN = "Общие настройки" COMMENT_TEXT_DEL_BY_ADMIN = "Комментарий удален администратором." COMMENT_TEXT_DEL_BY_AUTHOR = "Комментарий удален автором." COMMENT_STATUS_DELETED = "Удалено" +COMMENT_STATUS_AKTIV = "Активен" +COMMENT_STATUS_HIDE = "Скрыт" +COMMENT_ANSWER_ADM = "Ответ на комментарий" +COMMENT_DEL_ADM_ADM = "Комментарий удален администратором" +COMMENT_DEL_AVT_ADM = "Автор удалил свой комментарий" +COMMENT_ICON_HIDE_ADM = "Скрыть" +COMMENT_ICON_SHOW_ADM = "Одобрить" +COMMENT_ICON_EDIT_ADM = "Редактировать" +COMMENT_ICON_DEL_SOFT = "Мягкое удаление/заменяет текст (сохраняет ветку)" +COMMENT_ICON_DEL_HARD = "Удалить навсегда (вместе с веткой)" +COMMENT_NOT_COOMENTS_MES = "Сообщение:" +COMMENT_NOT_COOMENTS_MES_A = "Нет комментариев." +COMMENT_ACTION_SELECT = "Выберите действие..." +COMMENT_ACTION_SELECT_PUB = "Опубликовать" +COMMENT_ACTION_HIDE = "Скрыть" +COMMENT_ACTION_DEL = "Удалить выбранные" +COMMENT_ACT_DEL_SEL = "Выберите действие из списка!" +COMMENT_ACT_DEL_WAR = "Внимание" +COMMENT_ACT_DEL_SEL_A = "Вы не выбрали ни одного комментария для обработки." +COMMENT_ACT_DEL_WAR_A = "Ошибка" +COMMENT_ACT_DEL_SEL_B = "Выполнить выбранное действие для " +COMMENT_ACT_DEL_WAR_B = " эл.? +COMMENT_ACT_DEL_WAR_C = "Подтверждение" +COMMENT_CONFIRM_ADM_DIR = "Удаление комментария" +COMMENT_CONFIRM_ADM_NAME = "Удалить навсегда (вместе с веткой)?" +COMMENT_CONFIRM_ADM_DIR_SOFT = "Мягкое удаление комментария (ветка остается)" +COMMENT_CONFIRM_ADM_NAME_SOFT = "Удалить все данные и применить текст Комментарий удален администратором ?" diff --git a/templates/admin_comments.tpl b/templates/admin_comments.tpl index f6fda65..6387fcf 100644 --- a/templates/admin_comments.tpl +++ b/templates/admin_comments.tpl @@ -158,7 +158,7 @@ {if $docs} {foreach from=$docs item=row name=zebraloop} {assign var="is_deleted" value=false} - {if $row.comment_author_name == '__DELETED__' || $row.comment_author_name == 'Удалено'}{assign var="is_deleted" value=true}{/if} + {if $row.comment_author_name == '__DELETED__' || $row.comment_author_name == '{#COMMENT_STATUS_DELETED#}'}{assign var="is_deleted" value=true}{/if} @@ -166,9 +166,9 @@ {$row.CId} {if $row.comment_status == '1'} - + {else} - + {/if} @@ -215,16 +215,16 @@
{if $row.parent_id > 0} - Ответ на комментарий #{$row.parent_id} » + {#COMMENT_ANSWER_ADM#} #{$row.parent_id} » {/if}
{if $row.comment_text == '__DEL_BY_ADM__'}
- 🚫 Комментарий удален администратором + 🚫 {#COMMENT_DEL_ADM_ADM#}
{elseif $row.comment_text == '__DEL_BY_AUT__'}
- 🗑️ Автор удалил свой комментарий + 🗑️ {#COMMENT_DEL_AVT_ADM#}
{else} {$row.comment_text|strip_tags|truncate:130} @@ -263,17 +263,17 @@
{if !$is_deleted} {if $row.comment_status == '1'} - + {else} - + {/if} - + {if $row.has_children} - {/if} {/if} -
@@ -283,7 +283,7 @@ @@ -294,12 +294,12 @@
- +
@@ -318,9 +318,9 @@ function runMassAction() { var select = document.getElementById('mass_action_select'); var action = select.value; - // Красивое уведомление, если не выбрали действие + // уведомление, если не выбрали действие if (!action) { - jAlert('Выберите действие из списка!', 'Внимание'); + jAlert('{#COMMENT_ACT_DEL_SEL#}', '{#COMMENT_ACT_DEL_WAR#}'); return; } @@ -330,9 +330,9 @@ function runMassAction() { if (checkboxes[i].checked) ids.push(checkboxes[i].value); } - // Красивое уведомление, если не выбрали чекбоксы + // уведомление, если не выбрали чекбоксы if (ids.length === 0) { - jAlert('Вы не выбрали ни одного комментария для обработки.', 'Ошибка'); + jAlert('{#COMMENT_ACT_DEL_SEL_A#}', '{#COMMENT_ACT_DEL_WAR_A#}'); return; } @@ -346,8 +346,8 @@ function runMassAction() { url = 'index.php?do=modules&action=modedit&mod=comment&moduleaction=1&admin_action=' + action + '&ids=' + ids.join(',') + '&cp=' + cp; } - // Красивое подтверждение - jConfirm('Выполнить выбранное действие для ' + ids.length + ' эл.?', 'Подтверждение', function(r) { + // подтверждение + jConfirm('{#COMMENT_ACT_DEL_SEL_B#} ' + ids.length + ' {#COMMENT_ACT_DEL_WAR_B#}', '{#COMMENT_ACT_DEL_WAR_C#}', function(r) { if(r) window.location.href = url; }); }