This commit is contained in:
whitedot
2012-12-27 17:32:04 +09:00
11 changed files with 85 additions and 55 deletions

View File

@ -2,4 +2,5 @@
$g4_path = ".."; // common.php 의 상대 경로
include_once ($g4_path.'/common.php');
include_once($g4['admin_path'].'/admin.lib.php');
?>
$admin_index = false;
?>

View File

@ -100,13 +100,21 @@ function textarea_size(fld, size)
$href2 = '</a>';
}
$current_class = "";
<<<<<<< HEAD
if ((isset($sub_menu) && substr($sub_menu, 0, 2) == substr($menu['menu'.$key][0][0], 0, 2)) || defined('_ADMIN_INDEX_'))
=======
if (isset($sub_menu) && (substr($sub_menu, 0, 2) == substr($menu['menu'.$key][0][0], 0, 2) || $admin_index))
>>>>>>> 2b5c471bdb62542fc9cb8b6740a934c34e5de04b
$current_class = " gnb_1depth_on";
echo "<li class=\"gnb_1depth".$current_class."\">";
echo $href1 . $menu['menu'.$key][0][1] . $href2;
echo print_menu1('menu'.$key, 1);
echo "</li>";
<<<<<<< HEAD
if ($current_class || !defined('_ADMIN_INDEX_')) $current_class = ""; // 클래스 반복부여 방지
=======
if ($current_class || !$admin_index) $current_class = ""; // 클래스 반복부여 방지
>>>>>>> 2b5c471bdb62542fc9cb8b6740a934c34e5de04b
}
?>

View File

