From dc3d5e53801bbefd544886c324f031fc81e0723a Mon Sep 17 00:00:00 2001 From: chicpro Date: Fri, 8 Mar 2013 11:18:46 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B6=94=EC=B2=9C,=20=EB=B9=84=EC=B6=94?= =?UTF-8?q?=EC=B2=9C=20ajax=20=EB=B0=A9=EC=8B=9D=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bbs/good.php | 195 ++++++++++++++++++++++--------- skin/board/basic/view.skin.php | 34 +++++- skin/board/gallery/view.skin.php | 34 +++++- 3 files changed, 203 insertions(+), 60 deletions(-) diff --git a/bbs/good.php b/bbs/good.php index ba3ab55f1..a27c8dac9 100644 --- a/bbs/good.php +++ b/bbs/good.php @@ -3,69 +3,152 @@ include_once('./_common.php'); @include_once($board_skin_path.'/good.head.skin.php'); -echo ''; +// 자바스크립트 사용가능할 때 +if($_POST['js'] == "on") { + $error = $count = ""; -if (!$is_member) -{ - $href = './login.php?$qstr&url='.urlencode('./board.php?bo_table='.$bo_table.'&wr_id='.$wr_id); - - echo ''; - exit; -} - -if (!($bo_table && $wr_id)) - alert_close('값이 제대로 넘어오지 않았습니다.'); - -$ss_name = 'ss_view_'.$bo_table.'_'.$wr_id; -if (!get_session($ss_name)) - alert_close('해당 게시물에서만 추천 또는 비추천 하실 수 있습니다.'); - -$row = sql_fetch(" select count(*) as cnt from {$g4[write_prefix]}{$bo_table} ", FALSE); -if (!$row[cnt]) - alert_close('존재하는 게시판이 아닙니다.'); - -if ($good == 'good' || $good == 'nogood') -{ - if($write[mb_id] == $member[mb_id]) - alert_close('자신의 글에는 추천 또는 비추천 하실 수 없습니다.'); - - if (!$board[bo_use_good] && $good == 'good') - alert_close('이 게시판은 추천 기능을 사용하지 않습니다.'); - - if (!$board[bo_use_nogood] && $good == 'nogood') - alert_close('이 게시판은 비추천 기능을 사용하지 않습니다.'); - - $sql = " select bg_flag from {$g4[board_good_table]} - where bo_table = '{$bo_table}' - and wr_id = '{$wr_id}' - and mb_id = '{$member[mb_id]}' - and bg_flag in ('good', 'nogood') "; - $row = sql_fetch($sql); - if ($row[bg_flag]) + function print_result($error, $count) { - if ($row[bg_flag] == 'good') - $status = '추천'; - else - $status = '비추천'; - - echo ''; + echo '{ "error": "' . $error . '", "count": "' . $count . '" }'; + exit; } - else + + if (!$is_member) { - // 추천(찬성), 비추천(반대) 카운트 증가 - sql_query(" update {$g4[write_prefix]}{$bo_table} set wr_{$good} = wr_{$good} + 1 where wr_id = '{$wr_id}' "); - // 내역 생성 - sql_query(" insert {$g4[board_good_table]} set bo_table = '{$bo_table}', wr_id = '{$wr_id}', mb_id = '{$member[mb_id]}', bg_flag = '{$good}', bg_datetime = '".G4_TIME_YMDHIS."' "); + $error = '회원만 가능합니다.'; + print_result($error, $count); + } - if ($good == 'good') - $status = '추천'; - else - $status = '비추천'; + if (!($bo_table && $wr_id)) { + $error = '값이 제대로 넘어오지 않았습니다.'; + print_result($error, $count); + } - echo ''; + $ss_name = 'ss_view_'.$bo_table.'_'.$wr_id; + if (!get_session($ss_name)) { + $error = '해당 게시물에서만 추천 또는 비추천 하실 수 있습니다.'; + print_result($error, $count); + } + + $row = sql_fetch(" select count(*) as cnt from {$g4['write_prefix']}{$bo_table} ", FALSE); + if (!$row['cnt']) { + $error = '존재하는 게시판이 아닙니다.'; + print_result($error, $count); + } + + if ($good == 'good' || $good == 'nogood') + { + if($write['mb_id'] == $member['mb_id']) { + $error = '자신의 글에는 추천 또는 비추천 하실 수 없습니다.'; + print_result($error, $count); + } + + if (!$board['bo_use_good'] && $good == 'good') { + $error = '이 게시판은 추천 기능을 사용하지 않습니다.'; + print_result($error, $count); + } + + if (!$board['bo_use_nogood'] && $good == 'nogood') { + $error = '이 게시판은 비추천 기능을 사용하지 않습니다.'; + print_result($error, $count); + } + + $sql = " select bg_flag from {$g4['board_good_table']} + where bo_table = '{$bo_table}' + and wr_id = '{$wr_id}' + and mb_id = '{$member['mb_id']}' + and bg_flag in ('good', 'nogood') "; + $row = sql_fetch($sql); + if ($row['bg_flag']) + { + if ($row['bg_flag'] == 'good') + $status = '추천'; + else + $status = '비추천'; + + $error = "이미 $status 하신 글 입니다."; + print_result($error, $count); + } + else + { + // 추천(찬성), 비추천(반대) 카운트 증가 + sql_query(" update {$g4['write_prefix']}{$bo_table} set wr_{$good} = wr_{$good} + 1 where wr_id = '{$wr_id}' "); + // 내역 생성 + sql_query(" insert {$g4['board_good_table']} set bo_table = '{$bo_table}', wr_id = '{$wr_id}', mb_id = '{$member['mb_id']}', bg_flag = '{$good}', bg_datetime = '".G4_TIME_YMDHIS."' "); + + $sql = " select wr_{$good} as count from {$g4['write_prefix']}{$bo_table} where wr_id = '$wr_id' "; + $row = sql_fetch($sql); + + $count = $row['count']; + + print_result($error, $count); + } + } +} else { + include_once(G4_PATH.'/head.sub.php'); + + if (!$is_member) + { + $href = './login.php?$qstr&url='.urlencode('./board.php?bo_table='.$bo_table.'&wr_id='.$wr_id); + + alert('회원만 가능합니다.', $href); + } + + if (!($bo_table && $wr_id)) + alert('값이 제대로 넘어오지 않았습니다.'); + + $ss_name = 'ss_view_'.$bo_table.'_'.$wr_id; + if (!get_session($ss_name)) + alert('해당 게시물에서만 추천 또는 비추천 하실 수 있습니다.'); + + $row = sql_fetch(" select count(*) as cnt from {$g4['write_prefix']}{$bo_table} ", FALSE); + if (!$row['cnt']) + alert('존재하는 게시판이 아닙니다.'); + + if ($good == 'good' || $good == 'nogood') + { + if($write['mb_id'] == $member['mb_id']) + alert('자신의 글에는 추천 또는 비추천 하실 수 없습니다.'); + + if (!$board['bo_use_good'] && $good == 'good') + alert('이 게시판은 추천 기능을 사용하지 않습니다.'); + + if (!$board['bo_use_nogood'] && $good == 'nogood') + alert('이 게시판은 비추천 기능을 사용하지 않습니다.'); + + $sql = " select bg_flag from {$g4['board_good_table']} + where bo_table = '{$bo_table}' + and wr_id = '{$wr_id}' + and mb_id = '{$member['mb_id']}' + and bg_flag in ('good', 'nogood') "; + $row = sql_fetch($sql); + if ($row['bg_flag']) + { + if ($row['bg_flag'] == 'good') + $status = '추천'; + else + $status = '비추천'; + + alert("이미 $status 하신 글 입니다."); + } + else + { + // 추천(찬성), 비추천(반대) 카운트 증가 + sql_query(" update {$g4['write_prefix']}{$bo_table} set wr_{$good} = wr_{$good} + 1 where wr_id = '{$wr_id}' "); + // 내역 생성 + sql_query(" insert {$g4['board_good_table']} set bo_table = '{$bo_table}', wr_id = '{$wr_id}', mb_id = '{$member['mb_id']}', bg_flag = '{$good}', bg_datetime = '".G4_TIME_YMDHIS."' "); + + if ($good == 'good') + $status = '추천'; + else + $status = '비추천'; + + $href = './board.php?bo_table='.$bo_table.'&wr_id='.$wr_id; + + alert("이 글을 $status 하셨습니다.", '', false); + } } } @include_once($board_skin_path.'/good.tail.skin.php'); -?> - \ No newline at end of file +?> \ No newline at end of file diff --git a/skin/board/basic/view.skin.php b/skin/board/basic/view.skin.php index 79ac40243..d841819c4 100644 --- a/skin/board/basic/view.skin.php +++ b/skin/board/basic/view.skin.php @@ -144,8 +144,8 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
스크랩 - 추천 - 비추천 + 추천 + 비추천
\ No newline at end of file diff --git a/skin/board/gallery/view.skin.php b/skin/board/gallery/view.skin.php index 79ac40243..d841819c4 100644 --- a/skin/board/gallery/view.skin.php +++ b/skin/board/gallery/view.skin.php @@ -144,8 +144,8 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
스크랩 - 추천 - 비추천 + 추천 + 비추천
\ No newline at end of file