SEND3010.php 9.38 KB
<?PHP 
//*****************************************************************************
//* 
//* プログラム名:配信処理画面
//* プログラムID:SEND3010.php
//* 機能        :配信処理(お知らせ配信)
//* 
//*****************************************************************************
header("Content-type: text/html; charset=EUC-JP");
include("./include/session_start.inc");
include("./include/SessionChk.inc");

//***************************
//* インクルードファイル
//***************************
include("./include/getWeekDay.inc");
include("./include/getDomain.inc");
include("./include/jcode.phps");
include("./include/dbcon.inc");
include("./include/mime.php");
include("./include/point.inc");
include("./include/logget.inc");
include("./include/mtcnews.inc");

$Comment_tel = jcodeconvert($Mail_Keitai, 1, 3);
$Comment_pc = jcodeconvert($Mail_PC, 1, 3);

//***************************
//* メイン処理
//***************************
//表示項目名を取得
$strSQL = "SELECT disp_id, disp_name FROM mst_disp WHERE disp_id = '6'";
$objRecSet = pg_exec($strSQL);
if($objRecSet==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
}
$objData = pg_fetch_object($objRecSet,0);
$strDisp_Name = JcodeConvert($objData->disp_name, 1, 1);

//件名
if($_REQUEST["tei"]=="on"){
		$strKenmei = "(〒)".$strDisp_Name.":".$_REQUEST["kenmei"];
}else{
		$strKenmei = "(〒)".$_REQUEST["kenmei"];
}
$strKenmei = JcodeConvert($strKenmei, 1, 1);

//本文
$strText = JcodeConvert($_REQUEST["text"], 1, 1);

//送信日時
$strSubmitTime = date("YmdHis");
if (strlen($strSubmitTime) == 12) {
		$strSubmitTime = "20".$strSubmitTime;
}

//送信者アドレス,名前
$strSQL = "SELECT name_kj_sei, name_kj_mei, pc_mail_addr, mail_addr FROM syain_tbl WHERE syain_cd = ".$PHP_POST_SYAIN_CD." ORDER BY syain_cd";
$objRecSet = pg_exec($strSQL);
if($objRecSet==false){
		echo("SQL実行に失敗しました(INSERT)");
		exit;
}
$objData = pg_fetch_object($objRecSet, 0);
$strSubmitAdd = $objData->pc_mail_addr;
if($strSubmitAdd == ""){//pcメルアドが無かったら
		$objData = pg_fetch_object($objRecSet, 0);
		$strSubmitAdd = $objData->mail_addr;
		if($strSubmitAdd == ""){//どちらのメルアドも無かったら
				$strSQL = "SELECT * FROM mst_dmain";
				$objRecSet = pg_exec($strSQL);
				if($objRecSet==false){
						echo("SQL実行に失敗しました(INSERT)");
						exit;
				}
				$objData = pg_fetch_object($objRecSet, 0);
				$strSubmitAdd = $objData->mail_addr;
		}
}

$strSubmitName=$objData->name_kj_sei." ".$objData->name_kj_mei;

//ドメイン
$strDomeName=getDomain();

//メールID?
$strSQL = "SELECT Max(mail_id) as Max_id FROM mail_data";
$objRecSet = pg_exec($strSQL);
$Max_id = pg_result($objRecSet,0,"Max_id");
if($objRecSet==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
}
$Max_mail = ($Max_id + 1);
$Max_id = "'".($Max_id + 1)."'";

//乱数取得----------
$num = 1;
while ($num >= 1){
	$strArray = array(0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z);
	$angou = "";
	for ($i = 0; $i < (10 - (int)$_REQUEST["view_flg"]); $i++){
	  $tmp_num = rand(0, 51);
	  $angou .= $strArray[$tmp_num];
	}
	$sql = "SELECT * FROM mail_data";
	$sql .= " WHERE angou_id = '".$angou."'";
	$rtn = pg_exec($sql);
	if($rtn == false){
			echo "SQLの実行に失敗しました。(#1)";
			exit;
	}
	$num = pg_numrows($rtn);
}

