Настройки модуля в админке - все тексты убранны в языковые переменные

This commit is contained in:
2026-01-06 20:16:58 +05:00
parent 4ff2b654b4
commit 9c4d0e7d1e
3 changed files with 91 additions and 50 deletions

View File

@@ -286,7 +286,7 @@ function commentListShow($tpl_dir)
{
$assign['comment_max_chars'] = $settings['comment_max_chars'];
$assign['im'] = $settings['comment_use_antispam'];
$assign['comment_allowed_extensions'] = $settings['comment_allowed_extensions'] ?? 'jpg,jpeg,png,gif';
$assign['comment_allowed_extensions'] = $settings['comment_allowed_extensions'] ?? 'jpg,jpeg,png,gif,webp';
$assign['comment_max_file_size'] = $settings['comment_max_file_size'] ?? 2048;
$assign['comment_max_files'] = (int)($settings['comment_max_files'] ?? 5);
$assign['ajax_replies_limit'] = (int)($settings['comment_ajax_replies_limit'] ?? 0);

View File

@@ -72,9 +72,47 @@ COMMENT_FOR_GROUPS = "Группы пользователей, кото
COMMENT_MAX_CHARS = "Максимальное количество символов:"
COMMENT_BUTTON_SAVE = "Сохранить настройки"
COMMENT_EDIT = "Редактировать комментарий"
COMMENT_SPAMPROTECT = "Защита от спама"
COMMENT_SPAMPROTECT = "Использовать CAPTCHA"
COMMENT_USE_PAGE_TITEL = "Настройка постраничной навигации"
COMMENT_USE_PAGE_NAV = "Использовать постраничную навигацию"
COMMENT_PAGE_NAV_COUNT = "Кол-во комментариев на странице"
COMMENT_USE_PAGE_ANSWER = "Кол-во ответов в ветке:"
COMMENT_USE_PAGE_NO_LIMIT = "(0 - без лимита)"
COMMENT_SAFE_LIMIT_TITEL = "Защита и ограничения"
COMMENT_SAFE_LIMIT_TIME_EDIT = "Время на редактирование комментария:"
COMMENT_SAFE_LIMIT_TIME_EDIT_SEC = "сек."
COMMENT_TIME_COOKIE_ANONIM = "Жизнь куки анонима:"
COMMENT_TIME_COOKIE_ANONIM_DAY = "дн."
COMMENT_ADD_FIELD_1 = "Дополнительное поле 1"
COMMENT_ADD_FIELD_2 = "Дополнительное поле 2"
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_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_ON_AVWER = "Использовать в ответах"
COMMENT_AVTOR_RIGHTS_ANONIM = "Разрешить анонимам ставить звезды"
COMMENT_FILES_TITEL = "Настройки загрузки файлов"
COMMENT_FILES_TITEL = "Настройки загрузки файлов"
COMMENT_FILES_ON = "Загрузка файлов:"
COMMENT_FILES_ON_CHEK = "Включить загрузку файлов"
COMMENT_FILES_RIGHTS = "Права на загрузку файлов:"
COMMENT_FILES_RIGHTS_ANONIM = "Разрешить анонимам загружать файлы"
COMMENT_FILES_ALLOWED_EXT = "Допустимые расширения:"
COMMENT_FILES_MAX_SIZE = "Макс. размер файла (Кб):"
COMMENT_FILES_MAX_COUNT = "Макс. кол-во файлов:"
COMMENT_FILES_MAX_COUNT_TEXT = "шт. на один комментарий"
COMMENT_PAGE_NAV_COUNT = "Кол-во комментариев на странице (родителей)"
COMMENT_EDIT_TITLE = "Редактирование комментария"
COMMENT_IS_CLOSED = "Редактирование не возможно, поскольку обсуждение закрыто."
COMMENT_CLOSE_BUTTON = "Закрыть окно"
@@ -87,8 +125,11 @@ COMMENT_YOUR_TEXT = "* Комментарий:"
COMMENT_BUTTON_EDIT = "Сохранить изменения"
COMMENT_BUTTON_CANCEL = "Отменить"
COMMENT_CHARS_LEFT = "Количество оставшихся символов"
COMMENT_BUTTON_CANCEL = "Отменить"
COMMENT_BUTTON_APPLY = "Применить"
COMMENT_BUTTON_RESET = "Очистить"
COMMENT_FOR_GROUPS_READ = "Группы пользователей, которым разрешен просмотр комментариев:"
COMMENT_HEADER_NAME = "Значение"
COMMENT_HEADER_PARAMETR = "Параметр"
COMMENT_HEADER_PARAMETR = "Параметр"
COMMENT_SETTING_APPLY = "Настройки модуля успешно обновлены"
COMMENT_SETTING_ERROR = "Ошибка связи с сервером"
COMMENT_SETTING_SAVE = "Сохранение..."

View File

@@ -43,26 +43,26 @@
</tr>
<tr>
<td colspan="4" style="background: #f9f9f9; font-weight: bold; text-align: center;">Настройка постраничной навигации</td>
<td colspan="4" style="background: #f9f9f9; font-weight: bold; text-align: center;">{#COMMENT_USE_PAGE_TITEL#}</td>
</tr>
<tr>
<td>{#COMMENT_USE_PAGE_NAV#}</td>
<td style="border-right: 1px solid #ddd;"><input name="comment_use_page_nav" type="checkbox" value="1" {if $comment_use_page_nav=='1'}checked{/if} /></td>
<td>{#COMMENT_PAGE_NAV_COUNT#} (родителей)</td>
<td><input name="comment_page_nav_count" type="text" value="{$comment_page_nav_count}" size="4" style="width: 50px;" /></td>
<td>{#COMMENT_PAGE_NAV_COUNT#}</td>
<td><input name="comment_page_nav_count" type="text" value="{$comment_page_nav_count}" size="4" style="width: 50px;" /><span style="color: #888; font-size: 11px; margin-left: 5px;">{#COMMENT_USE_PAGE_NO_LIMIT#}</span></td>
</tr>
<tr>
<td>Лимит AJAX-ответов в ветке:</td>
<td>{#COMMENT_USE_PAGE_ANSWER#}</td>
<td style="border-right: 1px solid #ddd;">
<input name="comment_ajax_replies_limit" type="text" value="{$comment_ajax_replies_limit|default:'5'}" size="4" style="width: 50px;" />
<span style="color: #888; font-size: 11px; margin-left: 5px;">(0 - без лимита)</span>
<span style="color: #888; font-size: 11px; margin-left: 5px;">{#COMMENT_USE_PAGE_NO_LIMIT#}</span>
</td>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="4" style="background: #f9f9f9; font-weight: bold; text-align: center;">Защита и ограничения</td>
<td colspan="4" style="background: #f9f9f9; font-weight: bold; text-align: center;">{#COMMENT_SAFE_LIMIT_TITEL#}</td>
</tr>
<tr>
<td>{#COMMENT_SPAMPROTECT#}</td>
@@ -72,15 +72,15 @@
</tr>
<tr>
<td>Время на редактирование:</td>
<td>{#COMMENT_SAFE_LIMIT_TIME_EDIT#}</td>
<td style="border-right: 1px solid #ddd;">
<input name="comment_edit_time" type="text" value="{$comment_edit_time}" size="5" style="width: 50px;" />
<span style="color: #888; font-size: 11px; margin-left: 5px;">сек.</span>
<span style="color: #888; font-size: 11px; margin-left: 5px;">{#COMMENT_SAFE_LIMIT_TIME_EDIT_SEC#}</span>
</td>
<td>Жизнь куки анонима:</td>
<td>{#COMMENT_TIME_COOKIE_ANONIM#}</td>
<td>
<input name="comment_cookie_life" type="text" value="{$comment_cookie_life}" size="5" style="width: 50px;" />
<span style="color: #888; font-size: 11px; margin-left: 5px;">дн.</span>
<span style="color: #888; font-size: 11px; margin-left: 5px;">{#COMMENT_TIME_COOKIE_ANONIM_DAY#}</span>
</td>
</tr>
@@ -116,69 +116,69 @@
</tr>
<tr>
<td colspan="2" style="background: #f9f9f9; font-weight: bold; text-align: center; border-right: 1px solid #ddd;">Дополнительное поле №1</td>
<td colspan="2" style="background: #f9f9f9; font-weight: bold; text-align: center;">Дополнительное поле №2</td>
<td colspan="2" style="background: #f9f9f9; font-weight: bold; text-align: center; border-right: 1px solid #ddd;">{#COMMENT_ADD_FIELD_1#}</td>
<td colspan="2" style="background: #f9f9f9; font-weight: bold; text-align: center;">{#COMMENT_ADD_FIELD_2#}</td>
</tr>
<tr>
<td>Заголовок поля 1:</td>
<td>{#COMMENT_TITEL_FIELD_1#}</td>
<td style="border-right: 1px solid #ddd;">
<input name="comment_name_f1" type="text" value="{$comment_name_f1|escape}" style="width: 90%;" placeholder="Введите название поля" />
<div style="margin-top: 5px;">
<label><input name="comment_show_f1" type="checkbox" value="1" {if $comment_show_f1=='1'}checked{/if} /> Показывать</label>
<label><input name="comment_show_f1" type="checkbox" value="1" {if $comment_show_f1=='1'}checked{/if} />{#COMMENT_FIELD_SHOW#}</label>
&nbsp;&nbsp;
<label><input name="comment_req_f1" type="checkbox" value="1" {if $comment_req_f1=='1'}checked{/if} /> Обязательное</label>
<label><input name="comment_req_f1" type="checkbox" value="1" {if $comment_req_f1=='1'}checked{/if} />{#COMMENT_FIELD_REQUIRED#}</label>
</div>
</td>
<td>Заголовок поля 2:</td>
<td>{#COMMENT_TITEL_FIELD_1#}</td>
<td>
<input name="comment_name_f2" type="text" value="{$comment_name_f2|escape}" style="width: 90%;" placeholder="Введите название поля" />
<div style="margin-top: 5px;">
<label><input name="comment_show_f2" type="checkbox" value="1" {if $comment_show_f2=='1'}checked{/if} /> Показывать</label>
<label><input name="comment_show_f2" type="checkbox" value="1" {if $comment_show_f2=='1'}checked{/if} />{#COMMENT_FIELD_SHOW#}</label>
&nbsp;&nbsp;
<label><input name="comment_req_f2" type="checkbox" value="1" {if $comment_req_f2=='1'}checked{/if} /> Обязательное</label>
<label><input name="comment_req_f2" type="checkbox" value="1" {if $comment_req_f2=='1'}checked{/if} />{#COMMENT_FIELD_REQUIRED#}</label>
</div>
</td>
</tr>
<tr>
<td colspan="4" style="background: #f9f9f9; font-weight: bold; text-align: center;">Настройка общего рейтинга</td>
<td colspan="4" style="background: #f9f9f9; font-weight: bold; text-align: center;">{#COMMENT_SET_OVER_RATING_TITEL#}</td>
</tr>
<tr>
<td>Тип общего рейтинга:</td>
<td>{#COMMENT_OVER_RATING_TYPE#}</td>
<td style="border-right: 1px solid #ddd;">
<div style="display: flex; gap: 20px;">
<span style="display: flex; align-items: center;">
<input type="radio" name="comment_rating_type" id="type_stars" value="0" {if $comment_rating_type == '0'}checked="checked"{/if} style="margin-right: 5px; cursor: pointer;" />
<label for="type_stars" style="cursor: pointer; margin-bottom: 0;">Звезды (1-5)</label>
<label for="type_stars" style="cursor: pointer; margin-bottom: 0;">{#COMMENT_OVER_RATING_STAR#}</label>
</span>
<span style="display: flex; align-items: center;">
<input type="radio" name="comment_rating_type" id="type_likes" value="1" {if $comment_rating_type == '1'}checked="checked"{/if} style="margin-right: 5px; cursor: pointer;" />
<label for="type_likes" style="cursor: pointer; margin-bottom: 0;">Лайк (Сердечко)</label>
<label for="type_likes" style="cursor: pointer; margin-bottom: 0;">{#COMMENT_OVER_RATING_LIKE#}</label>
</span>
<span style="display: flex; align-items: center;">
<input type="radio" name="comment_rating_type" id="type_none" value="2" {if $comment_rating_type == '2'}checked="checked"{/if} style="margin-right: 5px; cursor: pointer;" />
<label for="type_none" style="cursor: pointer; margin-bottom: 0; color: #d9534f;">Выключить рейтинг</label>
<label for="type_none" style="cursor: pointer; margin-bottom: 0; color: #d9534f;">{#COMMENT_OVER_RATING_OFF#}</label>
</span>
</div>
</td>
<td>Права на голосование:</td>
<td>{#COMMENT_VOTING_RIGHTS#}</td>
<td>
<label style="cursor: pointer; display: flex; align-items: center; font-weight: normal;">
<input name="comment_rating_anon_vote" type="checkbox" value="1" {if $comment_rating_anon_vote=='1'}checked{/if} style="margin-right: 10px;" />
&nbsp;Разрешить анонимам голосовать
&nbsp;{#COMMENT_VOTING_RIGHTS_ANONIM#}
</label>
</td>
</tr>
<tr>
<td colspan="4" style="background: #f9f9f9; font-weight: bold; text-align: center;">Настройка авторского рейтинга</td>
<td colspan="4" style="background: #f9f9f9; font-weight: bold; text-align: center;">{#COMMENT_SET_AVTOR_RATING_TITEL#}</td>
</tr>
<tr>
<td>Авторская оценка:</td>
<td>{#COMMENT_SET_AVTOR_ASSESS#}</td>
<td style="border-right: 1px solid #ddd;">
<label style="cursor: pointer; display: flex; align-items: center; font-weight: normal;">
<input name="comment_show_user_rating" type="checkbox" value="1" {if $comment_show_user_rating=='1'}checked{/if} style="margin-right: 10px;" />
&nbsp;Включить "Авторские звезды"
&nbsp;{#COMMENT_SET_AVTOR_ON#}
</label>
</td>
<td style="border-right: 1px solid #ddd;">
@@ -190,46 +190,46 @@
<td>
<label style="cursor: pointer; display: flex; align-items: center; font-weight: normal;">
<input name="comment_rating_anon_set" type="checkbox" value="1" {if $comment_rating_anon_set=='1'}checked{/if} style="margin-right: 10px;" />
&nbsp;Разрешить анонимам ставить звезды
&nbsp;{#COMMENT_AVTOR_RIGHTS_ANONIM#}
</label>
</td>
</tr>
<tr>
<td colspan="4" style="background: #f9f9f9; font-weight: bold; text-align: center;">Настройки медиафайлов</td>
<td colspan="4" style="background: #f9f9f9; font-weight: bold; text-align: center;">{#COMMENT_FILES_TITEL#}</td>
</tr>
<tr>
<td>Разрешить загрузку фото:</td>
<td>{#COMMENT_FILES_ON#}</td>
<td style="border-right: 1px solid #ddd;">
<label style="cursor: pointer; display: flex; align-items: center; font-weight: normal;">
<input name="comment_allow_files" type="checkbox" value="1" {if $comment_allow_files=='1'}checked{/if} style="margin-right: 10px;" />
&nbsp;Включить загрузку изображений
&nbsp;{#COMMENT_FILES_ON_CHEK#}
</label>
</td>
<td>Права на загрузку изображений:</td>
<td>{#COMMENT_FILES_RIGHTS#}</td>
<td>
<label style="cursor: pointer; display: flex; align-items: center; font-weight: normal;">
<input name="comment_allow_files_anon" type="checkbox" value="1" {if $comment_allow_files_anon=='1'}checked{/if} style="margin-right: 10px;" />
&nbsp;Разрешить анонимам загружать изображения
&nbsp;{#COMMENT_FILES_RIGHTS_ANONIM#}
</label>
</td>
</tr>
<tr>
<td>Допустимые расширения:</td>
<td>{#COMMENT_FILES_ALLOWED_EXT#}</td>
<td style="border-right: 1px solid #ddd;">
<input name="comment_allowed_extensions" type="text" value="{$comment_allowed_extensions|default:'jpg,jpeg,png,gif,webp'}" style="width: 90%;" placeholder="Пример: jpg, png, gif" />
<input name="comment_allowed_extensions" type="text" value="{$comment_allowed_extensions|default:'jpg,jpeg,png,gif,webp'}" style="width: 90%;" placeholder="Пример: jpg, png, gif, webp" />
</td>
<td>Макс. размер файла (Кб):</td>
<td>{#COMMENT_FILES_MAX_SIZE#}</td>
<td>
<input name="comment_max_file_size" type="text" value="{$comment_max_file_size|default:'2048'}" size="6" style="width: 80px;" />
<span style="color: #888; font-size: 11px; margin-left: 5px;">KB</span>
</td>
</tr>
<tr>
<td>Макс. кол-во файлов:</td>
<td>{#COMMENT_FILES_MAX_COUNT#}</td>
<td style="border-right: 1px solid #ddd;">
<input name="comment_max_files" type="text" value="{$comment_max_files|default:'5'}" size="4" style="width: 50px;" />
<span style="color: #888; font-size: 11px; margin-left: 5px;">шт. на один комментарий</span>
<span style="color: #888; font-size: 11px; margin-left: 5px;">{#COMMENT_FILES_MAX_COUNT_TEXT#}</span>
</td>
<td></td>
<td></td>
@@ -241,8 +241,8 @@
<div class="saveBtn" style="float: left; width: 100%;">
<input type="submit" class="basicBtn" value="{#COMMENT_BUTTON_SAVE#}" style="margin-right: 5px;" />
<span style="margin: 0 5px;">или</span>
<input type="button" id="apply_comment_settings" class="blackBtn" value="Применить" style="margin-left: 5px;" />
<a class="button redBtn" href="index.php?do=modules&cp={$sess}" style="float:right; height: 18px; padding: 0 10px; line-height: 18px;">Отменить</a>
<input type="button" id="apply_comment_settings" class="blackBtn" value="{#COMMENT_BUTTON_APPLY#}" style="margin-left: 5px;" />
<a class="button redBtn" href="index.php?do=modules&cp={$sess}" style="float:right; height: 18px; padding: 0 10px; line-height: 18px;">{#COMMENT_BUTTON_CANCEL#}</a>
</div>
</div>
<div class="fix"></div>
@@ -266,20 +266,20 @@ $(document).ready(function() {
url: actionUrl,
data: formData,
beforeSend: function() {
$("#apply_comment_settings").val("Сохранение...").attr("disabled", true);
$("#apply_comment_settings").val("{#COMMENT_SETTING_SAVE#}").attr("disabled", true);
},
success: function (data) {
if (data.trim() === "success") {
$.jGrowl("Настройки модуля успешно обновлены (Ctrl+S)", { theme: "accept", life: 3000 });
$.jGrowl("{#COMMENT_SETTING_APPLY#} (Ctrl+S)", { theme: "accept", life: 3000 });
} else {
$.jGrowl("Ошибка: " + data, { theme: "error", life: 5000 });
}
},
error: function () {
$.jGrowl("Ошибка связи с сервером", { theme: "error" });
$.jGrowl("{#COMMENT_SETTING_ERROR#}", { theme: "error" });
},
complete: function() {
$("#apply_comment_settings").val("Применить").attr("disabled", false);
$("#apply_comment_settings").val("{#COMMENT_BUTTON_APPLY#}").attr("disabled", false);
}
});
}