코드 정리좀 해 주십시오.
본문
어찌 어찌 어찌해서 포인트 선물하면 메일/실시간 쪽지?(접속하면 쪽지 있으면 알림메시지) 가 되는 것 같습니다.
point_gift_update.php // 포인트 선물입니다.
https://sir.kr/g5_plugin/5752 // 포인트 선물 사용주소
그냥 memo_form_update.php 파일내용 복사해서 몇가지 수정한 것 뿐입니다.
근데 구글은 잘 들어갑니다만 네이버메일이 되다 안되다 하는 것 같습니다.
고수님 시간되시면 정리좀 부탁해도 될런지요. 초보가 어찌 어찌하다가 되니 사용하기가 영 불안합니다.
아마 필요없는 코드 많이 있을거고 실시간 쪽지는 쪽지하고 포인트하고 구별이 안되네요.
쪽지면 실시간쪽지 알림창에 쪽지왔어요! 포인트 왔어요! 구별이 있었으면하는데 안해도 뭐
<?php
include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
include_once(G5_PATH.'/lib/mailer.lib.php'); // 이메일 라이브러리 추가
$recv_list = explode(',', trim($_POST['me_recv_mb_id']));
$str_nick_list = '';
$msg = '';
$error_list = array();
$member_list = array();
for ($i=0; $i<count($recv_list); $i++) {
$row = sql_fetch(" select mb_id, mb_nick, mb_point, mb_email, mb_open, mb_leave_date, mb_intercept_date from {$g5['member_table']} where mb_id = '{$recv_list[$i]}' ");
if ($row) {
if ($is_admin || ($row['mb_open'] && (!$row['mb_leave_date'] || !$row['mb_intercept_date']))) {
$member_list['id'][] = $row['mb_id'];
$member_list['nick'][] = $row['mb_nick'];
$member_list['email'][] = $row['mb_email'];
} else {
$error_list[] = $recv_list[$i];
}
}
}
$error_msg = implode(",", $error_list);
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['nick'][$i]);
$recv_mb_point = get_text($member_list['point'][$i]);
$recv_mb_email = get_text($member_list['email'][$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['point']}' ) ";
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.')님께 쪽지 발송', '@passive', $recv_mb_id, $me_id);
}
$send_subject = "포인트가 도착했습니다."; // 메일 제목은 알아서 수정하세요~
$send_memo = $_POST['point']; // ; 추가
//$send_memo = get_text($_POST['me_memo']); // 필요할 듯하면..
if ($recv_mb_email && $member['mb_email']) {
mailer($member['mb_name'], $member['mb_email'], $recv_mb_email, $send_subject, $send_memo, 1);
}
}
if ($is_guest)
alert('회원만 이용하실 수 있습니다.');
$mb = get_member($me_recv_mb_id);
if (!$mb['mb_id'])
alert('존재하지 않는 회원입니다.');
if ($mb['mb_id'] == $member['mb_id'])
alert('자신한테는 선물할 수 없습니다.');
$max_point = 10000;
if ($point > $max_point)
alert('최대 선물 포인트는 '.number_format($max_point).'P 입니다.');
if ($member['mb_point'] < $point)
alert('포인트가 부족합니다.');
insert_point($member['mb_id'], "-".$point, $mb['mb_nick']."님에게 ".number_format($point)."P를 선물.", '@passive', $member['mb_id'], $member['mb_id'].'-'.uniqid(''));
insert_point($mb['mb_id'], "+".$point, $member['mb_nick']."님의 포인트 ".number_format($point)."도착!", '@passive', $mb['mb_id'], $member['mb_id'].'-'.uniqid(''));
alert_close('포인트를 정상적으로 선물했습니다.');
?>
실시간 쪽지
<?php
//로그인시 쪽지 왔는지 알려주는
if ($is_member) {
//쪽지 테이블에서 마지막 쪽지를 읽어온다.
$sql = "select * from {$g5['memo_table']} where me_recv_mb_id = '{$member['mb_id']}' and me_read_datetime = '0000-00-00 00:00:00' order by me_id desc limit 0,1 ";
$result = sql_fetch($sql);
$get_nick = get_member($result['me_send_mb_id'], $fields='mb_nick');
if ($result) {
//새창을 띄워준다.
$msg = "{$get_nick['mb_nick']} 님으로부터 포인트/쪽지가 도착했습니다.";
$url = G5_BBS_URL."/memo.php";
?>
<script>
alert("<?php echo $msg?>");
window.open("<?php echo $url?>", "win_memo","width=620, height=620");
</script>
<?php
}
}
?>
너무 깁니다.
코드 정리해서 플러그인 쪽?에 올리시면 어떨지요.
"포인트 선물받는 사람에게 메일발송"
그럼 수고하십시오.