Files
comment/templates/comments_tree.tpl

260 lines
12 KiB
Smarty
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{if $display_comments==1}
{* ===================================================================== *}
{* ПРОВЕРКА ПРАВ НА ЧТЕНИЕ *}
{* ===================================================================== *}
{if $no_read_permission == 1}
<div class="alert alert-warning" role="alert">{#COMMENT_READ_FALSE#}</div>
{else}
{* ===================================================================== *}
{* БЛОК КОММЕНТАРИЕВ *}
{* ===================================================================== *}
<h3 class="mb-3">
{#COMMENT_SITE_TITLE#}
{if $closed==1 && $smarty.const.UGROUP!=1}
<span class="badge bg-secondary ms-2">{#COMMENT_SITE_CLOSED#}</span>
{/if}
</h3>
<div class="d-flex mb-4 align-items-center">
{* Кнопка "Добавить комментарий" - ведет к якорю формы *}
<a href="#end" class="btn btn-sm btn-outline-primary">
<i class="bi bi-plus-circle me-1"></i> {#COMMENT_SITE_ADD#}
</a>
{if $smarty.const.UGROUP==1}
{* Кнопки управления комментированием для Администратора *}
{if $closed==1}
<a id="mod_comment_open" href="javascript:void(0);" class="btn btn-sm btn-outline-success ms-3">
<i class="bi bi-lock-fill me-1"></i> {#COMMENT_SITE_OPEN#}
</a>
{else}
<a id="mod_comment_close" href="javascript:void(0);" class="btn btn-sm btn-outline-danger ms-3">
<i class="bi bi-unlock-fill me-1"></i> {#COMMENT_SITE_CLOSE#}
</a>
{/if}
{/if}
</div>
{if isset($comments[0])}
<div class="comments-list" id="comments_list">
{include file="$subtpl" subcomments=$comments[0]}
</div>
{/if}
<a id="end"></a>
{* ===================================================================== *}
{* ФОРМА ДОБАВЛЕНИЯ КОММЕНТАРИЯ *}
{* ===================================================================== *}
<div class="mt-5">
{if $closed==1 && $smarty.const.UGROUP!=1}
<div class="alert alert-info">{#COMMENT_NEW_CLOSED#}</div>
{elseif $cancomment!=1 && $smarty.const.UGROUP!=1}
<div class="alert alert-info">{#COMMENT_NEW_FALSE#}</div>
{else}
<div id="mod_comment_new" class="card shadow-sm">
<div class="card-header bg-light">
<h4 class="mb-0">{#COMMENT_NEW_TITLE#}</h4>
</div>
<div class="card-body p-4" id="forms">
<form method="post" action="{$ABS_PATH}" enctype="multipart/form-data">
<fieldset>
<legend class="d-none">Форма добавления комментария</legend>
{* Блок для имени и email *}
{if $smarty.session.user_group != '2'}
{* АВТОРИЗОВАННЫЙ ПОЛЬЗОВАТЕЛЬ *}
<div class="row mb-3">
<div class="col-md-6 mb-3 mb-md-0">
<label for="in_author_name_display" class="form-label">{#COMMENT_YOUR_NAME#}</label>
<input type="text" id="in_author_name_display" class="form-control" value="{$smarty.session.user_name|default:''|escape|stripslashes}" readonly />
</div>
<div class="col-md-6">
<label for="in_author_email_display" class="form-label">{#COMMENT_YOUR_EMAIL#}</label>
<input type="email" id="in_author_email_display" class="form-control" value="{$smarty.session.user_email|default:''|escape|stripslashes}" readonly />
</div>
</div>
<input name="comment_author_name" type="hidden" id="in_author_name" value="{$smarty.session.user_name|default:''|escape|stripslashes}" />
<input name="comment_author_email" type="hidden" id="in_author_email" value="{$smarty.session.user_email|default:''|escape|stripslashes}" />
{else}
{* ГОСТЬ *}
<div class="row mb-3">
<div class="col-md-6 mb-3 mb-md-0">
<label for="in_author_name" class="form-label">{#COMMENT_YOUR_NAME#}*</label>
<input name="comment_author_name" type="text" id="in_author_name" class="form-control" placeholder="{#COMMENT_YOUR_NAME#}" value="{$smarty.request.comment_author_name|default:''|escape|stripslashes}" />
</div>
<div class="col-md-6">
<label for="in_author_email" class="form-label">{#COMMENT_YOUR_EMAIL#}*</label>
<input name="comment_author_email" type="email" id="in_author_email" class="form-control" placeholder="{#COMMENT_YOUR_EMAIL#}" value="{$smarty.request.comment_author_email|default:''|escape|stripslashes}" />
</div>
</div>
{/if}
{* ДИНАМИЧЕСКИЕ ПОЛЯ (Field 1 и Field 2) *}
<div class="row mb-3">
{if $comment_show_f1 == 1}
<div class="col-md-6 mb-3 mb-md-0">
<label for="in_author_website" class="form-label">
{$comment_name_f1|default:#COMMENT_YOUR_SITE#} {if $comment_req_f1 == 1}*{else}(необязательно){/if}
</label>
<input name="comment_author_website" type="text" id="in_author_website" class="form-control" placeholder="{$comment_name_f1|default:#COMMENT_YOUR_SITE#}" value="{$smarty.request.comment_author_website|default:''|escape|stripslashes}" />
</div>
{/if}
{if $comment_show_f2 == 1}
<div class="col-md-6">
<label for="in_author_city" class="form-label">
{$comment_name_f2|default:#COMMENT_YOUR_FROM#} {if $comment_req_f2 == 1}*{else}(необязательно){/if}
</label>
<input name="comment_author_city" type="text" id="in_author_city" class="form-control" placeholder="{$comment_name_f2|default:#COMMENT_YOUR_FROM#}" value="{$smarty.request.comment_author_city|default:''|escape|stripslashes}" />
</div>
{/if}
</div>
{* Текст комментария *}
<div class="mb-3">
<label for="in_message" class="form-label">{#COMMENT_YOUR_TEXT#}*</label>
<textarea rows="8" name="comment_text" id="in_message" class="form-control" placeholder="{#COMMENT_YOUR_TEXT#}"></textarea>
</div>
{* Оставшиеся символы *}
<p class="text-end text-muted small">
{#COMMENT_CHARS_LEFT#} <span class="charsLeft fw-bold" id="charsLeft_new"></span>
</p>
{* Блок загрузки изображения *}
{if $comment_allow_files == 1}
<div class="mb-3">
<label for="comment_image" class="form-label text-muted small">
<i class="bi bi-camera me-1"></i> Прикрепить изображение (JPG, PNG, GIF)
</label>
<input type="file" name="comment_image" id="comment_image" class="form-control form-control-sm" accept="image/*">
{* Контейнер для превью *}
<div id="image_preview_wrapper" class="mt-2 d-none position-relative" style="width: fit-content;">
<img id="image_preview_img" src="#" alt="Предпросмотр" class="img-thumbnail" style="max-height: 120px;">
<button type="button" id="remove_image_btn" class="btn btn-danger btn-sm position-absolute top-0 end-0"
style="padding: 0 5px; margin: 2px;" title="Удалить фото">
<i class="bi bi-x-lg"></i>
</button>
</div>
<div id="file_error" class="text-danger small mt-1 d-none"></div>
</div>
{/if}
{* CAPTCHA *}
{if $im}
<div class="row mb-3 align-items-center">
<div class="col-md-4">
<label for="securecode" class="form-label">{#COMMENT_FORM_CODE#}</label>
<div id="captcha_block">
<span id="captcha" class="d-block mb-1">
<img src="{$ABS_PATH}inc/captcha.php" alt="{#COMMENT_FORM_CODE#}" class="img-fluid border rounded" style="cursor: pointer;" width="120" height="60" border="0" />
</span>
<a href="javascript:void(0);" id="reload_captcha" class="small text-decoration-none text-muted">
<i class="bi bi-arrow-clockwise"></i> {if #COMMENT_RELOAD_CODE#}{#COMMENT_RELOAD_CODE#}{else}Обновить код{/if}
</a>
</div>
</div>
<div class="col-md-8">
<label for="securecode" class="form-label">{#COMMENT_FORM_CODE_ENTER#}*</label>
<input name="securecode" type="text" id="securecode" maxlength="10" class="form-control" placeholder="{#COMMENT_FORM_CODE_ENTER#}" />
</div>
</div>
{/if}
{* Кнопки отправки *}
<div class="mt-4">
<button type="submit" class="btn btn-success me-2">
<i class="bi bi-send-fill me-1"></i> {#COMMENT_BUTTON_ADD#}
</button>
<button type="reset" id="buttonReset" class="btn btn-secondary">
<i class="bi bi-x-circle me-1"></i> Сбросить
</button>
</div>
{* Скрытые поля *}
<input name="module" type="hidden" value="comment" />
<input name="action" type="hidden" value="comment" />
<input name="sub" type="hidden" value="send" />
<input name="doc_id" type="hidden" value="{$smarty.request.id|escape}" />
<input name="parent_id" id="parent_id" type="hidden" value="" />
<input name="page" type="hidden" value="{$page}" />
</fieldset>
</form>
</div>
</div>
{/if}
</div>
{if $page_nav}
<div class="page_navigation_box mt-4">
<nav aria-label="Comment Page Navigation">{$page_nav}</nav>
</div>
{/if}
{* Модальное окно удаления *}
<div class="modal fade" id="deleteCommentModal" tabindex="-1" aria-labelledby="deleteCommentModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-danger text-white">
<h5 class="modal-title" id="deleteCommentModalLabel">Подтверждение действия</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Закрыть"></button>
</div>
<div class="modal-body">
Вы уверены, что хотите **удалить этот комментарий**?
Это действие необратимо.
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Отмена</button>
<button type="button" class="btn btn-danger" id="confirmDeleteButton">Удалить комментарий</button>
</div>
</div>
</div>
</div>
{* ПЕРЕМЕННЫЕ JAVASCRIPT *}
<script type="text/javascript">
var COMMENT_SITE_CLOSE = '{#COMMENT_SITE_CLOSE#}';
var COMMENT_SITE_OPEN = '{#COMMENT_SITE_OPEN#}';
var COMMENT_LOCK_LINK = '{#COMMENT_LOCK_LINK#}';
var COMMENT_EDIT_LINK = '{#COMMENT_EDIT_LINK#}';
var COMMENT_EDIT_TITLE = '{#COMMENT_EDIT_TITLE#}';
var COMMENT_UNLOCK_LINK = '{#COMMENT_UNLOCK_LINK#}';
var COMMENT_ERROR_AUTHOR = '{#COMMENT_ERROR_AUTHOR#}';
var COMMENT_ERROR_EMAIL = '{#COMMENT_ERROR_EMAIL#}';
var COMMENT_ERROR_TEXT = '{#COMMENT_ERROR_TEXT#}';
var COMMENT_ERROR_CAPTCHA = '{#COMMENT_ERROR_CAPTCHA#}';
var COMMENT_BUTTON_EDIT = '{#COMMENT_BUTTON_EDIT#}';
var COMMENT_BUTTON_CANCEL = '{#COMMENT_BUTTON_CANCEL#}';
var COMMENT_CHARS_LEFT = '{#COMMENT_CHARS_LEFT#}';
var COMMENT_DATE_TIME_FORMAT = '{#COMMENT_DATE_TIME_FORMAT#}';
var COMMENT_TEXT_CHANGED = '{#COMMENT_TEXT_CHANGED#}';
var COMMENT_WRONG_CODE = '{#COMMENT_WRONG_CODE#}';
var REQ_F1 = '{$comment_req_f1}';
var REQ_F2 = '{$comment_req_f2}';
var NAME_F1 = '{$comment_name_f1|default:#COMMENT_YOUR_SITE#}';
var NAME_F2 = '{$comment_name_f2|default:#COMMENT_YOUR_FROM#}';
var UGROUP = '{$smarty.const.UGROUP}';
var IS_IM = '{$im}';
var DOC_ID = '{$doc_id}';
var MAX_CHARS = '{$comment_max_chars}';
var aveabspath = '{$ABS_PATH}';
</script>
<script src="{$ABS_PATH}modules/comment/js/comment.js" type="text/javascript"></script>
<style>
.fade-out { opacity: 0; transition: opacity 0.5s ease; }
.italic { font-style: italic; }
</style>
{/if}
{/if}