Пример #1
0
function apms_response($use, $flag, $it_id, $bo_table, $wr_id, $subject, $mb_id, $my_id, $my_name, $c_id = '')
{
    global $g5;
    if (!$use || !$flag || !$mb_id || $mb_id && $mb_id == $my_id) {
        return;
    }
    switch ($flag) {
        case 'choice':
            $field = 'good';
            $psubj = '[채택]' . $subject;
            $pcont = $my_name . '님이 댓글을 채택하셨습니다.';
            break;
        case 'reply':
            $field = 'reply';
            $psubj = '[답글]' . $subject;
            $pcont = $my_name . '님이 답글을 등록하였습니다.';
            break;
        case 'new':
            $field = 'comment';
            $subject = '[새글]' . $subject;
            $psubj = $subject;
            $pcont = $my_name . '님이 글을 등록하였습니다.';
            break;
        case 'comment':
            $field = 'comment';
            $psubj = '[댓글]' . $subject;
            $pcont = $my_name . '님이 댓글을 등록하였습니다.';
            break;
        case 'comment_reply':
            $field = 'comment_reply';
            $psubj = '[댓글]' . $subject;
            $pcont = $my_name . '님이 대댓글을 등록하였습니다.';
            break;
        case 'good':
            $field = 'good';
            break;
        case 'nogood':
            $field = 'nogood';
            break;
        case 'use':
            $field = 'use';
            break;
        case 'qa':
            $field = 'qa';
            break;
        default:
            return;
            break;
    }
    if ($use == 'it') {
        // 상품
        if (!$it_id) {
            return;
        }
        if (!$wr_id) {
            $wr_id = 0;
        }
        $where = " mb_id = '{$mb_id}' and it_id = '{$it_id}' and wr_id = '{$wr_id}' and type = '1' ";
        $set = " it_id = '{$it_id}', wr_id = '{$wr_id}', type = '1', ";
        $purl = G5_SHOP_URL . '/item.php?it_id=' . $it_id;
        if ($c_id) {
            $purl .= '#c_' . $c_id;
        }
        if ($flag == 'reply') {
            $psubj = '[답변]' . $subject;
            $pcont = $my_name . '님의 답변이 등록되었습니다.';
            if ($wr_id) {
                $purl = G5_SHOP_URL . '/itemqaview.php?iq_id=' . $wr_id;
            }
        } else {
            if ($flag == 'qa') {
                $psubj = '[문의]' . $subject;
                $pcont = $my_name . '님의 문의가 등록되었습니다.';
                if ($wr_id) {
                    $purl = G5_SHOP_URL . '/itemqaview.php?iq_id=' . $wr_id;
                }
            } else {
                if ($flag == 'use') {
                    $psubj = '[후기]' . $subject;
                    $pcont = $my_name . '님이 후기를 등록하였습니다.';
                    if ($wr_id) {
                        $purl = G5_SHOP_URL . '/itemuseview.php?is_id=' . $wr_id;
                    }
                }
            }
        }
    } else {
        if ($use == 'wr') {
            // 게시물
            if (!$bo_table || !$wr_id) {
                return;
            }
            $where = " mb_id = '{$mb_id}' and bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and type = '2' ";
            $set = " bo_table = '{$bo_table}', wr_id = '{$wr_id}', type = '2', ";
            $purl = G5_BBS_URL . '/board.php?bo_table=' . $bo_table . '&wr_id=' . $wr_id;
            if ($c_id) {
                $purl .= '#c_' . $c_id;
            }
        } else {
            if ($use == 'qa') {
                // 1vs1 qa
                if (!$wr_id) {
                    return;
                }
                $where = " mb_id = '{$mb_id}' and wr_id = '{$wr_id}' and type = '3' ";
                $set = " wr_id = '{$wr_id}', type = '3', ";
                $purl = G5_BBS_URL . '/qaview.php?qa_id=' . $wr_id;
                if ($my_name == '답변완료') {
                    $psubj = '[답변]' . $subject;
                    $pcont = '1:1 문의글에 답변이 등록되었습니다.';
                } else {
                    $psubj = '[문의]' . $subject;
                    $pcont = $my_name . '님이 1:1 문의를 등록하였습니다.';
                }
            } else {
                return;
            }
        }
    }
    $row = sql_fetch(" select id from {$g5['apms_response']} where {$where} and confirm <> '1' order by id desc ", false);
    $is_update = $row['id'] ? true : false;
    if ($is_update) {
        $my_sql = $my_id && $my_name ? ", my_id = '{$my_id}', my_name = '{$my_name}'" : "";
        //아이디와 이름도 업데이트
        sql_query(" update {$g5['apms_response']} set {$field}_cnt = {$field}_cnt + 1, regdate = '" . G5_TIME_YMDHIS . "' {$my_sql} where id = '{$row['id']}' ", false);
    } else {
        $set .= " mb_id = '{$mb_id}', my_id = '{$my_id}', my_name = '{$my_name}', subject = '" . addslashes($subject) . "',";
        sql_query(" insert into {$g5['apms_response']} set {$set} {$field}_cnt = '1', regdate = '" . G5_TIME_YMDHIS . "' ", false);
        //내글반응수 업데이트
        sql_query(" update {$g5['member_table']} set as_response = as_response + 1 where mb_id = '{$mb_id}' ", false);
        //푸시 보내기
        if ($psubj) {
            apms_push($mb_id, $psubj, $pcont, $purl);
        }
    }
    return;
}
Пример #2
0
<?php