@ -24,10 +24,17 @@ if ($w == '') {
$board['bo_count_delete'] = 1;
$board['bo_count_modify'] = 1;
<<<<<<< HEAD
$board['bo_read_point'] = $config[cf_read_point];
$board['bo_write_point'] = $config[cf_write_point];
$board['bo_comment_point'] = $config[cf_comment_point];
$board['bo_download_point'] = $config[cf_download_point];
=======
$board['bo_read_point'] = $config['cf_read_point'];
$board['bo_write_point'] = $config['cf_write_point'];
$board['bo_comment_point'] = $config['cf_comment_point'];
$board['bo_download_point'] = $config['cf_download_point'];
>>>>>>> 2b5c471bdb62542fc9cb8b6740a934c34e5de04b
$board['bo_gallery_cols'] = 4;
$board['bo_table_width'] = 97;

View File

@ -60,6 +60,7 @@ $sql = " select *
limit {$from_record}, {$rows} ";
$result = sql_query($sql);
$listall = '';
if ($sfl || $stx) // 검색렬일 때만 처음 버튼을 보여줌
$listall = '<a href="'.$_SERVER['PHP_SELF'].'">전체목록</a>';

View File

@ -2,7 +2,7 @@
include_once('./_common.php');
$g4['title'] = '관리자메인';
define('_ADMIN_INDEX_', true);
$admin_index = true;
include_once ('./admin.head.php');
$new_member_rows = 5;

View File

@ -55,6 +55,7 @@ else if ($w == 'u')
else
alert('제대로 된 값이 넘어오지 않았습니다.');
<<<<<<< HEAD
if ($mb['mb_mailling'] == 1) $mailling_checked = 'checked="checked"'; //메일수신
else {
$mailing_checked = '';
@ -67,6 +68,28 @@ else {
}
if ($mb['mb_open']) $open_checked = 'checked="checked"'; // 정보 공개
else {
=======
$mailling_no_checked = '';
$sms_no_checked = '';
$open_no_checked = '';
if ($mb['mb_mailling'] == 1) {
$mailling_checked = 'checked="checked"'; //메일수신
} else {
$mailing_checked = '';
$mailling_no_checked = 'checked="checked"';
}
if ($mb['mb_sms']) {
$sms_checked = 'checked="checked"'; // SMS 수신
} else {
$sms_checked = '';
$sms_no_checked = 'checked="checked"';
}
if ($mb['mb_open']) {
$open_checked = 'checked="checked"'; // 정보 공개
} else {
>>>>>>> 2b5c471bdb62542fc9cb8b6740a934c34e5de04b
$open_checked = '';
$open_no_checked = 'checked="checked"';
}
@ -266,7 +289,7 @@ if (typeof(document.fmember.mb_level) != "undefined")
function fmember_submit(f)
{
if (!f.mb_icon.value.match(/\.(gif|jp[e]g|png)$/i) && f.mb_icon.value) {
if (!f.mb_icon.value.match(/\.(gif|jp['e']g|png)$/i) && f.mb_icon.value) {
alert('아이콘이 이미지 파일이 아닙니다. (bmp 제외)');
return false;
}

View File

@ -15,9 +15,8 @@ $colspan = 5;
$sql_common = " from {$g4['visit_table']} ";
$sql_search = " where vi_date between '{$fr_date}' and '{$to_date}' ";
if ($domain) {
if (isset($domain))
$sql_search .= " and vi_referer like '%{$domain}%' ";
}
$sql = " select count(*) as cnt
{$sql_common}
@ -106,7 +105,14 @@ if ($i == 0)
</tbody>
</table>
<?
<<<<<<< HEAD
$page = get_paging($config['cf_write_pages'], $page, $total_page, "$_SERVER[PHP_SELF]?$qstr&amp;domain=$domain&amp;page=");
=======
if (isset($domain))
$qstr .= "&amp;domain=$domain";
$qstr .= "&amp;page=";
$page = get_paging($config['cf_write_pages'], $page, $total_page, "{$_SERVER['PHP_SELF']}?$qstr");
>>>>>>> 2b5c471bdb62542fc9cb8b6740a934c34e5de04b
if ($page) {
?>
<div class="pg">

View File

@ -21,11 +21,11 @@ if ($sca || $stx) {
// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
$sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
$row = sql_fetch($sql);
$min_spt = $row[min_wr_num];
$min_spt = $row['min_wr_num'];
if (!$spt) $spt = $min_spt;
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config[cf_search_part]})) ";
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
@ -109,7 +109,7 @@ while ($row = sql_fetch_array($result))
{
// 검색일 경우 wr_id만 얻었으므로 다시 한행을 얻는다
if ($sca || $stx)
$row = sql_fetch(" select * from {$write_table} where wr_id = '{$row[wr_parent]}' ");
$row = sql_fetch(" select * from {$write_table} where wr_id = '{$row['wr_parent']}' ");
$list[$i] = get_list($row, $board, $board_skin_path, $board['bo_subject_len']);
if (strstr($sfl, 'subject')) {
@ -131,11 +131,11 @@ if ($sca || $stx) {
$list_href = './board.php?bo_table='.$bo_table;
//if ($prev_spt >= $min_spt)
$prev_spt = $spt - $config[cf_search_part];
$prev_spt = $spt - $config['cf_search_part'];
if (isset($min_spt) && $prev_spt >= $min_spt)
$prev_part_href = './board.php?bo_table='.$bo_table.$qstr.'&amp;spt='.$prev_spt.'&amp;page=1';
$next_spt = $spt + $config[cf_search_part];
$next_spt = $spt + $config['cf_search_part'];
if ($next_spt < 0)
$next_part_href = './board.php?bo_table='.$bo_table.$qstr.'&amp;spt='.$next_spt.'&amp;page=1';
}

View File

@ -5,25 +5,26 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR']) {
set_cookie('ck_visit_ip', $_SERVER['REMOTE_ADDR'], 86400); // 하루동안 저장
$tmp_row = sql_fetch(" select max(vi_id) as max_vi_id from {$g4[visit_table]} ");
$vi_id = $tmp_row[max_vi_id] + 1;
$tmp_row = sql_fetch(" select max(vi_id) as max_vi_id from {$g4['visit_table']} ");
$vi_id = $tmp_row['max_vi_id'] + 1;
// $_SERVER 배열변수 값의 변조를 이용한 SQL Injection 공격을 막는 코드입니다. 110810
$remote_addr = mysql_real_escape_string($_SERVER['REMOTE_ADDR']);
$referer = mysql_real_escape_string($_SERVER['HTTP_REFERER']);
$referer = "";
if (isset($_SERVER['HTTP_REFERER']))
$referer = mysql_real_escape_string($_SERVER['HTTP_REFERER']);
$user_agent = mysql_real_escape_string($_SERVER['HTTP_USER_AGENT']);
$sql = " insert {$g4[visit_table]} ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '{$vi_id}', '{$remote_addr}', '{$g4[time_ymd]}', '{$g4[time_his]}', '{$referer}', '{$user_agent}' ) ";
//$sql = " insert {$g4[visit_table]} ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '{$vi_id}', '{$_SERVER[REMOTE_ADDR]}', '{$g4[time_ymd]}', '{$g4[time_his]}', '{$_SERVER[HTTP_REFERER]}', '{$_SERVER[HTTP_USER_AGENT]}' ) ";
$sql = " insert {$g4['visit_table']} ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '{$vi_id}', '{$remote_addr}', '{$g4['time_ymd']}', '{$g4['time_his']}', '{$referer}', '{$user_agent}' ) ";
$result = sql_query($sql, FALSE);
// 정상으로 INSERT 되었다면 방문자 합계에 반영
if ($result) {
$sql = " insert {$g4[visit_sum_table]} ( vs_count, vs_date) values ( 1, '{$g4[time_ymd]}' ) ";
$sql = " insert {$g4['visit_sum_table']} ( vs_count, vs_date) values ( 1, '{$g4['time_ymd']}' ) ";
$result = sql_query($sql, FALSE);
// DUPLICATE 오류가 발생한다면 이미 날짜별 행이 생성되었으므로 UPDATE 실행
if (!$result) {
$sql = " update {$g4[visit_sum_table]} set vs_count = vs_count + 1 where vs_date = '{$g4[time_ymd]}' ";
$sql = " update {$g4['visit_sum_table']} set vs_count = vs_count + 1 where vs_date = '{$g4['time_ymd']}' ";
$result = sql_query($sql);
}
@ -31,32 +32,31 @@ if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR']) {
// 방문객 접속시마다 따로 쿼리를 하지 않기 위함 (엄청난 쿼리를 줄임 ^^)
// 오늘
$sql = " select vs_count as cnt from {$g4[visit_sum_table]} where vs_date = '{$g4[time_ymd]}' ";
$sql = " select vs_count as cnt from {$g4['visit_sum_table']} where vs_date = '{$g4['time_ymd']}' ";
$row = sql_fetch($sql);
$vi_today = $row[cnt];
$vi_today = $row['cnt'];
// 어제
$sql = " select vs_count as cnt from {$g4[visit_sum_table]} where vs_date = DATE_SUB('$g4[time_ymd]', INTERVAL 1 DAY) ";
$sql = " select vs_count as cnt from {$g4['visit_sum_table']} where vs_date = DATE_SUB('{$g4['time_ymd']}', INTERVAL 1 DAY) ";
$row = sql_fetch($sql);
$vi_yesterday = $row[cnt];
$vi_yesterday = $row['cnt'];
// 최대
$sql = " select max(vs_count) as cnt from {$g4[visit_sum_table]} ";
$sql = " select max(vs_count) as cnt from {$g4['visit_sum_table']} ";
$row = sql_fetch($sql);
$vi_max = $row[cnt];
$vi_max = $row['cnt'];
// 전체
//$sql = " select count(*) as cnt from {$g4[visit_table]} ";
$sql = " select sum(vs_count) as total from {$g4[visit_sum_table]} ";
$sql = " select sum(vs_count) as total from {$g4['visit_sum_table']} ";
$row = sql_fetch($sql);
$vi_sum = $row[total];
$vi_sum = $row['total'];
$visit = '오늘:'.$vi_today.',어제:'.$vi_yesterday.',최대:'.$vi_max.',전체:'.$vi_sum;
// 기본설정 테이블에 방문자수를 기록한 후
// 방문자수 테이블을 읽지 않고 출력한다.
// 쿼리의 수를 상당부분 줄임
sql_query(" update {$g4[config_table]} set cf_visit = '{$visit}' ");
sql_query(" update {$g4['config_table']} set cf_visit = '{$visit}' ");
}
}
?>
?>

View File

@ -1,8 +1,7 @@
<?
include_once('./_common.php');
if ($editor->lib) {
if ($editor->lib)
include_once($editor->lib);
}
set_session('ss_bo_table', $bo_table);
set_session('ss_wr_id', $wr_id);
@ -207,9 +206,7 @@ if ($member['mb_level'] >= $board['bo_html_level'])
$is_html = true;
$is_secret = $board['bo_use_secret'];
// DHTML 에디터 사용 선택 가능하게 수정 : 061021
//$is_dhtml_editor = $board[bo_use_dhtml_editor];
// 090713
if ($board['bo_use_dhtml_editor'] && $member['mb_level'] >= $board['bo_html_level'])
$is_dhtml_editor = true;
else
@ -341,11 +338,11 @@ if ($w == '') {
$content = $board['bo_insert_content'];
} else if ($w == 'r') {
if (!strstr($write['wr_option'], 'html')) {
$content = PHP_EOL.PHP_EOL.PHP_EOL.' &gt; '
.PHP_EOL.' &gt; '
.PHP_EOL.' &gt; '.preg_replace("/\n/", "\n> ", get_text($write['wr_content'], 0))
.PHP_EOL.' &gt; '
.PHP_EOL.' &gt; ';
$content = "\\n\\n\\n &gt; "
."\\n &gt; "
."\\n &gt; ".preg_replace("/\n/", "\n> ", get_text($write['wr_content'], 0))
."\\n &gt; "
."\\n &gt; ";
}
} else {
@ -382,13 +379,10 @@ include_once('./board_head.php');
$file_script = '';
$file_length = -1;
// 수정의 경우 파일업로드 필드가 가변적으로 늘어나야 하고 삭제 표시도 해주어야 합니다.
if ($w == 'u')
{
for ($i=0; $i<$file[count]; $i++)
{
if ($w == 'u') {
for ($i=0; $i<$file[count]; $i++) {
$row = sql_fetch(" select bf_file, bf_content from {$g4[board_file_table]} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$i}' ");
if ($row[bf_file])
{
if ($row[bf_file]) {
$file_script .= 'add_file("<input type="checkbox" name="bf_file_del['.$i.']" value="1"><a href="'.$file[$i][href].'">'.$file[$i][source].'('.$file[$i][size].')</a> 파일 삭제';
if ($is_file_content)
//$file_script .= '<br><input type="text" class="ed" size="50" name="bf_content['.$i.']" value="'.$row[bf_content].'" title="업로드 이미지 파일에 해당 되는 내용을 입력하세요.">';
@ -402,8 +396,7 @@ if ($w == 'u')
$file_length = $file[count] - 1;
}
if ($file_length < 0)
{
if ($file_length < 0) {
$file_script .= 'add_file("");'.PHP_EOL;
$file_length = 0;
}
@ -411,14 +404,6 @@ if ($file_length < 0)
include_once ($board_skin_path.'/write.skin.php');
if ($is_guest) {
echo '<script src="'.$g4['path'].'/js/md5.js"></script>'.PHP_EOL;
}
// 필터
//echo '<script> var g4_cf_filter = \''.$config[cf_filter].'\'; </script>'.PHP_EOL;
//echo '<script src="'.$g4['path'].'/js/filter.js"></script>'.PHP_EOL;
include_once('./board_tail.php');
include_once($g4['path'].'/tail.sub.php');

View File

@ -338,7 +338,6 @@ function get_list($write_row, $board, $skin_path, $subject_len=40)
$list['ca_name_href'] = $g4['bbs_path'].'/board.php?bo_table='.$board['bo_table'].'&amp;sca='.urlencode($list['ca_name']);
$list['href'] = $g4['bbs_path'].'/board.php?bo_table='.$board['bo_table'].'&amp;wr_id='.$list['wr_id'].$qstr;
//$list['href'] = "$g4[bbs_path]/board.php?bo_table=$board[bo_table]&amp;wr_id=$list[wr_id]";
if ($board['bo_use_comment'])
$list['comment_href'] = "javascript:win_comment('$g4[bbs_path]/board.php?bo_table=$board[bo_table]&amp;wr_id={$list['wr_id']}&amp;cwin=1');";
else