Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
158d9040d2 | ||
|
|
aebfc70b10 | ||
|
|
69ca119b10 | ||
|
|
be15f890c9 | ||
|
|
bc71241846 | ||
|
|
4bcce2696c | ||
|
|
7083bb0899 | ||
|
|
c7b1d0ee96 | ||
|
|
ba52e4ab6f | ||
|
|
e47156ede6 |
@@ -11,7 +11,13 @@ $menu['menu100'] = array (
|
||||
array('100900', '캐시파일 일괄삭제',G5_ADMIN_URL.'/cache_file_delete.php', 'cf_cache', 1),
|
||||
array('100910', '캡챠파일 일괄삭제',G5_ADMIN_URL.'/captcha_file_delete.php', 'cf_captcha', 1),
|
||||
array('100920', '썸네일파일 일괄삭제',G5_ADMIN_URL.'/thumbnail_file_delete.php', 'cf_thumbnail', 1),
|
||||
array('100500', 'phpinfo()', G5_ADMIN_URL.'/phpinfo.php', 'cf_phpinfo'),
|
||||
array('100400', '부가서비스', G5_ADMIN_URL.'/service.php', 'cf_service')
|
||||
array('100500', 'phpinfo()', G5_ADMIN_URL.'/phpinfo.php', 'cf_phpinfo')
|
||||
);
|
||||
|
||||
if(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE) {
|
||||
$menu['menu100'][] = array('100510', 'Browscap 업데이트', G5_ADMIN_URL.'/browscap.php', 'cf_browscap');
|
||||
$menu['menu100'][] = array('100520', '접속로그 변환', G5_ADMIN_URL.'/browscap_convert.php', 'cf_visit_cnvrt');
|
||||
}
|
||||
|
||||
$menu['menu100'][] = array('100400', '부가서비스', G5_ADMIN_URL.'/service.php', 'cf_service');
|
||||
?>
|
||||
+20
-20
@@ -95,26 +95,26 @@ $sql = " insert into {$g5['board_table']}
|
||||
bo_use_cert = '{$board[bo_use_cert]}',
|
||||
bo_use_sns = '{$board[bo_use_sns]}',
|
||||
bo_sort_field = '{$board['bo_sort_field']}',
|
||||
bo_1_subj = '{$board['bo_1_subj']}',
|
||||
bo_2_subj = '{$board['bo_2_subj']}',
|
||||
bo_3_subj = '{$board['bo_3_subj']}',
|
||||
bo_4_subj = '{$board['bo_4_subj']}',
|
||||
bo_5_subj = '{$board['bo_5_subj']}',
|
||||
bo_6_subj = '{$board['bo_6_subj']}',
|
||||
bo_7_subj = '{$board['bo_7_subj']}',
|
||||
bo_8_subj = '{$board['bo_8_subj']}',
|
||||
bo_9_subj = '{$board['bo_9_subj']}',
|
||||
bo_10_subj = '{$board['bo_10_subj']}',
|
||||
bo_1 = '{$board['bo_1']}',
|
||||
bo_2 = '{$board['bo_2']}',
|
||||
bo_3 = '{$board['bo_3']}',
|
||||
bo_4 = '{$board['bo_4']}',
|
||||
bo_5 = '{$board['bo_5']}',
|
||||
bo_6 = '{$board['bo_6']}',
|
||||
bo_7 = '{$board['bo_7']}',
|
||||
bo_8 = '{$board['bo_8']}',
|
||||
bo_9 = '{$board['bo_9']}',
|
||||
bo_10 = '{$board['bo_10']}' ";
|
||||
bo_1_subj = '".addslashes($board['bo_1_subj'])."',
|
||||
bo_2_subj = '".addslashes($board['bo_2_subj'])."',
|
||||
bo_3_subj = '".addslashes($board['bo_3_subj'])."',
|
||||
bo_4_subj = '".addslashes($board['bo_4_subj'])."',
|
||||
bo_5_subj = '".addslashes($board['bo_5_subj'])."',
|
||||
bo_6_subj = '".addslashes($board['bo_6_subj'])."',
|
||||
bo_7_subj = '".addslashes($board['bo_7_subj'])."',
|
||||
bo_8_subj = '".addslashes($board['bo_8_subj'])."',
|
||||
bo_9_subj = '".addslashes($board['bo_9_subj'])."',
|
||||
bo_10_subj = '".addslashes($board['bo_10_subj'])."',
|
||||
bo_1 = '".addslashes($board['bo_1'])."',
|
||||
bo_2 = '".addslashes($board['bo_2'])."',
|
||||
bo_3 = '".addslashes($board['bo_3'])."',
|
||||
bo_4 = '".addslashes($board['bo_4'])."',
|
||||
bo_5 = '".addslashes($board['bo_5'])."',
|
||||
bo_6 = '".addslashes($board['bo_6'])."',
|
||||
bo_7 = '".addslashes($board['bo_7'])."',
|
||||
bo_8 = '".addslashes($board['bo_8'])."',
|
||||
bo_9 = '".addslashes($board['bo_9'])."',
|
||||
bo_10 = '".addslashes($board['bo_10'])."' ";
|
||||
sql_query($sql, false);
|
||||
|
||||
// 게시판 폴더 생성
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
$sub_menu = "100510";
|
||||
include_once('./_common.php');
|
||||
|
||||
if(!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE))
|
||||
alert('사용할 수 없는 기능입니다.', G5_ADMIN_URL);
|
||||
|
||||
if ($is_admin != 'super')
|
||||
alert('최고관리자만 접근 가능합니다.');
|
||||
|
||||
$g5['title'] = 'Browscap 업데이트';
|
||||
include_once('./admin.head.php');
|
||||
?>
|
||||
|
||||
<div id="processing">
|
||||
<p>Browscap 정보를 업데이트하시려면 아래 업데이트 버튼을 클릭해 주세요.</p>
|
||||
<button type="button" id="run_update">업데이트</button>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
$("#run_update").on("click", function() {
|
||||
$("#processing").html('<div class="update_processing"></div><p>Browscap 정보를 업데이트 중입니다.</p>');
|
||||
|
||||
$.ajax({
|
||||
url: "./browscap_update.php",
|
||||
async: true,
|
||||
cache: false,
|
||||
dataType: "html",
|
||||
success: function(data) {
|
||||
if(data != "") {
|
||||
alert(data);
|
||||
return false;
|
||||
}
|
||||
|
||||
$("#processing").html("<div class='check_processing'></div><p>Browscap 정보를 업데이트 했습니다.</p>");
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php
|
||||
include_once('./admin.tail.php');
|
||||
?>
|
||||
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
$sub_menu = "100520";
|
||||
include_once('./_common.php');
|
||||
|
||||
if(!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE))
|
||||
alert('사용할 수 없는 기능입니다.', G5_ADMIN_URL);
|
||||
|
||||
if ($is_admin != 'super')
|
||||
alert('최고관리자만 접근 가능합니다.');
|
||||
|
||||
$rows = preg_replace('#[^0-9]#', '', $_GET['rows']);
|
||||
if(!$rows)
|
||||
$rows = 100;
|
||||
|
||||
$g5['title'] = '접속로그 변환';
|
||||
include_once('./admin.head.php');
|
||||
?>
|
||||
|
||||
<div id="processing">
|
||||
<p>접속로그 정보를 Browscap 정보로 변환하시려면 아래 업데이트 버튼을 클릭해 주세요.</p>
|
||||
<button type="button" id="run_update">업데이트</button>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
$(document).on("click", "#run_update", function() {
|
||||
$("#processing").html('<div class="update_processing"></div><p>Browscap 정보로 변환 중입니다.</p>');
|
||||
|
||||
$.ajax({
|
||||
method: "GET",
|
||||
url: "./browscap_converter.php",
|
||||
data: { rows: "<?php echo $rows; ?>" },
|
||||
async: true,
|
||||
cache: false,
|
||||
dataType: "html",
|
||||
success: function(data) {
|
||||
$("#processing").html(data);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php
|
||||
include_once('./admin.tail.php');
|
||||
?>
|
||||
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
ini_set('memory_limit', '-1');
|
||||
include_once('./_common.php');
|
||||
|
||||
// clean the output buffer
|
||||
ob_end_clean();
|
||||
|
||||
if(!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE))
|
||||
die('사용할 수 없는 기능입니다.');
|
||||
|
||||
if($is_admin != 'super')
|
||||
die('최고관리자로 로그인 후 실행해 주세요.');
|
||||
|
||||
// browscap cache 파일 체크
|
||||
if(!is_file(G5_DATA_PATH.'/cache/browscap_cache.php')) {
|
||||
echo '<p>Browscap 정보가 없습니다. 아래 링크로 이동해 Browscap 정보를 업데이트 하세요.</p>'.PHP_EOL;
|
||||
echo '<p><a href="'.G5_ADMIN_URL.'/browscap.php">Browscap 업데이트</a></p>'.PHP_EOL;
|
||||
exit;
|
||||
}
|
||||
|
||||
include_once(G5_PLUGIN_PATH.'/browscap/Browscap.php');
|
||||
$browscap = new phpbrowscap\Browscap(G5_DATA_PATH.'/cache');
|
||||
$browscap->doAutoUpdate = false;
|
||||
$browscap->cacheFilename = 'browscap_cache.php';
|
||||
|
||||
// 데이터 변환
|
||||
$rows = preg_replace('#[^0-9]#', '', $_GET['rows']);
|
||||
if(!$rows)
|
||||
$rows = 100;
|
||||
|
||||
$sql_common = " from {$g5['visit_table']} where vi_agent <> '' and ( vi_browser = '' or vi_os = '' or vi_device = '' ) ";
|
||||
$sql_order = " order by vi_id desc ";
|
||||
$sql_limit = " limit 0, $rows ";
|
||||
|
||||
$sql = " select count(vi_id) as cnt $sql_common ";
|
||||
$row = sql_fetch($sql);
|
||||
$total_count = $row['cnt'];
|
||||
|
||||
$sql = " select vi_id, vi_agent, vi_browser, vi_os, vi_device
|
||||
$sql_common
|
||||
$sql_order
|
||||
$sql_limit ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
$cnt = 0;
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
$info = $browscap->getBrowser($row['vi_agent']);
|
||||
|
||||
$brow = $row['vi_browser'];
|
||||
if(!$brow)
|
||||
$brow = $info->Comment;
|
||||
|
||||
$os = $row['vi_os'];
|
||||
if(!$os)
|
||||
$os = $info->Platform;
|
||||
|
||||
$device = $row['vi_device'];
|
||||
if(!$device)
|
||||
$device = $info->Device_Type;
|
||||
|
||||
$sql2 = " update {$g5['visit_table']}
|
||||
set vi_browser = '$brow',
|
||||
vi_os = '$os',
|
||||
vi_device = '$device'
|
||||
where vi_id = '{$row['vi_id']}' ";
|
||||
sql_query($sql2);
|
||||
|
||||
$cnt++;
|
||||
}
|
||||
|
||||
if(($total_count - $cnt) == 0 || $total_count == 0)
|
||||
echo '<div class="check_processing"></div><p>변환완료</p>';
|
||||
else
|
||||
echo '<p>총 '.number_format($total_count).'건 중 '.number_format($cnt).'건 변환완료<br><br>접속로그를 추가로 변환하시려면 아래 업데이트 버튼을 클릭해 주세요.</p><button type="button" id="run_update">업데이트</button>';
|
||||
?>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
ini_set('memory_limit', '-1');
|
||||
|
||||
$sub_menu = "100510";
|
||||
include_once('./_common.php');
|
||||
|
||||
// clean the output buffer
|
||||
ob_end_clean();
|
||||
|
||||
if(!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE))
|
||||
die('사용할 수 없는 기능입니다.');
|
||||
|
||||
if ($is_admin != 'super')
|
||||
die('최고관리자만 접근 가능합니다.');
|
||||
|
||||
include_once(G5_PLUGIN_PATH.'/browscap/Browscap.php');
|
||||
|
||||
$browscap = new phpbrowscap\Browscap(G5_DATA_PATH.'/cache');
|
||||
$browscap->updateMethod = 'cURL';
|
||||
$browscap->cacheFilename = 'browscap_cache.php';
|
||||
$browscap->updateCache();
|
||||
|
||||
die('');
|
||||
?>
|
||||
@@ -186,6 +186,14 @@ if(!isset($config['cf_sms_type'])) {
|
||||
ADD `cf_sms_type` varchar(10) NOT NULL DEFAULT '' AFTER `cf_sms_use` ", true);
|
||||
}
|
||||
|
||||
// 접속자 정보 필드 추가
|
||||
if(!sql_query(" select vi_browser from {$g5['visit_table']} limit 1 ")) {
|
||||
sql_query(" ALTER TABLE `{$g5['visit_table']}`
|
||||
ADD `vi_browser` varchar(255) NOT NULL DEFAULT '' AFTER `vi_agent`,
|
||||
ADD `vi_os` varchar(255) NOT NULL DEFAULT '' AFTER `vi_browser`,
|
||||
ADD `vi_device` varchar(255) NOT NULL DEFAULT '' AFTER `vi_os` ", true);
|
||||
}
|
||||
|
||||
if(!$config['cf_faq_skin']) $config['cf_faq_skin'] = "basic";
|
||||
if(!$config['cf_mobile_faq_skin']) $config['cf_mobile_faq_skin'] = "basic";
|
||||
|
||||
|
||||
+12
-2
@@ -395,6 +395,9 @@ td.td_grpset {width:160px;border-left:1px solid #e9ecee;text-align:center}
|
||||
.td_tdiv {border-bottom:1px solid #c9c9c9 !important}
|
||||
.td_tel {width:80px;text-align:center}
|
||||
.td_test {width:50px;text-align:center}
|
||||
.td_category1{width:130px;text-align:center}
|
||||
.td_category2{width:100px;text-align:center}
|
||||
.td_category3{width:80px;text-align:center}
|
||||
|
||||
.txt_true {color:#e8180c}
|
||||
.txt_false {color:#ccc}
|
||||
@@ -730,7 +733,7 @@ strong.sodr_nonpay {display:block;padding:5px 0;text-align:right}
|
||||
#theme_list li .tmli_if:hover button.tmli_dt{display:block}
|
||||
#theme_list li .theme_sl{float:left;border:none;margin-top:5px;padding:0 5px;height:26px;background:#999;color:#fff}
|
||||
#theme_list li .theme_sl:hover{background:#ff3061}
|
||||
#theme_list li .theme_deactive{margin-left:4px}
|
||||
#theme_list li .theme_deactive{margin-left:4px}
|
||||
#theme_list li .theme_sl_use{background:#ff3061;line-height:26px}
|
||||
#theme_list li .theme_pr{float:right;margin-top:5px;padding:0 5px;height:24px;line-height:24px; border: 1px solid #ccc; background: #fafafa; }
|
||||
#theme_list li .theme_preview{ float: right; margin-top: 5px; padding:0 5px;height:26px; border: 1px solid #ccc; background: #fafafa; margin-right:3px}
|
||||
@@ -763,4 +766,11 @@ strong.sodr_nonpay {display:block;padding:5px 0;text-align:right}
|
||||
/*전송실패 문자 재전송 내역*/
|
||||
.sms_table{padding:0 20px 40px;}
|
||||
.sms_table table th{border:1px solid #ddd;padding:9px 0}
|
||||
.sms_table table td{border:1px solid #ddd;text-align:center;width:16%;padding:9px 0}
|
||||
.sms_table table td{border:1px solid #ddd;text-align:center;width:16%;padding:9px 0}
|
||||
|
||||
/* Browscap */
|
||||
.update_processing{width:300px;height:300px;margin:0 auto;background:url(../img/ajax_loader.gif) no-repeat 0 0}
|
||||
#processing{margin: 0 auto;padding: 70px 0;max-width: 800px;border: 1px solid #eee;background: #f9f9f9;text-align:center;}
|
||||
#processing p{font-size:1.2em}
|
||||
.check_processing {width:300px;height:300px;margin:0 auto;background:url(../img/check.png) no-repeat 50% 50% }
|
||||
#processing button{background:#ff3061;border:none;color:#fff;padding: 15px;width:150px;margin-top:15px}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 7.2 KiB |
@@ -244,7 +244,7 @@ if($config['cf_sms_type'] == 'LMS') {
|
||||
}
|
||||
} else {
|
||||
$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
|
||||
$result = $SMS->Add($list, $reply, '', '', $wr_message, $booking, $wr_total);
|
||||
$result = $SMS->Add2($list, $reply, '', '', $wr_message, $booking, $wr_total);
|
||||
|
||||
if ($result)
|
||||
{
|
||||
|
||||
@@ -29,6 +29,9 @@ $query_string = $qstr ? '?'.$qstr : '';
|
||||
<li><a href="./visit_domain.php<?php echo $query_string ?>">도메인</a></li>
|
||||
<li><a href="./visit_browser.php<?php echo $query_string ?>">브라우저</a></li>
|
||||
<li><a href="./visit_os.php<?php echo $query_string ?>">운영체제</a></li>
|
||||
<?php if(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE) { ?>
|
||||
<li><a href="./visit_device.php<?php echo $query_string ?>">접속기기</a></li>
|
||||
<?php } ?>
|
||||
<li><a href="./visit_hour.php<?php echo $query_string ?>">시간</a></li>
|
||||
<li><a href="./visit_week.php<?php echo $query_string ?>">요일</a></li>
|
||||
<li><a href="./visit_date.php<?php echo $query_string ?>">일</a></li>
|
||||
|
||||
@@ -15,7 +15,9 @@ $sql = " select * from {$g5['visit_table']}
|
||||
where vi_date between '{$fr_date}' and '{$to_date}' ";
|
||||
$result = sql_query($sql);
|
||||
while ($row=sql_fetch_array($result)) {
|
||||
$s = get_brow($row['vi_agent']);
|
||||
$s = $row['vi_browser'];
|
||||
if(!$s)
|
||||
$s = get_brow($row['vi_agent']);
|
||||
|
||||
$arr[$s]++;
|
||||
|
||||
@@ -70,7 +72,7 @@ while ($row=sql_fetch_array($result)) {
|
||||
|
||||
<tr class="<?php echo $bg; ?>">
|
||||
<td class="td_num"><?php echo $no ?></td>
|
||||
<td class="td_category"><?php echo $key ?></td>
|
||||
<td class="td_category td_category1"><?php echo $key ?></td>
|
||||
<td>
|
||||
<div class="visit_bar">
|
||||
<span style="width:<?php echo $s_rate ?>%"></span>
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
$sub_menu = "200800";
|
||||
include_once('./_common.php');
|
||||
|
||||
auth_check($auth[$sub_menu], 'r');
|
||||
|
||||
$g5['title'] = '기기별 접속자집계';
|
||||
include_once('./visit.sub.php');
|
||||
|
||||
$colspan = 5;
|
||||
|
||||
$max = 0;
|
||||
$sum_count = 0;
|
||||
$sql = " select * from {$g5['visit_table']}
|
||||
where vi_date between '$fr_date' and '$to_date' ";
|
||||
$result = sql_query($sql);
|
||||
while ($row=sql_fetch_array($result)) {
|
||||
$s = $row['vi_device'];
|
||||
if(!$s)
|
||||
$s = '기타';
|
||||
|
||||
$arr[$s]++;
|
||||
|
||||
if ($arr[$s] > $max) $max = $arr[$s];
|
||||
|
||||
$sum_count++;
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption><?php echo $g5['title']; ?> 목록</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">순위</th>
|
||||
<th scope="col">접속기기</th>
|
||||
<th scope="col">그래프</th>
|
||||
<th scope="col">접속자수</th>
|
||||
<th scope="col">비율(%)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="3">합계</td>
|
||||
<td><strong><?php echo $sum_count ?></strong></td>
|
||||
<td>100%</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
<?php
|
||||
$i = 0;
|
||||
$k = 0;
|
||||
$save_count = -1;
|
||||
$tot_count = 0;
|
||||
if (count($arr)) {
|
||||
arsort($arr);
|
||||
foreach ($arr as $key=>$value) {
|
||||
$count = $arr[$key];
|
||||
if ($save_count != $count) {
|
||||
$i++;
|
||||
$no = $i;
|
||||
$save_count = $count;
|
||||
} else {
|
||||
$no = '';
|
||||
}
|
||||
|
||||
if (!$key) {
|
||||
$key = '기타';
|
||||
}
|
||||
|
||||
$rate = ($count / $sum_count * 100);
|
||||
$s_rate = number_format($rate, 1);
|
||||
|
||||
$bg = 'bg'.($i%2);
|
||||
?>
|
||||
|
||||
<tr class="<?php echo $bg; ?>">
|
||||
<td class="td_num"><?php echo $no ?></td>
|
||||
<td class="td_category td_category1"><?php echo $key ?></td>
|
||||
<td>
|
||||
<div class="visit_bar">
|
||||
<span style="width:<?php echo $s_rate ?>%"></span>
|
||||
</div>
|
||||
</td>
|
||||
<td class="td_numbig"><?php echo $count ?></td>
|
||||
<td class="td_num"><?php echo $s_rate ?></td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
} else {
|
||||
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>';
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
include_once('./admin.tail.php');
|
||||
?>
|
||||
+15
-6
@@ -7,7 +7,7 @@ auth_check($auth[$sub_menu], 'r');
|
||||
$g5['title'] = '접속자집계';
|
||||
include_once('./visit.sub.php');
|
||||
|
||||
$colspan = 5;
|
||||
$colspan = 6;
|
||||
|
||||
$sql_common = " from {$g5['visit_table']} ";
|
||||
$sql_search = " where vi_date between '{$fr_date}' and '{$to_date}' ";
|
||||
@@ -41,15 +41,23 @@ $result = sql_query($sql);
|
||||
<th scope="col">IP</th>
|
||||
<th scope="col">접속 경로</th>
|
||||
<th scope="col">브라우저</th>
|
||||
<th scope="col">운영체제</th>
|
||||
<th scope="col">OS</th>
|
||||
<th scope="col">접속기기</th>
|
||||
<th scope="col">일시</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
$brow = get_brow($row['vi_agent']);
|
||||
$os = get_os($row['vi_agent']);
|
||||
$brow = $row['vi_browser'];
|
||||
if(!$brow)
|
||||
$brow = get_brow($row['vi_agent']);
|
||||
|
||||
$os = $row['vi_os'];
|
||||
if(!$os)
|
||||
$os = get_os($row['vi_agent']);
|
||||
|
||||
$device = $row['vi_device'];
|
||||
|
||||
$link = '';
|
||||
$link2 = '';
|
||||
@@ -83,8 +91,9 @@ $result = sql_query($sql);
|
||||
<tr class="<?php echo $bg; ?>">
|
||||
<td class="td_category"><?php echo $ip ?></td>
|
||||
<td><?php echo $link ?><?php echo $title ?><?php echo $link2 ?></td>
|
||||
<td class="td_category"><?php echo $brow ?></td>
|
||||
<td class="td_category"><?php echo $os ?></td>
|
||||
<td class="td_category td_category1"><?php echo $brow ?></td>
|
||||
<td class="td_category td_category3"><?php echo $os ?></td>
|
||||
<td class="td_category td_category2"><?php echo $device; ?></td>
|
||||
<td class="td_datetime"><?php echo $row['vi_date'] ?> <?php echo $row['vi_time'] ?></td>
|
||||
</tr>
|
||||
|
||||
|
||||
+4
-2
@@ -15,7 +15,9 @@ $sql = " select * from {$g5['visit_table']}
|
||||
where vi_date between '$fr_date' and '$to_date' ";
|
||||
$result = sql_query($sql);
|
||||
while ($row=sql_fetch_array($result)) {
|
||||
$s = get_os($row['vi_agent']);
|
||||
$s = $row['vi_os'];
|
||||
if(!$s)
|
||||
$s = get_os($row['vi_agent']);
|
||||
|
||||
$arr[$s]++;
|
||||
|
||||
@@ -63,7 +65,7 @@ while ($row=sql_fetch_array($result)) {
|
||||
}
|
||||
|
||||
if (!$key) {
|
||||
$key = '직접';
|
||||
$key = 'Unknown';
|
||||
}
|
||||
|
||||
$rate = ($count / $sum_count * 100);
|
||||
|
||||
+14
-8
@@ -9,7 +9,7 @@ $g5['title'] = '접속자검색';
|
||||
include_once('./admin.head.php');
|
||||
include_once(G5_PLUGIN_PATH.'/jquery-ui/datepicker.php');
|
||||
|
||||
$colspan = 5;
|
||||
$colspan = 6;
|
||||
$listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'">처음</a>'; //페이지 처음으로 (초기화용도)
|
||||
?>
|
||||
|
||||
@@ -36,6 +36,7 @@ $listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'">처음</a>'; //페이지 처
|
||||
<th scope="col">접속 경로</th>
|
||||
<th scope="col">브라우저</th>
|
||||
<th scope="col">OS</th>
|
||||
<th scope="col">접속기기</th>
|
||||
<th scope="col">일시</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -68,8 +69,15 @@ $listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'">처음</a>'; //페이지 처
|
||||
$result = sql_query($sql);
|
||||
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
$brow = get_brow($row['vi_agent']);
|
||||
$os = get_os($row['vi_agent']);
|
||||
$brow = $row['vi_browser'];
|
||||
if(!$brow)
|
||||
$brow = get_brow($row['vi_agent']);
|
||||
|
||||
$os = $row['vi_os'];
|
||||
if(!$os)
|
||||
$os = get_os($row['vi_agent']);
|
||||
|
||||
$device = $row['vi_device'];
|
||||
|
||||
$link = "";
|
||||
$referer = "";
|
||||
@@ -92,16 +100,14 @@ $listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'">처음</a>'; //페이지 처
|
||||
else
|
||||
$ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $row['vi_ip']);
|
||||
|
||||
if ($brow == '기타') $brow = '<span title="'.get_text($row['vi_agent']).'">'.$brow.'</span>';
|
||||
if ($os == '기타') $os = '<span title="'.get_text($row['vi_agent']).'">'.$os.'</span>';
|
||||
|
||||
$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"><?php echo $brow; ?></td>
|
||||
<td class="td_idsmall"><?php echo $os; ?></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 } ?>
|
||||
|
||||
@@ -187,7 +187,7 @@ for ($i=1; $i<=count($_FILES['bf_file']['name']); $i++) {
|
||||
$shuffle = implode('', $chars_array);
|
||||
|
||||
// 첨부파일 첨부시 첨부파일명에 공백이 포함되어 있으면 일부 PC에서 보이지 않거나 다운로드 되지 않는 현상이 있습니다. (길상여의 님 090925)
|
||||
$upload[$i]['file'] = abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.str_replace('%', '', urlencode(str_replace(' ', '_', $filename)));
|
||||
$upload[$i]['file'] = abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename);
|
||||
|
||||
$dest_file = G5_DATA_PATH.'/qa/'.$upload[$i]['file'];
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if(!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE))
|
||||
return;
|
||||
|
||||
// Browscap 캐시 파일이 있으면 실행
|
||||
if(defined('G5_VISIT_BROWSCAP_USE') && G5_VISIT_BROWSCAP_USE && is_file(G5_DATA_PATH.'/cache/browscap_cache.php')) {
|
||||
include_once(G5_PLUGIN_PATH.'/browscap/Browscap.php');
|
||||
|
||||
$browscap = new phpbrowscap\Browscap(G5_DATA_PATH.'/cache');
|
||||
$browscap->doAutoUpdate = false;
|
||||
$browscap->cacheFilename = 'browscap_cache.php';
|
||||
|
||||
$info = $browscap->getBrowser($_SERVER['HTTP_USER_AGENT']);
|
||||
|
||||
$vi_browser = $info->Comment;
|
||||
$vi_os = $info->Platform;
|
||||
$vi_device = $info->Device_Type;
|
||||
}
|
||||
?>
|
||||
@@ -15,7 +15,13 @@ if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR'])
|
||||
if (isset($_SERVER['HTTP_REFERER']))
|
||||
$referer = escape_trim(clean_xss_tags($_SERVER['HTTP_REFERER']));
|
||||
$user_agent = escape_trim(clean_xss_tags($_SERVER['HTTP_USER_AGENT']));
|
||||
$sql = " insert {$g5['visit_table']} ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '{$vi_id}', '{$remote_addr}', '".G5_TIME_YMD."', '".G5_TIME_HIS."', '{$referer}', '{$user_agent}' ) ";
|
||||
$vi_browser = '';
|
||||
$vi_os = '';
|
||||
$vi_device = '';
|
||||
if(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE) {
|
||||
include_once(G5_BBS_PATH.'/visit_browscap.inc.php');
|
||||
}
|
||||
$sql = " insert {$g5['visit_table']} ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent, vi_browser, vi_os, vi_device ) values ( '{$vi_id}', '{$remote_addr}', '".G5_TIME_YMD."', '".G5_TIME_HIS."', '{$referer}', '{$user_agent}', '{$vi_browser}', '{$vi_os}', '{$vi_device}' ) ";
|
||||
|
||||
$result = sql_query($sql, FALSE);
|
||||
// 정상으로 INSERT 되었다면 방문자 합계에 반영
|
||||
|
||||
@@ -485,7 +485,7 @@ for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
|
||||
$shuffle = implode('', $chars_array);
|
||||
|
||||
// 첨부파일 첨부시 첨부파일명에 공백이 포함되어 있으면 일부 PC에서 보이지 않거나 다운로드 되지 않는 현상이 있습니다. (길상여의 님 090925)
|
||||
$upload[$i]['file'] = abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.str_replace('%', '', urlencode(str_replace(' ', '_', $filename)));
|
||||
$upload[$i]['file'] = abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename);
|
||||
|
||||
$dest_file = G5_DATA_PATH.'/file/'.$bo_table.'/'.$upload[$i]['file'];
|
||||
|
||||
|
||||
+7
-1
@@ -5,7 +5,7 @@
|
||||
********************/
|
||||
|
||||
define('G5_VERSION', '그누보드5');
|
||||
define('G5_GNUBOARD_VER', '5.1.4');
|
||||
define('G5_GNUBOARD_VER', '5.1.6');
|
||||
|
||||
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
|
||||
define('_GNUBOARD_', true);
|
||||
@@ -198,6 +198,12 @@ define('G5_IS_MOBILE_DHTML_USE', false);
|
||||
// MySQLi 사용여부를 설정합니다.
|
||||
define('G5_MYSQLI_USE', true);
|
||||
|
||||
// Browscap 사용여부를 설정합니다.
|
||||
define('G5_BROWSCAP_USE', true);
|
||||
|
||||
// 접속자 기록 때 Browscap 사용여부를 설정합니다.
|
||||
define('G5_VISIT_BROWSCAP_USE', false);
|
||||
|
||||
// ip 숨김방법 설정
|
||||
/* 123.456.789.012 ip의 숨김 방법을 변경하는 방법은
|
||||
\\1 은 123, \\2는 456, \\3은 789, \\4는 012에 각각 대응되므로
|
||||
|
||||
+12
-1
@@ -1454,7 +1454,7 @@ function sql_set_charset($charset, $link=null)
|
||||
if(function_exists('mysqli_set_charset') && G5_MYSQLI_USE)
|
||||
mysqli_set_charset($link, $charset);
|
||||
else
|
||||
sql_query(" set names {$charset} ");
|
||||
mysql_query(" set names {$charset} ", $link);
|
||||
}
|
||||
|
||||
|
||||
@@ -2914,6 +2914,17 @@ function get_safe_filename($name)
|
||||
return $name;
|
||||
}
|
||||
|
||||
// 파일명 치환
|
||||
function replace_filename($name)
|
||||
{
|
||||
@session_start();
|
||||
$ss_id = session_id();
|
||||
$usec = get_microtime();
|
||||
$ext = array_pop(explode('.', $name));
|
||||
|
||||
return sha1($ss_id.$_SERVER['REMOTE_ADDR'].$usec).'.'.$ext;
|
||||
}
|
||||
|
||||
// 아이코드 사용자정보
|
||||
function get_icode_userinfo($id, $pass)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
|
||||
@ini_set('memory_limit', '512M');
|
||||
@ini_set('memory_limit', '-1');
|
||||
|
||||
// 게시글리스트 썸네일 생성
|
||||
function get_list_thumbnail($bo_table, $wr_id, $thumb_width, $thumb_height, $is_create=false, $is_crop=true, $crop_mode='center', $is_sharpen=false, $um_value='80/0.5/3')
|
||||
|
||||
@@ -22,7 +22,30 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
|
||||
<section id="fregister_private">
|
||||
<h2>개인정보처리방침안내</h2>
|
||||
<textarea readonly><?php echo get_text($config['cf_privacy']) ?></textarea>
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption>개인정보처리방침안내</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>목적</th>
|
||||
<th>항목</th>
|
||||
<th>보유기간</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>이용자 식별 및 본인여부 확인</td>
|
||||
<td>아이디, 이름, 비밀번호</td>
|
||||
<td>회원 탈퇴 시까지</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>고객서비스 이용에 관한 통지,<br>CS대응을 위한 이용자 식별</td>
|
||||
<td>연락처 (이메일, 휴대전화번호)</td>
|
||||
<td>회원 탈퇴 시까지</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<fieldset class="fregister_agree">
|
||||
<label for="agree21">개인정보처리방침안내의 내용에 동의합니다.</label>
|
||||
<input type="checkbox" name="agree2" value="1" id="agree21">
|
||||
|
||||
@@ -80,6 +80,10 @@
|
||||
.fregister_agree label {display:inline-block;margin-right:5px}
|
||||
#fregister p {color:#e8180c;text-align:center}
|
||||
#fregister .btn_confirm {margin:15px 0}
|
||||
#fregister_private .tbl_head01 {margin:0}
|
||||
#fregister_private .tbl_head01 th{;text-align:center;border:1px solid #d1dee2;width:33%}
|
||||
#fregister_private .tbl_head01 td {border:1px solid #e9e9e9;background:#fff}
|
||||
#fregister_private .tbl_head01 caption{position:absolute;font-size:0;line-height:0;overflow:hidden;top:0;color:#fff}
|
||||
|
||||
/* 회원가입 입력 */
|
||||
#fregisterform #reg_mb_email, #fregisterform .frm_address {width:100%}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -379,7 +379,7 @@ if($config['cf_sms_type'] == 'LMS') {
|
||||
break;
|
||||
}
|
||||
}
|
||||
function Add($strDest, $strCallBack, $strCaller, $strURL, $strMessage, $strDate="", $nCount) {
|
||||
function Add2($strDest, $strCallBack, $strCaller, $strURL, $strMessage, $strDate="", $nCount) {
|
||||
global $g5;
|
||||
|
||||
$Error = $this->CheckCommonTypeDest($strDest, $nCount);
|
||||
|
||||
@@ -22,7 +22,30 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
|
||||
<section id="fregister_private">
|
||||
<h2>개인정보처리방침안내</h2>
|
||||
<textarea readonly><?php echo get_text($config['cf_privacy']) ?></textarea>
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption>개인정보처리방침안내</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>목적</th>
|
||||
<th>항목</th>
|
||||
<th>보유기간</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>이용자 식별 및 본인여부 확인</td>
|
||||
<td>아이디, 이름, 비밀번호</td>
|
||||
<td>회원 탈퇴 시까지</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>고객서비스 이용에 관한 통지,<br>CS대응을 위한 이용자 식별</td>
|
||||
<td>연락처 (이메일, 휴대전화번호)</td>
|
||||
<td>회원 탈퇴 시까지</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<fieldset class="fregister_agree">
|
||||
<label for="agree21">개인정보처리방침안내의 내용에 동의합니다.</label>
|
||||
<input type="checkbox" name="agree2" value="1" id="agree21">
|
||||
|
||||
@@ -89,6 +89,9 @@
|
||||
#fregister .fregister_agree label {display:inline-block;margin-right:5px}
|
||||
#fregister p {color:#e8180c;text-align:center}
|
||||
#fregister .btn_confirm {margin-bottom:20px}
|
||||
#fregister_private .tbl_head01 th{;text-align:center;border:1px solid #d1dee2;width:33%}
|
||||
#fregister_private .tbl_head01 td {border:1px solid #e9e9e9}
|
||||
#fregister_private .tbl_head01 caption{position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
|
||||
/* 회원가입 입력 */
|
||||
#fregisterform textarea {height:50px}
|
||||
|
||||
@@ -22,7 +22,30 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
|
||||
<section id="fregister_private">
|
||||
<h2>개인정보처리방침안내</h2>
|
||||
<textarea readonly><?php echo get_text($config['cf_privacy']) ?></textarea>
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption>개인정보처리방침안내</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>목적</th>
|
||||
<th>항목</th>
|
||||
<th>보유기간</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>이용자 식별 및 본인여부 확인</td>
|
||||
<td>아이디, 이름, 비밀번호</td>
|
||||
<td>회원 탈퇴 시까지</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>고객서비스 이용에 관한 통지,<br>CS대응을 위한 이용자 식별</td>
|
||||
<td>연락처 (이메일, 휴대전화번호)</td>
|
||||
<td>회원 탈퇴 시까지</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<fieldset class="fregister_agree">
|
||||
<label for="agree21">개인정보처리방침안내의 내용에 동의합니다.</label>
|
||||
<input type="checkbox" name="agree2" value="1" id="agree21">
|
||||
|
||||
@@ -80,6 +80,10 @@
|
||||
.fregister_agree label {display:inline-block;margin-right:5px}
|
||||
#fregister p {color:#e8180c;text-align:center}
|
||||
#fregister .btn_confirm {margin:15px 0}
|
||||
#fregister_private .tbl_head01 {margin:0}
|
||||
#fregister_private .tbl_head01 th{;text-align:center;border:1px solid #d1dee2;width:33%}
|
||||
#fregister_private .tbl_head01 td {border:1px solid #e9e9e9;background:#fff}
|
||||
#fregister_private .tbl_head01 caption{position:absolute;font-size:0;line-height:0;overflow:hidden;top:0;color:#fff}
|
||||
|
||||
/* 회원가입 입력 */
|
||||
#fregisterform #reg_mb_email, #fregisterform .frm_address {width:100%}
|
||||
|
||||
@@ -22,7 +22,31 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
|
||||
<section id="fregister_private">
|
||||
<h2>개인정보처리방침안내</h2>
|
||||
<textarea readonly><?php echo get_text($config['cf_privacy']) ?></textarea>
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption>개인정보처리방침안내</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>목적</th>
|
||||
<th>항목</th>
|
||||
<th>보유기간</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>이용자 식별 및 본인여부 확인</td>
|
||||
<td>아이디, 이름, 비밀번호</td>
|
||||
<td>회원 탈퇴 시까지</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>고객서비스 이용에 관한 통지,<br>CS대응을 위한 이용자 식별</td>
|
||||
<td>연락처 (이메일, 휴대전화번호)</td>
|
||||
<td>회원 탈퇴 시까지</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<fieldset class="fregister_agree">
|
||||
<label for="agree21">개인정보처리방침안내의 내용에 동의합니다.</label>
|
||||
<input type="checkbox" name="agree2" value="1" id="agree21">
|
||||
|
||||
@@ -89,6 +89,9 @@
|
||||
#fregister .fregister_agree label {display:inline-block;margin-right:5px}
|
||||
#fregister p {color:#e8180c;text-align:center}
|
||||
#fregister .btn_confirm {margin-bottom:20px}
|
||||
#fregister_private .tbl_head01 th{;text-align:center;border:1px solid #d1dee2;width:33%}
|
||||
#fregister_private .tbl_head01 td {border:1px solid #e9e9e9}
|
||||
#fregister_private .tbl_head01 caption{position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
|
||||
/* 회원가입 입력 */
|
||||
#fregisterform textarea {height:50px}
|
||||
|
||||
Reference in New Issue
Block a user