Ignore:
Timestamp:
2007/07/20 15:58:59 (17 years ago)
Author:
nanasess
Message:

r15064 から svn cp
とりあえず暫定コミット.

  • UTF-8 に変更
  • slib.php, glib.php のクラス化
  • LC_Page の抽象化(一部)
Location:
branches/feature-module-update
Files:
1 edited
2 copied

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update

    • Property svn:ignore set to
      .cache

      .settings

      .projectOptions
  • branches/feature-module-update/html/mobile/shopping/deliv_addr.php

    r12157 r15078  
    66 * http://www.lockon.co.jp/ 
    77 *  
    8  * ÇÛÁ÷Àè¤ÎÄɲà
     8 * 配送先の追加 
    99 */ 
    1010require_once("../require.php"); 
     
    1313    function LC_Page(){ 
    1414        $this->tpl_mainpage = 'shopping/deliv_addr.tpl'; 
    15         $this->tpl_title = "¿·¤·¤¤¤ªÆϤ±Àè¤ÎÄɲÃ"; 
     15        $this->tpl_title = "新しいお届け先の追加"; 
    1616    } 
    1717} 
     
    2525$objCartSess = new SC_CartSession(); 
    2626 
    27 //¥í¥°¥¤¥óȽÄê 
     27//ログイン判定 
    2828if (!$objCustomer->isLoginSuccess()){ 
    2929    sfDispSiteError(CUSTOMER_ERROR, "", false, "", true); 
     
    3232$objPage->arrForm = $_POST; 
    3333$objPage->arrPref = $arrPref; 
    34 //-- ¥Ç¡¼¥¿ÀßÄê 
     34//-- データ設定 
    3535foreach($_POST as $key => $val) { 
    3636    if ($key != "mode" && $key != "return" && $key != "submit" && $key != session_name()) { 
     
    3838    } 
    3939} 
    40 // ¥æ¡¼¥¶¥æ¥Ë¡¼¥¯ID¤Î¼èÆÀ¤È¹ØÆþ¾õÂÖ¤ÎÀµÅöÀ­¤ò¥Á¥§¥Ã¥¯ 
     40// ユーザユニークIDの取得と購入状態の正当性をチェック 
    4141$uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess); 
    4242 
    43 //Ê̤ΤªÆϤ±Àè£Ä£ÂÅÐÏ¿ÍÑ¥«¥é¥àÇÛÎó 
     43//別のお届け先DB登録用カラム配列 
    4444$arrRegistColumn = array( 
    4545                             array(  "column" => "name01",      "convert" => "aKV" ), 
     
    5757                        ); 
    5858 
    59 // Ìá¤ë¥Ü¥¿¥óÍѽèÍý 
     59// 戻るボタン用処理 
    6060if (!empty($_POST["return"])) { 
    6161    switch ($_POST["mode"]) { 
     
    8383            } 
    8484 
    85             // ͹ÊØÈֹ椫¤é½»½ê¤Î¼èÆÀ 
     85            // 郵便番号から住所の取得 
    8686            if (@$objPage->arrForm['pref'] == "" && @$objPage->arrForm['addr01'] == "" && @$objPage->arrForm['addr02'] == "") { 
    8787                $address = lfGetAddress($_REQUEST['zip01'].$_REQUEST['zip02']); 
     
    113113        $objPage->arrErr = lfErrorCheck($objPage->arrForm); 
    114114        if (count($objPage->arrErr) == 0) { 
    115             // ÅÐÏ¿ 
     115            // 登録 
    116116            $other_deliv_id = lfRegistData($_POST,$arrRegistColumn); 
    117117 
    118             // ÅÐÏ¿ºÑ¤ß¤ÎÊ̤ΤªÆϤ±Àè¤ò¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Ë½ñ¤­¹þ¤à 
     118            // 登録済みの別のお届け先を受注一時テーブルに書き込む 
    119119            lfRegistOtherDelivData($uniqid, $objCustomer, $other_deliv_id); 
    120120 
    121             // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµ­Ï¿¤·¤Æ¤ª¤¯ 
     121            // 正常に登録されたことを記録しておく 
    122122            $objSiteSess->setRegistFlag(); 
    123             // ¤ª»Ùʧ¤¤ÊýË¡ÁªÂò¥Ú¡¼¥¸¤Ø°ÜÆ° 
     123            // お支払い方法選択ページへ移動 
    124124            header("Location: " . gfAddSessionId(MOBILE_URL_SHOP_PAYMENT)); 
    125125            exit; 
     
    131131        $deliv_count = $objQuery->count("dtb_other_deliv", "customer_id=?", array($objCustomer->getValue('customer_id'))); 
    132132        if ($deliv_count >= DELIV_ADDR_MAX){ 
    133             sfDispSiteError(FREE_ERROR_MSG, "", false, "ºÇÂçÅÐÏ¿·ï¿ô¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£"); 
     133            sfDispSiteError(FREE_ERROR_MSG, "", false, "最大登録件数を超えています。"); 
    134134        } 
    135135} 
     
    140140//------------------------------------------------------------------------------------------------------------- 
    141141 
    142 /* ¥¨¥é¡¼¥Á¥§¥Ã¥¯ */ 
     142/* エラーチェック */ 
    143143function lfErrorCheck() { 
    144144    $objErr = new SC_CheckError(); 
    145145     
    146     $objErr->doFunc(array("¤ªÌ¾Á°¡ÊÀ«¡Ë", 'name01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    147     $objErr->doFunc(array("¤ªÌ¾Á°¡Ê̾¡Ë", 'name02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    148     $objErr->doFunc(array("¤ªÌ¾Á°¡Ê¥«¥Ê/À«¡Ë", 'kana01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); 
    149     $objErr->doFunc(array("¤ªÌ¾Á°¡Ê¥«¥Ê/̾¡Ë", 'kana02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); 
    150     $objErr->doFunc(array("͹ÊØÈÖ¹æ1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); 
    151     $objErr->doFunc(array("͹ÊØÈÖ¹æ2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));  
    152     $objErr->doFunc(array("͹ÊØÈÖ¹æ", "zip01", "zip02"), array("ALL_EXIST_CHECK")); 
    153     $objErr->doFunc(array("ÅÔÆ»Éܸ©", 'pref'), array("SELECT_CHECK","NUM_CHECK")); 
    154     $objErr->doFunc(array("»Ô¶èĮ¼", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    155     $objErr->doFunc(array("ÈÖÃÏ", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    156     $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ1", 'tel01'), array("EXIST_CHECK","NUM_CHECK")); 
    157     $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ2", 'tel02'), array("EXIST_CHECK","NUM_CHECK")); 
    158     $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ3", 'tel03'), array("EXIST_CHECK","NUM_CHECK")); 
    159     $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ", "tel01", "tel02", "tel03", TEL_LEN) ,array("TEL_CHECK")); 
     146    $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
     147    $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     148    $objErr->doFunc(array("お名前(カナ/姓)", 'kana01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); 
     149    $objErr->doFunc(array("お名前(カナ/名)", 'kana02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); 
     150    $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); 
     151    $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));  
     152    $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK")); 
     153    $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK","NUM_CHECK")); 
     154    $objErr->doFunc(array("市区町村", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
     155    $objErr->doFunc(array("番地", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
     156    $objErr->doFunc(array("電話番号1", 'tel01'), array("EXIST_CHECK","NUM_CHECK")); 
     157    $objErr->doFunc(array("電話番号2", 'tel02'), array("EXIST_CHECK","NUM_CHECK")); 
     158    $objErr->doFunc(array("電話番号3", 'tel03'), array("EXIST_CHECK","NUM_CHECK")); 
     159    $objErr->doFunc(array("電話番号", "tel01", "tel02", "tel03", TEL_LEN) ,array("TEL_CHECK")); 
    160160    return $objErr->arrErr; 
    161161     
    162162} 
    163163 
    164 /* ¥¨¥é¡¼¥Á¥§¥Ã¥¯ */ 
     164/* エラーチェック */ 
    165165function lfErrorCheck1() { 
    166166    $objErr = new SC_CheckError(); 
    167167     
    168     $objErr->doFunc(array("¤ªÌ¾Á°¡ÊÀ«¡Ë", 'name01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    169     $objErr->doFunc(array("¤ªÌ¾Á°¡Ê̾¡Ë", 'name02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    170     $objErr->doFunc(array("¤ªÌ¾Á°¡Ê¥«¥Ê/À«¡Ë", 'kana01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); 
    171     $objErr->doFunc(array("¤ªÌ¾Á°¡Ê¥«¥Ê/̾¡Ë", 'kana02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); 
    172     $objErr->doFunc(array("͹ÊØÈÖ¹æ1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); 
    173     $objErr->doFunc(array("͹ÊØÈÖ¹æ2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));  
    174     $objErr->doFunc(array("͹ÊØÈÖ¹æ", "zip01", "zip02"), array("ALL_EXIST_CHECK")); 
     168    $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
     169    $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     170    $objErr->doFunc(array("お名前(カナ/姓)", 'kana01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); 
     171    $objErr->doFunc(array("お名前(カナ/名)", 'kana02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); 
     172    $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); 
     173    $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));  
     174    $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK")); 
    175175    return $objErr->arrErr; 
    176176     
    177177} 
    178178 
    179 /* ¥¨¥é¡¼¥Á¥§¥Ã¥¯ */ 
     179/* エラーチェック */ 
    180180function lfErrorCheck2() { 
    181181    $objErr = new SC_CheckError(); 
    182182     
    183     $objErr->doFunc(array("ÅÔÆ»Éܸ©", 'pref'), array("SELECT_CHECK","NUM_CHECK")); 
    184     $objErr->doFunc(array("»Ô¶èĮ¼", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    185     $objErr->doFunc(array("ÈÖÃÏ", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    186     $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ1", 'tel01'), array("EXIST_CHECK","NUM_CHECK")); 
    187     $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ2", 'tel02'), array("EXIST_CHECK","NUM_CHECK")); 
    188     $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ3", 'tel03'), array("EXIST_CHECK","NUM_CHECK")); 
    189     $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ", "tel01", "tel02", "tel03", TEL_LEN) ,array("TEL_CHECK")); 
     183    $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK","NUM_CHECK")); 
     184    $objErr->doFunc(array("市区町村", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
     185    $objErr->doFunc(array("番地", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
     186    $objErr->doFunc(array("電話番号1", 'tel01'), array("EXIST_CHECK","NUM_CHECK")); 
     187    $objErr->doFunc(array("電話番号2", 'tel02'), array("EXIST_CHECK","NUM_CHECK")); 
     188    $objErr->doFunc(array("電話番号3", 'tel03'), array("EXIST_CHECK","NUM_CHECK")); 
     189    $objErr->doFunc(array("電話番号", "tel01", "tel02", "tel03", TEL_LEN) ,array("TEL_CHECK")); 
    190190    return $objErr->arrErr; 
    191191     
     
    194194 
    195195 
    196 /* ÅÐÏ¿¼Â¹Ô */ 
     196/* 登録実行 */ 
    197197function lfRegistData($array, $arrRegistColumn) { 
    198198    global $objConn; 
     
    207207    $arrRegist['customer_id'] = $objCustomer->getvalue('customer_id'); 
    208208     
    209     //-- ÊÔ½¸ÅÐÏ¿¼Â¹Ô 
     209    //-- 編集登録実行 
    210210    $objConn->query("BEGIN"); 
    211211    if ($array['other_deliv_id'] != ""){ 
     
    223223} 
    224224 
    225 //----¡¡¼èÆÀʸ»úÎó¤ÎÊÑ´¹ 
     225//---- 取得文字列の変換 
    226226function lfConvertParam($array, $arrRegistColumn) { 
    227227    /* 
    228      *  ʸ»úÎó¤ÎÊÑ´¹ 
    229      *  K :  ¡ÖȾ³Ñ(ŽÊŽÝŽ¶Ž¸)ÊÒ²¾Ì¾¡×¤ò¡ÖÁ´³ÑÊÒ²¾Ì¾¡×¤ËÊÑ´¹ 
    230      *  C :  ¡ÖÁ´³Ñ¤Ò¤é²¾Ì¾¡×¤ò¡ÖÁ´³Ñ¤«¤¿²¾Ì¾¡×¤ËÊÑ´¹ 
    231      *  V :  ÂùÅÀÉÕ¤­¤Îʸ»ú¤ò°ìʸ»ú¤ËÊÑ´¹¡£"K","H"¤È¶¦¤Ë»ÈÍѤ·¤Þ¤¹   
    232      *  n :  ¡ÖÁ´³Ñ¡×¿ô»ú¤ò¡ÖȾ³Ñ(ŽÊŽÝŽ¶Ž¸)¡×¤ËÊÑ´¹ 
    233      *  a :  Á´³Ñ±Ñ¿ô»ú¤òȾ³Ñ±Ñ¿ô»ú¤ËÊÑ´¹¤¹¤ë 
     228     *  文字列の変換 
     229     *  K :  「半角(ハンカク)片仮名」を「全角片仮名」に変換 
     230     *  C :  「全角ひら仮名」を「全角かた仮名」に変換 
     231     *  V :  濁点付きの文字を一文字に変換。"K","H"と共に使用します  
     232     *  n :  「全角」数字を「半角(ハンカク)」に変換 
     233     *  a :  全角英数字を半角英数字に変換する 
    234234     */ 
    235     // ¥«¥é¥à̾¤È¥³¥ó¥Ð¡¼¥È¾ðÊó 
     235    // カラム名とコンバート情報 
    236236    foreach ($arrRegistColumn as $data) { 
    237237        $arrConvList[ $data["column"] ] = $data["convert"]; 
    238238    } 
    239239     
    240     // ʸ»úÊÑ´¹ 
     240    // 文字変換 
    241241    foreach ($arrConvList as $key => $val) { 
    242         // POST¤µ¤ì¤Æ¤­¤¿ÃͤΤßÊÑ´¹¤¹¤ë¡£ 
     242        // POSTされてきた値のみ変換する。 
    243243        if(strlen(($array[$key])) > 0) { 
    244244            $array[$key] = mb_convert_kana($array[$key] ,$val); 
     
    248248} 
    249249 
    250 // ͹ÊØÈֹ椫¤é½»½ê¤Î¼èÆÀ 
     250// 郵便番号から住所の取得 
    251251function lfGetAddress($zipcode) { 
    252252    global $arrPref; 
     
    254254    $conn = new SC_DBconn(ZIP_DSN); 
    255255 
    256     // ͹ÊØÈֹ渡º÷ʸºîÀ® 
     256    // 郵便番号検索文作成 
    257257    $zipcode = mb_convert_kana($zipcode ,"n"); 
    258258    $sqlse = "SELECT state, city, town FROM mtb_zip WHERE zipcode = ?"; 
     
    260260    $data_list = $conn->getAll($sqlse, array($zipcode)); 
    261261 
    262     // ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÈÃͤòȿž¤µ¤»¤ë¡£ 
     262    // インデックスと値を反転させる。 
    263263    $arrREV_PREF = array_flip($arrPref); 
    264264 
    265265    /* 
    266         Áí̳¾Ê¤«¤é¥À¥¦¥ó¥í¡¼¥É¤·¤¿¥Ç¡¼¥¿¤ò¤½¤Î¤Þ¤Þ¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È 
    267         °Ê²¼¤Î¤è¤¦¤Êʸ»úÎó¤¬Æþ¤Ã¤Æ¤¤¤ë¤Î¤Ç  Âкö¤¹¤ë¡£ 
    268         ¡¦¡Ê£±¡¦£±£¹ÃúÌÜ¡Ë 
    269         ¡¦°Ê²¼¤Ë·ÇºÜ¤¬¤Ê¤¤¾ì¹ç 
     266        総務省からダウンロードしたデータをそのままインポートすると 
     267        以下のような文字列が入っているので   対策する。 
     268        ・(1・19丁目) 
     269        ・以下に掲載がない場合 
    270270    */ 
    271271    $town =  $data_list[0]['town']; 
    272     $town = ereg_replace("¡Ê.*¡Ë$","",$town); 
    273     $town = ereg_replace("°Ê²¼¤Ë·ÇºÜ¤¬¤Ê¤¤¾ì¹ç","",$town); 
     272    $town = ereg_replace("(.*)$","",$town); 
     273    $town = ereg_replace("以下に掲載がない場合","",$town); 
    274274    $data_list[0]['town'] = $town; 
    275275    $data_list[0]['state'] = $arrREV_PREF[$data_list[0]['state']]; 
     
    278278} 
    279279 
    280 /* Ê̤ΤªÆϤ±Àè½»½ê¤ò°ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤Ø */ 
     280/* 別のお届け先住所を一時受注テーブルへ */ 
    281281function lfRegistOtherDelivData($uniqid, $objCustomer, $other_deliv_id) { 
    282     // ÅÐÏ¿¥Ç¡¼¥¿¤ÎºîÀ® 
     282    // 登録データの作成 
    283283    $sqlval['order_temp_id'] = $uniqid; 
    284284    $sqlval['update_date'] = 'Now()'; 
Note: See TracChangeset for help on using the changeset viewer.