';
}
SendMail($_SESSION['SFM']['email'], $replySubject, $replyMessage, $replyAddress, $replyBcc);
}
unset($_SESSION['SFM']);
include_once('sfm_completion.html'); // 送信完了画面(HTML)
break;
/* 入力データ処理 */
case 'CONFIRM':
if (ereg('http://'.$_SERVER['HTTP_HOST'], $_SERVER['HTTP_REFERER']) && $refCheck) Err('外部から利用は出来ません');
session_cache_limiter('nocache');
session_start();
unset($_SESSION['SFM']);
unset($_SESSION['hidden']);
foreach ($_POST as $key => $value) {
/*hidden作成*/
if($key != "mode")
{
if (is_array($value))
{
unset(${$key});
foreach($value as $value2)
{
$_SESSION['hidden'] .= "\r\n";
}
}
else
{
$_SESSION['hidden'] .= "\r\n";
}
}
if (is_array($value)) $value = implode("\t", $value);
if (!$ill_slash) $value = (!get_magic_quotes_gpc()) ? addslashes($value) : $value;
if (!$ill_char) $value = EnCode($value, 'EUC-JP', $baseEnc);
$value = mb_convert_kana($value, 'KV', 'EUC-JP');
$name = preg_replace('/(.+)_s$/', "$1", $key);
if (preg_match('/_s$/', $key) && $value == '') {
$_SESSION['SFM'][$name] = '::INPUT ERROR::';
$error = 1;
} elseif ($name == 'email' && $value) {
if (!preg_match("/^[\w\-\.]+\@[\w\-\.]+\.([a-z]+)$/", $value)) {
$_SESSION['SFM']['email'] = '::EMAIL ERROR::';
$error = $email = 1;
} else {
$_SESSION['SFM']['email'] = $email = $value;
}
} elseif ($name == 'emailcheck') {
if ($email != 1 && $email != $value) {
$_SESSION['SFM']['email'] = '::EMAIL CHECK ERROR::';
$error = 1;
}
} elseif ($maxText && strlen($value) > $maxText) {
$_SESSION['SFM'][$name] = '::MAXTEXT ERROR::';
$error = 1;
} else {
$_SESSION['SFM'][$name] = $value;
}
}
$_SESSION['SFM']['InputErr'] = $error;
$sfm_script = $script_name.((SID) ? '?'.strip_tags(SID) : '');
include_once('sfm_confirm.html'); // 確認画面用(HTML)
break;
/* 入力フォーム表示 */
default:
session_cache_limiter('private_no_expire');
session_start();
unset($_SESSION['SFM']);
foreach ($_POST as $key => $value) {
if (is_array($key))
{
${$key}[] = $value;
}
else
{
${$key} = $value;
}
}
$sfm_script = $script_name;
include_once('sfm_form.html'); // 入力フォーム用(HTML)
}
exit;
/* ::セッションデータ整形(HTML) */
function FORM_DATA_H($name) {
global $baseEnc, $maxText;
$errArray = array(
'::INPUT ERROR::'=>'必須項目です。',
'::EMAIL ERROR::'=>'メールアドレスが正しくありません。',
'::EMAIL CHECK ERROR::'=>'メールアドレスが一致しません',
'::MAXTEXT ERROR::'=>'文字数が多すぎます('.number_format($maxText).'字まで)'
);
$value = $_SESSION['SFM'][$name];
$value = (get_magic_quotes_gpc()) ? stripslashes($value) : $value;
$value = str_replace("\t", "\n", $value); // 表示用に複数項目を改行
$value = nl2br(htmlspecialchars($value, ENT_QUOTES, 'EUC-JP'));
$value = (preg_match('/::.+::/', $value)) ? ''.$errArray[$value].'' : $value;
$value = ($value != '') ? $value : ' ';
return EnCode($value, $baseEnc, 'EUC-JP');
}
/* ::セッションデータ整形(MAIL) */
function FORM_DATA_M($name) {
$value = $_SESSION['SFM'][$name];
$value = (get_magic_quotes_gpc()) ? stripslashes($value) : $value;
$value = str_replace("\t", ",", $value); // メール用に複数項目をカンマ区切り
return $value;
}
/* ::メール送信エンコード */
function SendMail($to, $sub, $msg, $from, $bcc) {
global $scriptVersion;
global $returnPath;
$sub = EnCode($sub, 'JIS', 'EUC-JP');
$msg = EnCode($msg, 'JIS', 'EUC-JP');
$rn = array("\r\n", "\n", "\r");
$msg = str_replace($rn, "\n", $msg);
// ヘッダ生成
$header = "From: $from\r\n";
$header .= "Bcc: $bcc\r\n";
$header .= "Mime-Version: 1.0\r\n";
$header .= "Content-Type: text/plain; charset=ISO-2022-JP\r\n";
$header .= "Content-Transfer-Encoding: 7bit";
$sub = '=?iso-2022-jp?B?'.base64_encode($sub).'?='; // Base64エンコード
mail($to, $sub, $msg, $header);
return;
}
/* ::ユーザー情報取得 */
function USERINFO() {
return @gethostbyaddr($_SERVER['REMOTE_ADDR'])."\n"
.$_SERVER['HTTP_USER_AGENT']."\n"
.date("Y/m/d - H:i:s");
}
/* ::文字エンコード変換 */
function EnCode($value, $chg, $org) {
if (!extension_loaded('mbstring')) Err('mbstring関数が利用できません');
return @mb_convert_encoding($value, $chg, $org);
}
/* ::エラー表示HTML */
function Err($err) {
echo <<
エラー:$err
エラー : $err