MIL021.php 13.7 KB
<?php 
//*****************************************************************************
//* 
//* プログラム名:Webメール詳細画面
//* プログラムID:MIL021.php
//* 機能				:メール詳細・表示
//* 作成者			:T.Yamamoto
//* 
//*****************************************************************************
header('Content-Type: text/html; charset=EUC-JP');

include("./include/session_start.inc");
include("./include/SessionChk.inc");
include("./include/STRING.inc");
include('./include/dbcon.inc');

$syain_cd = $PHP_SYAIN_CD;
$strSQLseq="Select * from mail_TBL Where syain_cd='$syain_cd'";

//メール情報取得
$objRecseq = pg_exec($strSQLseq);
if($objRecseq==false){
	echo("SQL実行に失敗しました(SELECT)");
	exit;
}
if (pg_numrows($objRecseq) > 0){
		$objmail = pg_fetch_object($objRecseq, 0);
		$strMailAdd=$objmail->mail_add;
		$intSrvadd=$objmail->pop3_add;
		$strUserName=$objmail->mail_name;
		$strPASSWORD=$objmail->mail_pass;

		// 登録サーバー名取得
		$strSQLseq="Select * from mailAdmin_TBL Where srv_id=".$intSrvadd." and srv_flg=2";
		$objRecseq = pg_exec($strSQLseq);
		if($objRecseq==false){
				echo("SQL実行に失敗しました(SELECT)");
				exit;
		}
		if (pg_numrows($objRecseq) > 0){
				$objmail = pg_fetch_object($objRecseq, 0);
				$strSrvName=$objmail->srv_add;
		}
}	

include("./inc/header.inc");
include("./inc/MIL001.inc");
include("./inc/MIL002.inc");
include("./inc/MIL020.inc");

$userid = $strUserName;
$passwd = $strPASSWORD;
$server = $strSrvName;
$strMailAdd = $strMailAdd;

// Options
$show_header = FALSE; // show all headers
$use_apop		= FALSE; // use APOP for authentication
$list_num		= 10;		// listing messages per a page

/*******************************************************************/

//**** メニュー ****//
include("menu_opacity.php");

//文字化け対策
if (function_exists("mb_internal_encoding")) {
		mb_internal_encoding("SJIS");
}

	//メールの詳細取得
//echo "<input type='hidden' value='".$_GET['view_uid']."'>";
	$view_uid=subRetURI($_GET['view_uid']);
//	$view_uid = stripslashes($view_uid);
	$strSQLview="Select header,subject,comment from mail_get_tbl Where mail_id='".addslashes($view_uid)."' and syain_cd='$PHP_SYAIN_CD'";

	//メール情報取得
	$objRecview = pg_exec($strSQLview);
	if($objRecview==false){
			echo("SQL実行に失敗しました(SELECT)");
			exit;
	}

	$strSQLUp = "UPDATE mail_get_tbl SET kind_flg=1 WHERE mail_id='".addslashes($view_uid)."' and syain_cd='$PHP_SYAIN_CD'";
	$objRecUp = pg_exec($strSQLUp);
	if($objRecUp==false){
			echo("SQL実行に失敗しました(UPDATE)");
			exit;
	}

	$header_view[] = array('subject', '件名');
	$header_view[] = array('from', '送信者');
	$header_view[] = array('to', '宛先');
	$header_view[] = array('cc', 'Cc');
	$tmpdir	= "temp/".$PHP_FOLDER_NAME."/mail/";

	//未読メッセージ取得
	$strSQLmi="Select mail_id from mail_get_tbl Where syain_cd='$PHP_SYAIN_CD' and kind_flg=0 and del_flg=0 ";
	$objRecmi = pg_exec($strSQLmi);
	if($objRecmi==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}
