Changeset 16093
- Timestamp:
- 2007/09/27 18:15:02 (16 years ago)
- Location:
- branches/feature-module-update
- Files:
-
- 2 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update/html/mypage/delivery_addr.php
r15532 r16093 5 5 * http://www.lockon.co.jp/ 6 6 */ 7 8 // {{{ requires 7 9 require_once("../require.php"); 10 require_once(CLASS_PATH . "page_extends/mypage/LC_Page_Mypage_DeliveryAddr_Ex.php"); 8 11 9 session_start(); 12 // }}} 13 // {{{ generate page 10 14 11 class LC_Page{ 12 function LC_Page(){ 13 $this->tpl_mainpage = USER_PATH . 'templates/mypage/delivery_addr.tpl'; 14 $this->tpl_title = "新しいお届け先の追加・変更"; 15 global $arrPref; 16 $this->arrPref = $arrPref; 17 } 18 } 19 20 $objPage = new LC_Page(); 21 $objView = new SC_SiteView(false); 22 $objQuery = new SC_Query(); 23 $objCustomer = new SC_Customer(); 24 $objConn = new SC_DBConn(); 25 $ParentPage = MYPAGE_DELIVADDR_URL; 26 27 // GETでページを指定されている場合には指定ページに戻す 28 if (isset($_GET['page'])) { 29 $ParentPage = $_GET['page']; 30 } 31 $objPage->ParentPage = $ParentPage; 32 33 //ログイン判定 34 if (!$objCustomer->isLoginSuccess()){ 35 sfDispSiteError(CUSTOMER_ERROR); 36 } 37 38 if ($_POST['mode'] == ""){ 39 $_SESSION['other_deliv_id'] = $_GET['other_deliv_id']; 40 } 41 42 if ($_GET['other_deliv_id'] != ""){ 43 //不正アクセス判定 44 $flag = $objQuery->count("dtb_other_deliv", "customer_id=? AND other_deliv_id=?", array($objCustomer->getValue("customer_id"), $_SESSION['other_deliv_id'])); 45 if (!$objCustomer->isLoginSuccess() || $flag == 0){ 46 sfDispSiteError(CUSTOMER_ERROR); 47 } 48 } 49 50 //別のお届け先DB登録用カラム配列 51 $arrRegistColumn = array( 52 array( "column" => "name01", "convert" => "aKV" ), 53 array( "column" => "name02", "convert" => "aKV" ), 54 array( "column" => "kana01", "convert" => "CKV" ), 55 array( "column" => "kana02", "convert" => "CKV" ), 56 array( "column" => "zip01", "convert" => "n" ), 57 array( "column" => "zip02", "convert" => "n" ), 58 array( "column" => "pref", "convert" => "n" ), 59 array( "column" => "addr01", "convert" => "aKV" ), 60 array( "column" => "addr02", "convert" => "aKV" ), 61 array( "column" => "tel01", "convert" => "n" ), 62 array( "column" => "tel02", "convert" => "n" ), 63 array( "column" => "tel03", "convert" => "n" ), 64 ); 65 66 switch ($_POST['mode']){ 67 case 'edit': 68 $_POST = lfConvertParam($_POST,$arrRegistColumn); 69 $objPage->arrErr =lfErrorCheck($_POST); 70 if ($objPage->arrErr){ 71 foreach ($_POST as $key => $val){ 72 $objPage->$key = $val; 73 } 74 }else{ 75 //別のお届け先登録数の取得 76 $deliv_count = $objQuery->count("dtb_other_deliv", "customer_id=?", array($objCustomer->getValue('customer_id'))); 77 if ($deliv_count < DELIV_ADDR_MAX or isset($_POST['other_deliv_id'])){ 78 lfRegistData($_POST,$arrRegistColumn); 79 } 80 $objPage->tpl_onload = "fnUpdateParent('".$_POST['ParentPage']."'); window.close();"; 81 } 82 break; 83 } 84 85 if ($_GET['other_deliv_id'] != ""){ 86 //別のお届け先情報取得 87 $arrOtherDeliv = $objQuery->select("*", "dtb_other_deliv", "other_deliv_id=? ", array($_SESSION['other_deliv_id'])); 88 $objPage->arrOtherDeliv = $arrOtherDeliv[0]; 89 } 90 91 $objView->assignobj($objPage); 92 $objView->display($objPage->tpl_mainpage); 93 94 //------------------------------------------------------------------------------------------------------------- 95 96 /* エラーチェック */ 97 function lfErrorCheck() { 98 $objErr = new SC_CheckError(); 99 100 $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 101 $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK")); 102 $objErr->doFunc(array("フリガナ(姓)", 'kana01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); 103 $objErr->doFunc(array("フリガナ(名)", 'kana02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); 104 $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); 105 $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); 106 $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK")); 107 $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK","NUM_CHECK")); 108 $objErr->doFunc(array("ご住所(1)", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 109 $objErr->doFunc(array("ご住所(2)", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 110 $objErr->doFunc(array("お電話番号1", 'tel01'), array("EXIST_CHECK","NUM_CHECK")); 111 $objErr->doFunc(array("お電話番号2", 'tel02'), array("EXIST_CHECK","NUM_CHECK")); 112 $objErr->doFunc(array("お電話番号3", 'tel03'), array("EXIST_CHECK","NUM_CHECK")); 113 $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03", TEL_LEN) ,array("TEL_CHECK")); 114 return $objErr->arrErr; 115 116 } 117 118 /* 登録実行 */ 119 function lfRegistData($array, $arrRegistColumn) { 120 global $objConn; 121 global $objCustomer; 122 123 foreach ($arrRegistColumn as $data) { 124 if (strlen($array[ $data["column"] ]) > 0) { 125 $arrRegist[ $data["column"] ] = $array[ $data["column"] ]; 126 } 127 } 128 129 $arrRegist['customer_id'] = $objCustomer->getvalue('customer_id'); 130 131 //-- 編集登録実行 132 $objConn->query("BEGIN"); 133 if ($array['other_deliv_id'] != ""){ 134 $objConn->autoExecute("dtb_other_deliv", $arrRegist, "other_deliv_id='" .addslashes($array["other_deliv_id"]). "'"); 135 }else{ 136 $objConn->autoExecute("dtb_other_deliv", $arrRegist); 137 } 138 $objConn->query("COMMIT"); 139 } 140 141 //---- 取得文字列の変換 142 function lfConvertParam($array, $arrRegistColumn) { 143 /* 144 * 文字列の変換 145 * K : 「半角(ハンカク)片仮名」を「全角片仮名」に変換 146 * C : 「全角ひら仮名」を「全角かた仮名」に変換 147 * V : 濁点付きの文字を一文字に変換。"K","H"と共に使用します 148 * n : 「全角」数字を「半角(ハンカク)」に変換 149 * a : 全角英数字を半角英数字に変換する 150 */ 151 // カラム名とコンバート情報 152 foreach ($arrRegistColumn as $data) { 153 $arrConvList[ $data["column"] ] = $data["convert"]; 154 } 155 156 // 文字変換 157 foreach ($arrConvList as $key => $val) { 158 // POSTされてきた値のみ変換する。 159 if(strlen(($array[$key])) > 0) { 160 $array[$key] = mb_convert_kana($array[$key] ,$val); 161 } 162 } 163 return $array; 164 } 15 $objPage = new LC_Page_Mypage_DeliveryAddr_Ex(); 16 $objPage->init(); 17 $objPage->process(); 18 register_shutdown_function(array($objPage, "destroy")); 165 19 ?>
Note: See TracChangeset
for help on using the changeset viewer.