투표하기 중복알림과 회원, 비회원 구분 코드 추가

This commit is contained in:
chicpro
2013-03-27 10:01:12 +09:00
parent 4713d4a216
commit 470622e232

View File

@ -11,10 +11,20 @@ if ($member['mb_level'] < $po['po_level'])
if(!$gb_poll)
alert_close('항목을 선택하세요.');
// 쿠키에 저장된 투표번호가 없다면
if (get_cookie('ck_po_id') != $po['po_id']) {
$search_mb_id = false;
$search_ip = false;
if($is_member) {
// 투표했던 회원아이디들 중에서 찾아본다
$ids = explode(',', trim($po['mb_ids']));
for ($i=0; $i<count($ids); $i++) {
if ($member['mb_id'] == trim($ids[$i])) {
$search_mb_id = true;
break;
}
}
} else {
// 투표했던 ip들 중에서 찾아본다
$search_ip = false;
$ips = explode(',', trim($po['po_ips']));
for ($i=0; $i<count($ips); $i++) {
if ($_SERVER['REMOTE_ADDR'] == trim($ips[$i])) {
@ -22,34 +32,29 @@ if (get_cookie('ck_po_id') != $po['po_id']) {
break;
}
}
// 투표했던 회원아이디들 중에서 찾아본다
$search_mb_id = false;
if ($is_member) {
$ids = explode(',', trim($po['mb_ids']));
for ($i=0; $i<count($ids); $i++) {
if ($member['mb_id'] == trim($ids[$i])) {
$search_mb_id = true;
break;
}
}
}
// 없다면 선택한 투표항목을 1증가 시키고 ip, id를 저장
if (!($search_ip || $search_mb_id)) {
$po_ips = $po['po_ips'] . $_SERVER['REMOTE_ADDR'].",";
$mb_ids = $po['mb_ids'];
if ($member['mb_id'])
$mb_ids .= $member['mb_id'].',';
sql_query(" update {$g4['poll_table']} set po_cnt{$gb_poll} = po_cnt{$gb_poll} + 1, po_ips = '{$po_ips}', mb_ids = '{$mb_ids}' where po_id = '{$po_id}' ");
}
if (!$search_mb_id)
insert_point($member['mb_id'], $po['po_point'], $po['po_id'] . '. ' . cut_str($po['po_subject'],20) . ' 투표 참여 ', '@poll', $po['po_id'], '투표');
}
set_cookie('ck_po_id', $po['po_id'], 86400 * 15); // 투표 쿠키 보름간 저장
$result_url = G4_BBS_URL."/poll_result.php?po_id=$po_id&skin_dir={$_POST['skin_dir']}";
// 없다면 선택한 투표항목을 1증가 시키고 ip, id를 저장
if (!($search_ip || $search_mb_id)) {
$po_ips = $po['po_ips'] . $_SERVER['REMOTE_ADDR'].",";
$mb_ids = $po['mb_ids'];
if ($is_member) { // 회원일 때는 id만 추가
$mb_ids .= $member['mb_id'].',';
$sql = " update {$g4['poll_table']} set po_cnt{$gb_poll} = po_cnt{$gb_poll} + 1, mb_ids = '$mb_ids' where po_id = '$po_id' ";
} else {
$sql = " update {$g4['poll_table']} set po_cnt{$gb_poll} = po_cnt{$gb_poll} + 1, po_ips = '$po_ips' where po_id = '$po_id' ";
}
sql_query($sql);
} else {
alert($po['po_subject'].'에 이미 참여하셨습니다.', $result_url);
}
if (!$search_mb_id)
insert_point($member['mb_id'], $po['po_point'], $po['po_id'] . '. ' . cut_str($po['po_subject'],20) . ' 투표 참여 ', '@poll', $po['po_id'], '투표');
//goto_url($g4['bbs_url'].'/poll_result.php?po_id='.$po_id.'&amp;skin_dir='.$skin_dir);
goto_url(G4_BBS_URL."/poll_result.php?po_id=$po_id&skin_dir={$_POST['skin_dir']}");
goto_url($result_url);
?>