Changeset 20216
- Timestamp:
- 2011/02/20 01:23:40 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Mail.php
r20215 r20216 74 74 // 検索パラメータの引き継ぎ 75 75 $this->arrSearchHidden = SC_Utils_Ex::sfFilterKey($_POST,"^search_"); 76 $this->tpl_order_id = $_POST['order_id'];77 76 // パラメータ管理クラス 78 77 $objFormParam = new SC_FormParam(); 79 78 // パラメータ情報の初期化 80 79 $this->lfInitParam($objFormParam); 80 // POST値の取得 81 $objFormParam->setParam($_POST); 82 $this->tpl_order_id = $objFormParam->getValue('order_id'); 81 83 82 84 switch($this->getMode()) { … … 84 86 break; 85 87 case 'return': 86 // POST値の取得87 $objFormParam->setParam($_POST);88 88 break; 89 89 case 'send': 90 $this->send($objFormParam); 91 exit; 90 // 入力値の変換 TODO ここ気持ち悪いんだ returnの時にやってなかったからもって上でやっていいものなのかどうか。 91 $objFormParam->convParam(); 92 $sendStatus = $this->doSend($objFormParam, 93 $objFormParam->getValue('order_id'), 94 $objFormParam->getValue('template_id'), 95 $objFormParam->getValue('subject'), 96 $objFormParam->getValue('header'), 97 $objFormParam->getValue('footer')); 98 if($sendStatus){ 99 SC_Response_Ex::sendRedirect(ADMIN_ORDER_URLPATH); 100 exit; 101 } 92 102 case 'confirm': 93 $this->confirm($objFormParam); 103 // 入力値の変換 ここ気持ち悪いんだ 104 $objFormParam->convParam(); 105 $status = $this->confirm($objFormParam, 106 $objFormParam->getValue('order_id'), 107 $objFormParam->getValue('template_id'), 108 $objFormParam->getValue('subject'), 109 $objFormParam->getValue('header'), 110 $objFormParam->getValue('footer')); 111 if($status){ 112 return ; 113 } 94 114 break; 95 115 case 'change': 96 // POST値の取得97 116 $this->changeData($objFormParam); 98 117 break; 99 118 } 100 119 101 if(SC_Utils_Ex::sfIsInt($ _POST['order_id'])) {102 $this->arrMailHistory = $this->getMailHistory($ _POST['order_id']);120 if(SC_Utils_Ex::sfIsInt($objFormParam->getValue('order_id'))) { 121 $this->arrMailHistory = $this->getMailHistory($objFormParam->getValue('order_id')); 103 122 } 104 123 105 124 $this->arrForm = $objFormParam->getFormParamList(); 106 125 } 107 126 108 127 /** 109 128 * 指定された注文番号のメール履歴を取得する。 … … 119 138 120 139 /** 121 * 140 * 122 141 * メールを送る。 123 142 * @param SC_FormParam $objFormParam 124 143 */ 125 function send(&$objFormParam){ 126 // POST値の取得 127 $objFormParam->setParam($_POST); 144 function doSend(&$objFormParam,$order_id, $template_id, $subject, $header, $footer){ 128 145 // 入力値の変換 129 146 $objFormParam->convParam(); 147 130 148 $this->arrErr = $objFormParam->checkerror(); 131 149 // メールの送信 … … 133 151 // 注文受付メール 134 152 $objMail = new SC_Helper_Mail_Ex(); 135 $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer']); 136 } 137 SC_Response_Ex::sendRedirect(ADMIN_ORDER_URLPATH); 138 } 139 140 function confirm(&$objFormParam){ 141 // POST値の取得 142 $objFormParam->setParam($_POST); 143 // 入力値の変換 144 $objFormParam->convParam(); 153 $objSendMail = $objMail->sfSendOrderMail($order_id, $template_id, $subject, $header, $footer); 154 // TODO $SC_SendMail から送信がちゃんと出来たか確認できたら素敵。 155 return true; 156 } 157 return false; 158 } 159 160 /** 161 * 確認画面を表示する為の準備 162 * @param SC_FormParam $objFormParam 163 * @param int $order_id 164 * @param int $template_id 165 * @param string $subject 166 * @param string $header 167 * @param string $footer 168 */ 169 function confirm(&$objFormParam,$order_id, $template_id, $subject, $header, $footer){ 145 170 // 入力値の引き継ぎ 146 171 $this->arrHidden = $objFormParam->getHashArray(); … … 150 175 // 注文受付メール(送信なし) 151 176 $objMail = new SC_Helper_Mail_Ex(); 152 $objSendMail = $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer'], false); 153 // 確認ページの表示 154 $this->tpl_subject = $_POST['subject']; 177 $objSendMail = $objMail->sfSendOrderMail( 178 $order_id, 179 $template_id, 180 $subject, 181 $header, 182 $footer, false); 183 184 $this->tpl_subject = $objFormParam->getValue('subject'); 155 185 $this->tpl_body = mb_convert_encoding( $objSendMail->body, CHAR_CODE, "auto" ); 156 186 $this->tpl_to = $objSendMail->tpl_to; 157 187 $this->tpl_mainpage = 'order/mail_confirm.tpl'; 158 return; 159 } 160 } 161 188 return true; 189 } 190 return false; 191 } 192 193 /** 194 * 195 * テンプレートの文言をフォームに入れる。 196 * @param SC_FormParam $objFormParam 197 */ 162 198 function changeData(&$objFormParam){ 163 $objFormParam->setValue('template_id', $ _POST['template_id']);164 if(SC_Utils_Ex::sfIsInt($ _POST['template_id'])) {199 $objFormParam->setValue('template_id', $objFormParam->getValue('template_id')); 200 if(SC_Utils_Ex::sfIsInt($objFormParam->getValue('template_id'))) { 165 201 $objQuery =& SC_Query::getSingletonInstance(); 166 202 $where = "template_id = ?"; 167 $ arrRet = $objQuery->select("subject, header, footer", "dtb_mailtemplate", $where, array($_POST['template_id']));168 $objFormParam->setParam($ arrRet[0]);203 $mailTemplates = $objQuery->select("subject, header, footer", "dtb_mailtemplate", $where, array($objFormParam->getValue('template_id'))); 204 $objFormParam->setParam($mailTemplates[0]); 169 205 } 170 206 } … … 181 217 182 218 183 /* パラメータ情報の初期化 */184 219 /** 185 220 * パラメータ情報の初期化 … … 187 222 */ 188 223 function lfInitParam(&$objFormParam) { 224 $objFormParam->addParam("オーダーID", "order_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 189 225 $objFormParam->addParam("テンプレート", "template_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 190 226 $objFormParam->addParam("メールタイトル", "subject", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "SPTAB_CHECK"));
Note: See TracChangeset
for help on using the changeset viewer.