2022-09-17 20:50:50 +09:00
< ? php
$sub_menu = '200810' ;
include_once ( './_common.php' );
2024-09-19 20:57:39 +09:00
include_once ( G5_PATH . '/lib/visit.lib.php' );
2022-09-17 20:50:50 +09:00
auth_check ( $auth [ $sub_menu ], 'r' );
$g5 [ 'title' ] = '접속자검색' ;
include_once ( './admin.head.php' );
2024-09-19 20:57:39 +09:00
include_once ( G5_PLUGIN_PATH . '/jquery-ui/datepicker.php' );
2022-09-17 20:50:50 +09:00
$colspan = 6 ;
2024-09-19 20:57:39 +09:00
$listall = '<a href="' . $_SERVER [ 'SCRIPT_NAME' ] . '">처음</a>' ; //페이지 처음으로 (초기화용도)
2022-09-17 20:50:50 +09:00
?>
< div class = " local_sch local_sch01 " >
2024-09-19 20:57:39 +09:00
< form name = " fvisit " method = " get " onsubmit = " return fvisit_submit(this); " >
< ? = $listall ?>
2022-09-17 20:50:50 +09:00
< label for = " sch_sort " class = " sound_only " > 검색분류 </ label >
< select name = " sfl " id = " sch_sort " class = " search_sort " >
2024-09-19 20:57:39 +09:00
< option value = " vi_ip " < ? php echo get_selected ( $sfl , 'vi_ip' ); ?> >IP</option>
< option value = " vi_referer " < ? php echo get_selected ( $sfl , 'vi_referer' ); ?> >접속경로</option>
< option value = " vi_date " < ? php echo get_selected ( $sfl , 'vi_date' ); ?> >날짜</option>
2022-09-17 20:50:50 +09:00
</ select >
< label for = " sch_word " class = " sound_only " > 검색어 </ label >
< input type = " text " name = " stx " size = " 20 " value = " <?php echo stripslashes( $stx ); ?> " id = " sch_word " class = " frm_input " >
< input type = " submit " value = " 검색 " class = " btn_submit " >
2024-09-19 20:57:39 +09:00
</ form >
2022-09-17 20:50:50 +09:00
</ div >
< div class = " tbl_wrap tbl_head01 " >
2024-09-19 20:57:39 +09:00
< table >
2022-09-17 20:50:50 +09:00
< thead >
2024-09-19 20:57:39 +09:00
< tr >
2022-09-17 20:50:50 +09:00
< th scope = " col " > IP </ th >
< th scope = " col " > 접속 경로 </ th >
< th scope = " col " > 브라우저 </ th >
< th scope = " col " > OS </ th >
< th scope = " col " > 접속기기 </ th >
< th scope = " col " > 일시 </ th >
2024-09-19 20:57:39 +09:00
</ tr >
2022-09-17 20:50:50 +09:00
</ thead >
< tbody >
2024-09-19 20:57:39 +09:00
< ? php
$sql_common = " from { $g5 [ 'visit_table' ] } " ;
if ( $sfl ) {
if ( $sfl == 'vi_ip' || $sfl == 'vi_date' ) {
$sql_search = " where { $sfl } like ' { $stx } %' " ;
} else {
$sql_search = " where { $sfl } like '% { $stx } %' " ;
2022-09-17 20:50:50 +09:00
}
2024-09-19 20:57:39 +09:00
}
$sql = " select count(*) as cnt
2022-09-17 20:50:50 +09:00
{ $sql_common }
{ $sql_search } " ;
2024-09-19 20:57:39 +09:00
$row = sql_fetch ( $sql );
$total_count = $row [ 'cnt' ];
$rows = $config [ 'cf_page_rows' ];
$total_page = ceil ( $total_count / $rows ); // 전체 페이지 계산
if ( $page < 1 )
$page = 1 ; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ( $page - 1 ) * $rows ; // 시작 열을 구함
$sql = " select *
2022-09-17 20:50:50 +09:00
{ $sql_common }
{ $sql_search }
order by vi_id desc
limit { $from_record }, { $rows } " ;
2024-09-19 20:57:39 +09:00
$result = sql_query ( $sql );
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
for ( $i = 0 ; $row = sql_fetch_array ( $result ); $i ++ ) {
2022-09-17 20:50:50 +09:00
$brow = $row [ 'vi_browser' ];
2024-09-19 20:57:39 +09:00
if ( ! $brow )
$brow = get_brow ( $row [ 'vi_agent' ]);
2022-09-17 20:50:50 +09:00
$os = $row [ 'vi_os' ];
2024-09-19 20:57:39 +09:00
if ( ! $os )
$os = get_os ( $row [ 'vi_agent' ]);
2022-09-17 20:50:50 +09:00
$device = $row [ 'vi_device' ];
$link = " " ;
$referer = " " ;
$title = " " ;
if ( $row [ 'vi_referer' ]) {
2024-09-19 20:57:39 +09:00
$referer = get_text ( cut_str ( $row [ 'vi_referer' ], 255 , " " ));
$referer = urldecode ( $referer );
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
if ( ! is_utf8 ( $referer )) {
$referer = iconv ( 'euc-kr' , 'utf-8' , $referer );
}
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
$title = str_replace ( array ( " < " , " > " ), array ( " < " , " > " ), $referer );
2024-09-22 10:40:06 +09:00
$link = '<a href="' . get_text ( $row [ 'vi_referer' ]) . '" target="_blank" title="' . $title . '">' ;
2022-09-17 20:50:50 +09:00
}
if ( $is_admin == 'super' )
2024-09-19 20:57:39 +09:00
$ip = $row [ 'vi_ip' ];
2022-09-17 20:50:50 +09:00
else
2024-09-19 20:57:39 +09:00
$ip = preg_replace ( " /([0-9]+).([0-9]+).([0-9]+).([0-9]+)/ " , G5_IP_DISPLAY , $row [ 'vi_ip' ]);
$bg = 'bg' . ( $i % 2 );
?>
< tr class = " <?php echo $bg ; ?> " >
< td class = " td_id " >< a
href = " <?php echo $_SERVER['SCRIPT_NAME'] ; ?>?sfl=vi_ip&stx=<?php echo $ip ; ?> " >< ? php echo $ip ; ?> </a>
</ td >
< td >< ? php echo $link . $title ; ?> </a></td>
< td class = " td_idsmall td_category1 " >< ? php echo $brow ; ?> </td>
< td class = " td_idsmall td_category3 " >< ? php echo $os ; ?> </td>
< td class = " td_idsmall td_category2 " >< ? php echo $device ; ?> </td>
< td class = " td_datetime " >< a
href = " <?php echo $_SERVER['SCRIPT_NAME'] ; ?>?sfl=vi_date&stx=<?php echo $row['vi_date'] ; ?> " >< ? php echo $row [ 'vi_date' ]; ?> </a>
< ? php echo $row [ 'vi_time' ]; ?> </td>
</ tr >
< ? php } ?>
< ? php if ( $i == 0 )
echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>' ; ?>
2022-09-17 20:50:50 +09:00
</ tbody >
2024-09-19 20:57:39 +09:00
</ table >
2022-09-17 20:50:50 +09:00
</ div >
< ? php
2024-09-19 20:57:39 +09:00
$pagelist = get_paging ( $config [ 'cf_write_pages' ], $page , $total_page , $_SERVER [ 'SCRIPT_NAME' ] . '?' . $qstr . '&domain=' . $domain . '&page=' );
2022-09-17 20:50:50 +09:00
if ( $pagelist ) {
2024-09-19 20:57:39 +09:00
echo $pagelist ;
2022-09-17 20:50:50 +09:00
}
?>
< script >
2024-09-19 20:57:39 +09:00
$ ( function () {
$ ( " #sch_sort " ) . change ( function () { // select #sch_sort의 옵션이 바뀔때
if ( $ ( this ) . val () == " vi_date " ) { // 해당 value 값이 vi_date이면
$ ( " #sch_word " ) . datepicker ({ changeMonth : true , changeYear : true , dateFormat : " yy-mm-dd " , showButtonPanel : true , yearRange : " c-99:c+99 " , maxDate : " +0d " }); // datepicker 실행
} else { // 아니라면
$ ( " #sch_word " ) . datepicker ( " destroy " ); // datepicker 미실행
}
2022-09-17 20:50:50 +09:00
});
2024-09-19 20:57:39 +09:00
if ( $ ( " #sch_sort option:selected " ) . val () == " vi_date " ) { // select #sch_sort 의 옵션중 selected 된것의 값이 vi_date라면
$ ( " #sch_word " ) . datepicker ({ changeMonth : true , changeYear : true , dateFormat : " yy-mm-dd " , showButtonPanel : true , yearRange : " c-99:c+99 " , maxDate : " +0d " }); // datepicker 실행
2022-09-17 20:50:50 +09:00
}
2024-09-19 20:57:39 +09:00
});
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
function fvisit_submit ( f ) {
2022-09-17 20:50:50 +09:00
return true ;
2024-09-19 20:57:39 +09:00
}
2022-09-17 20:50:50 +09:00
</ script >
< ? php
include_once ( './admin.tail.php' );
?>