AvocadoAmber/AvocadoEdition_Light/bbs/good.php

153 lines
5.3 KiB
PHP
Raw Normal View History

2022-09-17 20:50:50 +09:00
<?php
2024-09-23 11:07:19 +09:00
include_once "./_common.php";
2022-09-17 20:50:50 +09:00
2024-09-28 13:03:15 +09:00
EventHandler::triggerEvent("gnuboard.bbs.good_before", $bo_table, $wr_id, $good);
@include_once $board_skin_path . "/good.head.skin.php";
2022-09-17 20:50:50 +09:00
// 자바스크립트 사용가능할 때
2024-09-19 20:57:39 +09:00
if ($_POST['js'] == "on") {
$error = $count = "";
function print_result($error, $count)
{
echo '{ "error": "' . $error . '", "count": "' . $count . '" }';
if ($error)
exit;
}
if (!$is_member) {
$error = '회원만 가능합니다.';
print_result($error, $count);
}
if (!($bo_table && $wr_id)) {
$error = '값이 제대로 넘어오지 않았습니다.';
print_result($error, $count);
}
$ss_name = 'ss_view_' . $bo_table . '_' . $wr_id;
if (!get_session($ss_name)) {
$error = '해당 게시물에서만 추천 또는 비추천 하실 수 있습니다.';
print_result($error, $count);
}
2024-09-30 01:58:32 +09:00
$row = sql_fetch("SELECT count(*) as cnt FROM {$g5['write_prefix']}{$bo_table} ", FALSE);
2024-09-19 20:57:39 +09:00
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);
2022-09-17 20:50:50 +09:00
}
2024-09-19 20:57:39 +09:00
if (!$board['bo_use_good'] && $good == 'good') {
$error = '이 게시판은 추천 기능을 사용하지 않습니다.';
print_result($error, $count);
2022-09-17 20:50:50 +09:00
}
2024-09-19 20:57:39 +09:00
if (!$board['bo_use_nogood'] && $good == 'nogood') {
$error = '이 게시판은 비추천 기능을 사용하지 않습니다.';
print_result($error, $count);
2022-09-17 20:50:50 +09:00
}
2024-09-30 01:58:32 +09:00
$sql = "SELECT bg_flag FROM {$g5['board_good_table']}
2022-09-17 20:50:50 +09:00
where bo_table = '{$bo_table}'
and wr_id = '{$wr_id}'
and mb_id = '{$member['mb_id']}'
and bg_flag in ('good', 'nogood') ";
2024-09-19 20:57:39 +09:00
$row = sql_fetch($sql);
if ($row['bg_flag']) {
if ($row['bg_flag'] == 'good')
$status = '추천';
else
$status = '비추천';
$error = "이미 $status 하신 글 입니다.";
print_result($error, $count);
} else {
// 추천(찬성), 비추천(반대) 카운트 증가
2024-09-30 01:58:32 +09:00
sql_query("UPDATE {$g5['write_prefix']}{$bo_table} SET wr_{$good} = wr_{$good} + 1 where wr_id = '{$wr_id}' ");
2024-09-19 20:57:39 +09:00
// 내역 생성
sql_query(" insert {$g5['board_good_table']} set bo_table = '{$bo_table}', wr_id = '{$wr_id}', mb_id = '{$member['mb_id']}', bg_flag = '{$good}', bg_datetime = '" . G5_TIME_YMDHIS . "' ");
2024-09-30 01:58:32 +09:00
$sql = "SELECT wr_{$good} as count FROM {$g5['write_prefix']}{$bo_table} where wr_id = '$wr_id' ";
2024-09-19 20:57:39 +09:00
$row = sql_fetch($sql);
$count = $row['count'];
2024-09-28 13:03:15 +09:00
EventHandler::triggerEvent("gnuboard.bbs.increase_good_json", $bo_table, $wr_id, $good);
2024-09-19 20:57:39 +09:00
print_result($error, $count);
2022-09-17 20:50:50 +09:00
}
2024-09-19 20:57:39 +09:00
}
2022-09-17 20:50:50 +09:00
} else {
2024-09-28 13:03:15 +09:00
include_once G5_PATH . "/head.sub.php";
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
if (!$is_member) {
$href = './login.php?' . $qstr . '&amp;url=' . urlencode('./board.php?bo_table=' . $bo_table . '&amp;wr_id=' . $wr_id);
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
alert('회원만 가능합니다.', $href);
}
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
if (!($bo_table && $wr_id))
alert('값이 제대로 넘어오지 않았습니다.');
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
$ss_name = 'ss_view_' . $bo_table . '_' . $wr_id;
if (!get_session($ss_name))
alert('해당 게시물에서만 추천 또는 비추천 하실 수 있습니다.');
2022-09-17 20:50:50 +09:00
2024-09-30 01:58:32 +09:00
$row = sql_fetch("SELECT count(*) as cnt FROM {$g5['write_prefix']}{$bo_table} ", FALSE);
2024-09-19 20:57:39 +09:00
if (!$row['cnt'])
alert('존재하는 게시판이 아닙니다.');
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
if ($good == 'good' || $good == 'nogood') {
if ($write['mb_id'] == $member['mb_id'])
alert('자신의 글에는 추천 또는 비추천 하실 수 없습니다.');
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
if (!$board['bo_use_good'] && $good == 'good')
alert('이 게시판은 추천 기능을 사용하지 않습니다.');
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
if (!$board['bo_use_nogood'] && $good == 'nogood')
alert('이 게시판은 비추천 기능을 사용하지 않습니다.');
2022-09-17 20:50:50 +09:00
2024-09-30 01:58:32 +09:00
$sql = "SELECT bg_flag FROM {$g5['board_good_table']}
2022-09-17 20:50:50 +09:00
where bo_table = '{$bo_table}'
and wr_id = '{$wr_id}'
and mb_id = '{$member['mb_id']}'
and bg_flag in ('good', 'nogood') ";
2024-09-19 20:57:39 +09:00
$row = sql_fetch($sql);
if ($row['bg_flag']) {
if ($row['bg_flag'] == 'good')
$status = '추천';
else
$status = '비추천';
alert("이미 $status 하신 글 입니다.");
} else {
// 추천(찬성), 비추천(반대) 카운트 증가
2024-09-30 01:58:32 +09:00
sql_query("UPDATE {$g5['write_prefix']}{$bo_table} SET wr_{$good} = wr_{$good} + 1 where wr_id = '{$wr_id}' ");
2024-09-19 20:57:39 +09:00
// 내역 생성
sql_query(" insert {$g5['board_good_table']} set bo_table = '{$bo_table}', wr_id = '{$wr_id}', mb_id = '{$member['mb_id']}', bg_flag = '{$good}', bg_datetime = '" . G5_TIME_YMDHIS . "' ");
if ($good == 'good')
$status = '추천';
else
$status = '비추천';
$href = './board.php?bo_table=' . $bo_table . '&amp;wr_id=' . $wr_id;
2024-09-28 13:03:15 +09:00
EventHandler::triggerEvent("gnuboard.bbs.increase_good_html", $bo_table, $wr_id, $good, $href);
2024-09-19 20:57:39 +09:00
alert("이 글을 $status 하셨습니다.", '', false);
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-28 13:03:15 +09:00
EventHandler::triggerEvent("gnuboard.bbs.good_after", $bo_table, $wr_id, $good);
@include_once $board_skin_path . "/good.tail.skin.php";