Changeset 19891 for branches/version-2_5-dev/data
- Timestamp:
- 2011/01/12 18:24:50 (13 years ago)
- Location:
- branches/version-2_5-dev/data
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/Smarty/templates/mobile/shopping/deliv.tpl
r19835 r19891 35 35 <input type="hidden" name="uniqid" value="<!--{$tpl_uniqid}-->"> 36 36 <input type="hidden" name="deli" value="<!--{$smarty.section.cnt.iteration}-->"> 37 <input type="hidden" name="mode" value="customer_addr"> 37 38 <!--{if $smarty.section.cnt.first}--> 38 <input type="hidden" name="mode" value="customer_addr">39 39 <input type="hidden" name="other_deliv_id" value=""> 40 <input type="hidden" name="deliv_check" value="-1"> 40 41 <!--{else}--> 41 <input type="hidden" name="mode" value="other_addr">42 42 <input type="hidden" name="other_deliv_id" value="<!--{$arrAddr[cnt].other_deliv_id}-->"> 43 <input type="hidden" name="deliv_check" value="<!--{$arrAddr[cnt].other_deliv_id}-->"> 43 44 <!--{/if}--> 44 45 ■お届け先<!--{$smarty.section.cnt.iteration}--><br> … … 48 49 <!--{$arrAddr[cnt].addr02|h}--><br> 49 50 <!--{/if}--> 51 <!--{$arrAddr[cnt].name01}--> <!--{$arrAddr[cnt].name02}--><br> 50 52 <center><input type="submit" value="ここに送る"></center> 51 53 </form> … … 54 56 <br> 55 57 56 ■その他のお届け先を指定<br> 57 <form method="get" action="deliv_addr.php"> 58 ■新しいお届け先を追加する<br> 59 <form method="post" action="<!--{$smarty.const.URL_PATH}-->mypage/delivery_addr.php"> 60 <input type="hidden" name="ParentPage" value="<!--{$smarty.const.DELIV_URL_PATH}-->"> 58 61 <center><input type="submit" value="新規登録"></center> 59 62 </form> -
branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_DeliveryAddr.php
r19872 r19891 149 149 $this->lfRegistDataNonMember($_POST, $arrRegistColumn); 150 150 } 151 152 if(Net_UserAgent_Mobile::isMobile() === true) { 153 // モバイルの場合、元のページに遷移 154 SC_Response_Ex::sendRedirect($this->getLocation($_POST['ParentPage'])); 155 exit; 156 } 151 157 } 152 158 break; -
branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php
r19868 r19891 30 30 * @package Page 31 31 * @author LOCKON CO.,LTD. 32 * @version $Id :LC_Page_Shopping_Deliv.php 15532 2007-08-31 14:39:46Z nanasess$32 * @version $Id$ 33 33 */ 34 34 class LC_Page_Shopping_Deliv extends LC_Page { … … 74 74 */ 75 75 function action() { 76 $objView = new SC_SiteView();77 76 $objSiteSess = new SC_SiteSession(); 78 77 $objCartSess = new SC_CartSession(); 79 78 $objCustomer = new SC_Customer(); 80 $objDb = new SC_Helper_DB_Ex();81 79 $objPurchase = new SC_Helper_Purchase_Ex(); 82 80 $objQuery = SC_Query::getSingletonInstance();; … … 108 106 109 107 // ログインチェック 110 if($_POST['mode'] != 'login' && !$objCustomer->isLoginSuccess( )) {108 if($_POST['mode'] != 'login' && !$objCustomer->isLoginSuccess(true)) { 111 109 // 不正アクセスとみなす 112 110 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR); … … 129 127 } 130 128 // ログイン判定 131 if(!$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'])) { 129 $loginFailFlag = false; 130 if(Net_UserAgent_Mobile::isMobile() === true) { 131 // モバイルサイト 132 if(!$objCustomer->getCustomerDataFromMobilePhoneIdPass($arrForm['login_pass']) && 133 !$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'], true)) { 134 $loginFailFlag = true; 135 } 136 } else { 137 // モバイルサイト以外 138 if(!$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'])) { 139 $loginFailFlag = true; 140 } 141 } 142 if($loginFailFlag === true) { 132 143 // 仮登録の判定 133 134 144 $where = "email = ? AND status = 1 AND del_flg = 0"; 135 145 $ret = $objQuery->count("dtb_customer", $where, array($arrForm['login_email'])); … … 141 151 } 142 152 } 153 154 if(Net_UserAgent_Mobile::isMobile() === true) { 155 // ログインが成功した場合は携帯端末IDを保存する。 156 $objCustomer->updateMobilePhoneId(); 157 158 /* 159 * 携帯メールアドレスが登録されていない場合は, 160 * 携帯メールアドレス登録画面へ遷移 161 */ 162 $objMobile = new SC_Helper_Mobile_Ex(); 163 if (!$objMobile->gfIsMobileMailAddress($objCustomer->getValue('email'))) { 164 if (!$objCustomer->hasValue('email_mobile')) { 165 SC_Response_Ex::sendRedirect('../entry/email_mobile.php'); 166 exit; 167 } 168 } 169 } 170 143 171 //ダウンロード商品判定 144 172 if($this->cartKey == PRODUCT_TYPE_DOWNLOAD){ … … 189 217 $otherDeliv = $objQuery->select("*", "dtb_other_deliv", 190 218 "other_deliv_id = ?", 191 array($ other_deliv_id));219 array($_POST['deliv_check'])); 192 220 $sqlval = $otherDeliv[0]; 193 221 $sqlval['deliv_id'] = $objPurchase->getDeliv($this->cartKey); 194 $objPurchase->saveShippingTemp($sqlval, $ other_deliv_id);222 $objPurchase->saveShippingTemp($sqlval, $_POST['deliv_check']); 195 223 $objPurchase->saveOrderTemp($uniqid, $sqlval, $objCustomer); 196 224 … … 228 256 // 登録済み住所を取得 229 257 $this->arrAddr = $objCustomer->getCustomerAddress($_SESSION['customer']['customer_id']); 230 // 入力値の取得231 if (!isset($arrErr)) $arrErr = array();232 $this->arrForm = $this->objFormParam->getFormParamList();233 $this->arrErr = $arrErr;234 }235 236 /**237 * モバイルページを初期化する.238 *239 * @return void240 */241 function mobileInit() {242 $this->init();243 }244 245 /**246 * Page のプロセス(モバイル).247 *248 * @return void249 */250 function mobileProcess() {251 $this->mobileAction();252 $this->sendResponse();253 }254 255 /**256 * Page のプロセス(モバイル).257 *258 * @return void259 */260 function mobileAction() {261 $objView = new SC_MobileView();262 $objSiteSess = new SC_SiteSession();263 $objCartSess = new SC_CartSession();264 $objCustomer = new SC_Customer();265 $objDb = new SC_Helper_DB_Ex();266 // クッキー管理クラス267 $objCookie = new SC_Cookie(COOKIE_EXPIRE);268 // パラメータ管理クラス269 $this->objFormParam = new SC_FormParam();270 // パラメータ情報の初期化271 $this->lfInitParam();272 // POST値の取得273 $this->lfConvertEmail($_POST["login_email"]);274 $this->lfConvertLoginPass($_POST["login_pass"]);275 276 $this->objFormParam->setParam($_POST);277 278 $this->objLoginFormParam = new SC_FormParam(); // ログインフォーム用279 $this->lfInitLoginFormParam(); // 初期設定280 $this->objLoginFormParam->setParam($_POST); // POST値の取得281 282 // ユーザユニークIDの取得と購入状態の正当性をチェック283 $uniqid = SC_Utils_Ex::sfCheckNormalAccess($objSiteSess, $objCartSess);284 $this->tpl_uniqid = $uniqid;285 286 //ダウンロード商品判定287 $this->cartdown = $objDb->chkCartDown($objCartSess);288 289 if (!isset($_POST['mode'])) $_POST['mode'] = "";290 291 // ログインチェック292 if($_POST['mode'] != 'login' && !$objCustomer->isLoginSuccess(true)) {293 // 不正アクセスとみなす294 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);295 }296 297 switch($_POST['mode']) {298 case 'login':299 $this->objLoginFormParam->toLower('login_email');300 $this->arrErr = $this->objLoginFormParam->checkError();301 $arrForm = $this->objLoginFormParam->getHashArray();302 // クッキー保存判定303 if($arrForm['login_memory'] == "1" && $arrForm['login_email'] != "") {304 $objCookie->setCookie('login_email', $_POST['login_email']);305 } else {306 $objCookie->setCookie('login_email', '');307 }308 309 if(count($this->arrErr) == 0) {310 // ログイン判定311 if(!$objCustomer->getCustomerDataFromMobilePhoneIdPass($arrForm['login_pass']) &&312 !$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'], true)) {313 // 仮登録の判定314 $objQuery = new SC_Query;315 $where = "(email = ? OR email_mobile = ?) AND status = 1 AND del_flg = 0";316 $ret = $objQuery->count("dtb_customer", $where, array($arrForm['login_email'], $arrForm['login_email']));317 318 if($ret > 0) {319 SC_Utils_Ex::sfDispSiteError(TEMP_LOGIN_ERROR);320 } else {321 SC_Utils_Ex::sfDispSiteError(SITE_LOGIN_ERROR);322 }323 }324 //ダウンロード商品判定325 if($this->cartdown==2){326 // 会員情報の住所を受注一時テーブルに書き込む327 $objDb->sfRegistDelivData($uniqid, $objCustomer);328 // 正常に登録されたことを記録しておく329 $objSiteSess->setRegistFlag();330 // ダウンロード商品有りの場合は、支払方法画面に転送331 $this->objDisplay->redirect($this->getLocation(MOBILE_SHOPPING_PAYMENT_URL_PATH), array());332 exit;333 }334 } else {335 // ログインページに戻る336 $this->objDisplay->redirect($this->getLocation(MOBILE_SHOPPING_URL));337 exit;338 }339 340 // ログインが成功した場合は携帯端末IDを保存する。341 $objCustomer->updateMobilePhoneId();342 343 /*344 * 携帯メールアドレスが登録されていない場合は,345 * 携帯メールアドレス登録画面へ遷移346 */347 $objMobile = new SC_Helper_Mobile_Ex();348 if (!$objMobile->gfIsMobileMailAddress($objCustomer->getValue('email'))) {349 if (!$objCustomer->hasValue('email_mobile')) {350 $this->objDisplay->redirect($this->getLocation("../entry/email_mobile.php"));351 exit;352 }353 }354 break;355 // 削除356 case 'delete':357 if (SC_Utils_Ex::sfIsInt($_POST['other_deliv_id'])) {358 $objQuery = new SC_Query();359 $where = "other_deliv_id = ?";360 $arrRet = $objQuery->delete("dtb_other_deliv", $where, array($_POST['other_deliv_id']));361 $this->objFormParam->setValue('select_addr_id', '');362 }363 break;364 // 会員登録住所に送る365 case 'customer_addr':366 // お届け先がチェックされている場合には更新処理を行う367 if ($_POST['deli'] != "") {368 // 会員情報の住所を受注一時テーブルに書き込む369 $this->lfRegistDelivData($uniqid, $objCustomer);370 // 正常に登録されたことを記録しておく371 $objSiteSess->setRegistFlag();372 // お支払い方法選択ページへ移動373 $this->objDisplay->redirect($this->getLocation(MOBILE_SHOPPING_PAYMENT_URL_PATH));374 exit;375 }else{376 // エラーを返す377 $arrErr['deli'] = '※ お届け先を選択してください。';378 }379 break;380 381 // 登録済みの別のお届け先に送る382 case 'other_addr':383 // お届け先がチェックされている場合には更新処理を行う384 if ($_POST['deli'] != "") {385 if (SC_Utils_Ex::sfIsInt($_POST['other_deliv_id'])) {386 $objQuery = new SC_Query();387 $deliv_count = $objQuery->count("dtb_other_deliv","customer_id=? and other_deliv_id = ?" ,array($objCustomer->getValue('customer_id'), $_POST['other_deliv_id']));388 if ($deliv_count != 1) {389 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);390 }391 // 登録済みの別のお届け先を受注一時テーブルに書き込む392 $this->lfRegistOtherDelivData($uniqid, $objCustomer, $_POST['other_deliv_id']);393 // 正常に登録されたことを記録しておく394 $objSiteSess->setRegistFlag();395 // お支払い方法選択ページへ移動396 $this->objDisplay->redirect($this->getLocation(MOBILE_SHOPPING_PAYMENT_URL_PATH));397 exit;398 }399 }else{400 // エラーを返す401 $arrErr['deli'] = '※ お届け先を選択してください。';402 }403 break;404 405 // 前のページに戻る406 case 'return':407 // 確認ページへ移動408 $this->objDisplay->redirect($this->getLocation(MOBILE_CART_URL_PATH));409 exit;410 break;411 default:412 $objQuery = new SC_Query();413 $where = "order_temp_id = ?";414 $arrRet = $objQuery->select("*", "dtb_order_temp", $where, array($uniqid));415 $this->objFormParam->setParam($arrRet[0]);416 break;417 }418 419 /** 表示処理 **/420 421 // 会員登録住所の取得422 $col = "name01, name02, pref, addr01, addr02, zip01, zip02";423 $where = "customer_id = ?";424 $objQuery = new SC_Query();425 $arrCustomerAddr = $objQuery->select($col, "dtb_customer", $where, array($_SESSION['customer']['customer_id']));426 // 別のお届け先住所の取得427 $col = "other_deliv_id, name01, name02, pref, addr01, addr02, zip01, zip02";428 $objQuery->setOrder("other_deliv_id DESC");429 $objOtherAddr = $objQuery->select($col, "dtb_other_deliv", $where, array($_SESSION['customer']['customer_id']));430 $this->arrAddr = $arrCustomerAddr;431 $cnt = 1;432 foreach($objOtherAddr as $val) {433 $this->arrAddr[$cnt] = $val;434 $cnt++;435 }436 437 258 // 入力値の取得 438 259 if (!isset($arrErr)) $arrErr = array();
Note: See TracChangeset
for help on using the changeset viewer.