접속 로그 삭제 기능 추가

This commit is contained in:
chicpro
2014-02-05 17:59:18 +09:00
parent 2a6f46e820
commit 47c41077d5
4 changed files with 161 additions and 1 deletions

View File

@ -5,6 +5,7 @@ $menu['menu200'] = array (
array('200300', '회원메일발송', G5_ADMIN_URL.'/mail_list.php', 'mb_mail'),
array('200800', '접속자집계', G5_ADMIN_URL.'/visit_list.php', 'mb_visit', 1),
array('200810', '접속자검색', G5_ADMIN_URL.'/visit_search.php', 'mb_search', 1),
array('200820', '접속자로그삭제', G5_ADMIN_URL.'/visit_delete.php', 'mb_delete', 1),
array('200200', '포인트관리', G5_ADMIN_URL.'/point_list.php', 'mb_point'),
array('200900', '투표관리', G5_ADMIN_URL.'/poll_list.php', 'mb_poll')
);

99
adm/visit_delete.php Normal file
View File

@ -0,0 +1,99 @@
<?php
$sub_menu = "200820";
include_once('./_common.php');
auth_check($auth[$sub_menu], 'r');
$g5['title'] = '접속자로그삭제';
include_once('./admin.head.php');
// 최소년도 구함
$sql = " select min(vi_date) as min_date from {$g5['visit_table']} ";
$row = sql_fetch($sql);
$min_year = (int)substr($row['min_date'], 0, 4);
$now_year = (int)substr(G5_TIME_YMD, 0, 4);
?>
<div class="tbl_head01 tbl_wrap">
<p>
접속자 로그를 삭제할 년도와 방법을 선택해 주십시오.
</p>
<form name="fvisitdelete" method="post" action="./visit_delete_update.php" onsubmit="return form_submit(this);">
<div>
<span>기간선택</span>
<label for="year">년도선택</label>
<select name="year" id="year">
<option value="">년도선택</option>
<?php
for($year=$min_year; $year<=$now_year; $year++) {
?>
<option value="<?php echo $year; ?>"><?php echo $year; ?></option>
<?php
}
?>
</select> 년
<label for="year">월선택</label>
<select name="month" id="month">
<option value="">월선택</option>
<?php
for($i=1; $i<=12; $i++) {
?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php
}
?>
</select> 월
</div>
<div>
<label for="method">삭제방법선택</label>
<select name="method" id="method">
<option value="before">선택년월 이전 자료삭제</option>
<option value="specific">선택년월의 자료삭제</option>
</select>
</div>
<div>
<label for="pass">관리자 비밀번호</label>
<input type="password" name="pass" id="pass" class="frm_input required">
</div>
<input type="submit" value="확인">
</form>
</div>
<script>
function form_submit(f)
{
var year = $("#year").val();
var month = $("#month").val();
var method = $("#method").val();
var pass = $("#pass").val();
if(!year) {
alert("년도를 선택해 주십시오.");
return false;
}
if(!month) {
alert("월을 선택해 주십시오.");
return false;
}
if(!pass) {
alert("관리자 비밀번호를 입력해 주십시오.");
return false;
}
var msg = year+"년 "+month+"월";
if(method == "before")
msg += " 이전";
else
msg += "의";
msg += " 자료를 삭제하시겠습니까?";
return confirm(msg);
}
</script>
<?php
include_once('./admin.tail.php');
?>

View File

@ -0,0 +1,60 @@
<?php
$sub_menu = "200820";
include_once('./_common.php');
check_demo();
auth_check($auth[$sub_menu], 'd');
if ($is_admin != 'super')
alert('최고관리자만 접근 가능합니다.');
$year = preg_replace('/[^0-9]/', '', $_POST['year']);
$month = preg_replace('/[^0-9]/', '', $_POST['month']);
$method = $_POST['method'];
$pass = trim($_POST['pass']);
if(!$pass)
alert('관리자 비밀번호를 입력해 주십시오.');
// 관리자 비밀번호 비교
$admin = get_admin('super');
if(sql_password($pass) != $admin['mb_password'])
alert('관리자 비밀번호가 일치하지 않습니다.');
if(!$year)
alert('년도를 선택해 주십시오.');
if(!$month)
alert('월을 선택해 주십시오.');
// 로그삭제 query
$del_date = $year.'-'.str_pad($month, 2, '0', STR_PAD_LEFT);
switch($method) {
case 'before':
$sql_common = " where substring(vi_date, 1, 7) < '$del_date' ";
break;
case 'specific':
$sql_common = " where substring(vi_date, 1, 7) = '$del_date' ";
break;
default:
alert('올바른 방법으로 이용해 주십시오.');
break;
}
// 총 로그수
$sql = " select count(*) as cnt from {$g5['visit_table']} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
// 로그삭제
$sql = " delete from {$g5['visit_table']} $sql_common ";
sql_query($sql);
// 삭제 후 총 로그수
$sql = " select count(*) as cnt from {$g5['visit_table']} ";
$row = sql_fetch($sql);
$total_count2 = $row['cnt'];
alert('총 '.number_format($total_count).'건 중 '.number_format($total_count - $total_count2).'건 삭제 완료', './visit_delete.php');
?>

View File

@ -91,7 +91,7 @@ $result = sql_query($sql);
<?php
}
if ($i == 0)
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>';
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없거나 관리자에 의해 삭제되었습니다.</td></tr>';
?>
</tbody>
</table>