|
<?
# **********************************************************
# データの読出し
# **********************************************************
function GetData( ) {
global $ErrMessage;
global $MessageCount;
global $Mail;
global $OutData;
# メッセージのヘッダ情報の概要
$MailList = imap_fetch_overview( $Mail, "1:$MessageCount" );
# $MailList = imap_fetch_overview( $Mail, "1:10" );
while ( list($key,$val) = each ($MailList) ) {
$OutData .= "<TR>\n";
$OutData .= "<TD class=MyCell nowrap>";
# UID
$OutData .= '削除マーク<INPUT type=submit name=send value="';
$OutData .= $val->uid;
$OutData .= '">';
$OutData .= "</TD>\n";
$OutData .= "<TD class=MyCell>";
# メッセージ番号
$OutData .= $val->msgno;
$OutData .= "</TD>\n";
$OutData .= "<TD class=MyCell nowrap>";
# 送信者
$OutData .= '<A href="../body/control.php?uid=';
$OutData .= $val->uid;
$OutData .= '" target=NewWindow>';
$OutData .= htmlentities( DecodeData( $val->from ) );
$OutData .= "</TD>\n";
$OutData .= "<TD class=MyCell nowrap>";
# 件名
$OutData .= DecodeData( $val->subject );
$OutData .= "</TD>\n";
$OutData .= "<TD class=MyCell nowrap>";
# 受信日時
$OutData .= $val->date;
$OutData .= "</TD>\n";
$OutData .= "<TD class=MyCell nowrap>";
# サイズ(バイト数)
$OutData .= $val->size;
$OutData .= "</TD>\n";
# フラグ
$OutData .= "<TD class=MyCell>";
$OutData .= $val->recent;
$OutData .= "</TD>\n";
$OutData .= "<TD class=MyCell>";
$OutData .= $val->answered;
$OutData .= "</TD>\n";
$OutData .= "<TD class=MyCell>";
$OutData .= $val->deleted;
$OutData .= "</TD>\n";
$OutData .= "<TD class=MyCell>";
$OutData .= $val->seen;
$OutData .= "</TD>\n";
$OutData .= "<TD class=MyCell nowrap>";
# メッセージID
$OutData .= $val->message_id;
$OutData .= "</TD>\n";
$OutData .= "</TR>\n";
}
}
# **********************************************************
# デコード
# **********************************************************
function DecodeData( $Value ) {
# スペースで分割
$Token = explode( " ", $Value );
$Ret = "";
while ( list($key,$val) = each ($Token)) {
# デコード対象のテキスト
if ( strtoupper(substr( $val, 0, 13 )) == "=?ISO-2022-JP" ) {
# BASE64 -> JIS へのデコード
$JisText = imap_mime_header_decode( $val );
for( $i = 0; $i < count($JisText); $i++ ) {
# JIS -> SJIS へのテコード
$Ret .= mb_convert_encoding(
$JisText[$i]->text,
"SJIS",
"JIS"
);
}
}
# ASCII
else {
$Ret .= $val . " ";
}
}
return $Ret;
}
# **********************************************************
# 画面の編集
# **********************************************************
function EditDataHead( ) {
}
# **********************************************************
# エラーチェック
# **********************************************************
function CheckDataHead( ) {
global $ErrMessage;
global $Mail;
global $MessageCount;
$MessageCount = imap_num_msg( $Mail );
if ( $MessageCount == 0 ) {
$ErrMessage = "メールボックスは空です";
}
if ( $_POST['send'] != '' ) {
# チェック( 複数チェック可 )
imap_delete( $Mail, (int)$_POST['send'], FT_UID );
# 削除( 閉じる前にチェックしたメールを全て削除 )
imap_expunge( $Mail );
$MessageCount = imap_num_msg( $Mail );
}
}
?>
| |