function member_delete($mb_id) { global $config; global $g4; $sql = " select mb_name, mb_nick, mb_ip, mb_recommend, mb_memo, mb_level from {$g4['member_table']} where mb_id= '{$mb_id}' "; $mb = sql_fetch($sql); if ($mb['mb_recommend']) { $row = sql_fetch(" select count(*) as cnt from {$g4['member_table']} where mb_id = '" . addslashes($mb['mb_recommend']) . "' "); if ($row['cnt']) { insert_point($mb['mb_recommend'], $config['cf_recommend_point'] * -1, "{$mb_id}님의 회원자료 삭제로 인한 추천인 포인트 반환", '@member', $mb['mb_recommend'], "{$mb_id} 추천인 삭제"); } } // 회원자료는 정보만 없앤 후 아이디는 보관하여 다른 사람이 사용하지 못하도록 함 : 061025 if ($mb['mb_level'] > 1) { $sql = " update {$g4['member_table']}\n set mb_jumin = '',\n mb_password = '',\n mb_level = '1',\n mb_email = '',\n mb_homepage = '',\n mb_password_q = '',\n mb_password_a = '',\n mb_tel = '',\n mb_hp = '',\n mb_zip1 = '',\n mb_zip2 = '',\n mb_addr1 = '',\n mb_addr2 = '',\n mb_birth = '',\n mb_sex = '',\n mb_signature = '',\n mb_memo = '" . date("Ymd", $g4['server_time']) . " 삭제함\n\n{$mb['mb_memo']}',\n mb_leave_date = '" . date("Ymd", $g4['server_time']) . "'\n where mb_id = '{$mb_id}' "; //echo $sql; exit; sql_query($sql); } /* // 회원 자료 삭제 sql_query(" delete from {$g4['member_table']} where mb_id = '$mb_id' "); // 삭제된 자료를 또 삭제하면 완전 삭제함 if ($mb['mb_nick'] != '[삭제됨]') { // 다른 사람이 이 회원아이디를 사용하지 못하도록 아이디만 생성해 놓습니다. // 게시판에서 회원아이디는 삭제하지 않기 때문입니다. sql_query(" insert into {$g4['member_table']} set mb_id = '$mb_id', mb_name='{$mb['mb_name']}', mb_nick='[삭제됨]', mb_ip='{$mb['mb_ip']}', mb_datetime = '{$g4['time_ymdhis']}' "); } // 포인트 테이블에서 삭제 sql_query(" delete from {$g4['point_table']} where mb_id = '$mb_id' "); // 그룹접근가능 삭제 sql_query(" delete from {$g4['group_member_table']} where mb_id = '$mb_id' "); // 쪽지 삭제 sql_query(" delete from {$g4['memo_table']} where me_recv_mb_id = '$mb_id' or me_send_mb_id = '$mb_id' "); // 스크랩 삭제 sql_query(" delete from {$g4['scrap_table']} where mb_id = '$mb_id' "); // 관리권한 삭제 sql_query(" delete from {$g4['auth_table']} where mb_id = '$mb_id' "); // 그룹관리자인 경우 그룹관리자를 공백으로 sql_query(" update {$g4['group_table']} set gr_admin = '' where gr_admin = '$mb_id' "); // 게시판관리자인 경우 게시판관리자를 공백으로 sql_query(" update {$g4['board_table']} set bo_admin = '' where bo_admin = '$mb_id' "); // 아이콘 삭제 @unlink("{$g4['path']}/data/member/".substr($mb_id,0,2)."/$mb_id.gif"); */ }
function member_delete($mb_id) { global $config; global $g5; $sql = " select mb_name, mb_nick, mb_ip, mb_recommend, mb_memo, mb_level from {$g5['member_table']} where mb_id= '" . $mb_id . "' "; $mb = sql_fetch($sql); if ($mb['mb_recommend']) { $row = sql_fetch(" select count(*) as cnt from {$g5['member_table']} where mb_id = '" . addslashes($mb['mb_recommend']) . "' "); if ($row['cnt']) { insert_point($mb['mb_recommend'], $config['cf_recommend_point'] * -1, $mb_id . '님의 회원자료 삭제로 인한 추천인 포인트 반환', "@member", $mb['mb_recommend'], $mb_id . ' 추천인 삭제'); } } // 회원자료는 정보만 없앤 후 아이디는 보관하여 다른 사람이 사용하지 못하도록 함 : 061025 $sql = " update {$g5['member_table']} set mb_jumin = '', mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_password_q = '', mb_password_a = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '" . date('Ymd', G5_SERVER_TIME) . " 삭제함\n{$mb['mb_memo']}', mb_leave_date = '" . date('Ymd', G5_SERVER_TIME) . "' where mb_id = '{$mb_id}' "; sql_query($sql); }
} } if (isset($_REQUEST['gr_id'])) { $gr_id = escape_trim($_REQUEST['gr_id']); } else { $gr_id = ''; } //=================================== // 자동로그인 부분에서 첫로그인에 포인트 부여하던것을 로그인중일때로 변경하면서 코드도 대폭 수정하였습니다. if ($_SESSION['ss_mb_id']) { // 로그인중이라면 $member = get_member($_SESSION['ss_mb_id']); // 오늘 처음 로그인 이라면 if (substr($member['mb_today_login'], 0, 10) != G5_TIME_YMD) { // 첫 로그인 포인트 지급 insert_point($member['mb_id'], $config['cf_login_point'], G5_TIME_YMD . ' 첫로그인', '@login', $member['mb_id'], G5_TIME_YMD); // 오늘의 로그인이 될 수도 있으며 마지막 로그인일 수도 있음 // 해당 회원의 접근일시와 IP 를 저장 $sql = " update {$g5['member_table']} set mb_today_login = '******', mb_login_ip = '{$_SERVER['REMOTE_ADDR']}' where mb_id = '{$member['mb_id']}' "; sql_query($sql); } } else { // 자동로그인 --------------------------------------- // 회원아이디가 쿠키에 저장되어 있다면 (3.27) if ($tmp_mb_id = get_cookie('ck_mb_id')) { $tmp_mb_id = substr(preg_replace("/[^a-zA-Z0-9_]*/", "", $tmp_mb_id), 0, 20); // 최고관리자는 자동로그인 금지 if ($tmp_mb_id != $config['cf_admin']) { $sql = " select mb_password, mb_intercept_date, mb_leave_date, mb_email_certify from {$g5['member_table']} where mb_id = '{$tmp_mb_id}' "; $row = sql_fetch($sql); $key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $row['mb_password']);
if (!delete_point($row[mb_id], $bo_table, $row[wr_id], '쓰기')) { insert_point($row[mb_id], $board[bo_write_point] * -1, "{$board['bo_subject']} {$row['wr_id']} 글삭제"); } // 업로드된 파일이 있다면 파일삭제 $sql2 = " select * from {$g4['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$row['wr_id']}' "; $result2 = sql_query($sql2); while ($row2 = sql_fetch_array($result2)) { @unlink("{$g4['path']}/data/file/{$bo_table}/{$row2['bf_file']}"); } // 파일테이블 행 삭제 sql_query(" delete from {$g4['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$row['wr_id']}' "); $count_write++; } else { // 코멘트 포인트 삭제 if (!delete_point($row[mb_id], $bo_table, $row[wr_id], '코멘트')) { insert_point($row[mb_id], $board[bo_comment_point] * -1, "{$board['bo_subject']} {$write[wr_id]}-{$row[wr_id]} 코멘트삭제"); } $count_comment++; } } // 게시글 삭제 sql_query(" delete from {$write_table} where wr_parent = '{$write['wr_id']}' "); // 최근게시물 삭제 sql_query(" delete from {$g4['board_new_table']} where bo_table = '{$bo_table}' and wr_parent = '{$write['wr_id']}' "); // 스크랩 삭제 sql_query(" delete from {$g4['scrap_table']} where bo_table = '{$bo_table}' and wr_id = '{$write['wr_id']}' "); // 공지사항 삭제 $notice_array = explode("\n", trim($board[bo_notice])); $bo_notice = ""; for ($k = 0; $k < count($notice_array); $k++) { if ((int) $write[wr_id] != (int) $notice_array[$k]) {
sql_query(" update {$write_table} set wr_parent = '{$wr_id}' where wr_id = '{$wr_id}' "); // 새글 INSERT sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '" . G5_TIME_YMDHIS . "', '{$member['mb_id']}' ) "); // 게시글 1 증가 sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'"); // 쓰기 포인트 부여 if ($w == '') { if ($notice) { $bo_notice = $wr_id . ($board['bo_notice'] ? "," . $board['bo_notice'] : ''); sql_query(" update {$g5['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}' "); } insert_point($member['mb_id'], $board['bo_write_point'], "{$board['bo_subject']} {$wr_id} 글쓰기", $bo_table, $wr_id, '쓰기'); } else { // 답변은 코멘트 포인트를 부여함 // 답변 포인트가 많은 경우 코멘트 대신 답변을 하는 경우가 많음 insert_point($member['mb_id'], $board['bo_comment_point'], "{$board['bo_subject']} {$wr_id} 글답변", $bo_table, $wr_id, '쓰기'); } } else { if ($w == 'u') { if (get_session('ss_bo_table') != $_POST['bo_table'] || get_session('ss_wr_id') != $_POST['wr_id']) { alert('올바른 방법으로 수정하여 주십시오.', G5_BBS_URL . '/board.php?bo_table=' . $bo_table); } $return_url = './board.php?bo_table=' . $bo_table . '&wr_id=' . $wr_id; if ($is_admin == 'super') { // 최고관리자 통과 } else { if ($is_admin == 'group') { // 그룹관리자 $mb = get_member($write['mb_id']); if ($member['mb_id'] != $group['gr_admin']) { // 자신이 관리하는 그룹인가?
if ($w == "") { $mb = get_member($mb_id); if ($mb['mb_id']) { alert("이미 가입한 아이디입니다."); } $sql = " insert into {$g4['member_table']}\n set mb_id = '{$mb_id}',\n mb_password = '******',\n mb_name = '{$mb_name}',\n mb_jumin = '{$mb_jumin}',\n mb_sex = '{$mb_sex}',\n mb_birth = '{$mb_birth}',\n mb_nick = '{$mb_nick}',\n mb_nick_date = '{$g4['time_ymd']}',\n mb_password_q = '{$mb_password_q}',\n mb_password_a = '{$mb_password_a}',\n mb_email = '{$mb_email}',\n mb_homepage = '{$mb_homepage}',\n mb_tel = '{$mb_tel}',\n mb_hp = '{$mb_hp}',\n mb_zip1 = '{$mb_zip1}',\n mb_zip2 = '{$mb_zip2}',\n mb_addr1 = '{$mb_addr1}',\n mb_addr2 = '{$mb_addr2}',\n mb_signature = '{$mb_signature}',\n mb_profile = '{$mb_profile}',\n mb_today_login = '******'time_ymdhis']}',\n mb_datetime = '{$g4['time_ymdhis']}',\n mb_ip = '{$_SERVER['REMOTE_ADDR']}',\n mb_level = '{$config['cf_register_level']}',\n mb_recommend = '{$mb_recommend}',\n mb_login_ip = '{$_SERVER['REMOTE_ADDR']}',\n mb_mailling = '{$mb_mailling}',\n mb_sms = '{$mb_sms}',\n mb_open = '{$mb_open}',\n mb_open_date = '{$g4['time_ymd']}',\n mb_1 = '{$mb_1}',\n mb_2 = '{$mb_2}',\n mb_3 = '{$mb_3}',\n mb_4 = '{$mb_4}',\n mb_5 = '{$mb_5}',\n mb_6 = '{$mb_6}',\n mb_7 = '{$mb_7}',\n mb_8 = '{$mb_8}',\n mb_9 = '{$mb_9}',\n mb_10 = '{$mb_10}' "; // 이메일 인증을 사용하지 않는다면 이메일 인증시간을 바로 넣는다 if (!$config['cf_use_email_certify']) { $sql .= " , mb_email_certify = '{$g4['time_ymdhis']}' "; } sql_query($sql); // 회원가입 포인트 부여 insert_point($mb_id, $config['cf_register_point'], "회원가입 축하", '@member', $mb_id, '회원가입'); // 추천인에게 포인트 부여 if ($config['cf_use_recommend'] && $mb_recommend) { insert_point($mb_recommend, $config['cf_recommend_point'], "{$mb_id}의 추천인", '@member', $mb_recommend, "{$mb_id} 추천"); } // 회원님께 메일 발송 if ($config['cf_email_mb_member']) { $subject = "회원가입을 축하드립니다."; $mb_md5 = md5($mb_id . $mb_email . $g4['time_ymdhis']); $certify_href = "{$g4['url']}/{$g4['bbs']}/email_certify.php?mb_id={$mb_id}&mb_md5={$mb_md5}"; ob_start(); include_once "./register_form_update_mail1.php"; $content = ob_get_contents(); ob_end_clean(); mailer($admin['mb_nick'], $admin['mb_email'], $mb_email, $subject, $content, 1); } // 최고관리자님께 메일 발송 if ($config['cf_email_mb_super_admin']) { $subject = $mb_nick . " 님께서 회원으로 가입하셨습니다.";
// 사용자 코드 실행 @(include_once "{$board_skin_path}/download.skin.php"); // 이미 다운로드 받은 파일인지를 검사한 후 게시물당 한번만 포인트를 차감하도록 수정 $ss_name = "ss_down_{$bo_table}_{$wr_id}"; if (!get_session($ss_name)) { // 자신의 글이라면 통과 // 관리자인 경우 통과 if ($write[mb_id] && $write[mb_id] == $member[mb_id] || $is_admin) { } else { if ($board[bo_download_level] > 1) { // 다운로드 포인트가 음수이고 회원의 포인트가 0 이거나 작다면 if ($member[mb_point] + $board[bo_download_point] < 0) { alert("보유하신 포인트(" . number_format($member[mb_point]) . ")가 없거나 모자라서 다운로드(" . number_format($board[bo_download_point]) . ")가 불가합니다.\\n\\n포인트를 적립하신 후 다시 다운로드 해 주십시오."); } // 게시물당 한번만 차감하도록 수정 insert_point($member[mb_id], $board[bo_download_point], "{$board['bo_subject']} {$wr_id} 파일 다운로드", $bo_table, $wr_id, "다운로드"); } } // 다운로드 카운트 증가 $sql = " update {$g4['board_file_table']} set bf_download = bf_download + 1 where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$no}' "; sql_query($sql); set_session($ss_name, TRUE); } $g4[title] = "{$group['gr_subject']} > {$board['bo_subject']} > " . conv_subject($write[wr_subject], 255) . " > 다운로드"; if (preg_match("/^utf/i", $g4[charset])) { $original = urlencode($file[bf_source]); } else { $original = $file[bf_source]; } @(include_once "{$board_skin_path}/download.tail.skin.php"); if (preg_match("/msie/i", $_SERVER[HTTP_USER_AGENT]) && preg_match("/5\\.5/", $_SERVER[HTTP_USER_AGENT])) {
$tmp_comment_reply = ''; } $wr_subject = get_text(stripslashes($wr['wr_subject'])); // SNS 등록 include_once "./write_comment_update.sns.php"; $sql = " insert into {$write_table}\n set ca_name = '{$wr['ca_name']}',\n wr_option = '{$wr_secret}',\n wr_num = '{$wr['wr_num']}',\n wr_reply = '',\n wr_parent = '{$wr_id}',\n wr_is_comment = 1,\n wr_comment = '{$tmp_comment}',\n wr_comment_reply = '{$tmp_comment_reply}',\n wr_subject = '',\n wr_content = '{$wr_content}',\n mb_id = '{$mb_id}',\n wr_password = '******',\n wr_name = '{$wr_name}',\n wr_email = '{$wr_email}',\n wr_homepage = '{$wr_homepage}',\n wr_datetime = '" . G5_TIME_YMDHIS . "',\n wr_last = '',\n wr_ip = '{$_SERVER['REMOTE_ADDR']}',\n wr_facebook_user = '******',\n wr_twitter_user = '******',\n wr_1 = '{$wr_1}',\n wr_2 = '{$wr_2}',\n wr_3 = '{$wr_3}',\n wr_4 = '{$wr_4}',\n wr_5 = '{$wr_5}',\n wr_6 = '{$wr_6}',\n wr_7 = '{$wr_7}',\n wr_8 = '{$wr_8}',\n wr_9 = '{$wr_9}',\n wr_10 = '{$wr_10}' "; sql_query($sql); $comment_id = mysql_insert_id(); // 원글에 댓글수 증가 & 마지막 시간 반영 sql_query(" update {$write_table} set wr_comment = wr_comment + 1, wr_last = '" . G5_TIME_YMDHIS . "' where wr_id = '{$wr_id}' "); // 새글 INSERT sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$comment_id}', '{$wr_id}', '" . G5_TIME_YMDHIS . "', '{$member['mb_id']}' ) "); // 댓글 1 증가 sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment + 1 where bo_table = '{$bo_table}' "); // 포인트 부여 insert_point($member['mb_id'], $board['bo_comment_point'], "{$board['bo_subject']} {$wr_id}-{$comment_id} 댓글쓰기", $bo_table, $comment_id, '댓글'); // 메일발송 사용 if ($config['cf_email_use'] && $board['bo_use_email']) { // 관리자의 정보를 얻고 $super_admin = get_admin('super'); $group_admin = get_admin('group'); $board_admin = get_admin('board'); $wr_content = nl2br(get_text(stripslashes("원글\n{$wr['wr_subject']}\n\n\n댓글\n{$wr_content}"))); $warr = array('' => '입력', 'u' => '수정', 'r' => '답변', 'c' => '댓글 ', 'cu' => '댓글 수정'); $str = $warr[$w]; $subject = '[' . $config['cf_title'] . '] ' . $board['bo_subject'] . ' 게시판에 ' . $str . '글이 올라왔습니다.'; // 4.00.15 - 메일로 보내는 댓글의 바로가기 링크 수정 $link_url = G5_BBS_URL . "/board.php?bo_table=" . $bo_table . "&wr_id=" . $wr_id . "&" . $qstr . "#c_" . $comment_id; include_once G5_LIB_PATH . '/mailer.lib.php'; ob_start(); include_once './write_update_mail.php';
// 썸네일삭제 if (preg_match("/\\.({$config['cf_image_extension']})\$/i", $row2['bf_file'])) { delete_board_thumbnail($bo_table, $row2['bf_file']); } } // 에디터 썸네일 삭제 delete_editor_thumbnail($row['wr_content']); // 에디터 이미지 삭제 apms_editor_image($row['wr_content']); // 파일테이블 행 삭제 sql_query(" delete from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$row['wr_id']}' "); $count_write++; } else { // 코멘트 포인트 삭제 if (!delete_point($row['mb_id'], $bo_table, $row['wr_id'], '댓글')) { insert_point($row['mb_id'], $board['bo_comment_point'] * -1, "{$board['bo_subject']} {$write['wr_id']}-{$row['wr_id']} 댓글삭제"); } $count_comment++; } // 신고글 sql_query(" delete from {$g5['apms_shingo']} where bo_table = '{$bo_table}' and wr_id = '{$row['wr_id']}' ", false); } // 게시글 삭제 sql_query(" delete from {$write_table} where wr_parent = '{$write['wr_id']}' "); // 최근게시물 삭제 sql_query(" delete from {$g5['board_new_table']} where bo_table = '{$bo_table}' and wr_parent = '{$write['wr_id']}' "); // 스크랩 삭제 sql_query(" delete from {$g5['scrap_table']} where bo_table = '{$bo_table}' and wr_id = '{$write['wr_id']}' "); // 내글반응 삭제 sql_query(" delete from {$g5['apms_response']} where bo_table = '{$bo_table}' and wr_id = '{$write['wr_id']}' ", false); // 태그로그 삭제
} else { // 투표했던 ip들 중에서 찾아본다 $ips = explode(',', trim($po['po_ips'])); for ($i = 0; $i < count($ips); $i++) { if ($_SERVER['REMOTE_ADDR'] == trim($ips[$i])) { $search_ip = true; break; } } } $result_url = G5_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 {$g5['poll_table']} set po_cnt{$gb_poll} = po_cnt{$gb_poll} + 1, mb_ids = '{$mb_ids}' where po_id = '{$po_id}' "; } else { $sql = " update {$g5['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($g5['bbs_url'].'/poll_result.php?po_id='.$po_id.'&skin_dir='.$skin_dir); goto_url($result_url);
<?php $sub_menu = "200200"; include_once './_common.php'; auth_check($auth[$sub_menu], 'w'); check_token(); $mb_id = $_POST['mb_id']; $po_point = $_POST['po_point']; $po_content = $_POST['po_content']; $expire = preg_replace('/[^0-9]/', '', $_POST['po_expire_term']); $mb = get_member($mb_id); if (!$mb['mb_id']) { alert('존재하는 회원아이디가 아닙니다.', './point_list.php?' . $qstr); } if ($po_point < 0 && $po_point * -1 > $mb['mb_point']) { alert('포인트를 깎는 경우 현재 포인트보다 작으면 안됩니다.', './point_list.php?' . $qstr); } insert_point($mb_id, $po_point, $po_content, '@passive', $mb_id, $member['mb_id'] . '-' . uniqid(''), $expire); goto_url('./point_list.php?' . $qstr);
if (isset($url)) { $urlencode = urlencode($url); } else { // 2008.01.25 Cross Site Scripting 때문에 수정 //$urlencode = $_SERVER['REQUEST_URI']; $urlencode = urlencode($_SERVER['REQUEST_URI']); } //=================================== // 자동로그인 부분에서 첫로그인에 포인트 부여하던것을 로그인중일때로 변경하면서 코드도 대폭 수정하였습니다. if ($_SESSION['ss_mb_id']) { // 로그인중이라면 $member = get_member($_SESSION['ss_mb_id']); // 오늘 처음 로그인 이라면 if (substr($member['mb_today_login'], 0, 10) != $g4['time_ymd']) { // 첫 로그인 포인트 지급 insert_point($member['mb_id'], $config['cf_login_point'], "{$g4['time_ymd']} 첫로그인", "@login", $member['mb_id'], $g4['time_ymd']); // 오늘의 로그인이 될 수도 있으며 마지막 로그인일 수도 있음 // 해당 회원의 접근일시와 IP 를 저장 $sql = " update {$g4['member_table']} set mb_today_login = '******'time_ymdhis']}', mb_login_ip = '{$_SERVER['REMOTE_ADDR']}' where mb_id = '{$member['mb_id']}' "; sql_query($sql); } } else { // 자동로그인 --------------------------------------- // 회원아이디가 쿠키에 저장되어 있다면 (3.27) if ($tmp_mb_id = get_cookie('ck_mb_id')) { $tmp_mb_id = substr(preg_replace("/[^a-zA-Z0-9_]*/", "", $tmp_mb_id), 0, 20); // 최고관리자는 자동로그인 금지 if ($tmp_mb_id != $config['cf_admin']) { $sql = " select mb_password, mb_intercept_date, mb_leave_date, mb_email_certify\n from {$g4['member_table']} where mb_id = '{$tmp_mb_id}' "; $row = sql_fetch($sql); $key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $row['mb_password']);
function member_delete($mb_id) { global $config; global $g5; $sql = " select mb_name, mb_nick, mb_ip, mb_recommend, mb_memo, mb_level from {$g5['member_table']} where mb_id= '" . $mb_id . "' "; $mb = sql_fetch($sql); // 이미 삭제된 회원은 제외 if (preg_match('#^[0-9]{8}.*삭제함#', $mb['mb_memo'])) { return; } if ($mb['mb_recommend']) { $row = sql_fetch(" select count(*) as cnt from {$g5['member_table']} where mb_id = '" . addslashes($mb['mb_recommend']) . "' "); if ($row['cnt']) { insert_point($mb['mb_recommend'], $config['cf_recommend_point'] * -1, $mb_id . '님의 회원자료 삭제로 인한 추천인 포인트 반환', "@member", $mb['mb_recommend'], $mb_id . ' 추천인 삭제'); } } // 회원자료는 정보만 없앤 후 아이디는 보관하여 다른 사람이 사용하지 못하도록 함 : 061025 $sql = " update {$g5['member_table']} set mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '" . date('Ymd', G5_SERVER_TIME) . " 삭제함\n{$mb['mb_memo']}' where mb_id = '{$mb_id}' "; sql_query($sql); // 포인트 테이블에서 삭제 sql_query(" delete from {$g5['point_table']} where mb_id = '{$mb_id}' "); // 그룹접근가능 삭제 sql_query(" delete from {$g5['group_member_table']} where mb_id = '{$mb_id}' "); // 쪽지 삭제 sql_query(" delete from {$g5['memo_table']} where me_recv_mb_id = '{$mb_id}' or me_send_mb_id = '{$mb_id}' "); // 스크랩 삭제 sql_query(" delete from {$g5['scrap_table']} where mb_id = '{$mb_id}' "); // 관리권한 삭제 sql_query(" delete from {$g5['auth_table']} where mb_id = '{$mb_id}' "); // 그룹관리자인 경우 그룹관리자를 공백으로 sql_query(" update {$g5['group_table']} set gr_admin = '' where gr_admin = '{$mb_id}' "); // 게시판관리자인 경우 게시판관리자를 공백으로 sql_query(" update {$g5['board_table']} set bo_admin = '' where bo_admin = '{$mb_id}' "); // 아이콘 삭제 @unlink(G5_DATA_PATH . '/member/' . substr($mb_id, 0, 2) . '/' . $mb_id . '.gif'); }
public function point_comment() { global $g5, $member, $eyoom_board, $cmt_amt, $board, $wr_id, $comment_id, $wr; unset($point); // 첫댓글 포인트 if ($eyoom_board['bo_firstcmt_point'] > 0 && !$cmt_amt && $member['mb_id'] != $wr['mb_id']) { $point['firstcmt'] = $eyoom_board['bo_firstcmt_point_type'] == 1 ? $this->random_num($eyoom_board['bo_firstcmt_point'] - 1) + 1 : $eyoom_board['bo_firstcmt_point']; if ($eyoom_board['bo_cmtpoint_target'] == '1') { insert_point($member['mb_id'], $point['firstcmt'], $board['bo_subject'] . ' wr_id=' . $wr_id . ' 게시물 첫 댓글 포인트', '@firstcmt', $member['mb_id'], $board['bo_subject'] . '|' . $wr_id . '|' . $comment_id); } else { if ($eyoom_board['bo_cmtpoint_target'] == '2') { $this->level_point($point['firstcmt']); } } } // 지뢰폭탄 포인트 - 게시판 여유필드 wr_2를 사용 if ($eyoom_board['bo_bomb_point'] > 0 && $eyoom_board['bo_bomb_point_limit'] > 0 && $eyoom_board['bo_bomb_point_cnt'] > 0 && $wr['wr_2']) { $bomb = @unserialize($wr['wr_2']); if (is_array($bomb)) { foreach ($bomb as $key => $val) { if ($val == $cmt_amt) { $point['bomb'][$key] = $eyoom_board['bo_bomb_point_type'] == 1 ? $this->random_num($eyoom_board['bo_bomb_point'] - 1) + 1 : $eyoom_board['bo_bomb_point']; if ($eyoom_board['bo_cmtpoint_target'] == '1') { insert_point($member['mb_id'], $point['bomb'][$key], $board['bo_subject'] . ' wr_id=' . $wr_id . ' 게시물 지뢰폭탄 포인트', '@bomb', $member['mb_id'], $board['bo_subject'] . '|' . $wr_id . '|' . $comment_id . '|' . $key); } else { if ($eyoom_board['bo_cmtpoint_target'] == '2') { $this->level_point($point['bomb'][$key]); } } } } } } // 럭키 포인트 if ($eyoom_board['bo_lucky_point'] > 0 && $eyoom_board['bo_lucky_point_ratio'] > 0) { $max = ceil(100 / $eyoom_board['bo_lucky_point_ratio']); $random = $this->random_num($max - 1); if ($random % $max == 0) { $point['lucky'] = $eyoom_board['bo_lucky_point_type'] == 1 ? $this->random_num($eyoom_board['bo_lucky_point'] - 1) + 1 : $eyoom_board['bo_lucky_point']; if ($eyoom_board['bo_cmtpoint_target'] == '1') { insert_point($member['mb_id'], $point['lucky'], $board['bo_subject'] . ' wr_id=' . $wr_id . ' 게시물 행운의 포인트', '@lucky', $member['mb_id'], $board['bo_subject'] . '|' . $wr_id . '|' . $comment_id); } else { if ($eyoom_board['bo_cmtpoint_target'] == '2') { $this->level_point($point['lucky']); } } } } if (is_array($point)) { return $point; } }
$sql_certify .= " , mb_sex = '' "; } } //=============================================================== if ($w == '') { $sql = " insert into {$g5['member_table']}\n set mb_id = '{$mb_id}',\n mb_password = '******',\n mb_name = '{$mb_name}',\n mb_nick = '{$mb_nick}',\n mb_nick_date = '" . G5_TIME_YMD . "',\n mb_email = '{$mb_email}',\n mb_homepage = '{$mb_homepage}',\n mb_tel = '{$mb_tel}',\n mb_zip1 = '{$mb_zip1}',\n mb_zip2 = '{$mb_zip2}',\n mb_addr1 = '{$mb_addr1}',\n mb_addr2 = '{$mb_addr2}',\n mb_addr3 = '{$mb_addr3}',\n mb_addr_jibeon = '{$mb_addr_jibeon}',\n mb_signature = '{$mb_signature}',\n mb_profile = '{$mb_profile}',\n mb_today_login = '******',\n mb_datetime = '" . G5_TIME_YMDHIS . "',\n mb_ip = '{$_SERVER['REMOTE_ADDR']}',\n mb_level = '{$config['cf_register_level']}',\n mb_recommend = '{$mb_recommend}',\n mb_login_ip = '{$_SERVER['REMOTE_ADDR']}',\n mb_mailling = '{$mb_mailling}',\n mb_sms = '{$mb_sms}',\n mb_open = '{$mb_open}',\n mb_open_date = '" . G5_TIME_YMD . "',\n mb_1 = '{$mb_1}',\n mb_2 = '{$mb_2}',\n mb_3 = '{$mb_3}',\n mb_4 = '{$mb_4}',\n mb_5 = '{$mb_5}',\n mb_6 = '{$mb_6}',\n mb_7 = '{$mb_7}',\n mb_8 = '{$mb_8}',\n mb_9 = '{$mb_9}',\n mb_10 = '{$mb_10}'\n {$sql_certify} "; // 이메일 인증을 사용하지 않는다면 이메일 인증시간을 바로 넣는다 if (!$config['cf_use_email_certify']) { $sql .= " , mb_email_certify = '" . G5_TIME_YMDHIS . "' "; } sql_query($sql); // 회원가입 포인트 부여 insert_point($mb_id, $config['cf_register_point'], '회원가입 축하', '@member', $mb_id, '회원가입'); // 추천인에게 포인트 부여 if ($config['cf_use_recommend'] && $mb_recommend) { insert_point($mb_recommend, $config['cf_recommend_point'], $mb_id . '의 추천인', '@member', $mb_recommend, $mb_id . ' 추천'); } // 회원님께 메일 발송 if ($config['cf_email_mb_member']) { $subject = '[' . $config['cf_title'] . '] 회원가입을 축하드립니다.'; $mb_md5 = md5($mb_id . $mb_email . G5_TIME_YMDHIS); $certify_href = G5_BBS_URL . '/email_certify.php?mb_id=' . $mb_id . '&mb_md5=' . $mb_md5; ob_start(); include_once './register_form_update_mail1.php'; $content = ob_get_contents(); ob_end_clean(); mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content, 1); // 메일인증을 사용하는 경우 가입메일에 인증 url이 있으므로 인증메일을 다시 발송되지 않도록 함 if ($config['cf_use_email_certify']) { $old_email = $mb_email; }
break; default: include G5_SHOP_PATH . '/kcp/pp_ax_hub_cancel.php'; break; } } // 관리자에게 오류 알림 메일발송 $error = 'status'; include G5_SHOP_PATH . '/ordererrormail.php'; // 주문삭제 sql_query(" delete from {$g5['g5_shop_order_table']} where od_id = '{$od_id}' "); die('<p>고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.</p><p>' . strtoupper($od_pg) . '를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); } // 회원이면서 포인트를 사용했다면 테이블에 사용을 추가 if ($is_member && $od_receipt_point) { insert_point($member['mb_id'], -1 * $od_receipt_point, "주문번호 {$od_id} 결제"); } $od_memo = nl2br(htmlspecialchars2(stripslashes($od_memo))) . " "; // 쿠폰사용내역기록 if ($is_member) { $it_cp_cnt = count($_POST['cp_id']); for ($i = 0; $i < $it_cp_cnt; $i++) { $cid = $_POST['cp_id'][$i]; $cp_it_id = $_POST['it_id'][$i]; $cp_prc = (int) $arr_it_cp_prc[$cp_it_id]; if (trim($cid)) { $sql = " insert into {$g5['g5_shop_coupon_log_table']}\n set cp_id = '{$cid}',\n mb_id = '{$member['mb_id']}',\n od_id = '{$od_id}',\n cp_price = '{$cp_prc}',\n cl_datetime = '" . G5_TIME_YMDHIS . "' "; sql_query($sql); } // 쿠폰사용금액 cart에 기록 $cp_prc = (int) $arr_it_cp_prc[$cp_it_id];
$search_ip = true; break; } } // 투표했던 회원아이디들 중에서 찾아본다 $search_mb_id = false; if ($is_member) { $ids = explode("\n", 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] . "\n"; $mb_ids = $po[mb_ids]; if ($member[mb_id]) { $mb_ids .= $member[mb_id] . "\n"; } 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); // 투표 쿠키 보름간 저장 goto_url("./poll_result.php?po_id={$po_id}&skin_dir={$skin_dir}");
exit; } if ($share == 'on') { unset($ratio); $ratio = $eyoom_board['download_fee_ratio'] ? $eyoom_board['download_fee_ratio'] : 0; // 다운로드 포인트 이력이 있는지 체크 $chk = "\n\t\t\tselect \n\t\t\t\tcount(*) as cnt \n\t\t\tfrom \n\t\t\t\t{$g5['point_table']} \n\t\t\twhere \n\t\t\t\tmb_id='{$member['mb_id']}' and \n\t\t\t\tpo_rel_table='{$bo_table}' and \n\t\t\t\tpo_rel_id='{$wr_id}' and \n\t\t\t\tpo_rel_action = '{$no}다운로드' \n\t\t"; $count = sql_fetch($chk); $tmp_board_table = $g5['write_prefix'] . $board['bo_table']; // 다운로드 포인트 이력이 없다면 if (!$count['cnt']) { // 해당 게시물의 파일정보 가져오기 $sql = "\n\t\t\t\tselect \n\t\t\t\t\ta.*, b.mb_id \n\t\t\t\tfrom \n\t\t\t\t\t{$g5['board_file_table']} as a \n\t\t\t\tleft join \n\t\t\t\t\t{$tmp_board_table} as b \n\t\t\t\ton \n\t\t\t\t\ta.wr_id=b.wr_id \n\t\t\t\twhere\n\t\t\t\t\ta.bo_table='{$bo_table}' and \n\t\t\t\t\ta.wr_id='{$wr_id}' and \n\t\t\t\t\ta.bf_no='{$no}' \n\t\t\t"; $finfo = sql_fetch($sql); if ($write['mb_id'] && $write['mb_id'] == $member['mb_id'] || $is_admin) { // 관리자나 자신의 게시물일 경우 예외처리 } else { if ($board['bo_download_level'] >= 1) { if ($member['mb_point'] - $finfo['bf_content'] < 0) { // 다운로드를 위한 회원 포인트 부족 alert('보유하신 포인트(' . number_format($member['mb_point']) . ')가 없거나 모자라서 다운로드(' . number_format($finfo['bf_content']) . ')가 불가합니다.\\n\\n포인트를 적립하신 후 다시 다운로드 해 주십시오.'); } else { // 다운로드 포인트 차감 insert_point($member['mb_id'], $finfo['bf_content'] * -1, "{$board['bo_subject']} {$wr_id} 파일 다운로드", $bo_table, $wr_id, "{$no}다운로드"); // 게시물 등록한 회원에게 수수료를 뺀 차액 포인트 적립 insert_point($finfo['mb_id'], ceil($finfo['bf_content'] * (1 - $ratio / 100)), "{$board['bo_subject']} {$wr_id} 파일 다운로드 후원", $bo_table, $wr_id, "{$member['mb_id']}님-{$no}다운로드"); } } } } }
function save_order_point($ct_status = "완료") { global $g5, $default; $beforedays = date("Y-m-d H:i:s", time() - 86400 * (int) $default['de_point_days']); // 86400초는 하루 $sql = " select * from {$g5['g5_shop_cart_table']} where ct_status = '{$ct_status}' and ct_point_use = '0' and ct_time <= '{$beforedays}' "; $result = sql_query($sql); for ($i = 0; $row = sql_fetch_array($result); $i++) { // 회원 ID 를 얻는다. $od_row = sql_fetch("select od_id, mb_id from {$g5['g5_shop_order_table']} where od_id = '{$row['od_id']}' "); if ($od_row['mb_id'] && $row['ct_point'] > 0) { // 회원이면서 포인트가 0보다 크다면 $po_point = $row['ct_point'] * $row['ct_qty']; $po_content = "주문번호 {$od_row['od_id']} ({$row['ct_id']}) 배송완료"; insert_point($od_row['mb_id'], $po_point, $po_content, "@delivery", $od_row['mb_id'], "{$od_row['od_id']},{$row['ct_id']}"); } sql_query("update {$g5['g5_shop_cart_table']} set ct_point_use = '1' where ct_id = '{$row['ct_id']}' "); } }
$_POST['tno'] = $od['od_tno']; $_POST['req_tx'] = 'mod'; $_POST['mod_type'] = 'STSC'; if ($od['od_escrow']) { $_POST['req_tx'] = 'mod_escrow'; $_POST['mod_type'] = 'STE2'; if ($od['od_settle_case'] == '가상계좌') { $_POST['mod_type'] = 'STE5'; } } $_POST['mod_desc'] = iconv("utf-8", "euc-kr", '주문자 본인 취소-' . $cancel_memo); $_POST['site_cd'] = $default['de_kcp_mid']; // 취소내역 한글깨짐방지 setlocale(LC_CTYPE, 'ko_KR.euc-kr'); include G5_SHOP_PATH . '/kcp/pp_ax_hub.php'; // locale 설정 초기화 setlocale(LC_CTYPE, ''); } } // 장바구니 자료 취소 sql_query(" update {$g5['g5_shop_cart_table']} set ct_status = '취소' where od_id = '{$od_id}' "); // 주문 취소 $cancel_memo = addslashes(strip_tags($cancel_memo)); $cancel_price = $od['od_cart_price']; $sql = " update {$g5['g5_shop_order_table']}\n set od_send_cost = '0',\n od_send_cost2 = '0',\n od_receipt_price = '0',\n od_receipt_point = '0',\n od_misu = '0',\n od_cancel_price = '{$cancel_price}',\n od_cart_coupon = '0',\n od_coupon = '0',\n od_send_coupon = '0',\n od_status = '취소',\n od_shop_memo = concat(od_shop_memo,\"\\n주문자 본인 직접 취소 - " . G5_TIME_YMDHIS . " (취소이유 : {$cancel_memo})\")\n where od_id = '{$od_id}' "; sql_query($sql); // 주문취소 회원의 포인트를 되돌려 줌 if ($od['od_receipt_point'] > 0) { insert_point($member['mb_id'], $od['od_receipt_point'], "주문번호 {$od_id} 본인 취소"); } goto_url(G5_SHOP_URL . "/orderinquiryview.php?od_id={$od_id}&uid={$uid}");
if (!$is_admin) { if (count($member_list['id'])) { $point = (int) $config['cf_memo_send_point'] * count($member_list['id']); if ($point) { if ($member['mb_point'] - $point < 0) { alert('보유하신 포인트(' . number_format($member['mb_point']) . '점)가 모자라서 쪽지를 보낼 수 없습니다.'); } } } } for ($i = 0; $i < count($member_list['id']); $i++) { $tmp_row = sql_fetch(" select max(me_id) as max_me_id from {$g5['memo_table']} "); $me_id = $tmp_row['max_me_id'] + 1; $recv_mb_id = $member_list['id'][$i]; $recv_mb_nick = get_text($member_list['name'][$i]); // 쪽지 INSERT $sql = " insert into {$g5['memo_table']} ( me_id, me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo ) values ( '{$me_id}', '{$recv_mb_id}', '{$member['mb_id']}', '" . G5_TIME_YMDHIS . "', '{$_POST['me_memo']}' ) "; sql_query($sql); // 실시간 쪽지 알림 기능 $sql = " update {$g5['member_table']} set mb_memo_call = '{$member['mb_id']}' where mb_id = '{$recv_mb_id}' "; sql_query($sql); if (!$is_admin) { insert_point($member['mb_id'], (int) $config['cf_memo_send_point'] * -1, $recv_mb_nick . '(' . $recv_mb_id . ')님께 쪽지 발송', '@memo', $recv_mb_id, $me_id); } } if ($member_list) { $str_nick_list = implode(',', $member_list['nick']); alert($str_nick_list . " 님께 쪽지를 전달하였습니다.", G5_HTTP_BBS_URL . "/memo.php?kind=send", false); } else { alert("회원아이디 오류 같습니다.", G5_HTTP_BBS_URL . "/memo_form.php", false); }
} } // 관리자에게 오류 알림 메일발송 $error = 'status'; include G5_SHOP_PATH.'/ordererrormail.php'; // 주문삭제 sql_query(" delete from {$g5['g5_shop_order_table']} where od_id = '$od_id' "); die('<p>고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.</p><p>'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); } // 회원이면서 포인트를 사용했다면 포인트 테이블에 사용을 추가 if ($is_member && $od_receipt_point) insert_point($member['mb_id'], (-1) * $od_receipt_point, "주문번호 $od_id 결제"); $od_memo = nl2br(htmlspecialchars2(stripslashes($od_memo))) . " "; // 쿠폰사용내역기록 if($is_member) { $it_cp_cnt = count($_POST['cp_id']); for($i=0; $i<$it_cp_cnt; $i++) { $cid = $_POST['cp_id'][$i]; $cp_it_id = $_POST['it_id'][$i]; $cp_prc = (int)$arr_it_cp_prc[$cp_it_id]; if(trim($cid)) { $sql = " insert into {$g5['g5_shop_coupon_log_table']} set cp_id = '$cid', mb_id = '{$member['mb_id']}',
<?php $sub_menu = "200200"; include_once "./_common.php"; auth_check($auth[$sub_menu], "w"); check_token(); $mb_id = $_POST['mb_id']; $po_point = $_POST['po_point']; $po_content = $_POST['po_content']; $mb = get_member($mb_id); if (!$mb['mb_id']) { alert("존재하는 회원아이디가 아닙니다.", "./point_list.php?{$qstr}"); } if ($po_point < 0 && $po_point * -1 > $mb['mb_point']) { alert("포인트를 깎는 경우 현재 포인트보다 작으면 안됩니다.", "./point_list.php?{$qstr}"); } insert_point($mb_id, $po_point, $po_content, '@passive', $mb_id, $member['mb_id'] . "-" . uniqid("")); goto_url("./point_list.php?{$qstr}");
// "99:인증실패" $mh_log = "인증 받지 못하였습니다. 계정을 다시 확인해 주세요."; break; default: // "미 확인 오류" $mh_log = "알 수 없는 오류로 전송이 실패하었습니다."; break; } } else { $is_success = true; $mh_log = "문자전송:" . get_hp($hp, 1); } $hp = get_hp($hp, 1); $log = array_shift($SMS->Log); sql_query("insert into {$g5['sms5_member_history_table']} set mb_id='{$member['mb_id']}', mh_reply='{$mh_reply}', mh_hp='{$hp}', mh_datetime='" . G5_TIME_YMDHIS . "', mh_booking='{$mh_booking}', mh_log='{$mh_log}', mh_ip='" . $_SERVER['REMOTE_ADDR'] . "'"); if ($is_admin == 'super') { $sms5['cf_point'] = 0; } if ($is_success) { insert_point($member['mb_id'], -1 * $sms5['cf_point'], "{$mh_log}"); } } $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. } else { alert("에러: SMS 서버와 통신이 불안정합니다."); } } else { alert("에러: SMS 데이터 입력도중 에러가 발생하였습니다."); } alert_close("{$total} 건의 문자메세지 전송을 완료하였습니다.");
} } } else { //-------------------------------------------------------------------- // 코멘트 삭제시 답변 코멘트 까지 삭제되지는 않음 //-------------------------------------------------------------------- //print_r2($write); $comment_id = $wr_id; $len = strlen($write['wr_comment_reply']); if ($len < 0) { $len = 0; } $comment_reply = substr($write['wr_comment_reply'], 0, $len); // 코멘트 삭제 if (!delete_point($write['mb_id'], $bo_table, $comment_id, '코멘트')) { insert_point($write['mb_id'], $board['bo_comment_point'] * -1, "{$board['bo_subject']} {$write[wr_parent]}-{$comment_id} 코멘트삭제"); } // 코멘트 삭제 sql_query(" delete from {$write_table} where wr_id = '{$comment_id}' "); // 코멘트가 삭제되므로 해당 게시물에 대한 최근 시간을 다시 얻는다. $sql = " select max(wr_datetime) as wr_last from {$write_table} where wr_parent = '{$write['wr_parent']}' "; $row = sql_fetch($sql); // 원글의 코멘트 숫자를 감소 sql_query(" update {$write_table} set wr_comment = wr_comment - 1, wr_last = '{$row['wr_last']}' where wr_id = '{$write['wr_parent']}' "); // 코멘트 숫자 감소 sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment - 1 where bo_table = '{$bo_table}' "); // 새글 삭제 sql_query(" delete from {$g5['board_new_table']} where bo_table = '{$bo_table}' and wr_id = '{$comment_id}' "); } } $save_bo_table = array_unique($save_bo_table);
function apms_lucky($it_id, $bo_table, $wr_id) { global $g5, $member, $is_member, $board; $point = 0; if ($is_member && APMS_LUCKY_POINT > 0 && APMS_LUCKY_DICE > 0) { $dice1 = rand(1, APMS_LUCKY_DICE); $dice2 = rand(1, APMS_LUCKY_DICE); if ($dice1 == $dice2) { $point = rand(1, APMS_LUCKY_POINT); //포인트 등록 if ($it_id) { //상품댓글 $tmp_point = insert_point($member['mb_id'], (int) $point, "아이템({$it_id}) 럭키" . AS_MP . "!", $it_id, '1', '@lucky'); } else { $tmp_point = insert_point($member['mb_id'], (int) $point, "{$board['bo_subject']} {$wr_id} 럭키" . AS_MP . "!", $bo_table, $wr_id, '@lucky'); } $point = $tmp_point > 0 ? $point : 0; // 럭키포인트는 글/아이템당 1번만 등록 } } return $point; }
set_session($ss_name, TRUE); } } // 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음 $ss_name = "ss_view_{$bo_table}_{$wr_id}"; if (!get_session($ss_name)) { sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' "); // 자신의 글이면 통과 if ($write[mb_id] && $write[mb_id] == $member[mb_id]) { } else { // 회원이상 글읽기가 가능하다면 if ($board[bo_read_level] > 1) { if ($member[mb_point] + $board[bo_read_point] < 0) { alert_close("보유하신 포인트(" . number_format($member[mb_point]) . ")가 없거나 모자라서 글읽기(" . number_format($board[bo_read_point]) . ")가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오."); } insert_point($member[mb_id], $board[bo_read_point], "{$board['bo_subject']} {$wr_id} 글읽기", $bo_table, $wr_id, '읽기'); } } set_session($ss_name, TRUE); } $g4[title] = "{$group['gr_subject']} > {$board['bo_subject']} > " . strip_tags(conv_subject($write[wr_subject], 255)); } include_once "{$g4['path']}/head.sub.php"; $width = $board[bo_table_width]; if ($width <= 100) { $width .= '%'; } // IP보이기 사용 여부 $ip = ""; $is_ip_view = $board[bo_use_ip_view]; if ($is_admin) {
mb_is_partner3 = '$_POST[mb_is_partner3]', mb_partner3 = '$_POST[mb_partner3]', mb_is_partner4 = '$_POST[mb_is_partner4]', mb_partner4 = '$_POST[mb_partner4]', */ $sql_common = " mb_name = '{$_POST['mb_name']}',\n mb_nick = '{$_POST['mb_nick']}',\n mb_email = '{$_POST['mb_email']}',\n mb_homepage = '{$_POST['mb_homepage']}',\n mb_tel = '{$_POST['mb_tel']}',\n mb_hp = '{$_POST['mb_hp']}',\n mb_zip1 = '{$_POST['mb_zip1']}',\n mb_zip2 = '{$_POST['mb_zip2']}',\n mb_addr1 = '{$_POST['mb_addr1']}',\n mb_addr2 = '{$_POST['mb_addr2']}',\n mb_birth = '{$_POST['mb_birth']}',\n\t\t\t\tmb_birth2 = '{$_POST['mb_birth2']}',\n mb_sex = '{$_POST['mb_sex']}',\n mb_signature = '{$_POST['mb_signature']}',\n mb_leave_date = '{$_POST['mb_leave_date']}',\n mb_intercept_date='{$_POST['mb_intercept_date']}',\n mb_memo = '{$_POST['mb_memo']}',\n mb_mailling = '{$_POST['mb_mailling']}',\n mb_sms = '{$_POST['mb_sms']}',\n mb_open = '{$_POST['mb_open']}',\n mb_profile = '{$_POST['mb_profile']}',\n mb_level = '{$_POST['mb_level']}',\n mb_1 = '{$_POST['mb_1']}',\n mb_2 = '{$_POST['mb_2']}',\n mb_3 = '{$_POST['mb_3']}',\n mb_4 = '{$_POST['mb_4']}',\n mb_5 = '{$_POST['mb_5']}',\n mb_6 = '{$_POST['mb_6']}',\n mb_7 = '{$_POST['mb_7']}',\n mb_8 = '{$_POST['mb_8']}',\n mb_9 = '{$_POST['mb_9']}',\n mb_10 = '{$_POST['mb_10']}', \n mb_reg = '{$_POST['mb_reg']}',\n\t\t\t\tmb_ctotal\t\t= '{$_POST['mb_ctotal']}',\n\t\t\t\tmb_cused\t\t= '{$_POST['mb_cused']}',\n\t\t\t\tmb_0504\t\t\t= '{$_POST['mb_0504']}',\n\t\t\t\tmb_is_ad\t\t= '{$_POST['mb_is_ad']}',\n\t\t\t\tmb_cate\t\t\t= '{$_POST['mb_cate']}',\n\t\t\t\tmb_area\t\t\t= '{$_POST['mb_area']}',\n\t\t\t\tmb_project\t\t= '{$_POST['mb_project']}',\n\t\t\t\tmb_tp_recom\t\t= '{$_POST['mb_tp_recom']}',\n\t\t\t\tmb_tp_parent\t= '{$_POST['mb_tp_parent']}',\n\t\t\t\tmb_tp_floor\t\t= '{$_POST['mb_tp_floor']}',\n\t\t\t\tmb_recom\t\t= '{$_POST['mb_recom']}',\n\t\t\t\tmb_parent\t\t= '{$_POST['mb_parent']}',\n\t\t\t\tmb_floor\t\t= '{$_POST['mb_floor']}',\n\t\t\t\tmb_biz_recom\t= '{$_POST['mb_biz_recom']}',\n\t\t\t\tmb_biz_parent\t= '{$_POST['mb_biz_parent']}',\n\t\t\t\tmb_biz_floor\t= '{$_POST['mb_biz_floor']}',\n\t\t\t\tmb_geo\t\t\t= '{$mb_geo}'"; if ($w == "") { $mb = get_member($mb_id); if ($mb[mb_id]) { alert("이미 존재하는 회원입니다.\\n\\nID : {$mb['mb_id']}\\n\\n이름 : {$mb['mb_name']}\\n\\n별명 : {$mb['mb_nick']}\\n\\n메일 : {$mb['mb_email']}"); } sql_query(" insert into {$g4['member_table']} set mb_id = '{$mb_id}', mb_password = '******', mb_datetime = '{$g4['time_ymdhis']}', mb_ip = '{$_SERVER['REMOTE_ADDR']}', mb_email_certify = '{$g4['time_ymdhis']}', {$sql_common} "); if ("가상포인트계정" == $mb[mb_nick] && 3 == $mb_level) { insert_point($mb_id, "1650000", "가상포인트계정 세팅", '@passive', $mb_id, $member[mb_id] . "-" . uniqid("")); } insert_point($mb_id, '1000', '적립포인트(기본포인트적립)', '@passive', $mb_id, "moa-" . uniqid("")); // if($_POST[is_sms]){ // $sms = new SMS("http://webservice.tongkni.co.kr/sms.3/ServiceSMS.asmx?WSDL"); //SMS 객체 생성 // $result=$sms->SendSMS("moamoa1234","yein6510",$str_service_sms,$_POST[mb_hp],$_POST[is_sms]);// 5개의 인자로 함수를 호출합니다. // } //카드추가 부분 $sql_card = " select * from g4_card where mb_id1='' and mb_id2='' and mb_id3='' order by cd_id asc"; $row_card = sql_fetch($sql_card); if ($_POST[mb_level] == 3 && $_POST[mb_nick] == "사업자회원") { $mb_id1 = $mb_id; $sql_mc = "select * from g4_merchants where mc_subject = '" . mysql_real_escape_string('MP' . $_POST['mb_8'] . '지점') . "' "; $row_mc = sql_fetch($sql_mc); $mb_id2 = $row_mc['mc_id']; if (!$row_mc && $_POST['mb_8']) { $sql = "insert into g4_merchants set mc_datetime='{$g4['time_ymdhis']}',mb_id='moa',mc_subject='" . mysql_real_escape_string('MP' . $_POST['mb_8'] . '지점') . "',mb_id1='moa' "; sql_query($sql);
include_once "./admin.head.php"; echo "<span id='ct'></span>"; include_once "./admin.tail.php"; flush(); echo "<script>document.getElementById('ct').innerHTML += '<p>포인트 정리중...';</script>\n"; flush(); $max_count = 50; // 테이블 락을 걸고 $sql = " LOCK TABLES {$g4['member_table']} WRITE, {$g4['point_table']} WRITE "; sql_query($sql); $sql = " select mb_id, count(po_point) as cnt\n from {$g4['point_table']}\n group by mb_id\n having cnt > {$max_count}+1\n order by cnt "; $result = sql_query($sql); for ($i = 0; $row = sql_fetch_array($result); $i++) { $count = 0; $total = 0; $sql2 = " select po_id, po_point\n from {$g4['point_table']}\n where mb_id = '{$row['mb_id']}'\n order by po_id desc\n limit {$max_count}, {$row['cnt']} "; $result2 = sql_query($sql2); for ($k = 0; $row2 = sql_fetch_array($result2); $k++) { $count++; $total += $row2[po_point]; sql_query(" delete from {$g4['point_table']} where po_id = '{$row2['po_id']}' "); } insert_point($row[mb_id], $total, "포인트 {$count}건 정리", "@clear", $row[mb_id], $g4[time_ymd] . "-" . uniqid("")); $str = $row[mb_id] . "님 포인트 내역 " . number_format($count) . "건 " . number_format($total) . "점 정리<br>"; echo "<script>document.getElementById('ct').innerHTML += '{$str}';</script>\n"; flush(); } // 테이블 락을 풀고 $sql = " UNLOCK TABLES "; sql_query($sql); echo "<script>document.getElementById('ct').innerHTML += '<p>총 " . $i . "건의 회원포인트 내역이 정리 되었습니다.';</script>\n";
} $sql = " select count(*) as cnt from {$mw['jump_log_table']} "; $sql .= " where mb_id = '{$member['mb_id']}' "; $sql .= " and jp_datetime > '{$old}' "; $row = sql_fetch($sql); $count = $row['cnt']; $count++; if ($mw_basic['cf_jump_count'] and $count > $mw_basic['cf_jump_count'] and !$is_admin) { die("횟수를 초과했습니다. ({$mw_basic['cf_jump_days']}일에 {$mw_basic['cf_jump_count']}번)"); } } if ($mw_basic['cf_jump_point']) { if ($mw_basic['cf_jump_point'] > $member['mb_point']) { die("포인트가 부족합니다."); } insert_point($member['mb_id'], -1 * $mw_basic['cf_jump_point'], "새글 점프", $bo_table, $wr_id, $g4['time_ymd'] . '-' . $count); } $wr_num = get_next_num($write_table); $sql = " update {$write_table} "; $sql .= " set wr_num = '{$wr_num}' "; $sql .= " , wr_datetime = '{$g4['time_ymdhis']}' "; $sql .= " where wr_id = '{$write['wr_id']}' "; $qry = sql_query($sql); if ($qry) { $sql = " insert into {$mw['jump_log_table']} set "; $sql .= " bo_table = '{$bo_table}' "; $sql .= " , wr_id = '{$wr_id}' "; $sql .= " , mb_id = '{$member['mb_id']}' "; $sql .= " , jp_datetime = '{$g4['time_ymdhis']}' "; sql_query($sql); $sql = " update {$g4['board_new_table']} set bn_datetime = '{$g4['time_ymdhis']}' ";