529 lines
4.4 KiB
PHP
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.'&page='); ?>
|
|
|
|
</div>
|
|
|
|
<?php
|
|
include_once(G5_ADMIN_PATH . '/admin.tail.php');
|
|
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|