?>
<form name="e_gru">
	<table width="100%" border="0" cellspacing="0">
		<tr>
			<td class="midashi">
				<table width="100%" border="0" cellpadding="0" cellspacing="0">
					<tr>
						<th width="50%" scope="col"><div align="left"><img src="image/mail.gif" border="0"><span class="MiddleBold"><?php  echo $PHP_TITLE_NAME[13] ?></span></div></th>
						<th width="50%" scope="col"><div align="right"><a href='javascript:Disp_Help("MILHLP.htm")'><img src="image/help.gif" border="0"></a> <a href='javascript:Disp_Help("MILHLP.htm")'>ヘルプ</a></div></th>
					</tr>
				</table><div align="right"></div>
			</td>
		</tr>
	</table><br>
	<TABLE border=0 width=100%>
		<TR>
			<TD align="left">
				<span class="Normalfont">
					[<a href="MIL001.php">新着メールの確認</a>]
					[<a href="MIL010.php?from=&to=<?php  echo $strMailAdd ?>&strSubject=&strBody=">新規作成</a>]
					[<a href="MIL020.php">受信ボックス(未読<?php  echo pg_numrows($objRecmi) ?>件)</a>]
					[<a href="MIL030.php">送信ボックス</a>]
					[<a href="MIL040.php">個人アドレス帳</a>]
				</span>
			</TD>
			<TD align="right">
				<span class="Normalfont">
					[<a href="MIL050.php">署名設定</a>]
					[<a href="MIL002.php">アカウント設定</a>]
				</span>
			</TD>
		</TR>
	</TABLE>
	<BR>
<?php 
	if (pg_numrows($objRecview) < 1) {	
			echo '<span class=Normalfont>メッセージは見つかりませんでした。</span>';
			return;
	}else{
			$objview = pg_fetch_object($objRecview, 0);
			$data=$objview->comment;
			$raw_header=$objview->header;
	}
	$header_list = parse_header($raw_header);
	if (!isset($header_list['content-type'])) {
			$header_list['content-type'] = 'text/plain; charset=us-ascii';
	}

	$ctype = parse_ctype($header_list['content-type']);

	if (isset($header_list['content-transfer-encoding'])) {
			$body = decode_body($body, $header_list['content-transfer-encoding']);
	}
	$header_view_num = count($header_view);

	$strMILID=$view_uid;
	
?>
	<input name="strName" type="hidden" value=''>
	<input name="strAddress" type="hidden" value=''>
	<input name="strChkDat" type="hidden" value=''>
	<input name="intGmSts" type="hidden" value=''>
	<input name="intReturn" type="hidden" value=''>
	<input name="view_uid" type="hidden" value='<?php  echo $strMILID ?>'>
