225 lines
10 KiB
Smarty
225 lines
10 KiB
Smarty
{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">
|
||
{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}">
|
||
|
||
<fieldset>
|
||
<legend class="d-none">Форма добавления комментария</legend>
|
||
|
||
{* Блок для имени и email *}
|
||
{if $smarty.session.user_group != '2'}
|
||
{* АВТОРИЗОВАННЫЙ ПОЛЬЗОВАТЕЛЬ: Отображаем поля как readonly *}
|
||
<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>
|
||
|
||
{* ГОСТЬ (email) *}
|
||
<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}
|
||
|
||
{* Сайт и Город *}
|
||
<div class="row mb-3">
|
||
<div class="col-md-6 mb-3 mb-md-0">
|
||
<label for="in_author_website" class="form-label">{#COMMENT_YOUR_SITE#} (необязательно)</label>
|
||
<input name="comment_author_website" type="text" id="in_author_website" class="form-control" placeholder="{#COMMENT_YOUR_SITE#}" value="{$smarty.request.comment_author_website|default:''|escape|stripslashes}" />
|
||
</div>
|
||
|
||
<div class="col-md-6">
|
||
<label for="in_author_city" class="form-label">{#COMMENT_YOUR_FROM#} (необязательно)</label>
|
||
<input name="comment_author_city" type="text" id="in_author_city" class="form-control" placeholder="{#COMMENT_YOUR_FROM#}" value="{$smarty.request.comment_author_city|default:''|escape|stripslashes}" />
|
||
</div>
|
||
</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>
|
||
|
||
{* 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>
|
||
<span id="captcha" class="d-block mb-2">
|
||
<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>
|
||
</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}
|
||
|
||
|
||
{* ===================================================================== *}
|
||
{* НОВОЕ: МОДАЛЬНОЕ ОКНО ПОДТВЕРЖДЕНИЯ УДАЛЕНИЯ КОММЕНТАРИЯ (Bootstrap 5) *}
|
||
{* ===================================================================== *}
|
||
<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 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>
|
||
|
||
{/if} {* <-- Закрывает if $no_read_permission *}
|
||
|
||
{/if} |