<?php
include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
include_once(G5_PATH.'/lib/mailer.lib.php'); // 이메일 라이브러리 추가
if ($is_guest)
alert('회원만 이용하실 수 있습니다.');
if (!chk_captcha()) {
// alert('자동등록방지 숫자가 틀렸습니다.');
}
$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_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];
}
}
/*
// 관리자가 아니면서
// 가입된 회원이 아니거나 정보공개를 하지 않았거나 탈퇴한 회원이거나 차단된 회원에게 쪽지를 보내는것은 에러
if ((!$row['mb_id'] || !$row['mb_open'] || $row['mb_leave_date'] || $row['mb_intercept_date']) && !$is_admin) {
$error_list[] = $recv_list[$i];
} else {
$member_list['id'][] = $row['mb_id'];
$member_list['nick'][] = $row['mb_nick'];
}
*/
}
$error_msg = implode(",", $error_list);
if ($error_msg && !$is_admin)
alert("회원아이디 '{$error_msg}' 은(는) 존재(또는 정보공개)하지 않는 회원아이디 이거나 탈퇴, 접근차단된 회원아이디 입니다.\\n쪽지를 발송하지 않았습니다.");
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']).'점)가 모자라서 쪽지를 보낼 수 없습니다.');
}
}
}
}
/* chat 관련 */
$filter = explode(",", trim($config['cf_filter']));
for ($i=0; $i<count($filter); $i++) {
$str = $filter[$i];
// 제목 필터링 (찾으면 중지)
$subj = "";
$pos = stripos($_POST['me_memo'],$str);
if ($pos !== false) {
alert("금지단어($str)가 포함되 있습니다.");
break;
}
}
$idx = "";
$me_idx = "";
$bf_mb_id = "|".$member['mb_id']."|";
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_email = "*** 개인정보보호를 위한 이메일주소 노출방지 ***"; // 추가
// 쪽지 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);
send_push_new_memo($recv_mb_id,$member['mb_id'],$_POST['me_memo'],$me_id);
// 읽지 않은 쪽지체크
$row = sql_fetch(" select count(*) as cnt from {$g5['memo_table']} where me_recv_mb_id = '{$recv_mb_id}' and me_read_datetime = '0000-00-00 00:00:00' ");
// 실시간 쪽지 알림 기능
$sql = " update {$g5['member_table']} set mb_memo_call = '{$member['mb_id']}', as_memo = '{$row['cnt']}' where mb_id = '$recv_mb_id' ";
sql_query($sql, false);
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);
}
$send_subject = "쪽지가 도착했습니다."; // 메일 제목은 알아서 수정하세요~
$send_memo = $_POST['me_memo']; // ; 추가
//$send_memo = get_text($_POST['me_memo']); // 필요할 듯하면..
if ($recv_mb_email && $member['mb_email']) {
mailer($member['mb_id'], $member['mb_email'], $recv_mb_email, $send_subject, $send_memo, 1);
}
/* chat 관련 시작 */
$bf_mb_id .= "|".$member_list['id'][$i]."|";
if($me_idx) $me_idx .=",";
$me_idx .= $me_id;
//기존 대화방이 있나 확인
$sql = "select count(*) as cnt from g5_chat_room where ( f_mb_id = '{$member['mb_id']}' or t_mb_id = '{$member['mb_id']}' ) and ( f_mb_id = '{$recv_mb_id}' or t_mb_id = '{$recv_mb_id}' )";
$row = sql_fetch($sql);
if($row['cnt'] == 0) {
$sql = "insert into g5_chat_room set f_mb_id = '{$member['mb_id']}', t_mb_id = '{$recv_mb_id}', u_datatime = '".G5_TIME_YMDHIS."'";
sql_query($sql);
}else {
$sql = "update g5_chat_room set u_datatime = '".G5_TIME_YMDHIS."' where ( f_mb_id = '{$member['mb_id']}' or t_mb_id = '{$member['mb_id']}' ) and ( f_mb_id = '{$recv_mb_id}' or t_mb_id = '{$recv_mb_id}' )";
sql_query($sql);
}
/* chat 관련 끝 */
}
/* chat 관련 시작 */
if($_FILES['bf_file']['name'][0]) {
// 파일개수 체크
$file_count = 0;
$upload_count = count($_FILES['bf_file']['name']);
for ($i=0; $i<$upload_count; $i++) {
if($_FILES['bf_file']['name'][$i] && is_uploaded_file($_FILES['bf_file']['tmp_name'][$i]))
$file_count++;
}
// 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)