Changeset 16093


Ignore:
Timestamp:
2007/09/27 18:15:02 (17 years ago)
Author:
nanasess
Message:

クラス化に伴う修正

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  
    55 * http://www.lockon.co.jp/ 
    66 */ 
     7 
     8// {{{ requires 
    79require_once("../require.php"); 
     10require_once(CLASS_PATH . "page_extends/mypage/LC_Page_Mypage_DeliveryAddr_Ex.php"); 
    811 
    9 session_start(); 
     12// }}} 
     13// {{{ generate page 
    1014 
    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(); 
     18register_shutdown_function(array($objPage, "destroy")); 
    16519?> 
Note: See TracChangeset for help on using the changeset viewer.