if (!defined("_GNUBOARD_")) {
    exit;
}
// 개별 페이지 접근 불가
// Push - 최고관리자, 그룹관리자, 보드관리자 -----------------------
$mb_list = $config['cf_admin'] . ',' . $config['as_admin'] . ',' . $group['gr_admin'] . ',' . $board['bo_admin'];
$psubj = '[새글]' . $wr_subject;
$pcont = $wr_name . '님이 새글을 등록하셨습니다.';
$purl = G5_BBS_URL . '/board.php?bo_table=' . $bo_table . '&wr_id=' . $wr_id;
apms_push($mb_list, $psubj, $pcont, $purl);
// ------------------------------------------------------------------
Пример #3
0
function apms_event_win($bo_table, $wr_id, $ev, $ex_mb = '')
{
    global $g5, $config, $board, $write_table, $view;
    $list = array();
    $rows = (int) $ev['win'];
    // 당첨자수
    if ($ev['status'] == '종료') {
        if ($ev['end']) {
            $result = sql_query(" select * from {$g5['apms_event']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and ev_win = '1' order by ev_point desc limit 0, {$rows} ", false);
            //당첨현황
            for ($i = 0; $row = sql_fetch_array($result); $i++) {
                $list[$i] = $row;
            }
        } else {
            $sql_ex = $ex_mb ? "and find_in_set(mb_id, '{$ex_mb}')=0" : "";
            if ($ev['type']) {
                //랜덤당첨
                $result = sql_query(" select *, max(ev_point) as ev_point from {$g5['apms_event']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' {$sql_ex} group by mb_id order by rand() limit 0, {$rows} ", false);
            } else {
                //최고입찰
                $result = sql_query(" select *, max(ev_point) as ev_point from {$g5['apms_event']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' {$sql_ex} group by mb_id order by ev_point desc, ev_datetime limit 0, {$rows} ", false);
            }
            // 당첨 포인트
            $win_point = apms_event_point($ev, $bo_table, $wr_id);
            for ($i = 0; $row = sql_fetch_array($result); $i++) {
                $list[$i] = $row;
                $list[$i]['ev_win'] = 1;
                // 낙찰포인트 차감
                $confirm = 1;
                if (!$ev['type'] && $row['ev_point'] > 0) {
                    $mb = get_member($row['mb_id'], 'mb_point');
                    if ($mb['mb_point'] >= $row['ev_point']) {
                        $ev_point = $row['ev_point'] * -1;
                        insert_point($row['mb_id'], $ev_point, "{$board['bo_subject']} {$wr_id} 이벤트 낙찰", $bo_table, $wr_id, "이벤트낙찰");
                    } else {
                        $confirm = 0;
                    }
                }
                // 이벤트 당첨포인트
                if ($confirm && $win_point) {
                    insert_point($row['mb_id'], $win_point, "{$board['bo_subject']} {$wr_id} 이벤트 당첨", $bo_table, $wr_id, "이벤트당첨");
                }
                // 당첨정보 입력
                sql_query(" update {$g5['apms_event']} set ev_win = '1', ev_confirm = '{$confirm}' where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and mb_id = '{$row['mb_id']}' and ev_point = '{$row['ev_point']}' ", false);
                // 쪽지발송
                if ($confirm) {
                    $msg = get_text($view['wr_subject']) . ' 이벤트에 당첨되셨습니다.\\n\\n';
                    $msg .= '이벤트 바로가기 : ' . G5_BBS_URL . '/board.php?bo_table=' . $bo_table . '&wr_id=' . $wr_id;
                } else {
                    $msg = get_text($view['wr_subject']) . ' 이벤트에 당첨되셨으나 보유 포인트 부족으로 당첨처리가 되지 않았습니다.\\n\\n';
                    $msg .= '포인트 확인 후 해당 이벤트에서 당첨처리 또는 당첨포기를 해 주셔야 다른 이벤트에도 참여가 가능합니다.\\n\\n';
                    $msg .= '(이벤트 당첨을 포기하시더라도 이벤트 참여비는 반환되지 않습니다.)\\n\\n';
                    $msg .= '이벤트 바로가기 : ' . G5_BBS_URL . '/board.php?bo_table=' . $bo_table . '&wr_id=' . $wr_id;
                }
                $tmp_row = sql_fetch(" select max(me_id) as max_me_id from {$g5['memo_table']} ");
                $me_id = $tmp_row['max_me_id'] + 1;
                // 쪽지 INSERT
                sql_query(" insert into {$g5['memo_table']} ( me_id, me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo ) values ( '{$me_id}', '{$row['mb_id']}', '{$config['cf_admin']}', '" . G5_TIME_YMDHIS . "', '{$msg}' ) ", false);
                // 읽지 않은 쪽지체크
                $tmp_row2 = sql_fetch(" select count(*) as cnt from {$g5['memo_table']} where me_recv_mb_id = '{$row['mb_id']}' and me_read_datetime = '0000-00-00 00:00:00' ", false);
                // 실시간 쪽지 알림 기능
                sql_query(" update {$g5['member_table']} set mb_memo_call = '{$config['cf_admin']}', as_memo = '{$tmp_row2['cnt']}' where mb_id = '{$row['mb_id']}' ", false);
                // Push -----------------------------------------------------------------
                apms_push($row['mb_id'], '이벤트 당첨을 축하드립니다.', $msg, G5_URL);
            }
            // 종료처리
            sql_query(" update {$write_table} set wr_5 = '1' where wr_id = '{$wr_id}' ");
        }
    }
    return $list;
}