//メールデータ作成
$strSQL  = "INSERT INTO ";
$strSQL .= " mail_data (";
$strSQL .= " mail_id, ";
$strSQL .= " angou_id, ";
$strSQL .= " message_date, ";
$strSQL .= " message_time, ";
$strSQL .= " subject_name, ";
$strSQL .= " contents, ";
$strSQL .= " admin_cd, ";
$strSQL .= " send_date, ";
$strSQL .= " send_type, ";
$strSQL .= " send_alarm";
$strSQL .= " ) VALUES (";
$strSQL .= " ".$Max_id.", ";
$strSQL .= "'".$angou."', ";
$strSQL .= "'', ";
$strSQL .= "'', ";
$strSQL .= "'".addslashes($strKenmei)."'".", ";
$strSQL .= "'".addslashes($strText)."'". ", ";
$strSQL .= $PHP_POST_SYAIN_CD.", ";
$strSQL .= $strSubmitTime.", ";
$strSQL .= (int)$_REQUEST["SendType"].", " ;
$strSQL .= "0) ";
$objRecSet = pg_exec($strSQL);
if($objRecSet==false){
		echo("SQL実行に失敗しました(INSERT)");
		exit;
}

$strSQL  = "UPDATE ";
$strSQL .= " mail_data ";
$strSQL .= "SET ";
$strSQL .= " reserva_flg  = 0,";
$strSQL .= " reserva_date = '',";
$strSQL .= " reserva_time = '' ";
$strSQL .= "WHERE ";
$strSQL .= " mail_id = ".$Max_id;
$objRecSet = pg_exec($strSQL);
if($objRecSet==false){
		echo("SQL実行に失敗しました(INSERT)");
		exit;
}

//回答でーーた
$strSQL  =     "INSERT INTO answer_data ";
$strSQL .=     " ( ";
$strSQL .=     "  mail_id  , ";
$strSQL .=     "  select_nm, ";
$strSQL .=     "  name50_nm ";
$strSQL .=     " ) VALUES ( ";
$strSQL .=     " ".$Max_id.", ";
$strSQL .=     " 0, ";
$strSQL .=     " 'DM' ";
$strSQL .=     " ) ";
$objRec = pg_exec($strSQL);
if($objRec==false){
		echo("SQL実行に失敗しました(INSERT)");
		exit;
}

if($_REQUEST["radSendPtn"] == "1"){
		//個人配信
		$strWhere="";
		$strData=split(",", $_REQUEST["Send_User"]);
		for ($intIdx = 0; $intIdx < count($strData) - 1; $intIdx++){
			if ($strWhere == ""){
				$strWhere = " syain_cd = '".$strData[$intIdx]."' ";
			}else{
				$strWhere .= " OR syain_cd = '".$strData[$intIdx]."' ";
			}
		}
		$strSQL  = "SELECT * FROM syain_tbl ";
		$strSQL .= "WHERE ".$strWhere;
}elseif($_REQUEST["radSendPtn"] == "2"){
		//グループ配信
		$strWhere="";
		$strData=split("/", $_REQUEST["group_id"]);
		for ($intIdx = 1; $intIdx < count($strData) - 1; $intIdx++){
			if ($strWhere==""){
				$strWhere="AND (group_info.group_id='".$strData[$intIdx]."'";
			}else{
				$strWhere=$strWhere." or group_info.group_id='".$strData[$intIdx]."'";
			}
		}
		$strWhere=$strWhere.")";
		$strSQL = "SELECT syain_tbl.syain_cd, syain_tbl.angou_cd, syain_tbl.mail_addr, syain_tbl.pc_mail_addr, name_kj_sei, name_kj_mei " .
							"FROM group_info , syain_tbl " .
							"WHERE syain_tbl.syain_cd = group_info.syain_cd " .
							$strWhere." group by syain_tbl.syain_cd, syain_tbl.angou_cd, syain_tbl.mail_addr, syain_tbl.pc_mail_addr,name_kj_sei, name_kj_mei " .
							"ORDER BY syain_tbl.syain_cd";
}
//echo $strSQL."<hr>";
$objRecSet = pg_exec($strSQL);
if($objRecSet==false){
	echo("SQL実行に失敗しました(SELECT)");
	exit;
} 

$intRoop=1;

$Mail_Nasi=0;
$arrayToAdd = array();
$logFrom = array(); //log配列初期化
$logTo = array();
$logType = array();
$logDate = array();
$intCountLog=0;

