추천, 비추천 ajax 방식으로 변경
This commit is contained in:
195
bbs/good.php
195
bbs/good.php
@ -3,69 +3,152 @@ include_once('./_common.php');
|
||||
|
||||
@include_once($board_skin_path.'/good.head.skin.php');
|
||||
|
||||
echo '<meta charset="$g4[charset]">';
|
||||
// 자바스크립트 사용가능할 때
|
||||
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 '<script>alert(\'회원만 가능합니다.\'); top.location.href = \''.$href.'\';</script>';
|
||||
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 '<script>alert(\'이미 \''.$status.'\' 하신 글 입니다.\');</script>';
|
||||
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 '<script> alert(\'이 글을 \'$status\' 하셨습니다.\');</script>';
|
||||
$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');
|
||||
?>
|
||||
<script> window.close(); </script>
|
||||
?>
|
||||
@ -144,8 +144,8 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
||||
<? if ($scrap_href || $good_href || $nogood_href) { ?>
|
||||
<div id="bo_v_act">
|
||||
<? if ($scrap_href) { ?><a href="<?=$scrap_href; ?>" target="_blank" class="btn_b01" onclick="win_scrap(this.href); return false;">스크랩</a><? } ?>
|
||||
<? if ($good_href) {?><a href="<?=$good_href?>" target="hiddenframe" class="btn_b01">추천 <strong><?=number_format($view['wr_good'])?></strong></a><? } ?>
|
||||
<? if ($nogood_href) {?><a href="<?=$nogood_href?>" target="hiddenframe" class="btn_b01">비추천 <strong><?=number_format($view['wr_nogood'])?></strong></a><? } ?>
|
||||
<? if ($good_href) {?><a href="<?=$good_href.'&'.$qstr?>" id="good_button" class="btn_b01">추천 <strong><?=number_format($view['wr_good'])?></strong></a><? } ?>
|
||||
<? if ($nogood_href) {?><a href="<?=$nogood_href.'&'.$qstr?>" id="nogood_button" class="btn_b01">비추천 <strong><?=number_format($view['wr_nogood'])?></strong></a><? } ?>
|
||||
</div>
|
||||
<? } else {
|
||||
if($board['bo_use_good'] || $board['bo_use_nogood']) {
|
||||
@ -201,6 +201,18 @@ $(function() {
|
||||
window.open(this.href, "large_image", "top=10,left=10,width=10,height=10,resizable=yes,scrollbars=no,status=no");
|
||||
return false;
|
||||
});
|
||||
|
||||
// 추천
|
||||
$("#good_button").click(function() {
|
||||
excute_good(this.href, this.id);
|
||||
return false;
|
||||
});
|
||||
|
||||
// 비추천
|
||||
$("#nogood_button").click(function() {
|
||||
excute_good(this.href, this.id);
|
||||
return false;
|
||||
});
|
||||
});
|
||||
|
||||
function view_image_resize()
|
||||
@ -218,4 +230,22 @@ function view_image_resize()
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function excute_good(href, id)
|
||||
{
|
||||
$.post(
|
||||
href,
|
||||
{ js: "on" },
|
||||
function(data) {
|
||||
if(data.error) {
|
||||
alert(data.error);
|
||||
return false;
|
||||
}
|
||||
|
||||
if(data.count) {
|
||||
$("#"+id).find("strong").text(number_format(String(data.count)));
|
||||
}
|
||||
}, "json"
|
||||
);
|
||||
}
|
||||
</script>
|
||||
@ -144,8 +144,8 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
||||
<? if ($scrap_href || $good_href || $nogood_href) { ?>
|
||||
<div id="bo_v_act">
|
||||
<? if ($scrap_href) { ?><a href="<?=$scrap_href; ?>" target="_blank" class="btn_b01" onclick="win_scrap(this.href); return false;">스크랩</a><? } ?>
|
||||
<? if ($good_href) {?><a href="<?=$good_href?>" target="hiddenframe" class="btn_b01">추천 <strong><?=number_format($view['wr_good'])?></strong></a><? } ?>
|
||||
<? if ($nogood_href) {?><a href="<?=$nogood_href?>" target="hiddenframe" class="btn_b01">비추천 <strong><?=number_format($view['wr_nogood'])?></strong></a><? } ?>
|
||||
<? if ($good_href) {?><a href="<?=$good_href.'&'.$qstr?>" id="good_button" class="btn_b01">추천 <strong><?=number_format($view['wr_good'])?></strong></a><? } ?>
|
||||
<? if ($nogood_href) {?><a href="<?=$nogood_href.'&'.$qstr?>" id="nogood_button" class="btn_b01">비추천 <strong><?=number_format($view['wr_nogood'])?></strong></a><? } ?>
|
||||
</div>
|
||||
<? } else {
|
||||
if($board['bo_use_good'] || $board['bo_use_nogood']) {
|
||||
@ -201,6 +201,18 @@ $(function() {
|
||||
window.open(this.href, "large_image", "top=10,left=10,width=10,height=10,resizable=yes,scrollbars=no,status=no");
|
||||
return false;
|
||||
});
|
||||
|
||||
// 추천
|
||||
$("#good_button").click(function() {
|
||||
excute_good(this.href, this.id);
|
||||
return false;
|
||||
});
|
||||
|
||||
// 비추천
|
||||
$("#nogood_button").click(function() {
|
||||
excute_good(this.href, this.id);
|
||||
return false;
|
||||
});
|
||||
});
|
||||
|
||||
function view_image_resize()
|
||||
@ -218,4 +230,22 @@ function view_image_resize()
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function excute_good(href, id)
|
||||
{
|
||||
$.post(
|
||||
href,
|
||||
{ js: "on" },
|
||||
function(data) {
|
||||
if(data.error) {
|
||||
alert(data.error);
|
||||
return false;
|
||||
}
|
||||
|
||||
if(data.count) {
|
||||
$("#"+id).find("strong").text(number_format(String(data.count)));
|
||||
}
|
||||
}, "json"
|
||||
);
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user