gdidc/backoffice/module/mail/send.lib.php
2021-10-26 18:19:06 +09:00

207 lines
5.2 KiB
PHP

<?
/*********************************** 메일발송관리 *************************************/
//메일발송 등록하기
function insertSend($chk){
// 테이블 지정
$tbl = $GLOBALS["_conf_tbl"]["send"];
$tbl_email = $GLOBALS["_conf_tbl"]["send_email"];
$tbl_member = $GLOBALS["_conf_tbl"]["member"];
// 테이블에 입력
$sql = "INSERT INTO ".$tbl." set
subject='".mysql_real_escape_string($_POST[subject])."',
contents='".mysql_real_escape_string($_POST[contents])."',
status='WAIT',
w_date=now()
";
$rs = mysql_query($sql, $GLOBALS[dblink]);
$insert_idx = mysql_insert_id($GLOBALS[dblink]);
$total = mysql_affected_rows($GLOBALS[dblink]);
//회원테이블에서 메일 가져오기
$sql = "INSERT INTO ".$tbl_email." (c_idx, name, email, chk) SELECT '$insert_idx', user_name, email, 'N' FROM ".$tbl_member." ";
if($chk=="Y"){
$sql .= " WHERE email_accept ='Y' ";
}
$rs = mysql_query($sql, $GLOBALS[dblink]);
$total2 = mysql_affected_rows($GLOBALS[dblink]);
// 테이블에 입력
$sql = "UPDATE ".$tbl." set
total='$total2'
WHERE idx='$insert_idx'
";
$rs = mysql_query($sql, $GLOBALS[dblink]);
if($total > 0){
return true;
}else{
return false;
}
}
//메일발송 수정하기
function editSend($idx){
// 테이블 지정
$tbl = $GLOBALS["_conf_tbl"]["send"];
// 테이블에 입력
$sql = "UPDATE ".$tbl." set
subject='".mysql_real_escape_string($_POST[subject])."',
contents='".mysql_real_escape_string($_POST[contents])."'
WHERE idx='".mysql_real_escape_string($_POST[idx])."'
";
$rs = mysql_query($sql, $GLOBALS[dblink]);
$total = mysql_affected_rows($GLOBALS[dblink]);
if($rs){
return true;
}else{
return false;
}
}
//메일발송 삭제하기
function deleteSend($idx){
// 테이블 지정
$tbl = $GLOBALS["_conf_tbl"]["send"];
$tbl_email = $GLOBALS["_conf_tbl"]["send_email"];
$sql = "DELETE FROM ".$tbl."
WHERE idx='".mysql_real_escape_string($_POST[idx])."'
";
$rs = mysql_query($sql, $GLOBALS[dblink]);
$total = mysql_affected_rows($GLOBALS[dblink]);
if($total > 0){
$sql = "DELETE FROM ".$tbl_email."
WHERE c_idx='".mysql_real_escape_string($_POST[idx])."'
";
return true;
}else{
return false;
}
}
//메일 발송목록 가져오기
function getEmailCount($c_idx){
$tbl_email = $GLOBALS["_conf_tbl"]["send_email"];
//보낸갯수 가져오기
$sql = "SELECT count(*) FROM $tbl_email WHERE c_idx='$c_idx' AND chk='Y' ";
$rs = mysql_query($sql, $GLOBALS[dblink]);
$send_total = mysql_result($rs,0,0);
$list['send_total'] = $send_total;
//남은갯수 가져오기
$sql = "SELECT count(*) FROM $tbl_email WHERE c_idx='$c_idx' AND chk='N' ";
$rs = mysql_query($sql, $GLOBALS[dblink]);
$remain_total = mysql_result($rs,0,0);
$list['remain_total'] = $remain_total;
//전체갯수 가져오기
$sql = "SELECT count(*) FROM $tbl_email WHERE c_idx='$c_idx' ";
$rs = mysql_query($sql, $GLOBALS[dblink]);
$total = mysql_result($rs,0,0);
$list['total'] = $total;
return $list;
}
//메일 발송목록 가져오기
function getEmailList($c_idx, $limit){
$tbl_email = $GLOBALS["_conf_tbl"]["send_email"];
$sql = "SELECT * FROM $tbl_email WHERE c_idx='$c_idx' AND chk='N' limit $limit";
$rs = mysql_query($sql, $GLOBALS[dblink]);
$total = mysql_num_rows($rs);
if($total > 0){
$list['total'] = $total;
for($i=0; $i < $total; $i++){
$list['list'][$i] = mysql_fetch_assoc($rs);
}
}else{
$list['total'] = 0;
}
return $list;
}
//메일 발송후 업데이트
function updateEmailList($c_idx, $strIdx){
$tbl = $GLOBALS["_conf_tbl"]["send"];
$tbl_email = $GLOBALS["_conf_tbl"]["send_email"];
//메일리스트에 업데이트
$sql = "UPDATE $tbl_email set chk='Y' WHERE idx in ($strIdx)";
$rs = mysql_query($sql, $GLOBALS[dblink]);
//발송통수 설정
$arrCount = explode(",",$strIdx);
$count_send = count($arrCount);
//메일정보에 업데이트
$sql = "UPDATE ".$tbl." set
send_total = (send_total + $count_send)
WHERE idx='".$c_idx."'
";
$rs = mysql_query($sql, $GLOBALS[dblink]);
if($rs){
return true;
}else{
return false;
}
}
//메일 발송후 업데이트
function updateMailStatus($c_idx, $strStatus, $sendTotal){
$tbl = $GLOBALS["_conf_tbl"]["send"];
if($strStatus=="SEND" && $sendTotal=="0"){
$s_sql = "s_date=now(),";
}
if($strStatus=="FINISH"){
$f_sql = "e_date=now(),";
}
//메일정보에 업데이트
$sql = "UPDATE ".$tbl." set
$s_sql
$f_sql
status = '$strStatus'
WHERE idx='".$c_idx."'
";
$rs = mysql_query($sql, $GLOBALS[dblink]);
if($rs){
return true;
}else{
return false;
}
}
//메일링
function sendMail($arrInfo, $arrMailInfo){
//변수치환
$Mail_Subject = str_replace("{NAME}", $arrInfo["name"], stripslashes($arrMailInfo["list"][0]["subject"]));
$Mail_Contents = str_replace("{NAME}", $arrInfo["name"], stripslashes($arrMailInfo["list"][0]["contents"]));
$mail = new smtp("localhost"); //자체발송일 경우, 서버를 지정할수도 있음.
//$mail->debug();
$mail->send($arrInfo["name"]."<".$arrInfo["email"].">", $GLOBALS["_SITE"]["NAME"]."<".$GLOBALS["_SITE"]["EMAIL"].">", $Mail_Subject , $Mail_Contents, "y");
return true;
}
?>