for ($intI = 0; $intI<pg_numrows($objRecSet);$intI++){
		$Header="";//ヘッダー部クリア

		$objData    = pg_fetch_object($objRecSet, $intI);
		$User_Id    = $objData->syain_cd;
		$strTo      = $objData->pc_mail_addr;
		$strToMob   = $objData->mail_addr;
		$strSendName= $objData->name_kj_sei.$objData->name_kj_mei;

		switch ($_POST["SendType"]) {
			case "0":
					if($objData->pc_mail_addr=="" && $objData->mail_addr==""){
							$Mail_Nasi=100;					//PCか携帯メールアドレスが未登録の人
							$SendRes = 3;
					}elseif($objData->pc_mail_addr=="" && $objData->mail_addr!=""){
							$Mail_Nasi = 98;
							$SendRes = 1;
					}elseif($objData->pc_mail_addr!="" && $objData->mail_addr==""){
							$Mail_Nasi = 98;
							$SendRes = 2;
					}elseif($objData->pc_mail_addr!="" && $objData->mail_addr!=""){
							$Mail_Nasi = 98;
							$SendRes = 0;
					}

					break;

			case "1":
					if($objData->mail_addr==""){
							$Mail_Nasi=100;					//携帯メールアドレスが未登録の人
							$SendRes = 3;
					}else{
							$Mail_Nasi = 98;
							$SendRes = 1;
					}

					break;

			case "2":
					if($objData->pc_mail_addr==""){
							$Mail_Nasi=100;					//PCメールアドレスが未登録の人
							$SendRes = 3;
					}else{
							$Mail_Nasi = 98;
							$SendRes = 2;
					}

					break;

		}

		//*** 回答情報 ***//
		$strSQL  = "INSERT INTO ";
		$strSQL .= " mail_info (";
		$strSQL .= "  mail_id, ";
		$strSQL .= "  syain_cd, ";
		$strSQL .= "  check_flg ";
		$strSQL .= ") VALUES (";
		$strSQL .= $Max_id.", ";
		$strSQL .= $User_Id.",";
		$strSQL .= $Mail_Nasi;
		$strSQL .= ")";
		//echo $strSQL."<hr>";
		$objInsRet = pg_exec($strSQL);
		if($objInsRet==false){
				echo("SQL実行に失敗しました(INSERT)");
				exit;
		}

		//*** 送信パターン保存 ***//
		$strSQL  = "INSERT INTO ";
		$strSQL .= " mail_send_tbl (";
		$strSQL .= "  mail_id , ";
		$strSQL .= "  syain_cd, ";
		$strSQL .= "  send_flg  ";
		$strSQL .= ")VALUES (";
		$strSQL .= $Max_id. ", ";
		$strSQL .=  "'" . $User_Id. "', ";
		$strSQL .= $SendRes;
		$strSQL .= ")";
		$objInsRet = pg_exec($strSQL);
		if($objInsRet==false){
				echo("SQL実行に失敗しました(INSERT)");
				exit;
		}

		if ($Mail_Nasi!="100"){
				$SendPoint = $SendPoint+1;					//何人に送ったか
		}

}

if($PHP_POST_DB_FLG==6){
		func_point_decrement($PHP_POST_SYAIN_ID,$SendPoint,0); //ポイント減算
		//func_LogInput($PHP_POST_SYAIN_ID,$logFrom,$logTo,$logType,$logDate,$intCountLog);
}

//echo $_SESSION["PHP_POST_DB_NAME"]."<hr />";
//echo $_SESSION["PHP_POST_SYAIN_CD"]."<hr />";
//echo $Max_id."<hr />";

exec('/usr/bin/php -f ./SEND3010_EXE.php '.$_SESSION["PHP_POST_DB_NAME"].' '.$_SESSION["PHP_POST_SYAIN_CD"].' '.$Max_mail.' > /dev/null &');

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<META http-equiv="Content-Style-Type" content="text/css">
<link href="./style.css" rel="stylesheet" type="text/css">

<TITLE>送信中</TITLE>
<script language="javascript">
function pageJump(){
		document.frm.action = "SEND3020.php";
		document.frm.method="POST";
		document.frm.submit();
}
</script>
</HEAD>
<form name="frm">
<BODY onload="pageJump();" bgcolor="White">
</BODY>
</form>
</HTML>