_process[0] = "0"; $this->_process[1] = "1"; $this->_process[2] = "2"; $this->_process[3] = "3"; // 表示HTMLの設定 $this->_processTemplate["1"] = "index1.html"; $this->_processTemplate["2"] = "index2.html"; $this->_processTemplate["3"] = "index3.html"; // 親クラスに処理を任せる parent::main(); } /** * 初期表示時処理前のチェック処理を行います * @access private */ function _check_0() { if (!empty($errMsg)) { // エラーの場合には、$_REQUEST["process"]に対象エラー表示ページを設定 $_REQUEST["submit_back"] = true; } else { // エラーがない場合には、$_REQUEST["process"]に次ページを設定 $_REQUEST["process"] = $this->_process[1]; } return $errMsg; } /** * 1ページ目表示処理を行います * @access private */ function _process_1() { } /** * 1ページ目から2ページへの移動時の処理を行います * @access private */ function _check_1() { // 必要なチェック処理を行う $errMsg = $this->_check_0(); if (!empty($errMsg)) { return $errMsg; } $_REQUEST["name"] = trim($_REQUEST["name"]); $_REQUEST["tel"] = trim($_REQUEST["tel"]); $_REQUEST["email"] = trim($_REQUEST["email"]); $_REQUEST["product_name"] = trim($_REQUEST["product_name"]); $_REQUEST["color"] = trim($_REQUEST["color"]); $_REQUEST["width"] = trim($_REQUEST["width"]); $_REQUEST["height"] = trim($_REQUEST["height"]); $_REQUEST["wing_width"] = trim($_REQUEST["wing_width"]); $_REQUEST["position"] = trim($_REQUEST["position"]); $_REQUEST["installation_height"] = trim($_REQUEST["installation_height"]); $_REQUEST["amount"] = trim($_REQUEST["amount"]); $_REQUEST["contact"] = trim($_REQUEST["contact"]); // お名前 if ($_REQUEST["name"] == "") { $errMsg .= sprintf(ERR_REQUIRE_INPUT_PARAM, "お名前"); } // メールアドレス if ($_REQUEST["email"] == "") { $errMsg .= sprintf(ERR_REQUIRE_INPUT_PARAM, "メールアドレス"); } elseif (!Validate::isMail($_REQUEST["email"])) { $errMsg .= sprintf(ERR_FORMAT, "メールアドレス"); } // 商品名 if ($_REQUEST["product_name"] == "") { $errMsg .= sprintf(ERR_REQUIRE_INPUT_PARAM, "商品名"); } if (!empty($errMsg)) { // エラーの場合には、$_REQUEST["process"]に対象エラー表示ページを設定 $_REQUEST["submit_back"] = true; $_REQUEST["process"] = $this->_process[1]; } else { // エラーがない場合には、$_REQUEST["process"]に次ページを設定 $_REQUEST["process"] = $this->_process[2]; } return $errMsg; } /** * 2ページ目表示処理を行います * @access private */ function _process_2() { } /** * 2ページ目から3ページへの移動時の処理を行います * @access private */ function _check_2() { // 必要なチェック処理を行う $errMsg = $this->_check_1(); if (!empty($errMsg)) { return $errMsg; } if (!$this->_reload->isReload()) { // ユーザーメールの送信 $smarty = new MySmarty("mail"); $smarty->assign("_REQUEST", $_REQUEST); $body = $smarty->fetch(CONTACT_MAIL_BODY_FILE); // メール送信前の文字コード変換 $subject = CONTACT_MAIL_SUBJECT; $subject = mb_convert_encoding($subject, "JIS", "eucJP-win"); $subject = "=?ISO-2022-JP?B?" . base64_encode($subject) . "?="; $body = mb_convert_encoding($body, "ISO-2022-JP", "eucJP-win"); $mimeObject = new Mail_Mime("\n"); $mimeObject -> setTxtBody($body); unset($bodyParam); $bodyParam["text_charset"] = "ISO-2022-JP"; $body = $mimeObject->get($bodyParam); // メール送信 unset($addHeaders); $addHeaders["Date"] = date("r"); $addHeaders["Subject"] = $subject; $addHeaders["From"] = CONTACT_MAIL_FROM; if (defined("CONTACT_MAIL_FROM_NAME")) { $name = mb_convert_encoding(CONTACT_MAIL_FROM_NAME, "JIS", "eucJP-win"); $name = "=?ISO-2022-JP?B?" . base64_encode($name) . "?="; $addHeaders["From"] = $name."<".$addHeaders["From"].">"; } $addHeaders["To"] = $_REQUEST["email"]; $addHeaders["Reply-To"] = $email; $headers = $mimeObject->headers($addHeaders); // メールオブジェクト生成 $mail =& Mail::factory("smtp", $GLOBALS["mailParam"]); $mail->send($_REQUEST["email"], $headers, $body); // 管理者メールの送信 $smarty = new MySmarty("mail"); $smarty->assign("_REQUEST", $_REQUEST); $body = $smarty->fetch(CONTACT_ADMIN_MAIL_BODY_FILE); // メール送信前の文字コード変換 $subject = CONTACT_ADMIN_MAIL_SUBJECT; $subject = mb_convert_encoding($subject, "JIS", "eucJP-win"); $subject = "=?ISO-2022-JP?B?" . base64_encode($subject) . "?="; $body = mb_convert_encoding($body, "ISO-2022-JP", "eucJP-win"); $mimeObject = new Mail_Mime("\n"); $mimeObject -> setTxtBody($body); unset($bodyParam); $bodyParam["text_charset"] = "ISO-2022-JP"; $body = $mimeObject->get($bodyParam); // メール送信 unset($addHeaders); $addHeaders["Date"] = date("r"); $addHeaders["Subject"] = $subject; $addHeaders["From"] = $_REQUEST["email"]; $name = mb_convert_encoding($_REQUEST["name"], "JIS", "eucJP-win"); $name = "=?ISO-2022-JP?B?" . base64_encode($name) . "?="; $addHeaders["From"] = $name."<".$addHeaders["From"].">"; $addHeaders["To"] = CONTACT_ADMIN_MAIL_TO; if (defined("CONTACT_ADMIN_MAIL_CC")) { $addHeaders["Cc"] = CONTACT_ADMIN_MAIL_CC; } if (defined("CONTACT_ADMIN_MAIL_BCC")) { $addHeaders["Bcc"] = CONTACT_ADMIN_MAIL_BCC; } $addHeaders["Reply-To"] = $_REQUEST["email"]; $headers = $mimeObject->headers($addHeaders); $recipients = $addHeaders["To"]; if (!empty($headers["Cc"])) { $recipients .= ",".$addHeaders["Cc"]; } if (!empty($headers["Bcc"])) { $recipients .= ",".$addHeaders["Bcc"]; } // メールオブジェクト生成 $mail =& Mail::factory("smtp", $GLOBALS["mailParam"]); $mail->send($recipients, $headers, $body); } if (!empty($errMsg)) { // エラーの場合には、$_REQUEST["process"]に対象エラー表示ページを設定 $_REQUEST["submit_back"] = true; $_REQUEST["process"] = $this->_process[2]; } else { // エラーがない場合には、$_REQUEST["process"]に次ページを設定 $_REQUEST["process"] = $this->_process[3]; } return $errMsg; } /** * 3ページ目表示処理を行います * @access private */ function _process_3() { } } /** * メイン処理開始 **/ $c = new index(); $c->main(); ?>