Files
comment/templates/view_logs.tpl

168 lines
8.0 KiB
Smarty
Raw Permalink 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.
<style>
{literal}
.log-table { font-size: 12px !important; font-family: Tahoma, Arial, sans-serif !important; table-layout: fixed; }
.log-table thead td { background: #f5f5f5; font-weight: bold; border-bottom: 1px solid #ccc; padding: 12px 5px !important; color: #333; text-align: center; }
.log-table tbody td { padding: 10px 5px !important; border-bottom: 1px solid #eee; vertical-align: middle; color: #444; text-align: center; word-wrap: break-word; }
.log-table tbody td.details-col { text-align: left; padding-left: 15px !important; }
.status-badge { background: #666; color: #fff; padding: 2px 6px; border-radius: 3px; font-size: 10px; font-weight: bold; display: inline-block; }
.status-create { background: #458045; }
.status-edit { background: #4d7298; }
.reason-text { color: #d9534f; font-weight: bold; font-size: 11px; display: block; margin-bottom: 4px; line-height: 1.3; }
.file-box { font-size: 11px; color: #005580; background: #f0f4f7; padding: 4px 8px; border-radius: 2px; border: 1px solid #d0dbe4; display: inline-block; }
.no-data { color: #ccc; font-style: italic; }
{/literal}
</style>
<div class="widget first" style="margin:0; border:none;">
<div class="whead">
<h6><i class="icon-shield"></i> {#COMMENT_FILES_LOG_TITEL_B#}</h6>
<div class="clear"></div>
</div>
<div id="logs_container" style="max-height:550px; overflow-y:auto;">
{if $logs}
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic log-table">
<thead>
<tr>
<td width="130">{#COMMENT_FILES_LOG_MODAL_A#}</td>
<td width="95">{#COMMENT_FILES_LOG_MODAL_B#}</td>
<td width="60">{#COMMENT_FILES_LOG_MODAL_C#}</td>
<td width="60">{#COMMENT_FILES_LOG_MODAL_D#}</td>
<td width="120">{#COMMENT_FILES_LOG_MODAL_E#}</td>
<td width="150">{#COMMENT_FILES_LOG_MODAL_F#}</td>
<td width="100">{#COMMENT_FILES_LOG_MODAL_G#}</td>
<td>{#COMMENT_FILES_LOG_MODAL_H#}</td>
</tr>
</thead>
<tbody>
{foreach from=$logs item=log}
<tr>
<td>{$log.date}</td>
<td><strong>{$log.ip}</strong></td>
<td>{$log.user_id|default:"0"}</td>
<td>{$log.comm_id|default:"—"}</td>
<td><b style="color:#c00;">{$log.author|default:"—"}</b></td>
<td>{$log.email|default:"<span class='no-data'>{#COMMENT_FILES_LOG_MODAL_I#}</span>"}</td>
<td>
<span class="status-badge {if $log.status == 'Создание'}status-create{else}status-edit{/if}">
{$log.status}
</span>
</td>
<td class="details-col">
<span class="reason-text">{$log.reason}</span>
<div class="file-box">
<b>{#COMMENT_FILES_LOG_MODAL_J#}</b> {$log.file} <span style="color:#777; font-weight:normal;">({$log.mime})</span>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
{else}
<div style="padding:60px; text-align:center; color:#999;">
<h4>{#COMMENT_FILES_LOG_MODAL_K#}</h4>
</div>
{/if}
</div>
<div class="formBar" style="padding:15px; border-top:1px solid #ddd; background:#f9f9f9;">
<div style="float:left;">
{if $logs}
<a href="javascript:void(0);" class="button redBtn" id="clear_log_btn"><span>{#COMMENT_FILES_LOG_MODAL_L#}</span></a>
{/if}
</div>
<div style="float:right;">
<a href="javascript:void(0);" class="button blueBtn CloseLogDialog"><span>Закрыть окно</span></a>
</div>
<div class="clear"></div>
</div>
</div>
<script type="text/javascript">
{literal}
$(document).ready(function(){
// Флаг для предотвращения повторных перезагрузок
window.is_reloading = false;
// Очистка лога через системный jConfirm
$('#clear_log_btn').off('click').on('click', function(e){
e.preventDefault();
jConfirm('Вы уверены, что хотите полностью очистить файл лога безопасности?', 'Подтверждение очистки', function(r) {
if(r) {
$.ajax({
url: 'index.php?do=modules&action=modedit&mod=comment&moduleaction=clear_logs&cp={/literal}{$sess}{literal}',
type: 'POST',
success: function(){
$('#logs_container').html('<div style="padding:60px; text-align:center;"><h4 style="color:#999;">Журнал успешно очищен.</h4></div>');
$('#clear_log_btn').fadeOut();
if(window.parent) {
$('.log-dot', window.parent.document).removeClass('log-dot-new').addClass('log-dot-gray');
$('.log-link strong', window.parent.document).text('Просмотреть логи безопасности');
}
},
error: function() {
jAlert('Произошла ошибка при очистке лога', 'Ошибка');
}
});
}
});
});
// --- ОБРАБОТКА ЗАКРЫТИЯ ЧЕРЕЗ КРЕСТИК ИЛИ ESC ---
var $dialogContainer = $(".CloseLogDialog").closest('.ui-dialog-content');
if ($dialogContainer.length) {
$dialogContainer.on("dialogclose", function(event, ui) {
// Если мы еще не в процессе перезагрузки, запускаем её
if (!window.is_reloading) {
window.is_reloading = true;
$.ajax({
url: 'index.php?do=modules&action=modedit&mod=comment&moduleaction=mark_log_read&cp={/literal}{$sess}{literal}',
type: 'GET',
complete: function() {
if (window.parent && window.parent.location !== window.location) {
window.parent.location.reload();
} else {
window.location.reload();
}
}
});
}
});
}
// Универсальное закрытие по кнопке "Закрыть окно"
$(".CloseLogDialog").on('click', function(e){
e.preventDefault();
// Устанавливаем флаг, чтобы dialogclose не сработал дублем
window.is_reloading = true;
// Сначала помечаем логи как прочитанные в сессии
$.ajax({
url: 'index.php?do=modules&action=modedit&mod=comment&moduleaction=mark_log_read&cp={/literal}{$sess}{literal}',
type: 'GET',
complete: function() {
// Когда сессия обновилась, закрываем окно
if($.isFunction($.colorbox)) {
$.colorbox.close();
} else {
var $dialog = $(".CloseLogDialog").closest('.ui-dialog-content');
if ($dialog.length) $dialog.dialog('close');
}
// Перезагружаем страницу
if (window.parent && window.parent.location !== window.location) {
window.parent.location.reload();
} else {
window.location.reload();
}
}
});
});
});
{/literal}
</script>