Files
2026-06-11 18:47:38 +09:00

529 lines
4.4 KiB
PHP

<?php
/**
* 상담 예약 시스템 로그 조회 페이지
*/
$sub_menu = '850630';// 새로운 메뉴 코드
include_once('./_common.php');
// 권한 확인
auth_check_menu($auth, $sub_menu, 'r');
$g5['title'] = '시스템 로그 조회';
// 페이징 설정
$page = (int)($_GET['page'] ?? 1);
$page_rows = 20; // 페이지당 로그 수
$sql_common = " FROM consultant_log ";
$sql_order = " ORDER BY log_time DESC ";
// 전체 로그 수
$row = sql_fetch(" SELECT COUNT(*) AS cnt " . $sql_common);
$total_count = $row['cnt'];
$total_page = ceil($total_count / $page_rows);
$from_record = ($page - 1) * $page_rows;
// 로그 조회
$sql = " SELECT * " . $sql_common . $sql_order . " LIMIT {$from_record}, {$page_rows} ";
$result = sql_query($sql);
include_once(G5_ADMIN_PATH . '/admin.head.php');
?>
<style>
.log-container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
.log-table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
font-size: 14px;
}
.log-table th, .log-table td {
border: 1px solid #ddd;
padding: 10px 12px;
text-align: left;
}
.log-table th {
background-color: #fff;
font-weight: 600;
text-align: center;
}
.log-table td.log-message {
word-break: break-all;
}
.log-level {
display: inline-block;
padding: 3px 8px;
border-radius: 4px;
color: white;
font-size: 12px;
font-weight: bold;
}
.log-level.info { background-color: #17a2b8; }
.log-level.warning { background-color: #ffc107; color: #212529; }
.log-level.error { background-color: #dc3545; }
.log-table tr:hover {
background-color: #f1f1f1;
}
.text-center { text-align: center !important; }
</style>
<div class="log-container">
<div class="local_ov01 local_ov">
<span class="btn_ov01"><span class="ov_txt">전체 로그</span><span class="ov_num"> <?php echo number_format($total_count) ?>건</span></span>
</div>
<div class="tbl_head01 tbl_wrap">
<table class="log-table">
<caption><?php echo $g5['title']; ?></caption>
<colgroup>
<col style="width: 180px;">
<col style="width: 120px;">
<col style="width: 100px;">
<col>
<col style="width: 150px;">
</colgroup>
<thead>
<tr>
<th scope="col">기록 시간</th>
<th scope="col">관리자 ID</th>
<th scope="col">로그 종류</th>
<th scope="col">내용</th>
<th scope="col">IP 주소</th>
</tr>
</thead>
<tbody>
<?php
for ($i = 0; $row = sql_fetch_array($result); $i++) {
$log_level_class = strtolower($row['log_level']);
?>
<tr>
<td class="text-center"><?php echo $row['log_time']; ?></td>
<td class="text-center"><?php echo htmlspecialchars($row['mb_id'] ?: '비회원/시스템'); ?></td>
<td class="text-center">
<span class="log-level <?php echo $log_level_class; ?>">
<?php echo ucfirst($log_level_class); ?>
</span>
</td>
<td class="log-message"><?php echo htmlspecialchars($row['log_message']); ?></td>
<td class="text-center"><?php echo $row['ip_address']; ?></td>
</tr>
<?php
}
if ($i == 0) {
echo '<tr><td colspan="5" class="empty_table">데이터가 없습니다.</td></tr>';
}
?>
</tbody>
</table>
</div>
<?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, $_SERVER['PHP_SELF'].'?'.$qstr.'&amp;page='); ?>
</div>
<?php
include_once(G5_ADMIN_PATH . '/admin.tail.php');
?>
-