<?php 
	//var_export($header_list);
	//echo "<hr>";
	//var_export($header_list["to"]);

	function chgAddr($addr){
			//アドレス編集

			$chk_word  = str_replace ("\\\\", "[mtcen]" , $addr);
			$chk_word  = str_replace ('\\"' , "[mtcdbl]", $chk_word);

			//echo "<hr>";
			//echo $chk_word;
			//echo "<hr>";

			$return_addr = "";
			$chk_flg = "";
			for ($j=0;$j<mb_strlen($chk_word); $j++){
					$word = mb_substr($chk_word,$j,1);

					if ($chk_flg=="1"){
						if ($word=='"'){
								$chk_flg = "";
								//$return_addr .= $word;
						}else{
							if ($word==','){
							}else{
								$return_addr .= $word;
							}
						}
					}else{
						if ($word=='"'){
								$chk_flg = "1";
						}else{
								$return_addr .= $word;
						}
					}

			}

			//echo $return_addr;
			//echo "<hr>";

			$return_addr  = str_replace (",", "[mtcconma]", $return_addr);
			//echo $return_addr;
			//echo "<hr>";

			$return_addr = decode_mimeheader($return_addr, 1);
			//echo $return_addr;
			//echo "<hr>";

			$return_addr  = str_replace (",", "", $return_addr);
			//echo $return_addr;
			//echo "<hr>";

			$return_addr  = str_replace ("[mtcen]"   , "\\", $return_addr);
			$return_addr  = str_replace ('"'         , '”', $return_addr);
			$return_addr  = str_replace ("[mtcdbl]"  , '”', $return_addr);
			$return_addr  = str_replace ("[mtcconma]", "," , $return_addr);
			//echo $return_addr;
			//echo "<hr>";

			return $return_addr;
	}

	echo '<table  cellSpacing=0 cellPadding=0 width=800><tr><td>';
	echo '<table cellSpacing=1 cellPadding=1 border="0" width=798 class="mainColor">';
	for ($i = 0; $i < $header_view_num; ++$i) {
		if (!isset($header_list[$header_view[$i][0]])) {
			continue;
		}
		echo '<tr>';
		echo '<td class="toneDown" align=left width=100><span class=Normalfont>'.$header_view[$i][1].':<input name="'.$header_view[$i][1].'" type="hidden" value="'.htmlspecialchars(decode_mimeheader($header_list[$header_view[$i][1]], 1), ENT_QUOTES).'"></span></td>';
		echo '<td bgcolor="#ffffff" align="left"><span class=Normalfont>';
		if ($header_list[$header_view[$i][0]]==''){
			echo '(no subject)';
			echo '<input name="'.$header_view[$i][0].'" type="hidden" value="(no subject)">';
		}else{
			if($i==0){
				echo link_url((LINE_BR(htmlspecialchars(decode_mimeheader($header_list[$header_view[$i][0]], 1)), 100)));
			}else{
				if (($header_view[$i][0]=="from") || ($header_view[$i][0]=="to") || ($header_view[$i][0]=="cc")){
						//echo ' <input name="'.$header_view[$i][0].'" type="hidden" value="'.htmlspecialchars(chgAddr($header_list[$header_view[$i][0]]), ENT_QUOTES).'">';
						echo link_url(htmlspecialchars(chgAddr($header_list[$header_view[$i][0]]), ENT_QUOTES));
				}else{
						echo link_url(htmlspecialchars(decode_mimeheader($header_list[$header_view[$i][0]], 1), ENT_QUOTES));
				}

			}

			if (($header_view[$i][0]=="from") || ($header_view[$i][0]=="to") || ($header_view[$i][0]=="cc")){
					echo ' <input name="'.$header_view[$i][0].'" type="hidden" value="'.htmlspecialchars(chgAddr($header_list[$header_view[$i][0]]), ENT_QUOTES).'">';
			}else{
					echo ' <input name="'.$header_view[$i][0].'" type="hidden" value="'.htmlspecialchars(decode_mimeheader($header_list[$header_view[$i][0]], 1), ENT_QUOTES).'">';
			}

			if ($i==1){
/*
				$str_From=decode_mimeheader(get_name($header_list['from']), 1);
				$str_From=ereg_replace("[\'\"\]", "", $str_From);
				$str_Addr=decode_mimeheader($header_list['from'], 1);
				$str_Addr=ereg_replace("[\'\"\]", "", $str_Addr);
				$str_Addr= str_replace("\"","",$str_Addr);
				$intpoint = strlen($str_From);						
				$str_Addr = trim(substr($str_Addr,$intpoint));						
				if (substr($str_Addr,0,1)=="@"){
					$str_Addr = htmlspecialchars(decode_mimeheader($header_list['from'], 1), ENT_QUOTES);
				}
*/
				$str_From = get_name(chgAddr($header_list['from']));
				$str_From=ereg_replace("[\'\"\]", "", $str_From);
				$intpoint = strlen($str_From);						

				$str_Addr=chgAddr($header_list['from']);
				$str_Addr=ereg_replace("[\'\"\]", "", $str_Addr);
				$str_Addr= str_replace("\"","",$str_Addr);
				$intpoint = strlen($str_From);						
				$str_Addr = trim(substr($str_Addr,$intpoint));						
				if (substr($str_Addr,0,1)=="@"){
					$str_Addr = htmlspecialchars(decode_mimeheader($header_list['from'], 1), ENT_QUOTES);
				}

?>
				<span class="Normalfont"> <a href=#	Onclick="return address_get(<?php  echo "'".$str_From."','".$str_Addr."'"; ?>);">アドレス帳に登録する</a></span>
<?php 
			}
		}
		echo '</span></td>';
		echo '</tr>';
	}
	
	//本文設定
		$view_data =$data;

	if (isset($header_list['date'])) {
		echo '<tr>';
		echo '<td class="toneDown" align=left width=100><span class="Normalfont">受信日付:</span></td>';
		echo '<td bgcolor=#ffffff align=left><span class=Normalfont>', format_date($header_list['date']), '</span></td>';
		echo '</tr>';
	}
		echo '<tr>';
		echo '<td class="toneDown" valign=top width=100><span class=Normalfont>本文:</span></td>';
		echo '<td bgcolor="#ffffff" valign=top align=left><span class=Normalfont>';

			$html_flg=0;
			if(ereg("<html>",strtolower($view_data))){$html_flg=2;
			}elseif(ereg("<body>=",strtolower($view_data))){$html_flg=2; 
			}elseif(ereg("<head>",strtolower($view_data))){$html_flg=2;
			}elseif(ereg("</SCRIPT>=",strtolower($view_data))){$html_flg=2;
			}elseif(ereg("<bgcolor",strtolower($view_data))){$html_flg=1;
			}elseif(ereg("<input",strtolower($view_data))){$html_flg=1;
			}elseif(ereg("<font",strtolower($view_data))){$html_flg=1;
			}elseif(ereg("<CENTER>",strtolower($view_data))){ $html_flg=1;
			}			

			echo "<IFRAME SRC='MIL022.php?PHP_FOLDER=".$PHP_FOLDER."&view_uid=".subRepURI($strMILID)."&PHP_SYAIN_CD=".$PHP_SYAIN_CD."' WIDTH='99%' HEIGHT='450' Frameborder='0' marginwidth='0' marginheight='0'></iframe>";

		echo '</span></td>';
			echo '<input name="strBody" type="hidden" value="'.htmlspecialchars(strip_tags($data)).'">';

		$strSQLtemp="Select * from mail_temp_tbl Where syain_cd='$PHP_SYAIN_CD' and mail_id='".addslashes($view_uid)."' Order by temp_index ";
		$objRectemp = pg_exec($strSQLtemp);
		for ($inttempCnt = 0; $inttempCnt < pg_numrows($objRectemp); $inttempCnt++) {
			$objTempfile = pg_fetch_object($objRectemp, $inttempCnt);
			?>
				<tr><td class="toneDown" valign=top width=100><span class=Normalfont>添付ファイル:</td>
					<td bgcolor="#ffffff" valign=top><span class=Normalfont>
			<?php 
				if($ByteOver[$inttempCnt]==1){
				}else{
					if(trim($objTempfile->temp_name) =="※10MB以上の添付ファイルは受信できません"){
									 echo $objTempfile->temp_name;
							 }else{
									 echo '<input name="TempName'.($inttempCnt+1).'" type="hidden" value="'.$objTempfile->temp_name.'">';
									 echo '<input name="FilePath'.($inttempCnt+1).'" type="hidden" value="'.$PHP_SYAIN_CD."-".($inttempCnt+1)."-".subRepURI($view_uid).'">';
									 echo '<input name="TempFlg'.($inttempCnt+1).'" type="hidden" value="1">';
							echo "<a href=\"MIL024.php?TempName=".$PHP_SYAIN_CD."-".($inttempCnt+1)."-".subRepURI($view_uid)."&FilePath=".$tmpdir.$PHP_SYAIN_CD."-".($inttempCnt+1)."-".subRepURI($view_uid)."\">".$objTempfile->temp_name."</a>";
							 }
				}
			?>
				</td></tr>
			<?php 
		}
		echo '</table></td></tr>';
		echo '</table>';
		echo "\n";
