코드 정리좀 해 주십시오.

코드 정리좀 해 주십시오.

QA

코드 정리좀 해 주십시오.

본문

어찌 어찌 어찌해서 포인트 선물하면 메일/실시간 쪽지?(접속하면 쪽지 있으면 알림메시지) 가 되는 것 같습니다.

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
        }    
    }
    ?>

 

너무 깁니다. 

코드 정리해서 플러그인 쪽?에 올리시면 어떨지요.

"포인트 선물받는 사람에게 메일발송"

그럼 수고하십시오.

 

이 질문에 댓글 쓰기 :

답변 1

충분히 잘 정리된 코드입니다

헉 그..그...그럴리가요.
그럼 쪽지와 포인트 구분은 안될까요.
쪽지쓰면 쪽지발송, 포인트 선물이면 포인트선물
안되면 쪽지/포인트 선물 이렇게 해도 됩니다. 수고하세요

답변을 작성하시기 전에 로그인 해주세요.
전체 6
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT