/**
  * Page のアクション.
  *
  * @return void
  */
 function action()
 {
     $objMailHelper = new SC_Helper_Mail_Ex();
     switch ($this->getMode()) {
         case 'edit':
             // 編集
             if (SC_Utils_Ex::sfIsInt($_GET['template_id']) === true) {
                 $arrMail = $objMailHelper->sfGetMailmagaTemplate($_GET['template_id']);
                 $this->arrForm = $arrMail[0];
             }
             break;
         case 'regist':
             // 新規登録
             $objFormParam = new SC_FormParam_Ex();
             $this->lfInitParam($objFormParam);
             $objFormParam->setParam($_POST);
             $this->arrErr = $objFormParam->checkError();
             $this->arrForm = $objFormParam->getHashArray();
             if (SC_Utils_Ex::isBlank($this->arrErr)) {
                 // エラーが無いときは登録・編集
                 $this->lfRegistData($objFormParam, $objFormParam->getValue('template_id'));
                 // 自分を再読込して、完了画面へ遷移
                 $this->objDisplay->reload(array('mode' => 'complete'));
             } else {
                 $this->arrForm['template_id'] = $objFormParam->getValue('template_id');
             }
             break;
         case 'complete':
             // 完了画面表示
             $this->tpl_mainpage = 'mail/template_complete.tpl';
             break;
         default:
             break;
     }
 }
コード例 #2
0
 /**
  * Page のアクション.
  *
  * @return void
  */
 function action()
 {
     $objMailHelper = new SC_Helper_Mail_Ex();
     switch ($this->getMode()) {
         case 'delete':
             if (SC_Utils_Ex::sfIsInt($_GET['id']) === true) {
                 $this->lfDeleteMailTemplate($_GET['id']);
                 $this->objDisplay->reload(null, true);
             }
             break;
         default:
             break;
     }
     $this->arrTemplates = $objMailHelper->sfGetMailmagaTemplate();
 }
コード例 #3
0
 /**
  * Page のアクション.
  *
  * @return void
  */
 function action()
 {
     $objMailHelper = new SC_Helper_Mail_Ex();
     switch ($this->getMode()) {
         case 'template':
             if (SC_Utils_Ex::sfIsInt($_GET['template_id'])) {
                 $arrMail = $objMailHelper->sfGetMailmagaTemplate($_GET['template_id']);
                 $this->mail = $arrMail[0];
             }
             break;
         case 'history':
             if (SC_Utils_Ex::sfIsInt($_GET['send_id'])) {
                 $arrMail = $objMailHelper->sfGetSendHistory($_GET['send_id']);
                 $this->mail = $arrMail[0];
             }
             break;
         case 'presend':
             $this->mail['body'] = $_POST['body'];
         default:
     }
     $this->setTemplate($this->tpl_mainpage);
 }
コード例 #4
0
ファイル: LC_Page_Regist.php プロジェクト: nanasess/ec-azure
 /**
  * 正会員登録完了メール送信
  *
  * @param mixed $registSecretKey
  * @access private
  * @return void
  */
 function lfSendRegistMail($registSecretKey)
 {
     $objQuery = SC_Query_Ex::getSingletonInstance();
     $objCustomer = new SC_Customer_Ex();
     $objHelperMail = new SC_Helper_Mail_Ex();
     $CONF = SC_Helper_DB_Ex::sfGetBasisData();
     //-- 会員データを取得
     $arrCustomer = $objQuery->select("*", "dtb_customer", "secret_key = ?", array($registSecretKey));
     $data = $arrCustomer[0];
     $objCustomer->setLogin($data['email']);
     //-- メール送信
     $objMailText = new SC_SiteView_Ex();
     $objMailText->assign('CONF', $CONF);
     $objMailText->assign("name01", $data["name01"]);
     $objMailText->assign("name02", $data["name02"]);
     $toCustomerMail = $objMailText->fetch("mail_templates/customer_regist_mail.tpl");
     $subject = $objHelperMail->sfMakesubject('会員登録が完了しました。');
     $objMail = new SC_SendMail();
     $objMail->setItem('', $subject, $toCustomerMail, $CONF["email03"], $CONF["shop_name"], $CONF["email03"], $CONF["email04"], $CONF["email04"]);
     // 宛先の設定
     $name = $data["name01"] . $data["name02"] . " 様";
     $objMail->setTo($data['email'], $name);
     $objMail->sendMail();
 }
コード例 #5
0
 /**
  * 確認画面を表示する為の準備
  * @param SC_FormParam $objFormParam
  */
 public function confirm(&$objFormParam)
 {
     $arrErr = $objFormParam->checkerror();
     // メールの送信
     if (count($arrErr) == 0) {
         // 注文受付メール(送信なし)
         $objMail = new SC_Helper_Mail_Ex();
         $objSendMail = $objMail->sfSendOrderMail($objFormParam->getValue('order_id'), $objFormParam->getValue('template_id'), $objFormParam->getValue('subject'), $objFormParam->getValue('header'), $objFormParam->getValue('footer'), false);
         $this->tpl_subject = $objFormParam->getValue('subject');
         $this->tpl_body = mb_convert_encoding($objSendMail->body, CHAR_CODE, 'auto');
         $this->tpl_to = $objSendMail->tpl_to;
         $this->tpl_mainpage = 'order/mail_confirm.tpl';
         return true;
     }
     return $arrErr;
 }
コード例 #6
0
 /**
  * パスワード変更お知らせメールを送信する.
  *
  * @param array $CONF 店舗基本情報の配列
  * @param string $email 送信先メールアドレス
  * @param string $customer_name 送信先氏名
  * @param string $new_password 変更後の新パスワード
  * @return void
  *
  * FIXME: メールテンプレート編集の方に足すのが望ましい
  */
 function lfSendMail(&$CONF, $email, $customer_name, $new_password)
 {
     // パスワード変更お知らせメール送信
     $objMailText = new SC_SiteView_Ex(false);
     $objMailText->setPage($this);
     $objMailText->assign('customer_name', $customer_name);
     $objMailText->assign('new_password', $new_password);
     $toCustomerMail = $objMailText->fetch('mail_templates/forgot_mail.tpl');
     $objHelperMail = new SC_Helper_Mail_Ex();
     $objHelperMail->setPage($this);
     // メール送信オブジェクトによる送信処理
     $objMail = new SC_SendMail_Ex();
     $objMail->setItem('', $objHelperMail->sfMakeSubject('パスワードを変更いたしました。'), $toCustomerMail, $CONF['email03'], $CONF['shop_name'], $CONF['email03'], $CONF['email04'], $CONF['email04']);
     $objMail->setTo($email, $customer_name . ' 様');
     $objMail->sendMail();
     return;
 }
コード例 #7
0
ファイル: LC_Page_Entry.php プロジェクト: khrisna/eccubedrm
 /**
  * Page のプロセス(モバイル).
  *
  * @return void
  */
 function mobileProcess()
 {
     //---- ページ初期設定
     $objDb = new SC_Helper_DB_Ex();
     $objMobile = new SC_Helper_Mobile_Ex();
     $CONF = $objDb->sf_getBasisData();
     // 店舗基本情報
     $objConn = new SC_DbConn();
     $objView = new SC_MobileView();
     $objCustomer = new SC_Customer();
     $objDate = new SC_Date(START_BIRTH_YEAR, date("Y", strtotime("now")));
     // 空メール
     if (isset($_SESSION['mobile']['kara_mail_from'])) {
         $_POST['email'] = $_SESSION['mobile']['kara_mail_from'];
         $this->tpl_kara_mail_from = $_POST['email'];
     } elseif (MOBILE_USE_KARA_MAIL) {
         $token = $objMobile->gfPrepareKaraMail('entry/index.php');
         if ($token !== false) {
             $this->tpl_mainpage = 'entry/mail.tpl';
             $this->tpl_title = '会員登録(空メール)';
             $this->tpl_kara_mail_to = MOBILE_KARA_MAIL_ADDRESS_USER . MOBILE_KARA_MAIL_ADDRESS_DELIMITER . 'entry_' . $token . '@' . MOBILE_KARA_MAIL_ADDRESS_DOMAIN;
             $this->tpl_from_address = $CONF['email03'];
         }
     }
     // レイアウトデザインを取得
     $objLayout = new SC_Helper_PageLayout_Ex();
     $objLayout->sfGetPageLayout($this, false, DEF_LAYOUT);
     //---- 登録用カラム配列
     $arrRegistColumn = array(array("column" => "name01", "convert" => "aKV"), array("column" => "name02", "convert" => "aKV"), array("column" => "kana01", "convert" => "CKV"), array("column" => "kana02", "convert" => "CKV"), array("column" => "zip01", "convert" => "n"), array("column" => "zip02", "convert" => "n"), array("column" => "pref", "convert" => "n"), array("column" => "addr01", "convert" => "aKV"), array("column" => "addr02", "convert" => "aKV"), array("column" => "email", "convert" => "a"), array("column" => "email2", "convert" => "a"), array("column" => "email_mobile", "convert" => "a"), array("column" => "email_mobile2", "convert" => "a"), array("column" => "tel01", "convert" => "n"), array("column" => "tel02", "convert" => "n"), array("column" => "tel03", "convert" => "n"), array("column" => "fax01", "convert" => "n"), array("column" => "fax02", "convert" => "n"), array("column" => "fax03", "convert" => "n"), array("column" => "sex", "convert" => "n"), array("column" => "job", "convert" => "n"), array("column" => "birth", "convert" => "n"), array("column" => "reminder", "convert" => "n"), array("column" => "reminder_answer", "convert" => "aKV"), array("column" => "password", "convert" => "a"), array("column" => "password02", "convert" => "a"), array("column" => "mailmaga_flg", "convert" => "n"));
     //---- 登録除外用カラム配列
     $arrRejectRegistColumn = array("year", "month", "day", "email02", "email_mobile02", "password02");
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         //-- POSTデータの引き継ぎ
         $this->arrForm = $_POST;
         if (isset($this->arrForm['year']) && $this->arrForm['year'] == '----') {
             $this->arrForm['year'] = '';
         }
         $this->arrForm['email'] = strtolower($this->arrForm['email']);
         // emailはすべて小文字で処理
         //-- 入力データの変換
         $this->arrForm = $this->lfConvertParam($this->arrForm, $arrRegistColumn);
         // 戻るボタン用処理
         if (!empty($_POST["return"])) {
             switch ($_POST["mode"]) {
                 case "complete":
                     $_POST["mode"] = "set3";
                     break;
                 case "confirm":
                     $_POST["mode"] = "set2";
                     break;
                 default:
                     $_POST["mode"] = "set1";
                     break;
             }
         }
         //-- 入力エラーチェック
         if ($_POST["mode"] == "set1") {
             $this->arrErr = $this->lfErrorCheck1($this->arrForm);
             $this->tpl_mainpage = 'entry/index.tpl';
             $this->tpl_title = '会員登録(1/3)';
         } elseif ($_POST["mode"] == "set2") {
             $this->arrErr = $this->lfErrorCheck2($this->arrForm);
             $this->tpl_mainpage = 'entry/set1.tpl';
             $this->tpl_title = '会員登録(2/3)';
         } else {
             $this->arrErr = $this->lfErrorCheck3($this->arrForm);
             $this->tpl_mainpage = 'entry/set2.tpl';
             $this->tpl_title = '会員登録(3/3)';
         }
         foreach ($this->arrForm as $key => $val) {
             $this->{$key} = $val;
         }
         if ($this->arrErr || !empty($_POST["return"])) {
             // 入力エラーのチェック
             //-- データの設定
             if ($_POST["mode"] == "set1") {
                 $checkVal = array("email", "password", "reminder", "reminder_answer", "name01", "name02", "kana01", "kana02");
             } elseif ($_POST["mode"] == "set2") {
                 $checkVal = array("sex", "year", "month", "day", "zip01", "zip02");
             } else {
                 $checkVal = array("pref", "addr01", "addr02", "tel01", "tel02", "tel03", "mailmaga_flg");
             }
             foreach ($this->arrForm as $key => $val) {
                 if ($key != "mode" && $key != "submit" && $key != "return" && $key != session_name() && !in_array($key, $checkVal)) {
                     $this->list_data[$key] = $val;
                 }
             }
         } else {
             //-- テンプレート設定
             if ($_POST["mode"] == "set1") {
                 $this->tpl_mainpage = 'entry/set1.tpl';
                 $this->tpl_title = '会員登録(2/3)';
             } elseif ($_POST["mode"] == "set2") {
                 $this->tpl_mainpage = 'entry/set2.tpl';
                 $this->tpl_title = '会員登録(3/3)';
                 if (@$this->arrForm['pref'] == "" && @$this->arrForm['addr01'] == "" && @$this->arrForm['addr02'] == "") {
                     $address = $this->lfGetAddress($_REQUEST['zip01'] . $_REQUEST['zip02']);
                     $this->pref = @$address[0]['state'];
                     $this->addr01 = @$address[0]['city'] . @$address[0]['town'];
                 }
             } elseif ($_POST["mode"] == "confirm") {
                 //パスワード表示
                 $passlen = strlen($this->arrForm['password']);
                 $this->passlen = $this->lfPassLen($passlen);
                 //メール受け取り
                 if (!isset($this->arrForm['mailmaga_flg'])) {
                     $this->arrForm['mailmaga_flg'] = "";
                 }
                 if (strtolower($this->arrForm['mailmaga_flg']) == "on") {
                     $this->arrForm['mailmaga_flg'] = "2";
                 } else {
                     $this->arrForm['mailmaga_flg'] = "3";
                 }
                 $this->tpl_mainpage = 'entry/confirm.tpl';
                 $this->tpl_title = '会員登録(確認ページ)';
             }
             //-- データ設定
             unset($this->list_data);
             if ($_POST["mode"] == "set1") {
                 $checkVal = array("sex", "year", "month", "day", "zip01", "zip02");
             } elseif ($_POST["mode"] == "set2") {
                 $checkVal = array("pref", "addr01", "addr02", "tel01", "tel02", "tel03", "mailmaga_flg");
             } else {
                 $checkVal = array();
             }
             foreach ($this->arrForm as $key => $val) {
                 if ($key != "mode" && $key != "submit" && $key != "confirm" && $key != "return" && $key != session_name() && !in_array($key, $checkVal)) {
                     $this->list_data[$key] = $val;
                 }
             }
             //-- 仮登録と完了画面
             if ($_POST["mode"] == "complete") {
                 // 確認画面で再度エラーチェックを行う。(画面1)
                 $arrErr = $this->lfErrorCheck1($this->arrForm);
                 if (count($arrErr) > 0) {
                     $this->tpl_mainpage = 'entry/index.tpl';
                     $this->tpl_title = '会員登録(1/3)';
                     $this->arrErr = $arrErr;
                     //---- ページ表示
                     $objView->assignobj($this);
                     $objView->display(SITE_FRAME);
                     exit;
                 }
                 // 確認画面で再度エラーチェックを行う。(画面2)
                 $arrErr = $this->lfErrorCheck2($this->arrForm);
                 if (count($arrErr) > 0) {
                     $this->tpl_mainpage = 'entry/set1.tpl';
                     $this->tpl_title = '会員登録(2/3)';
                     $this->arrErr = $arrErr;
                     //---- ページ表示
                     $objView->assignobj($this);
                     $objView->display(SITE_FRAME);
                     exit;
                 }
                 // 確認画面で再度エラーチェックを行う。(画面3)
                 $arrErr = $this->lfErrorCheck3($this->arrForm);
                 if (count($arrErr) > 0) {
                     $this->tpl_mainpage = 'entry/set2.tpl';
                     $this->tpl_title = '会員登録(3/3)';
                     $this->arrErr = $arrErr;
                     //---- ページ表示
                     $objView->assignobj($this);
                     $objView->display(SITE_FRAME);
                     exit;
                 }
                 $this->CONF = $CONF;
                 $this->uniqid = $this->lfRegistData($this->arrForm, $arrRegistColumn, $arrRejectRegistColumn, CUSTOMER_CONFIRM_MAIL, true, $this->arrForm["email"]);
                 // 空メールを受信済みの場合はすぐに本登録完了にする。
                 if (isset($_SESSION['mobile']['kara_mail_from'])) {
                     $param = array("mode" => "regist", "id" => $this->uniqid, session_name() => session_id());
                     $this->sendRedirect($this->getLocation(MOBILE_URL_DIR . "regist/index.php", $param));
                     exit;
                 }
                 $this->tpl_mainpage = 'entry/complete.tpl';
                 $this->tpl_title = '会員登録(完了ページ)';
                 $objMobile->sfMobileSetExtSessionId('id', $this->uniqid, 'regist/index.php');
                 // 仮登録完了メール送信
                 $this->to_name01 = $_POST['name01'];
                 $this->to_name02 = $_POST['name02'];
                 $objMailText = new SC_MobileView();
                 $objMailText->assignobj($this);
                 $objHelperMail = new SC_Helper_Mail_Ex();
                 $objQuery = new SC_Query();
                 // 仮会員が有効の場合
                 if (CUSTOMER_CONFIRM_MAIL == true) {
                     // Moba8パラメーターを保持する場合はカラム追加
                     if (isset($_SESSION['a8'])) {
                         $this->etc_value = "&a8=" . $_SESSION['a8'];
                     }
                     $subject = $objHelperMail->sfMakeSubject($objQuery, $objMailText, $this, '会員登録のご確認');
                     $toCustomerMail = $objMailText->fetch("mail_templates/customer_mail.tpl");
                 } else {
                     $subject = $objHelperMail->sfMakesubject($objQuery, $objMailText, $this, '会員登録のご完了');
                     $toCustomerMail = $objMailText->fetch("mail_templates/customer_regist_mail.tpl");
                     // ログイン状態にする
                     $objCustomer->setLogin($_POST["email"]);
                 }
                 $objMail = new SC_SendMail();
                 $objMail->setItem('', $subject, $toCustomerMail, $CONF["email03"], $CONF["shop_name"], $CONF["email03"], $CONF["email04"], $CONF["email04"], $CONF["email01"]);
                 // 宛先の設定
                 $name = $_POST["name01"] . $_POST["name02"] . " 様";
                 $objMail->setTo($_POST["email"], $name);
                 $objMail->sendMail();
                 // 完了ページに移動させる。
                 $this->sendRedirect($this->getLocation("./complete.php"), true);
                 exit;
             }
         }
     }
     //---- ページ表示
     $objView->assignobj($this);
     $objView->display(SITE_FRAME);
 }
コード例 #8
0
 /**
  * Page のプロセス.
  *
  * @return void
  */
 function process()
 {
     //---- ページ初期設定
     $objQuery = new SC_Query();
     $objView = new SC_AdminView();
     $objDate = new SC_Date(1901);
     $objDb = new SC_Helper_DB_Ex();
     $this->arrYear = $objDate->getYear();
     // 日付プルダウン設定
     $this->arrMonth = $objDate->getMonth();
     $this->arrDay = $objDate->getDay();
     $this->objDate = $objDate;
     // 認証可否の判定
     $objSess = new SC_Session();
     SC_Utils_Ex::sfIsSuccess($objSess);
     // POST値の引き継ぎ
     $this->arrForm = $_POST;
     // ページ送り用
     $this->arrHidden['search_pageno'] = isset($_POST['search_pageno']) ? $_POST['search_pageno'] : "";
     // 検索ワードの引き継ぎ
     foreach ($_POST as $key => $val) {
         switch ($key) {
             case 'sex':
             case 'status':
                 $this->arrHidden[$key] = SC_Utils_Ex::sfMergeParamCheckBoxes($val);
                 if (!is_array($val)) {
                     $this->arrForm[$key] = split("-", $val);
                 }
                 break;
             default:
                 $this->arrHidden[$key] = $val;
                 break;
         }
     }
     if (!isset($_POST['mode'])) {
         $_POST['mode'] = "";
     }
     // 顧客削除
     if ($_POST['mode'] == "delete") {
         $sql = "SELECT status,email FROM dtb_customer WHERE customer_id = ? AND del_flg = 0";
         $result_customer = $objQuery->conn->getAll($sql, array($_POST["edit_customer_id"]));
         if ($result_customer[0]["status"] == 2) {
             //本会員削除
             $arrDel = array("del_flg" => 1, "update_date" => "NOW()");
             $objQuery->conn->autoExecute("dtb_customer", $arrDel, "customer_id = " . SC_Utils_Ex::sfQuoteSmart($_POST["edit_customer_id"]));
         } elseif ($result_customer[0]["status"] == 1) {
             //仮会員削除
             $sql = "DELETE FROM dtb_customer WHERE customer_id = ?";
             $objQuery->conn->query($sql, array($_POST["edit_customer_id"]));
         }
     }
     //if ($_POST['mode'] == "search" || $_POST['mode'] == "csv"  || $_POST['mode'] == "delete" || $_POST['mode'] == "delete_all") {
     // 登録メール再送
     if ($_POST['mode'] == "resend_mail") {
         $arrRet = $objQuery->select("name01, name02, secret_key, email", "dtb_customer", "customer_id = ? AND del_flg <> 1 AND status = 1", array($_POST["edit_customer_id"]));
         if (is_array($arrRet) === true && count($arrRet) > 0) {
             $CONF = $objDb->sf_getBasisData();
             $this->CONF = $CONF;
             $objMailText = new SC_SiteView();
             $objMailText->assignobj($this);
             $mailHelper = new SC_Helper_Mail_Ex();
             $this->name01 = $arrRet[0]['name01'];
             $this->name02 = $arrRet[0]['name02'];
             $this->uniqid = $arrRet[0]['secret_key'];
             $subject = $mailHelper->sfMakesubject($objQuery, $objMailText, $this, '会員登録のご確認');
             $toCustomerMail = $objMailText->fetch("mail_templates/customer_mail.tpl");
             $objMail = new SC_SendMail();
             $objMail->setItem('', $subject, $toCustomerMail, $CONF["email03"], $CONF["shop_name"], $CONF["email03"], $CONF["email04"], $CONF["email04"]);
             // 宛先の設定
             $name = $this->name01 . $this->name02 . " 様";
             $objMail->setTo($arrRet[0]["email"], $name);
             $objMail->sendMail();
         }
     }
     if ($_POST['mode'] == "search" || $_POST['mode'] == "csv" || $_POST['mode'] == "delete" || $_POST['mode'] == "delete_all" || $_POST['mode'] == "resend_mail") {
         // 入力文字の強制変換
         $this->lfConvertParam();
         // エラーチェック
         $this->arrErr = $this->lfCheckError($this->arrForm);
         $where = "del_flg = 0";
         /* 入力エラーなし */
         if (count($this->arrErr) == 0) {
             //-- 検索データ取得
             $objSelect = new SC_CustomerList($this->arrForm, "customer");
             // 表示件数設定
             $page_rows = $this->arrForm['page_rows'];
             if (is_numeric($page_rows)) {
                 $page_max = $page_rows;
             } else {
                 $page_max = SEARCH_PMAX;
             }
             if (!isset($this->arrForm['search_pageno'])) {
                 $this->arrForm['search_pageno'] = "";
             }
             if ($this->arrForm['search_pageno'] == 0) {
                 $this->arrForm['search_pageno'] = 1;
             }
             $offset = $page_max * ($this->arrForm['search_pageno'] - 1);
             $objSelect->setLimitOffset($page_max, $offset);
             if ($_POST["mode"] == 'csv') {
                 $searchSql = $objSelect->getListCSV($this->arrColumnCSV);
             } else {
                 $searchSql = $objSelect->getList();
             }
             $this->search_data = $objQuery->conn->getAll($searchSql, $objSelect->arrVal);
             switch ($_POST['mode']) {
                 case 'csv':
                     require_once CLASS_EX_PATH . "helper_extends/SC_Helper_CSV_Ex.php";
                     $objCSV = new SC_Helper_CSV_Ex();
                     $i = 0;
                     $header = "";
                     // CSVカラム取得
                     $arrCsvOutput = $objCSV->sfgetCsvOutput(2, " WHERE csv_id = 2 AND status = 1");
                     if (count($arrCsvOutput) <= 0) {
                         break;
                     }
                     foreach ($arrCsvOutput as $data) {
                         $arrColumn[] = $data["col"];
                         if ($i != 0) {
                             $header .= ", ";
                         }
                         $header .= $data["disp_name"];
                         $i++;
                     }
                     $header .= "\n";
                     //- 都道府県/職業の変換
                     for ($i = 0; $i < count($this->search_data); $i++) {
                         $this->search_data[$i]["pref"] = $this->arrPref[$this->search_data[$i]["pref"]];
                         $this->search_data[$i]["job"] = $this->arrJob[$this->search_data[$i]["job"]];
                     }
                     //- CSV出力
                     $data = SC_Utils_Ex::getCSVData($this->search_data, $arrColumn);
                     SC_Utils_Ex::sfCSVDownload($header . $data);
                     exit;
                     break;
                 case 'delete_all':
                     // 検索結果をすべて削除
                     $where = "product_id IN (SELECT product_id FROM vw_products_nonclass AS noncls WHERE {$where})";
                     $sqlval['del_flg'] = 1;
                     $objQuery->update("dtb_products", $sqlval, $where, $arrval);
                     $sql = "SELECT status,email FROM dtb_customer WHERE customer_id = ? AND del_flg = 0";
                     $result_customer = $objQuery->conn->getAll($sql, array($_POST["del_customer_id"]));
                     if ($result_customer[0]["status"] == 2) {
                         //本会員削除
                         $arrDel = array("del_flg" => 1, "update_date" => "NOW()");
                         $objQuery->conn->autoExecute("dtb_customer", $arrDel, "customer_id = " . SC_Utils_Ex::sfQuoteSmart($_POST["del_customer_id"]));
                     } elseif ($result_customer[0]["status"] == 1) {
                         //仮会員削除
                         $sql = "DELETE FROM dtb_customer WHERE customer_id = ?";
                         $objQuery->conn->query($sql, array($_POST["del_customer_id"]));
                     }
                     break;
                 default:
                     // 行数の取得
                     $linemax = $objQuery->conn->getOne($objSelect->getListCount(), $objSelect->arrVal);
                     $this->tpl_linemax = $linemax;
                     // 何件が該当しました。表示用
                     // ページ送りの取得
                     $objNavi = new SC_PageNavi($this->arrHidden['search_pageno'], $linemax, $page_max, "fnCustomerPage", NAVI_PMAX);
                     $startno = $objNavi->start_row;
                     $this->arrPagenavi = $objNavi->arrPagenavi;
             }
         }
     }
     $this->arrCatList = $objDb->sfGetCategoryList();
     //---- ページ表示
     $objView->assignobj($this);
     $objView->display(MAIN_FRAME);
 }
コード例 #9
0
 /**
  * Page のアクション.
  *
  * @return void
  */
 function action()
 {
     $objCartSess = new SC_CartSession_Ex();
     $objSiteSess = new SC_SiteSession_Ex();
     $objCustomer = new SC_Customer_Ex();
     $objPurchase = new SC_Helper_Purchase_Ex();
     $objHelperMail = new SC_Helper_Mail_Ex();
     $this->is_multiple = $objPurchase->isMultiple();
     // 前のページで正しく登録手続きが行われた記録があるか判定
     if (!$objSiteSess->isPrePage()) {
         SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, $objSiteSess);
     }
     // ユーザユニークIDの取得と購入状態の正当性をチェック
     $this->tpl_uniqid = $objSiteSess->getUniqId();
     $objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess);
     $this->cartKey = $objCartSess->getKey();
     // カート内商品のチェック
     $this->tpl_message = $objCartSess->checkProducts($this->cartKey);
     if (!SC_Utils_Ex::isBlank($this->tpl_message)) {
         SC_Response_Ex::sendRedirect(CART_URLPATH);
         SC_Response_Ex::actionExit();
     }
     // カートの商品を取得
     $this->arrShipping = $objPurchase->getShippingTemp($this->is_multiple);
     $this->arrCartItems = $objCartSess->getCartList($this->cartKey);
     // 合計金額
     $this->tpl_total_inctax[$this->cartKey] = $objCartSess->getAllProductsTotal($this->cartKey);
     // 税額
     $this->tpl_total_tax[$this->cartKey] = $objCartSess->getAllProductsTax($this->cartKey);
     // ポイント合計
     $this->tpl_total_point[$this->cartKey] = $objCartSess->getAllProductsPoint($this->cartKey);
     // 一時受注テーブルの読込
     $arrOrderTemp = $objPurchase->getOrderTemp($this->tpl_uniqid);
     // カート集計を元に最終計算
     $arrCalcResults = $objCartSess->calculate($this->cartKey, $objCustomer, $arrOrderTemp['use_point'], $objPurchase->getShippingPref($this->is_multiple), $arrOrderTemp['charge'], $arrOrderTemp['discount'], $arrOrderTemp['deliv_id']);
     $this->arrForm = array_merge($arrOrderTemp, $arrCalcResults);
     // 会員ログインチェック
     if ($objCustomer->isLoginSuccess(true)) {
         $this->tpl_login = '******';
         $this->tpl_user_point = $objCustomer->getValue('point');
     }
     // 決済モジュールを使用するかどうか
     $this->use_module = SC_Helper_Payment_Ex::useModule($this->arrForm['payment_id']);
     switch ($this->getMode()) {
         // 前のページに戻る
         case 'return':
             // 正常な推移であることを記録しておく
             $objSiteSess->setRegistFlag();
             SC_Response_Ex::sendRedirect(SHOPPING_PAYMENT_URLPATH);
             SC_Response_Ex::actionExit();
             break;
         case 'confirm':
             /*
              * 決済モジュールで必要なため, 受注番号を取得
              */
             $this->arrForm['order_id'] = $objPurchase->getNextOrderID();
             $_SESSION['order_id'] = $this->arrForm['order_id'];
             // 集計結果を受注一時テーブルに反映
             $objPurchase->saveOrderTemp($this->tpl_uniqid, $this->arrForm, $objCustomer);
             // 正常に登録されたことを記録しておく
             $objSiteSess->setRegistFlag();
             // 決済モジュールを使用する場合
             if ($this->use_module) {
                 $objPurchase->completeOrder(ORDER_PENDING);
                 SC_Response_Ex::sendRedirect(SHOPPING_MODULE_URLPATH);
             } else {
                 $objPurchase->completeOrder(ORDER_NEW);
                 $template_id = SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE ? 2 : 1;
                 $objHelperMail->sfSendOrderMail($this->arrForm['order_id'], $template_id);
                 SC_Response_Ex::sendRedirect(SHOPPING_COMPLETE_URLPATH);
             }
             SC_Response_Ex::actionExit();
             break;
         default:
             break;
     }
 }
コード例 #10
0
ファイル: LC_Page_Regist.php プロジェクト: khrisna/eccubedrm
 function lfSendRegistMail($registSecretKey)
 {
     $objQuery = new SC_Query();
     $objHelperMail = new SC_Helper_Mail_Ex();
     //-- 姓名を取得
     $sql = "SELECT email, name01, name02 FROM dtb_customer WHERE secret_key = ?";
     $result = $objQuery->getAll($sql, array($registSecretKey));
     $data = $result[0];
     //-- メール送信
     $objMailText = new SC_SiteView();
     $objMailText->assign("CONF", $this->CONF);
     $objMailText->assign("name01", $data["name01"]);
     $objMailText->assign("name02", $data["name02"]);
     $toCustomerMail = $objMailText->fetch("mail_templates/customer_regist_mail.tpl");
     $subject = $objHelperMail->sfMakesubject($objQuery, $objMailText, $this, '会員登録が完了しました。');
     $objMail = new SC_SendMail();
     $objMail->setItem('', $subject, $toCustomerMail, $this->CONF["email03"], $this->CONF["shop_name"], $this->CONF["email03"], $this->CONF["email04"], $this->CONF["email04"]);
     // 宛先の設定
     $name = $data["name01"] . $data["name02"] . " 様";
     $objMail->setTo($data["email"], $name);
     $objMail->sendMail();
 }
コード例 #11
0
 /**
  * 会員登録完了メール送信する
  *
  * @access private
  * @return void
  */
 public function lfSendMail($uniqid, $arrForm)
 {
     $CONF = SC_Helper_DB_Ex::sfGetBasisData();
     $objMailText = new SC_SiteView_Ex();
     $objMailText->setPage($this);
     $objMailText->assign('CONF', $CONF);
     $objMailText->assign('name01', $arrForm['name01']);
     $objMailText->assign('name02', $arrForm['name02']);
     $objMailText->assign('uniqid', $uniqid);
     $objMailText->assignobj($this);
     $objHelperMail = new SC_Helper_Mail_Ex();
     $objHelperMail->setPage($this);
     // 仮会員が有効の場合
     if (CUSTOMER_CONFIRM_MAIL == true) {
         $subject = $objHelperMail->sfMakeSubject('会員登録のご確認');
         $toCustomerMail = $objMailText->fetch('mail_templates/customer_mail.tpl');
     } else {
         $subject = $objHelperMail->sfMakeSubject('会員登録のご完了');
         $toCustomerMail = $objMailText->fetch('mail_templates/customer_regist_mail.tpl');
     }
     $objMail = new SC_SendMail_Ex();
     $objMail->setItem('', $subject, $toCustomerMail, $CONF['email03'], $CONF['shop_name'], $CONF['email03'], $CONF['email04'], $CONF['email04'], $CONF['email01']);
     // 宛先の設定
     $objMail->setTo($arrForm['email'], $arrForm['name01'] . $arrForm['name02'] . ' 様');
     $objMail->sendMail();
 }
コード例 #12
0
 /**
  * 注文受付メールを送信する.
  *
  * 端末種別IDにより, 携帯電話の場合は携帯用の文面,
  * それ以外の場合は PC 用の文面でメールを送信する.
  *
  * @param integer $order_id 受注ID
  * @param  object  $objPage LC_Page インスタンス
  * @return boolean 送信に成功したか。現状では、正確には取得できない。
  */
 public static function sendOrderMail($order_id, &$objPage = NULL)
 {
     $objMail = new SC_Helper_Mail_Ex();
     // setPageは、プラグインの処理に必要(see #1798)
     if (is_object($objPage)) {
         $objMail->setPage($objPage);
     }
     $arrOrder = SC_Helper_Purchase::getOrder($order_id);
     if (empty($arrOrder)) {
         return false;
         // 失敗
     }
     $template_id = $arrOrder['device_type_id'] == DEVICE_TYPE_MOBILE ? 2 : 1;
     $objMail->sfSendOrderMail($order_id, $template_id);
     return true;
     // 成功
 }
コード例 #13
0
ファイル: LC_Page_Contact.php プロジェクト: khrisna/eccubedrm
 function lfSendMail($CONF, &$objPage)
 {
     $objQuery = new SC_Query();
     $objMailText = new SC_SiteView();
     $objSiteInfo = $this->objView->objSiteInfo;
     $arrInfo = $objSiteInfo->data;
     $objPage->tpl_shopname = $arrInfo['shop_name'];
     $objPage->tpl_infoemail = $arrInfo['email02'];
     $objMailText->assignobj($objPage);
     $toCustomerMail = $objMailText->fetch("mail_templates/contact_mail.tpl");
     $objMail = new SC_SendMail();
     if ($objPage->arrForm['email']) {
         $fromMail_name = $objPage->arrForm['name01'] . " 様";
         $fromMail_address = $objPage->arrForm['email'];
     } else {
         $fromMail_name = $CONF["shop_name"];
         $fromMail_address = $CONF["email02"];
     }
     $helperMail = new SC_Helper_Mail_Ex();
     $subject = $helperMail->sfMakeSubject($objQuery, $objMailText, $this, "お問い合わせがありました。");
     $objMail->setItem($CONF["email02"], $subject, $toCustomerMail, $fromMail_address, $fromMail_name, $fromMail_address, $CONF["email04"], $CONF["email04"]);
     $objMail->sendMail();
     $subject = $helperMail->sfMakeSubject($objQuery, $objMailText, $this, "お問い合わせを受け付けました。");
     $objMail->setItem('', $subject, $toCustomerMail, $CONF["email03"], $CONF["shop_name"], $CONF["email02"], $CONF["email04"], $CONF["email04"]);
     $objMail->setTo($objPage->arrForm['email'], $objPage->arrForm['name01'] . " 様");
     $objMail->sendMail();
 }
コード例 #14
0
 /**
  * 会員登録完了メール送信する
  *
  * @access private
  * @return void
  */
 function lfSendMail($uniqid, $arrForm)
 {
     $CONF = SC_Helper_DB_Ex::sfGetBasisData();
     $objMailText = new SC_SiteView_Ex();
     $objMailText->setPage($this);
     $objMailText->assign('CONF', $CONF);
     $objMailText->assign('name01', $arrForm['name01']);
     $objMailText->assign('name02', $arrForm['name02']);
     $objMailText->assign('uniqid', $uniqid);
     $objMailText->assignobj($this);
     $objHelperMail = new SC_Helper_Mail_Ex();
     $objHelperMail->setPage($this);
     // 仮会員が有効の場合
     if (CUSTOMER_CONFIRM_MAIL == true) {
         $subject = $objHelperMail->sfMakeSubject(t('c_Confirmation of member registration_02'));
         $toCustomerMail = $objMailText->fetch('mail_templates/customer_mail.tpl');
     } else {
         $subject = $objHelperMail->sfMakeSubject(t('c_Completion of member registration_02'));
         $toCustomerMail = $objMailText->fetch('mail_templates/customer_regist_mail.tpl');
     }
     $objMail = new SC_SendMail_Ex();
     $objMail->setItem('', $subject, $toCustomerMail, $CONF['email03'], $CONF['shop_name'], $CONF['email03'], $CONF['email04'], $CONF['email04'], $CONF['email01']);
     // 宛先の設定
     $objMail->setTo($arrForm['email'], t('f_NAME_FULL_SIR_01', array('T_ARG1' => $arrForm['name01'], 'T_ARG2' => $arrForm['name02'])));
     $objMail->sendMail();
 }
コード例 #15
0
 /**
  * 退会手続き完了メール送信する
  *
  * @access private
  * @param integer $customer_id 会員ID
  * @return void
  */
 public function lfSendRefusalMail($customer_id)
 {
     // 会員データの取得
     if (SC_Utils_Ex::sfIsInt($customer_id)) {
         $arrCustomerData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($customer_id);
     }
     if (SC_Utils_Ex::isBlank($arrCustomerData)) {
         return false;
     }
     $CONF = SC_Helper_DB_Ex::sfGetBasisData();
     $objMailText = new SC_SiteView_Ex();
     $objMailText->setPage($this);
     $objMailText->assign('CONF', $CONF);
     $objMailText->assign('name01', $arrCustomerData['name01']);
     $objMailText->assign('name02', $arrCustomerData['name02']);
     $objMailText->assignobj($this);
     $objHelperMail = new SC_Helper_Mail_Ex();
     $objHelperMail->setPage($this);
     $subject = $objHelperMail->sfMakeSubject('退会手続きのご完了', $objMailText);
     $toCustomerMail = $objMailText->fetch('mail_templates/customer_refusal_mail.tpl');
     $objMail = new SC_SendMail_Ex();
     $objMail->setItem('', $subject, $toCustomerMail, $CONF['email03'], $CONF['shop_name'], $CONF['email03'], $CONF['email04'], $CONF['email04'], $CONF['email01']);
     $objMail->setTo($arrCustomerData['email'], $arrCustomerData['name01'] . $arrCustomerData['name02'] . ' 様');
     $objMail->sendMail();
 }
コード例 #16
0
 /**
  * Page のプロセス.
  *
  * @return void
  */
 function process()
 {
     global $objCampaignSess;
     $objConn = new SC_DbConn();
     $objQuery = new SC_Query();
     $objView = new SC_SiteView();
     $CONF = $objView->objSiteInfo->data;
     $objCampaignSess = new SC_CampaignSession();
     // レイアウトデザインを取得
     $objLayout = new SC_Helper_PageLayout_Ex();
     $objLayout->sfGetPageLayout($this, false, DEF_LAYOUT);
     //---- 登録用カラム配列
     $arrRegistColumn = array(array("column" => "name01", "convert" => "aKV"), array("column" => "name02", "convert" => "aKV"), array("column" => "kana01", "convert" => "CKV"), array("column" => "kana02", "convert" => "CKV"), array("column" => "zip01", "convert" => "n"), array("column" => "zip02", "convert" => "n"), array("column" => "pref", "convert" => "n"), array("column" => "addr01", "convert" => "aKV"), array("column" => "addr02", "convert" => "aKV"), array("column" => "email", "convert" => "a"), array("column" => "email2", "convert" => "a"), array("column" => "email_mobile", "convert" => "a"), array("column" => "email_mobile2", "convert" => "a"), array("column" => "tel01", "convert" => "n"), array("column" => "tel02", "convert" => "n"), array("column" => "tel03", "convert" => "n"), array("column" => "fax01", "convert" => "n"), array("column" => "fax02", "convert" => "n"), array("column" => "fax03", "convert" => "n"), array("column" => "sex", "convert" => "n"), array("column" => "job", "convert" => "n"), array("column" => "birth", "convert" => "n"), array("column" => "reminder", "convert" => "n"), array("column" => "reminder_answer", "convert" => "aKV"), array("column" => "password", "convert" => "a"), array("column" => "password02", "convert" => "a"), array("column" => "mailmaga_flg", "convert" => "n"));
     //---- 登録除外用カラム配列
     $arrRejectRegistColumn = array("year", "month", "day", "email02", "email_mobile02", "password02");
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         //-- POSTデータの引き継ぎ
         $this->arrForm = $_POST;
         if ($this->arrForm['year'] == '----') {
             $this->arrForm['year'] = '';
         }
         $this->arrForm['email'] = strtolower($this->arrForm['email']);
         // emailはすべて小文字で処理
         $this->arrForm['email02'] = strtolower($this->arrForm['email02']);
         // emailはすべて小文字で処理
         //-- 入力データの変換
         $this->arrForm = $this->lfConvertParam($this->arrForm, $arrRegistColumn);
         //-- 入力エラーチェック
         $this->arrErr = $this->lfErrorCheck($this->arrForm);
         if ($this->arrErr || $_POST["mode"] == "return") {
             // 入力エラーのチェック
             foreach ($this->arrForm as $key => $val) {
                 $this->{$key} = $val;
             }
         } else {
             //-- 確認
             if ($_POST["mode"] == "confirm") {
                 foreach ($this->arrForm as $key => $val) {
                     if ($key != "mode" && $key != "subm") {
                         $this->list_data[$key] = $val;
                     }
                 }
                 //パスワード表示
                 $passlen = strlen($this->arrForm['password']);
                 $this->passlen = $this->lfPassLen($passlen);
                 $this->tpl_mainpage = 'entry/confirm.tpl';
                 $this->tpl_title = '会員登録(確認ページ)';
             }
             //--仮登録と完了画面
             if ($_POST["mode"] == "complete") {
                 $this->uniqid = $this->lfRegistData($this->arrForm, $arrRegistColumn, $arrRejectRegistColumn);
                 if ($objCampaignSess->getIsCampaign()) {
                     $this->etc_value = "&cp=" . $objCampaignSess->getCampaignId();
                 }
                 $this->tpl_css = '/css/layout/entry/complete.css';
                 $this->tpl_mainpage = 'entry/complete.tpl';
                 $this->tpl_title = '会員登録(完了ページ)';
                 // 仮登録完了メール送信
                 $this->CONF = $CONF;
                 $this->name01 = $_POST['name01'];
                 $this->name02 = $_POST['name02'];
                 $objMailText = new SC_SiteView();
                 $objMailText->assignobj($this);
                 $objHelperMail = new SC_Helper_Mail_Ex();
                 $objQuery = new SC_Query();
                 $subject = $objHelperMail->sfMakeSubject($objQuery, $objMailText, $this, '会員登録のご確認');
                 $toCustomerMail = $objMailText->fetch("mail_templates/customer_mail.tpl");
                 $objMail = new SC_SendMail();
                 $objMail->setItem('', $subject, $toCustomerMail, $CONF["email03"], $CONF["shop_name"], $CONF["email03"], $CONF["email04"], $CONF["email04"], $CONF["email01"]);
                 // 宛先の設定
                 $name = $_POST["name01"] . $_POST["name02"] . " 様";
                 $objMail->setTo($_POST["email"], $name);
                 $objMail->sendMail();
                 // キャンペーン受注情報を登録
                 $this->lfRegistCampaignOrder($this->uniqid, $objQuery);
                 // 完了ページに移動させる。
                 $this->sendRedirect($this->getLocation("./complete.php"));
                 exit;
             }
         }
     }
     if ($this->year == '') {
         $this->year = '----';
     }
     //---- ページ表示
     $objView->assignobj($this);
     // フレームを選択(キャンペーンページから遷移なら変更)
     $objCampaignSess->pageView($objView);
 }
コード例 #17
0
<?php

require_once '../require.php';
require_once CLASS_REALDIR . '/aripay/alipay_notify.php';
require_once CLASS_REALDIR . '/helper/SC_Helper_Purchase.php';
$alipay = new alipay_notify(ARIPAY_PARTNER, ARIPAY_SECURITY_CODE, ARIPAY_SIGN_TYPE, ARIPAY_INPUT_CHARSET, ARIPAY_TRANSPORT);
$verify_result = $alipay->notify_verify();
$objMail = new SC_Helper_Mail_Ex();
if ($verify_result) {
    $out_trade_no = $_POST["out_trade_no"];
    $status = $_POST["trade_status"];
    $trade_no = $_POST["trade_no"];
    $total_fee = $_POST["total_fee"];
    $currency = $_POST["currency"];
    $objPurchase = new SC_Helper_Purchase();
    $orderInfo = $objPurchase->getOrder($out_trade_no);
    if (is_null($orderInfo)) {
        log_result("受注番号存在しない。アリペイパラメータ出力 out_trade_no:" . $out_trade_no . "status:" . $status . "trade_no:" . $trade_no . "total_fee:" . $total_fee . "currency" . $currency);
        exit;
    }
    $parameter = array("memo01" => "アリペイパラメータ出力 status:" . $status . "trade_no:" . $trade_no . "total_fee:" . $total_fee . "currency" . $currency);
    if ($status == "TRADE_FINISHED" && $orderInfo['status'] != ORDER_DELIV && $orderInfo['status'] != ORDER_PRE_END) {
        $objQuery =& SC_Query_Ex::getSingletonInstance();
        $objQuery->begin();
        $objPurchase->sfUpdateOrderStatus($out_trade_no, ORDER_PRE_END);
        $objQuery->commit();
        log_result("支払い完了。アリペイパラメータ出力 out_trade_no:" . $out_trade_no . "status:" . $status . "trade_no:" . $trade_no . "total_fee:" . $total_fee . "currency" . $currency);
        //支払い完了メール送信
        $objMail->sfSendOrderMail($out_trade_no, 7);
    } else {
        if ($status == "TRADE_CLOSED" && $orderInfo['status'] != ORDER_CANCEL) {
コード例 #18
0
 /**
  * Page のプロセス(モバイル).
  *
  * @return void
  */
 function mobileProcess()
 {
     $objConn = new SC_DbConn();
     $this->arrForm = $_POST;
     // 登録
     if (isset($_REQUEST['btnRegist'])) {
         $this->arrErr = $this->lfMailErrorCheck($this->arrForm, "regist", $objConn);
         // エラーがなければ
         if (count($this->arrErr) == 0) {
             // 確認
             $this->arrForm['kind'] = 'メルマガ登録';
             $this->arrForm['type'] = 'regist';
             $this->arrForm['mail'] = $this->arrForm['regist'];
         } else {
             $this->tpl_mainpage = 'magazine/index.tpl';
             $this->tpl_title = 'メルマガ登録・解除';
         }
         // 解除
     } elseif (isset($_REQUEST['btnCancel'])) {
         $this->arrErr = $this->lfMailErrorCheck($this->arrForm, "cancel", $objConn);
         // エラーがなければ
         if (count($this->arrErr) == 0) {
             // 確認
             $this->arrForm['kind'] = 'メルマガ解除';
             $this->arrForm['type'] = 'cancel';
             $this->arrForm['mail'] = $this->arrForm['cancel'];
         } else {
             $this->tpl_mainpage = 'magazine/index.tpl';
             $this->tpl_title = 'メルマガ登録・解除';
         }
         // 完了
     } elseif ($_REQUEST['mode'] == 'regist' or $_REQUEST['mode'] == 'cancel') {
         $objMailText = new SC_MobileView();
         $helperMail = new SC_Helper_Mail_Ex();
         $objQuery = new SC_Query();
         // 登録
         if ($_REQUEST['mode'] == 'regist') {
             $uniqId = $this->lfRegistData($_POST["email"], $objConn);
             $subject = $helperMail->fMakesubject($objQuery, $objMailText, $this, 'メルマガ登録のご確認');
             // 解除
         } elseif ($_REQUEST['mode'] == 'cancel') {
             $uniqId = $this->lfGetSecretKey($_POST["email"], $objConn);
             $subject = $helperMail->sfMakesubject($objQuery, $objMailText, $this, 'メルマガ解除のご確認');
         }
         $objDb = new SC_Helper_DB_Ex();
         $CONF = $objDb->sf_getBasisData();
         $this->CONF = $CONF;
         $this->tpl_url = SC_Utils_Ex::gfAddSessionId(MOBILE_SSL_URL . "magazine/" . $_REQUEST['mode'] . ".php?id=" . $uniqId);
         $objMailText->assignobj($this);
         $toCustomerMail = $objMailText->fetch("mail_templates/mailmagazine_" . $_REQUEST['mode'] . ".tpl");
         $objMail = new SC_SendMail();
         $objMail->setItem('', $subject, $toCustomerMail, $CONF["email03"], $CONF["shop_name"], $CONF["email03"], $CONF["email04"], $CONF["email04"], $CONF["email01"]);
         // 宛先の設定
         $objMail->setTo($_POST["email"], $_POST["email"]);
         $objMail->sendMail();
         // 完了ページに移動させる。
         $this->sendRedirect($this->getLocation("./complete.php", array(session_name() => session_id())));
         exit;
     } else {
         SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR, "", false, "", true);
     }
     $objView = new SC_MobileView();
     // レイアウトデザインを取得
     $objLayout = new SC_Helper_PageLayout_Ex();
     $objLayout->sfGetPageLayout($this, false, DEF_LAYOUT);
     $objView->assignobj($this);
     $objView->display(SITE_FRAME);
 }
コード例 #19
0
ファイル: SC_Helper_Mail.php プロジェクト: nanasess/ec-azure
 /**
  * 登録メールを送信する。
  *
  * @param string $secret_key 会員固有キー
  * @param integer $customer_id 顧客ID
  * @param boolean $is_mobile false(default):PCアドレスにメールを送る true:携帯アドレスにメールを送る
  * @return boolean true:成功 false:失敗
  */
 function sfSendRegistMail($secret_key, $customer_id = '', $is_mobile = false)
 {
     // 会員データの取得
     if (SC_Utils_Ex::sfIsInt($customer_id)) {
         $arrCustomerData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($customer_id);
     } else {
         $arrCustomerData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId('', "secret_key = ?", array($secret_key));
     }
     if (SC_Utils_Ex::isBlank($arrCustomerData)) {
         return false;
     }
     $CONF = SC_Helper_DB_Ex::sfGetBasisData();
     $objMailText = new SC_SiteView_Ex();
     $objMailText->assign('CONF', $CONF);
     $objMailText->assign("name01", $arrCustomerData['name01']);
     $objMailText->assign("name02", $arrCustomerData['name02']);
     $objMailText->assign('uniqid', $arrCustomerData['secret_key']);
     $objMailText->assignobj($arrCustomerData);
     $objMailText->assignobj($this);
     $objHelperMail = new SC_Helper_Mail_Ex();
     // 仮会員が有効の場合
     if (CUSTOMER_CONFIRM_MAIL == true and $arrCustomerData['status'] == 1) {
         $subject = $objHelperMail->sfMakeSubject('会員登録のご確認', $objMailText);
         $toCustomerMail = $objMailText->fetch("mail_templates/customer_mail.tpl");
     } else {
         $subject = $objHelperMail->sfMakeSubject('会員登録のご完了', $objMailText);
         $toCustomerMail = $objMailText->fetch("mail_templates/customer_regist_mail.tpl");
     }
     $objMail = new SC_SendMail();
     $objMail->setItem('', $subject, $toCustomerMail, $CONF["email03"], $CONF["shop_name"], $CONF["email03"], $CONF["email04"], $CONF["email04"], $CONF["email01"]);
     // 宛先の設定
     if ($is_mobile) {
         $to_addr = $arrCustomerData["email_mobile"];
     } else {
         $to_addr = $arrCustomerData['email'];
     }
     $objMail->setTo($to_addr, $arrCustomerData["name01"] . $arrCustomerData["name02"] . " 様");
     $objMail->sendMail();
     return true;
 }
コード例 #20
0
 /**
  * パスワード変更お知らせメールを送信する.
  *
  * @param array $CONF 店舗基本情報の配列
  * @param string $email 送信先メールアドレス
  * @param string $customer_name 送信先氏名
  * @param string $new_password 変更後の新パスワード
  * @return void
  *
  * FIXME: メールテンプレート編集の方に足すのが望ましい
  */
 function lfSendMail(&$CONF, $email, $customer_name, $new_password)
 {
     // パスワード変更お知らせメール送信
     $objMailText = new SC_SiteView_Ex(false);
     $objMailText->setPage($this);
     $objMailText->assign('customer_name', $customer_name);
     $objMailText->assign('new_password', $new_password);
     $toCustomerMail = $objMailText->fetch('mail_templates/forgot_mail.tpl');
     $objHelperMail = new SC_Helper_Mail_Ex();
     $objHelperMail->setPage($this);
     // メール送信オブジェクトによる送信処理
     $objMail = new SC_SendMail_Ex();
     $objMail->setItem('', $objHelperMail->sfMakeSubject(t('c_The password has been changed._01')), $toCustomerMail, $CONF['email03'], $CONF['shop_name'], $CONF['email03'], $CONF['email04'], $CONF['email04']);
     $objMail->setTo($email, t('f_LAST_NAME_SIR_01', array('T_ARG1' => $customer_name)));
     $objMail->sendMail();
     return;
 }
コード例 #21
0
ファイル: LC_Page_Regist.php プロジェクト: casan/eccube-2_13
 /**
  * 正会員登録完了メール送信
  *
  * @param string $registSecretKey
  * @access private
  * @return void
  */
 public function lfSendRegistMail($registSecretKey)
 {
     $objQuery = SC_Query_Ex::getSingletonInstance();
     $objCustomer = new SC_Customer_Ex();
     $objHelperMail = new SC_Helper_Mail_Ex();
     $objHelperMail->setPage($this);
     $CONF = SC_Helper_DB_Ex::sfGetBasisData();
     //-- 会員データを取得
     $arrCustomer = $objQuery->select('*', 'dtb_customer', 'secret_key = ?', array($registSecretKey));
     $data = $arrCustomer[0];
     $objCustomer->setLogin($data['email']);
     //-- メール送信
     $objMailText = new SC_SiteView_Ex();
     $objMailText->setPage($this);
     $objMailText->assign('CONF', $CONF);
     $objMailText->assign('name01', $data['name01']);
     $objMailText->assign('name02', $data['name02']);
     $toCustomerMail = $objMailText->fetch('mail_templates/customer_regist_mail.tpl');
     $subject = $objHelperMail->sfMakesubject('会員登録が完了しました。');
     $objMail = new SC_SendMail_Ex();
     $objMail->setItem('', $subject, $toCustomerMail, $CONF['email03'], $CONF['shop_name'], $CONF['email03'], $CONF['email04'], $CONF['email04']);
     // 宛先の設定
     $name = $data['name01'] . $data['name02'] . ' 様';
     $objMail->setTo($data['email'], $name);
     $objMail->sendMail();
 }
コード例 #22
0
 /**
  * Page のプロセス.
  *
  * @return void
  */
 function process()
 {
     $objView = new SC_AdminView();
     $objSess = new SC_Session();
     SC_Utils_Ex::sfIsSuccess($objSess);
     // 検索パラメータの引き継ぎ
     foreach ($_POST as $key => $val) {
         if (ereg("^search_", $key)) {
             $this->arrSearchHidden[$key] = $val;
         }
     }
     $this->tpl_order_id = $_POST['order_id'];
     // パラメータ管理クラス
     $objFormParam = new SC_FormParam();
     // パラメータ情報の初期化
     $this->lfInitParam($objFormParam);
     $objMail = new SC_Helper_Mail_Ex();
     switch ($_POST['mode']) {
         case 'pre_edit':
             break;
         case 'return':
             // POST値の取得
             $objFormParam->setParam($_POST);
             break;
         case 'send':
             // POST値の取得
             $objFormParam->setParam($_POST);
             // 入力値の変換
             $objFormParam->convParam();
             $this->arrErr = $objFormParam->checkerror();
             // メールの送信
             if (count($this->arrErr) == 0) {
                 // 注文受付メール
                 $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer']);
             }
             $this->sendRedirect($this->getLocation(URL_SEARCH_ORDER));
             exit;
             break;
         case 'confirm':
             // POST値の取得
             $objFormParam->setParam($_POST);
             // 入力値の変換
             $objFormParam->convParam();
             // 入力値の引き継ぎ
             $this->arrHidden = $objFormParam->getHashArray();
             $this->arrErr = $objFormParam->checkerror();
             // メールの送信
             if (count($this->arrErr) == 0) {
                 // 注文受付メール(送信なし)
                 $objSendMail = $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer'], false);
                 // 確認ページの表示
                 $this->tpl_subject = $_POST['subject'];
                 $this->tpl_body = mb_convert_encoding($objSendMail->body, CHAR_CODE, "auto");
                 $this->tpl_to = $objSendMail->tpl_to;
                 $this->tpl_mainpage = 'order/mail_confirm.tpl';
                 $objView->assignobj($this);
                 $objView->display(MAIN_FRAME);
                 exit;
             }
             break;
         case 'change':
             // POST値の取得
             $objFormParam->setValue('template_id', $_POST['template_id']);
             if (SC_Utils_Ex::sfIsInt($_POST['template_id'])) {
                 $objQuery = new SC_Query();
                 $where = "template_id = ?";
                 $arrRet = $objQuery->select("subject, header, footer", "dtb_mailtemplate", $where, array($_POST['template_id']));
                 $objFormParam->setParam($arrRet[0]);
             }
             break;
     }
     $objQuery = new SC_Query();
     $col = "send_date, subject, template_id, send_id";
     $where = "order_id = ?";
     $objQuery->setorder("send_date DESC");
     if (SC_Utils_Ex::sfIsInt($_POST['order_id'])) {
         $this->arrMailHistory = $objQuery->select($col, "dtb_mail_history", $where, array($_POST['order_id']));
     }
     $this->arrForm = $objFormParam->getFormParamList();
     $objView->assignobj($this);
     $objView->display(MAIN_FRAME);
 }
コード例 #23
0
 /**
  * 受注完了メールを送信する.
  *
  * HTTP_USER_AGENT の種別により, 携帯電話の場合は携帯用の文面,
  * PC の場合は PC 用の文面でメールを送信する.
  *
  * @param integer $orderId 受注ID
  * @return void
  */
 function sendOrderMail($orderId)
 {
     $mailHelper = new SC_Helper_Mail_Ex();
     $mailHelper->sfSendOrderMail($orderId, SC_MobileUserAgent_Ex::isMobile() ? 2 : 1);
 }
コード例 #24
0
 function lfRegistPreCustomer($arrData, $arrInfo)
 {
     // 購入時の会員登録
     $sqlval['name01'] = $arrData['order_name01'];
     $sqlval['name02'] = $arrData['order_name02'];
     $sqlval['kana01'] = $arrData['order_kana01'];
     $sqlval['kana02'] = $arrData['order_kana02'];
     $sqlval['zip01'] = $arrData['order_zip01'];
     $sqlval['zip02'] = $arrData['order_zip02'];
     $sqlval['pref'] = $arrData['order_pref'];
     $sqlval['addr01'] = $arrData['order_addr01'];
     $sqlval['addr02'] = $arrData['order_addr02'];
     $sqlval['email'] = $arrData['order_email'];
     $sqlval['tel01'] = $arrData['order_tel01'];
     $sqlval['tel02'] = $arrData['order_tel02'];
     $sqlval['tel03'] = $arrData['order_tel03'];
     $sqlval['fax01'] = $arrData['order_fax01'];
     $sqlval['fax02'] = $arrData['order_fax02'];
     $sqlval['fax03'] = $arrData['order_fax03'];
     $sqlval['sex'] = $arrData['order_sex'];
     $sqlval['password'] = $arrData['password'];
     $sqlval['reminder'] = $arrData['reminder'];
     $sqlval['reminder_answer'] = $arrData['reminder_answer'];
     // メルマガ配信用フラグの判定
     switch ($arrData['mail_flag']) {
         case '1':
             // HTMLメール
             $mail_flag = 4;
             break;
         case '2':
             // TEXTメール
             $mail_flag = 5;
             break;
         case '3':
             // 希望なし
             $mail_flag = 6;
             break;
         default:
             $mail_flag = 6;
             break;
     }
     // メルマガフラグ
     $sqlval['mailmaga_flg'] = $mail_flag;
     // 会員仮登録
     $sqlval['status'] = 1;
     // URL判定用キー
     $sqlval['secret_key'] = SC_Utils_Ex::sfGetUniqRandomId("t");
     $objQuery = new SC_Query();
     $sqlval['create_date'] = "now()";
     $sqlval['update_date'] = "now()";
     $objQuery->insert("dtb_customer", $sqlval);
     // 顧客IDの取得
     $arrRet = $objQuery->select("customer_id", "dtb_customer", "secret_key = ?", array($sqlval['secret_key']));
     $customer_id = $arrRet[0]['customer_id'];
     // 仮登録完了メール送信
     $objMailPage = $this;
     $objMailPage->to_name01 = $arrData['order_name01'];
     $objMailPage->to_name02 = $arrData['order_name02'];
     $objMailPage->CONF = $arrInfo;
     $objMailPage->uniqid = $sqlval['secret_key'];
     $objMailView = new SC_SiteView();
     $objMailView->assignobj($objMailPage);
     $body = $objMailView->fetch("mail_templates/customer_mail.tpl");
     $mailHelper = new SC_Helper_Mail_Ex();
     $objMail = new SC_SendMail();
     $objMail->setItem('', $mailHelper->sfMakeSubject($objQuery, $objMailView, $objMailPage, "会員登録のご確認"), $body, $arrInfo['email03'], $arrInfo['shop_name'], $arrInfo["email03"], $arrInfo["email04"], $arrInfo["email04"], $arrInfo["email01"]);
     // 宛先の設定
     $name = $arrData['order_name01'] . $arrData['order_name02'] . " 様";
     $objMail->setTo($arrData['order_email'], $name);
     $objMail->sendMail();
     return $customer_id;
 }
コード例 #25
0
 /**
  * 受注完了メールを送信する.
  *
  * HTTP_USER_AGENT の種別により, 携帯電話の場合は携帯用の文面,
  * PC の場合は PC 用の文面でメールを送信する.
  *
  * @param integer $orderId 受注ID
  * @return void
  */
 function sendOrderMail($orderId)
 {
     $mailHelper = new SC_Helper_Mail_Ex();
     $template_id = SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE ? 2 : 1;
     $mailHelper->sfSendOrderMail($orderId, $template_id);
 }
コード例 #26
0
 /**
  * メールの送信を行う。
  *
  * @return void
  */
 function lfSendMail(&$objPage)
 {
     $CONF = SC_Helper_DB_Ex::sfGetBasisData();
     $objPage->tpl_shopname = $CONF['shop_name'];
     $objPage->tpl_infoemail = $CONF['email02'];
     $helperMail = new SC_Helper_Mail_Ex();
     $helperMail->setPage($this);
     $helperMail->sfSendTemplateMail($objPage->arrForm['email']['value'], $objPage->arrForm['name01']['value'] . ' 様', 5, $objPage, $CONF['email03'], $CONF['shop_name'], $CONF['email02'], $CONF['email02']);
 }
コード例 #27
0
 /**
  * 会員に登録メールを再送する処理
  *
  * @param  integer $customer_id 会員ID
  * @return boolean true:成功 false:失敗
  */
 public function lfDoResendMail($customer_id)
 {
     $arrData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($customer_id);
     if (SC_Utils_Ex::isBlank($arrData) or $arrData['del_flg'] == 1) {
         //対象となるデータが見つからない、または削除済み
         return false;
     }
     //仮登録メール再送
     $resend_flg = true;
     // 登録メール再送
     $objHelperMail = new SC_Helper_Mail_Ex();
     $objHelperMail->setPage($this);
     $objHelperMail->sfSendRegistMail($arrData['secret_key'], $customer_id, null, $resend_flg);
     return true;
 }
コード例 #28
0
 /**
  * Page のアクション.
  *
  * @return void
  */
 function action()
 {
     // パラメーター管理クラス
     $objFormParam = new SC_FormParam_Ex();
     $this->lfInitParamSearchCustomer($objFormParam);
     $objFormParam->setParam($_POST);
     // パラメーター読み込み
     $this->arrHidden = $objFormParam->getSearchArray();
     // 入力パラメーターチェック
     $this->arrErr = SC_Helper_Customer_Ex::sfCheckErrorSearchParam($objFormParam);
     $this->arrForm = $objFormParam->getFormParamList();
     if (!SC_Utils_Ex::isBlank($this->arrErr)) {
         return;
     }
     // モードによる処理切り替え
     switch ($this->getMode()) {
         // 配信先検索
         case 'search':
         case 'back':
             list($this->tpl_linemax, $this->arrResults, $this->objNavi) = SC_Helper_Customer_Ex::sfGetSearchData($objFormParam->getHashArray());
             $this->arrPagenavi = $this->objNavi->arrPagenavi;
             break;
             // input:検索結果画面「配信内容を設定する」押下後
         // input:検索結果画面「配信内容を設定する」押下後
         case 'input':
             $this->tpl_mainpage = 'mail/input.tpl';
             break;
             // template:テンプレート選択時
         // template:テンプレート選択時
         case 'template':
         case 'regist_back':
             $this->tpl_mainpage = 'mail/input.tpl';
             if (SC_Utils_Ex::sfIsInt($_POST['template_id']) === true) {
                 $this->lfAddParamSelectTemplate($objFormParam);
                 $this->lfGetTemplateData($objFormParam, $_POST['template_id']);
                 // regist_back時、subject,bodyにはテンプレートを読み込むのではなく、入力内容で上書き
                 if ($this->getMode() == 'regist_back') {
                     $objFormParam->setParam($_POST);
                 }
             }
             break;
         case 'regist_confirm':
             $this->tpl_mainpage = 'mail/input.tpl';
             $this->lfAddParamSelectTemplate($objFormParam);
             $objFormParam->setParam($_POST);
             $this->arrErr = $objFormParam->checkError();
             if (SC_Utils_Ex::isBlank($this->arrErr)) {
                 $this->tpl_mainpage = 'mail/input_confirm.tpl';
             }
             break;
         case 'regist_complete':
             $this->tpl_mainpage = 'mail/input.tpl';
             $this->lfAddParamSelectTemplate($objFormParam);
             $objFormParam->setParam($_POST);
             $this->arrErr = $objFormParam->checkError();
             if (SC_Utils_Ex::isBlank($this->arrErr)) {
                 $this->tpl_mainpage = 'mail/index.tpl';
                 SC_Helper_Mail_Ex::sfSendMailmagazine($this->lfRegisterData($objFormParam));
                 // DB登録・送信
                 SC_Response_Ex::sendRedirect('./history.php');
             }
             break;
             // query:配信履歴から「確認」
         // query:配信履歴から「確認」
         case 'query':
             if (SC_Utils_Ex::sfIsInt($_GET['send_id'])) {
                 $this->arrSearchData = $this->lfGetMailQuery();
             }
             $this->setTemplate('mail/query.tpl');
             break;
             // query:配信履歴から「再送信」
         // query:配信履歴から「再送信」
         case 'retry':
             if (SC_Utils_Ex::sfIsInt($_GET['send_id'])) {
                 SC_Helper_Mail_Ex::sfSendMailmagazine($_GET['send_id']);
                 // DB登録・送信
                 SC_Response_Ex::sendRedirect('./history.php');
             } else {
                 $this->tpl_onload = "window.alert('メール送信IDが正しくありません');";
             }
             break;
         default:
             break;
     }
     $this->arrForm = $objFormParam->getFormParamList();
 }
コード例 #29
0
 /**
  * 登録メールを送信する。
  *
  * @param string $secret_key 会員固有キー
  * @param integer $customer_id 会員ID
  * @param boolean $is_mobile false(default):PCアドレスにメールを送る true:携帯アドレスにメールを送る
  * @return boolean true:成功 false:失敗
  */
 function sfSendRegistMail($secret_key, $customer_id = '', $is_mobile = false)
 {
     // 会員データの取得
     if (SC_Utils_Ex::sfIsInt($customer_id)) {
         $arrCustomerData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($customer_id);
     } else {
         $arrCustomerData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId('', 'secret_key = ?', array($secret_key));
     }
     if (SC_Utils_Ex::isBlank($arrCustomerData)) {
         return false;
     }
     $CONF = SC_Helper_DB_Ex::sfGetBasisData();
     $objMailText = new SC_SiteView_Ex();
     $objMailText->setPage($this->getPage());
     $objMailText->assign('CONF', $CONF);
     $objMailText->assign('name01', $arrCustomerData['name01']);
     $objMailText->assign('name02', $arrCustomerData['name02']);
     $objMailText->assign('uniqid', $arrCustomerData['secret_key']);
     $objMailText->assignobj($arrCustomerData);
     $objMailText->assignobj($this);
     $objHelperMail = new SC_Helper_Mail_Ex();
     // 仮会員が有効の場合
     if (CUSTOMER_CONFIRM_MAIL == true and $arrCustomerData['status'] == 1) {
         $subject = $objHelperMail->sfMakeSubject(t('c_Confirmation of member registration_01'), $objMailText);
         $toCustomerMail = $objMailText->fetch('mail_templates/customer_mail.tpl');
     } else {
         $subject = $objHelperMail->sfMakeSubject(t('c_Completion of member registration_01'), $objMailText);
         $toCustomerMail = $objMailText->fetch('mail_templates/customer_regist_mail.tpl');
     }
     $objMail = new SC_SendMail_Ex();
     $objMail->setItem('', $subject, $toCustomerMail, $CONF['email03'], $CONF['shop_name'], $CONF['email03'], $CONF['email04'], $CONF['email04'], $CONF['email01']);
     // 宛先の設定
     if ($is_mobile) {
         $to_addr = $arrCustomerData['email_mobile'];
     } else {
         $to_addr = $arrCustomerData['email'];
     }
     $objMail->setTo($to_addr, t('f_NAME_FULL_SIR_01', array('T_ARG1' => $arrCustomerData['name01'], 'T_ARG2' => $arrCustomerData['name02'])));
     $objMail->sendMail();
     return true;
 }