?>
<table>
	<tr>
		<td height="30">
			<input type="button" name="send" value=" 返 信 " Onclick="return Data_get(1);"> 
			<input type="button" name="send" value="全員へ返信" Onclick="return Data_get(4);"> 
			<input type="button" name="send" value=" 転 送 " Onclick="return Data_get(2);"> 
			<input type="button" name="send" value=" 削 除 " Onclick="return Mail_Delete();">
		</td>
	</tr>
	<tr>
		<td height="30"><a href='Javascript:location.href="MIL020.php"'>受信ボックスへ</a></td>
	</tr>
</table>
</form>
<?php 
//コピーライト
include("include/copyright.inc");

function subRetURI($prmStr){

	$prmStr = str_replace("EgruProPlus", "+", $prmStr);
	$prmStr = str_replace("EgruProAnp", "&", $prmStr);
	$prmStr = str_replace("EgruProPer", "%", $prmStr);
	$prmStr = str_replace("EgruProNum", "#", $prmStr);
	$prmStr = str_replace("EgruProSing", "'", $prmStr);
	$prmStr = str_replace("EgruProDoub", '"', $prmStr);		
	$prmStr = str_replace("EgruProDoll", "$", $prmStr);		
	$prmStr = str_replace("EgruProhyph", "-", $prmStr);		
	return $prmStr;	
}
function subRepURI($prmStr){

	$prmStr = str_replace("+", "EgruProPlus", $prmStr);
	$prmStr = str_replace("&", "EgruProAnp", $prmStr);
	$prmStr = str_replace("%", "EgruProPer", $prmStr);
	$prmStr = str_replace("#", "EgruProNum", $prmStr);
	$prmStr = str_replace("'", "EgruProSing", $prmStr);
	$prmStr = str_replace('"', "EgruProDoub", $prmStr);
	$prmStr = str_replace("$", "EgruProDoll", $prmStr);
	$prmStr = str_replace("-", "EgruProhyph", $prmStr);		
	return $prmStr;	
}

?>