- Timestamp:
- 2011/02/17 21:47:13 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/pages/contact/LC_Page_Contact.php
r20078 r20186 1 1 2 <?php 2 3 /* … … 38 39 39 40 /** 40 * フォーム値変換用カラム41 *42 *43 */44 var $arrConvertColumn = array(45 array("column" => "name01", "convert" => "aKV"),46 array("column" => "name02", "convert" => "aKV"),47 array("column" => "kana01", "convert" => "CKV"),48 array("column" => "kana02", "convert" => "CKV"),49 array("column" => "zip01", "convert" => "n"),50 array("column" => "zip02", "convert" => "n"),51 array("column" => "pref", "convert" => "n"),52 array("column" => "addr01", "convert" => "aKV"),53 array("column" => "addr02", "convert" => "aKV"),54 array("column" => "email", "convert" => "a"),55 array("column" => "email02", "convert" => "a"),56 array("column" => "tel01", "convert" => "n"),57 array("column" => "tel02", "convert" => "n"),58 array("column" => "tel03", "convert" => "n"),59 array("column" => "contents", "convert" => "aKV"),60 );61 62 /**63 41 * Page を初期化する. 64 42 * … … 92 70 function action() { 93 71 $objDb = new SC_Helper_DB_Ex(); 72 $objFormParam = new SC_FormParam(); 94 73 $this->CONF = $objDb->sfGetBasisData(); // 店舗基本情報 95 74 … … 98 77 switch ($this->getMode()) { 99 78 case 'confirm': 100 $this->lfContactConfirm(); 79 // エラーチェック 80 $this->lfInitParam($objFormParam); 81 $objFormParam->setParam($_POST); 82 $objFormParam->convParam(); 83 $objFormParam->toLower('email'); 84 $objFormParam->toLower('email02'); 85 $this->arrErr = $objFormParam->checkError(); 86 // 入力値の取得 87 $this->arrForm = $objFormParam->getFormParamList(); 88 89 if ( ! $this->arrErr ){ 90 // エラー無しで完了画面 91 $this->tpl_mainpage = 'contact/confirm.tpl'; 92 $this->tpl_title = 'お問い合わせ(確認ページ)'; 93 } 94 101 95 break; 102 96 103 97 case 'return': 104 $this->lfContactReturn(); 98 $this->lfInitParam($objFormParam); 99 $objFormParam->setParam($_POST); 100 $this->arrForm = $objFormParam->getFormParamList(); 105 101 break; 106 107 102 case 'complete': 108 $this->lfContactComplete(); 103 $this->lfInitParam($objFormParam); 104 $objFormParam->setParam($_POST); 105 $this->arrErr = $objFormParam->checkError(); 106 $this->arrForm = $objFormParam->getFormParamList(); 107 if(!$this->arrErr) { 108 $this->lfSendMail($this); 109 // 完了ページへ移動する 110 SC_Response_Ex::sendRedirect('complete.php'); 111 exit; 112 } else { 113 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR); 114 } 109 115 break; 110 116 … … 125 131 // }}} 126 132 // {{{ protected functions 127 128 129 * 確認画面133 134 /** 135 * お問い合わせ入力時のパラメータ情報の初期化を行う. 130 136 * 137 * @param SC_FormParam $objFormParam SC_FormParam インスタンス 131 138 * @return void 132 139 */ 133 function lfContactConfirm() { 134 // エラーチェック 135 $arrForm = $_POST; 136 $arrForm['email'] = strtolower($_POST['email']); 137 $this->arrForm = $this->lfConvertParam($arrForm, $this->arrConvertColumn); 138 $this->arrErr = $this->lfErrorCheck($this->arrForm); 139 if ( ! $this->arrErr ){ 140 // エラー無しで完了画面 141 $this->tpl_mainpage = 'contact/confirm.tpl'; 142 $this->tpl_title = 'お問い合わせ(確認ページ)'; 143 } 144 } 145 146 /** 147 * 前に戻る 148 * 149 * @return void 150 */ 151 function lfContactReturn() { 152 $this->arrForm = $_POST; 153 } 154 155 /** 156 * 完了ページへ 157 * 158 * @return void 159 */ 160 function lfContactComplete() { 161 $arrForm = $_POST; 162 $arrForm['email'] = isset($_POST['email']) ? strtolower($_POST['email']) : ''; 163 $arrForm['email02'] = isset($_POST['email02']) ? strtolower($_POST['email02']) : ''; 164 $this->arrForm = $this->lfConvertParam($arrForm, $this->arrConvertColumn); 165 $this->arrErr = $this->lfErrorCheck($this->arrForm); 166 if(!$this->arrErr) { 167 $this->lfSendMail($this); 168 // 完了ページへ移動する 169 SC_Response_Ex::sendRedirect('complete.php'); 170 exit; 171 } else { 172 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR); 173 } 174 } 175 176 //エラーチェック処理部 177 function lfErrorCheck($array) { 178 $objErr = new SC_CheckError($array); 179 $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 180 $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 181 $objErr->doFunc(array("お名前(フリガナ・姓)", 'kana01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK", "KANA_CHECK")); 182 $objErr->doFunc(array("お名前(フリガナ・名)", 'kana02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK", "KANA_CHECK")); 183 $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN ) ,array("SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 184 $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN ) ,array("SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 185 $objErr->doFunc(array("住所1", "addr01", MTEXT_LEN), array("SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 186 $objErr->doFunc(array("住所2", "addr02", MTEXT_LEN), array("SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 187 $objErr->doFunc(array("お問い合わせ内容", "contents", MLTEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 188 $objErr->doFunc(array('メールアドレス', "email", MTEXT_LEN) ,array("EXIST_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 189 $objErr->doFunc(array('メールアドレス(確認)', "email02", MTEXT_LEN) ,array("EXIST_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 190 $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', "email", "email02") ,array("EQUAL_CHECK")); 191 $objErr->doFunc(array("お電話番号1", 'tel01', TEL_ITEM_LEN), array("NUM_CHECK", "MAX_LENGTH_CHECK")); 192 $objErr->doFunc(array("お電話番号2", 'tel02', TEL_ITEM_LEN), array("NUM_CHECK", "MAX_LENGTH_CHECK")); 193 $objErr->doFunc(array("お電話番号3", 'tel03', TEL_ITEM_LEN), array("NUM_CHECK", "MAX_LENGTH_CHECK")); 194 195 if (REVIEW_ALLOW_URL == false) { 196 // URLの入力を禁止 197 $masterData = new SC_DB_MasterData_Ex(); 198 $objErr->doFunc(array("URL", "contents", $masterData->getMasterData("mtb_review_deny_url")), array("PROHIBITED_STR_CHECK")); 199 } 200 201 return $objErr->arrErr; 202 } 203 204 //---- 取得文字列の変換 205 function lfConvertParam($array, $arrConvertColumn) { 206 /* 207 * 文字列の変換 208 * K : 「半角(ハンカク)片仮名」を「全角片仮名」に変換 209 * C : 「全角ひら仮名」を「全角かた仮名」に変換 210 * V : 濁点付きの文字を一文字に変換。"K","H"と共に使用します 211 * n : 「全角」数字を「半角(ハンカク)」に変換 212 * a : 全角英数字を半角英数字に変換する 213 */ 214 // カラム名とコンバート情報 215 foreach ($arrConvertColumn as $data) { 216 $arrConvList[ $data["column"] ] = $data["convert"]; 217 } 218 219 // 文字変換 220 foreach ($arrConvList as $key => $val) { 221 // POSTされてきた値のみ変換する。 222 if(strlen(($array[$key])) > 0) { 223 $array[$key] = mb_convert_kana($array[$key] ,$val); 224 } 225 } 226 return $array; 140 function lfInitParam(&$objFormParam) { 141 142 $objFormParam->addParam("お名前(姓)", 'name01', STEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 143 $objFormParam->addParam("お名前(名)", 'name02', STEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 144 $objFormParam->addParam("お名前(フリガナ・姓)", 'kana01', STEXT_LEN, "KVCa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK", "KANA_CHECK")); 145 $objFormParam->addParam("お名前(フリガナ・名)", 'kana02', STEXT_LEN, "KVCa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK", "KANA_CHECK")); 146 $objFormParam->addParam("郵便番号1", "zip01", ZIP01_LEN, "n",array("SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 147 $objFormParam->addParam("郵便番号2", "zip02", ZIP02_LEN, "n",array("SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 148 $objFormParam->addParam("都道府県", "pref", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 149 $objFormParam->addParam("住所1", "addr01", MTEXT_LEN, "KVa", array("SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 150 $objFormParam->addParam("住所2", "addr02", MTEXT_LEN, "KVa", array("SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 151 $objFormParam->addParam("お問い合わせ内容", "contents", MLTEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 152 $objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "KVa",array("EXIST_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 153 $objFormParam->addParam('メールアドレス(確認)', "email02", MTEXT_LEN, "KVa",array("EXIST_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 154 $objFormParam->addParam("お電話番号1", 'tel01', TEL_ITEM_LEN, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK")); 155 $objFormParam->addParam("お電話番号2", 'tel02', TEL_ITEM_LEN, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK")); 156 $objFormParam->addParam("お電話番号3", 'tel03', TEL_ITEM_LEN, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK")); 227 157 } 228 158 … … 238 168 $objPage->tpl_infoemail = $arrInfo['email02']; 239 169 240 $fromMail_name = $objPage->arrForm['name01'] ." 様";241 $fromMail_address = $objPage->arrForm['email'] ;170 $fromMail_name = $objPage->arrForm['name01']['value'] ." 様"; 171 $fromMail_address = $objPage->arrForm['email']['value']; 242 172 243 173 $helperMail = new SC_Helper_Mail_Ex(); 244 174 $helperMail->sfSendTemplateMail($CONF["email02"], $CONF["shop_name"], "5", $objPage, $fromMail_address, $fromMail_name, $fromMail_address); 245 $helperMail->sfSendTemplateMail($objPage->arrForm['email'] , $objPage->arrForm['name01'] ." 様", "5", $objPage, $CONF["email03"], $CONF["shop_name"], $CONF["email02"]);175 $helperMail->sfSendTemplateMail($objPage->arrForm['email']['value'], $objPage->arrForm['name01']['value'] ." 様", "5", $objPage, $CONF["email03"], $CONF["shop_name"], $CONF["email02"]); 246 176 } 247 177 }
Note: See TracChangeset
for help on using the changeset viewer.