Changeset 20160


Ignore:
Timestamp:
2011/02/14 01:31:44 (13 years ago)
Author:
AMUAMU
Message:

#965 (リファクタリング [管理画面]顧客管理) LC_Page_Admin_Customer.php 修正
#850 (顧客CSV 列追加時にロジックの変更を不要に) の対応
#657 (CSVダウンロードの改善) に関するリファクタリング
#812 (管理画面でトランザクションIDを使用する)に対応

SC_Helper_mail::sfSendRegistMail() の追加(登録/仮登録メール送信)
SC_Helper_Customer::sfGetCustomerDataFromId() の追加(ただし他のリファクタリングと被ったので後日再リファクタリング必要)

Location:
branches/version-2_5-dev
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/Smarty/templates/admin/customer/index.tpl

    r20116 r20160  
    7575<form name="search_form" id="search_form" method="post" action="?"> 
    7676<input type="hidden" name="mode" value="search" /> 
     77<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> 
    7778  <h2>検索条件設定</h2> 
    7879 
     
    283284<input type="hidden" name="search_pageno" value="<!--{$smarty.post.search_pageno|h}-->" /> 
    284285<input type="hidden" name="csv_mode" value="" /> 
     286<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> 
    285287 
    286288  <h2>検索結果一覧</h2> 
     
    288290    <span class="attention"><!--検索結果数--><!--{$tpl_linemax}-->件</span>&nbsp;が該当しました。 
    289291    <!--検索結果--> 
    290     <!--{if $smarty.const.ADMIN_MODE == '1'}--> 
    291     <a class="btn-normal" href="javascript:;" onclick="fnModeSubmit('delete_all','',''); return false;">検索結果をすべて削除</a> 
    292     <!--{/if}--> 
    293292    <a class="btn-normal" href="javascript:;" onclick="fnModeSubmit('csv','',''); return false;">CSV ダウンロード</a> 
    294293    <a class="btn-normal" href="javascript:;" onclick="location.href='../contents/csv.php?tpl_subno_csv=customer'">CSV 出力項目設定</a> 
     
    296295  <!--{include file=$tpl_pager}--> 
    297296 
    298   <!--{if count($search_data) > 0}--> 
     297  <!--{if count($arrData) > 0}--> 
    299298 
    300299  <!--検索結果表示テーブル--> 
     
    320319      <th>メールアドレス</th> 
    321320    </tr> 
    322     <!--{foreach from=$search_data item=row}--> 
     321    <!--{foreach from=$arrData item=row}--> 
    323322      <tr> 
    324323        <td class="center" rowspan="2"><!--{if $row.status eq 1}-->仮<!--{else}-->本<!--{/if}--></td> 
  • branches/version-2_5-dev/data/class/SC_FormParam.php

    r20133 r20160  
    204204                case 'MIN_LENGTH_CHECK': 
    205205                case 'NUM_COUNT_CHECK': 
     206                case 'KANABLANK_CHECK': 
    206207                    $this->recursionCheck($this->disp_name[$cnt], $func, 
    207208                                          $this->param[$cnt], $objErr->arrErr, 
  • branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php

    r20156 r20160  
    250250 
    251251    /** 
     252     * 顧客ID指定またはwhere条件指定での顧客情報取得(単一行データ) 
     253     * 
     254     * TODO: sfGetCustomerDataと統合したい 
     255     * 
     256     * @param integer $customer_id 顧客ID (指定無しでも構わないが、Where条件を入れる事) 
     257     * @param string $add_where 追加WHERE条件 
     258     * @param array $arrAddVal 追加WHEREパラメーター 
     259     * @access public 
     260     * @return array 対象顧客データ 
     261     */ 
     262    function sfGetCustomerDataFromId($customer_id, $add_where = '', $arrAddVal = array()) { 
     263        $objQuery   =& SC_Query::getSingletonInstance(); 
     264        if($where == '') { 
     265            $where = 'customer_id = ?'; 
     266            $arrData = $objQuery->getRow("*", "dtb_customer", $where, array($customer_id)); 
     267        }else{ 
     268            if(SC_Utils_Ex::sfIsInt($customer_id)) { 
     269                $where .= ' AND customer_id = ?'; 
     270                $arrAddVal[] = $customer_id; 
     271            } 
     272            $arrData = $objQuery->getRow("*", "dtb_customer", $where, $arrAddVal); 
     273        } 
     274        return $arrData; 
     275    } 
     276 
     277    /** 
    252278     * sfGetUniqSecretKey 
    253279     * 
     
    461487        return $objErr; 
    462488    } 
    463  
    464489} 
  • branches/version-2_5-dev/data/class/helper/SC_Helper_Mail.php

    r20116 r20160  
    265265        return false; 
    266266    } 
     267 
     268    /** 
     269     * 登録メールを送信する。 
     270     * 
     271     * @param string $secret_key 顧客固有キー 
     272     * @param integer $customer_id 顧客ID 
     273     * @param boolean $is_mobile false(default):PCアドレスにメールを送る true:携帯アドレスにメールを送る  
     274     * @return boolean true:成功 false:失敗 
     275     */ 
     276    function sfSendRegistMail($secret_key, $customer_id = '', $is_mobile = false) { 
     277        // 顧客データの取得 
     278        if(SC_Utils_Ex::sfIsInt($customer_id)) { 
     279            $arrCustomerData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($customer_id); 
     280        }else{ 
     281            $arrCustomerData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId('', "secret_key = ?", array($secret_key)); 
     282        } 
     283        if(SC_Utils_Ex::isBlank($arrCustomerData)) { 
     284            return false; 
     285        } 
     286 
     287        $CONF = SC_Helper_DB_Ex::sfGetBasisData(); 
     288         
     289        $objMailText = new SC_SiteView(); 
     290        $objMailText->assign("CONF", $CONF); 
     291        $objMailText->assign("name", $arrCustomerData['name01'] . $arrCustomerData['name02']); 
     292        $objMailText->assign("uniqid", $arrCustomerData['secret_key']); 
     293        $objMailText->assignobj($arrCustomerData); 
     294        $objMailText->assignobj($this); 
     295 
     296        $objHelperMail  = new SC_Helper_Mail_Ex(); 
     297 
     298        // 仮会員が有効の場合 
     299        if(CUSTOMER_CONFIRM_MAIL == true and $arrCustomerData['status'] == 1) { 
     300            $subject        = $objHelperMail->sfMakeSubject('会員登録のご確認'); 
     301            $toCustomerMail = $objMailText->fetch("mail_templates/customer_mail.tpl"); 
     302        } else { 
     303            $subject        = $objHelperMail->sfMakeSubject('会員登録のご完了'); 
     304            $toCustomerMail = $objMailText->fetch("mail_templates/customer_regist_mail.tpl"); 
     305        } 
     306 
     307        $objMail = new SC_SendMail(); 
     308        $objMail->setItem( 
     309            ''                    // 宛先 
     310            , $subject              // サブジェクト 
     311            , $toCustomerMail       // 本文 
     312            , $CONF["email03"]      // 配送元アドレス 
     313            , $CONF["shop_name"]    // 配送元 名前 
     314            , $CONF["email03"]      // reply_to 
     315            , $CONF["email04"]      // return_path 
     316            , $CONF["email04"]      // Errors_to 
     317            , $CONF["email01"]      // Bcc 
     318        ); 
     319        // 宛先の設定 
     320        if($is_mobile) { 
     321            $to_addr = $arrCustomerData["email_mobile"]; 
     322        }else{ 
     323            $to_addr = $arrCustomerData["email"]; 
     324        } 
     325        $objMail->setTo($to_addr, $arrCustomerData["name01"] . $arrCustomerData["name02"] ." 様"); 
     326 
     327        $objMail->sendMail(); 
     328        return true; 
     329    } 
    267330} 
    268331?> 
  • branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer.php

    r20128 r20160  
    5353        $masterData = new SC_DB_MasterData_Ex(); 
    5454        $this->arrPref = $masterData->getMasterData('mtb_pref'); 
    55  
    5655        $this->arrJob = $masterData->getMasterData("mtb_job"); 
    5756        $this->arrJob["不明"] = "不明"; 
    5857        $this->arrSex = $masterData->getMasterData("mtb_sex"); 
    5958        $this->arrPageRows = $masterData->getMasterData("mtb_page_rows"); 
    60         $this->arrMAILMAGATYPE = $masterData->getMasterData("mtb_mail_magazine_type"); 
    61         $this->arrHtmlmail[''] = "すべて"; 
    62         $this->arrHtmlmail[1] = $this->arrMAILMAGATYPE[1]; 
    63         $this->arrHtmlmail[2] = $this->arrMAILMAGATYPE[2]; 
    64  
    65         $this->arrStatus[1] = "仮会員"; 
    66         $this->arrStatus[2] = "本会員"; 
    67  
    68         //---- CSVダウンロード用 
    69         $this->arrColumnCSV = array( 
    70             array( 
    71                 "sql" => "customer_id", 
    72                 "csv" => "customer_id", 
    73                 "header" => "顧客ID" 
    74             ), 
    75             array( 
    76                 "sql" => "name01", 
    77                 "csv" => "name01", 
    78                 "header" => "名前1" 
    79             ), 
    80             array( 
    81                 "sql" => "name02", 
    82                 "csv" => "name02", 
    83                 "header" => "名前2" 
    84             ), 
    85             array( 
    86                 "sql" => "kana01", 
    87                 "csv" => "kana01", 
    88                 "header" => "お名前(フリガナ・姓)" 
    89             ), 
    90             array( 
    91                 "sql" => "kana02", 
    92                 "csv" => "kana02", 
    93                 "header" => "お名前(フリガナ・名)" 
    94             ), 
    95             array( 
    96                 "sql" => "zip01", 
    97                 "csv" => "zip01", 
    98                 "header" => "郵便番号1" 
    99             ), 
    100             array( 
    101                 "sql" => "zip02", 
    102                 "csv" => "zip02", 
    103                 "header" => "郵便番号2" 
    104             ), 
    105             array( 
    106                 "sql" => "pref", 
    107                 "csv" => "pref", 
    108                 "header" => "都道府県" 
    109             ), 
    110             array( 
    111                 "sql" => "addr01", 
    112                 "csv" => "addr01", 
    113                 "header" => "住所1" 
    114             ), 
    115             array( 
    116                 "sql" => "addr02", 
    117                 "csv" => "addr02", 
    118                 "header" => "住所2" 
    119             ), 
    120             array( 
    121                 "sql" => "email", 
    122                 "csv" => "email", 
    123                 "header" => "E-MAIL" 
    124             ), 
    125             array( 
    126                 "sql" => "tel01", 
    127                 "csv" => "tel01", 
    128                 "header" => "TEL1" 
    129             ), 
    130             array( 
    131                 "sql" => "tel02", 
    132                 "csv" => "tel02", 
    133                 "header" => "TEL2" 
    134             ), 
    135             array( 
    136                 "sql" => "tel03", 
    137                 "csv" => "tel03", 
    138                 "header" => "TEL3" 
    139             ), 
    140             array( 
    141                 "sql" => "fax01", 
    142                 "csv" => "fax01", 
    143                 "header" => "FAX1" 
    144             ), 
    145             array( 
    146                 "sql" => "fax02", 
    147                 "csv" => "fax02", 
    148                 "header" => "FAX2" 
    149             ), 
    150             array( 
    151                 "sql" => "fax03", 
    152                 "csv" => "fax03", 
    153                 "header" => "FAX3" 
    154             ), 
    155             array( 
    156                 "sql" => "CASE WHEN sex = 1 THEN '男性' ELSE '女性' END AS sex", 
    157                 "csv" => "sex", 
    158                 "header" => "性別" 
    159             ), 
    160             array( 
    161                 "sql" => "job", 
    162                 "csv" => "job", 
    163                 "header" => "職業" 
    164             ), 
    165             array( 
    166                 "sql" => "cast(birth as date) AS birth", 
    167                 "csv" => "birth", 
    168                 "header" => "誕生日" 
    169             ), 
    170             array( 
    171                 "sql" => "cast(first_buy_date as date) AS first_buy_date", 
    172                 "csv" => "first_buy_date", 
    173                 "header" => "初回購入日" 
    174             ), 
    175             array( 
    176                 "sql" => "cast(last_buy_date as date) AS last_buy_date", 
    177                 "csv" => "last_buy_date", 
    178                 "header" => "最終購入日" 
    179             ), 
    180             array( 
    181                 "sql" => "buy_times", 
    182                 "csv" => "buy_times", 
    183                 "header" => "購入回数" 
    184             ), 
    185             array( 
    186                 "sql" => "point", 
    187                 "csv" => "point", 
    188                 "header" => "ポイント残高" 
    189             ), 
    190             array( 
    191                 "sql" => "note", 
    192                 "csv" => "note", 
    193                 "header" => "備考" 
    194             ), 
    195             array( 
    196                 "sql" => "cast(create_date as date) AS create_date", 
    197                 "csv" => "create_date", 
    198                 "header" => "登録日" 
    199             ), 
    200             array( 
    201                 "sql" => "cast(update_date as date) AS update_date", 
    202                 "csv" => "update_date", 
    203                 "header" => "更新日" 
    204             ), 
    205         ); 
     59        $this->arrStatus = $masterData->getMasterData("mtb_customer_status"); 
     60 
     61        // 日付プルダウン設定 
     62        $objDate = new SC_Date(BIRTH_YEAR); 
     63        $this->arrYear = $objDate->getYear();    
     64        $this->arrMonth = $objDate->getMonth(); 
     65        $this->arrDay = $objDate->getDay(); 
     66        $this->objDate = $objDate; 
     67 
     68        // カテゴリ一覧設定 
     69        $objDb = new SC_Helper_DB_Ex(); 
     70        $this->arrCatList = $objDb->sfGetCategoryList(); 
     71         
    20672        $this->httpCacheControl('nocache'); 
    20773    } 
     
    22389     */ 
    22490    function action() { 
    225         //---- ページ初期設定 
    226         $objQuery = new SC_Query(); 
    227         $objView = new SC_AdminView(); 
    228         $objDate = new SC_Date(1901); 
    229         $objDb = new SC_Helper_DB_Ex(); 
    230         $this->arrYear = $objDate->getYear();   // 日付プルダウン設定 
    231         $this->arrMonth = $objDate->getMonth(); 
    232         $this->arrDay = $objDate->getDay(); 
    233         $this->objDate = $objDate; 
    234  
    23591        // 認証可否の判定 
    236         $objSess = new SC_Session(); 
    237         SC_Utils_Ex::sfIsSuccess($objSess); 
    238  
    239         // POST値の引き継ぎ 
    240         $this->arrForm = $_POST; 
    241  
    242         // ページ送り用 
    243         $this->arrHidden['search_pageno'] = 
    244                 isset($_POST['search_pageno']) ? $_POST['search_pageno'] : ""; 
    245  
     92        SC_Utils_Ex::sfIsSuccess(new SC_Session()); 
     93 
     94        // 不正アクセスチェック  
     95        if ($_SERVER["REQUEST_METHOD"] == "POST") { 
     96            if (!SC_Helper_Session_Ex::isValidToken()) { 
     97                SC_Utils_Ex::sfDispError(INVALID_MOVE_ERRORR); 
     98            } 
     99        } 
     100 
     101        // パラメータ管理クラス 
     102        $objFormParam = new SC_FormParam(); 
     103        // パラメータ設定 
     104        $this->lfInitParam($objFormParam); 
     105        $objFormParam->setParam($_POST); 
     106        $objFormParam->convParam(); 
     107        // パラメーター読み込み 
     108        $this->arrForm = $this->lfGetFormParam($objFormParam); 
    246109        // 検索ワードの引き継ぎ 
    247         foreach ($_POST as $key => $val) { 
    248             switch($key) { 
    249             case 'sex': 
    250             case 'status': 
    251                 $this->arrHidden[$key] = SC_Utils_Ex::sfMergeParamCheckBoxes($val); 
    252                 if(!is_array($val)) { 
    253                     $this->arrForm[$key] = split("-", $val); 
    254                 } 
    255                 break; 
    256             default: 
    257                 $this->arrHidden[$key] = $val; 
    258                 break; 
    259             } 
    260         } 
    261         //TODO: 要リファクタリング(MODE switch 2か所で行われている) 
     110        $this->arrHidden = $this->lfGetSearchWords($objFormParam); 
     111        // 入力パラメーターチェック 
     112        $this->arrErr = $this->lfCheckError($objFormParam); 
     113        if(!SC_Utils_Ex::isBlank($this->arrErr)) { 
     114            return; 
     115        } 
     116 
     117        // モードによる処理切り替え 
    262118        switch ($this->getMode()) { 
    263119        case 'delete': 
    264         // 顧客削除 
    265             $sql = "SELECT status,email FROM dtb_customer WHERE customer_id = ? AND del_flg = 0"; 
    266             $result_customer = $objQuery->getAll($sql, array($_POST["edit_customer_id"])); 
    267  
    268             if ($result_customer[0]["status"] == 2) {           //本会員削除 
    269                 $objQuery->update("dtb_customer", array('del_flg' => 1, "update_date" => "now"), "customer_id = ?",  array($_POST["edit_customer_id"])); 
    270             } elseif ($result_customer[0]["status"] == 1) {     //仮会員削除 
    271                 $sql = "DELETE FROM dtb_customer WHERE customer_id = ?"; 
    272                 $objQuery->query($sql, array($_POST["edit_customer_id"])); 
    273             } 
     120            $this->is_delete = $this->lfDoDeleteCustomer($objFormParam->getValue('edit_customer_id')); 
     121            list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($this->arrForm); 
     122            $this->arrPagenavi = $this->objNavi->arrPagenavi; 
    274123            break; 
    275124        case 'resend_mail': 
    276         // 登録メール再送 
    277             $arrRet = $objQuery->select("name01, name02, secret_key, email, email_mobile", "dtb_customer","customer_id = ? AND del_flg <> 1 AND status = 1", array($_POST["edit_customer_id"])); 
    278             if( is_array($arrRet) === true && count($arrRet) > 0 ){ 
    279  
    280                 $this->name01 = $arrRet[0]['name01']; 
    281                 $this->name02 = $arrRet[0]['name02']; 
    282                 $this->uniqid = $arrRet[0]['secret_key']; 
    283  
    284                 $CONF = $objDb->sfGetBasisData(); 
    285                 $this->CONF = $CONF; 
    286                 /** 
    287                  * 携帯メールアドレスが登録されていれば携帯サイトから仮会員登録したものと判定する。 
    288                  * TODO: とりあえずの簡易的な判定なので、将来的には判定ルーチンを修正した方が良い。 
    289                  */ 
    290                 if (!empty($arrRet[0]['email_mobile'])) { 
    291                     $objMailText = new SC_MobileView(false); 
    292                     $this->to_name01 = $arrRet[0]['name01']; 
    293                     $this->to_name02 = $arrRet[0]['name02']; 
    294                 } else { 
    295                     $objMailText = new SC_SiteView(false); 
    296                 } 
    297                 $objMailText->assignobj($this); 
    298                 $mailHelper = new SC_Helper_Mail_Ex(); 
    299  
    300                 $subject = $mailHelper->sfMakesubject('会員登録のご確認'); 
    301                 $toCustomerMail = $objMailText->fetch("mail_templates/customer_mail.tpl"); 
    302  
    303                 $objMail = new SC_SendMail(); 
    304                 $objMail->setItem( 
    305                                     ''                  // 宛先 
    306                                     , $subject          // サブジェクト 
    307                                     , $toCustomerMail   // 本文 
    308                                     , $CONF["email03"]  // 配送元アドレス 
    309                                     , $CONF["shop_name"]// 配送元 名前 
    310                                     , $CONF["email03"]  // reply_to 
    311                                     , $CONF["email04"]  // return_path 
    312                                     , $CONF["email04"]  //  Errors_to 
    313                                  ); 
    314                 // 宛先の設定 
    315                 $name = $this->name01 . $this->name02 ." 様"; 
    316                 $objMail->setTo($arrRet[0]["email"], $name); 
    317                 $objMail->sendMail(); 
    318             } 
     125            $this->is_resendmail = $this->lfDoResendMail($objFormParam->getValue('edit_customer_id')); 
     126            list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($this->arrForm); 
     127            $this->arrPagenavi = $this->objNavi->arrPagenavi; 
     128            break; 
     129        case 'search': 
     130            list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($this->arrForm); 
     131            $this->arrPagenavi = $this->objNavi->arrPagenavi; 
     132            break; 
     133        case 'csv': 
     134            $this->lfDoCSV($this->arrForm); 
     135            exit; 
    319136            break; 
    320137        default: 
     
    322139        } 
    323140 
    324         //TODO: 要リファクタリング(MODE switch 2か所で行われている) 
    325         switch ($this->getMode()) { 
    326         case 'search': 
    327         case 'csv': 
    328         case 'delete': 
    329         case 'delete_all': 
    330         case 'resend_mail': 
    331             // 入力文字の強制変換 
    332             $this->lfConvertParam(); 
    333             // エラーチェック 
    334             $this->arrErr = $this->lfCheckError($this->arrForm); 
    335  
    336             $where = "del_flg = 0"; 
    337  
    338             /* 入力エラーなし */ 
    339             if (count($this->arrErr) == 0) { 
    340  
    341                 //-- 検索データ取得 
    342                 $objSelect = new SC_CustomerList($this->arrForm, "customer"); 
    343  
    344                 // 表示件数設定 
    345                 $page_rows = $this->arrForm['page_rows']; 
    346                 if(is_numeric($page_rows)) { 
    347                     $page_max = $page_rows; 
    348                 } else { 
    349                     $page_max = SEARCH_PMAX; 
    350                 } 
    351  
    352                 if (!isset($this->arrForm['search_pageno'])) $this->arrForm['search_pageno'] = ""; 
    353  
    354                 if ($this->arrForm['search_pageno'] == 0){ 
    355                     $this->arrForm['search_pageno'] = 1; 
    356                 } 
    357  
    358                 $offset = $page_max * ($this->arrForm['search_pageno'] - 1); 
    359                 $objSelect->setLimitOffset($page_max, $offset); 
    360                 //TODO 要リファクタリング(MODE if利用) 
    361                 if ($this->getMode() == 'csv') { 
    362                     $searchSql = $objSelect->getListCSV($this->arrColumnCSV); 
    363                 }else{ 
    364                     $searchSql = $objSelect->getList(); 
    365                 } 
    366  
    367                 $this->search_data = $objQuery->getAll($searchSql, $objSelect->arrVal); 
    368                 //TODO: 要リファクタリング(MODE switch 入れ子) 
    369                 switch($this->getMode()) { 
    370                 case 'csv': 
    371                     require_once(CLASS_EX_REALDIR . "helper_extends/SC_Helper_CSV_Ex.php"); 
    372  
    373                     $objCSV = new SC_Helper_CSV_Ex(); 
    374                     $i = 0; 
    375                     $header = ""; 
    376  
    377                     // CSVカラム取得 
    378                     $arrCsvOutput = ($objCSV->sfGetCsvOutput(2, 'status = 1')); 
    379  
    380                     if (count($arrCsvOutput) <= 0) break; 
    381  
    382                     foreach($arrCsvOutput as $data) { 
    383                         $arrColumn[] = $data["col"]; 
    384                         if ($i != 0) $header .= ", "; 
    385                         $header .= $data["disp_name"]; 
    386                         $i ++; 
    387                     } 
    388                     $header .= "\n"; 
    389  
    390                     //- 都道府県/職業の変換 
    391                     for($i = 0; $i < count($this->search_data); $i ++) { 
    392                         $this->search_data[$i]["pref"] = $this->arrPref[ $this->search_data[$i]["pref"] ]; 
    393                         $this->search_data[$i]["job"]  = $this->arrJob[ $this->search_data[$i]["job"] ]; 
    394                     } 
    395  
    396                     //- CSV出力 
    397                     $data = SC_Utils_Ex::getCSVData($this->search_data, $arrColumn); 
    398  
    399  
    400                     // CSVを送信する。 
    401                     list($fime_name, $data) = SC_Utils_Ex::sfGetCSVData($head.$data); 
    402                     $this->sendResponseCSV($fime_name, $data); 
    403                     exit; 
    404                     break; 
    405                 case 'delete_all': 
    406                     // 検索結果をすべて削除 
    407                     $where = "product_id IN (SELECT product_id FROM SC_Product::alldtlSQL() WHERE $where)"; 
    408                     $sqlval['del_flg'] = 1; 
    409                     $objQuery->update("dtb_products", $sqlval, $where, $arrval); 
    410  
    411                     $sql = "SELECT status,email FROM dtb_customer WHERE customer_id = ? AND del_flg = 0"; 
    412                     $result_customer = $objQuery->getAll($sql, array($_POST["del_customer_id"])); 
    413  
    414                     if ($result_customer[0]["status"] == 2) {           //本会員削除 
    415                         $objQuery->update("dtb_customer", array('del_flg' => 1, "update_date" => "now"), "customer_id = ?",  array($_POST["edit_customer_id"])); 
    416                     } elseif ($result_customer[0]["status"] == 1) {     //仮会員削除 
    417                         $sql = "DELETE FROM dtb_customer WHERE customer_id = ?"; 
    418                         $objQuery->query($sql, array($_POST["del_customer_id"])); 
    419                     } 
    420  
    421                     break; 
    422                 default: 
    423  
    424                     // 行数の取得 
    425                     $linemax = $objQuery->getOne( $objSelect->getListCount(), $objSelect->arrVal); 
    426                     $this->tpl_linemax = $linemax;              // 何件が該当しました。表示用 
    427  
    428                     // ページ送りの取得 
    429                     $objNavi = new SC_PageNavi($this->arrHidden['search_pageno'], 
    430                                                $linemax, $page_max, 
    431                                                "fnCustomerPage", NAVI_PMAX); 
    432                     $startno = $objNavi->start_row; 
    433                     $this->arrPagenavi = $objNavi->arrPagenavi; 
    434                 } 
    435             } 
    436             break; 
    437         default: 
    438             break; 
    439         } 
    440  
    441         $this->arrCatList = $objDb->sfGetCategoryList(); 
     141        // トランザクションID 
     142        $this->transactionid = SC_Helper_Session_Ex::getToken(); 
    442143    } 
    443144 
     
    451152    } 
    452153 
    453     //---- 取得文字列の変換 
    454     function lfConvertParam() { 
    455         /* 
    456          *  文字列の変換 
    457          *  K :  「半角(ハンカク)片仮名」を「全角片仮名」に変換 
    458          *  C :  「全角ひら仮名」を「全角かた仮名」に変換 
    459          *  V :  濁点付きの文字を一文字に変換。"K","H"と共に使用します 
    460          *  n :  「全角」数字を「半角(ハンカク)」に変換 
    461          *  a :  全角英数字を半角英数字に変換する 
    462          */ 
    463         // カラム名とコンバート情報 
    464         $arrConvList['customer_id'] = "n" ; 
    465         $arrConvList['name'] = "aKV" ; 
    466         $arrConvList['pref'] = "n" ; 
    467         $arrConvList['kana'] = "CKV" ; 
    468         $arrConvList['b_start_year'] = "n" ; 
    469         $arrConvList['b_start_month'] = "n" ; 
    470         $arrConvList['b_start_day'] = "n" ; 
    471         $arrConvList['b_end_year'] = "n" ; 
    472         $arrConvList['b_end_month'] = "n" ; 
    473         $arrConvList['b_end_day'] = "n" ; 
    474         $arrConvList['tel'] = "n" ; 
    475         $arrConvList['birth_month'] = "n" ; 
    476         $arrConvList['email'] = "a" ; 
    477         $arrConvList['buy_total_from'] = "n" ; 
    478         $arrConvList['buy_total_to'] = "n" ; 
    479         $arrConvList['buy_times_from'] = "n" ; 
    480         $arrConvList['buy_times_to'] = "n" ; 
    481         $arrConvList['start_year'] = "n" ; 
    482         $arrConvList['start_month'] = "n" ; 
    483         $arrConvList['start_day'] = "n" ; 
    484         $arrConvList['end_year'] = "n" ; 
    485         $arrConvList['end_month'] = "n" ; 
    486         $arrConvList['end_day'] = "n" ; 
    487         $arrConvList['page_rows'] = "n" ; 
    488         $arrConvList['buy_start_year'] = "n" ;      // 最終購入日 START 年 
    489         $arrConvList['buy_start_month'] = "n" ;     // 最終購入日 START 月 
    490         $arrConvList['buy_start_day'] = "n" ;       // 最終購入日 START 日 
    491         $arrConvList['buy_end_year'] = "n" ;            // 最終購入日 END 年 
    492         $arrConvList['buy_end_month'] = "n" ;       // 最終購入日 END 月 
    493         $arrConvList['buy_end_day'] = "n" ;         // 最終購入日 END 日 
    494         $arrConvList['buy_product_name'] = "aKV" ;  // 購入商品名 
    495         $arrConvList['buy_product_code'] = "aKV" ;  // 購入商品コード 
    496         $arrConvList['category_id'] = "" ;          // カテゴリ 
    497  
    498         // 文字変換 
    499         foreach ($arrConvList as $key => $val) { 
    500             // POSTされてきた値のみ変換する。 
    501             if(isset($this->arrForm[$key])) { 
    502                 $this->arrForm[$key] = mb_convert_kana($this->arrForm[$key] ,$val); 
    503             } 
    504         } 
    505     } 
    506  
    507     //---- 入力エラーチェック 
    508     function lfCheckError($array) { 
    509  
    510         $objErr = new SC_CheckError($array); 
    511  
    512         $objErr->doFunc(array("顧客コード", "customer_id", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK")); 
    513         $objErr->doFunc(array("都道府県", "pref", 2), array("NUM_CHECK","MAX_LENGTH_CHECK")); 
    514         $objErr->doFunc(array("顧客名", "name", STEXT_LEN), array("MAX_LENGTH_CHECK")); 
    515         $objErr->doFunc(array("顧客名(カナ)", "kana", STEXT_LEN), array("SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANABLANK_CHECK")); 
     154    /** 
     155     * パラメーター情報の初期化 
     156     * 
     157     * @param array $objFormParam フォームパラメータークラス 
     158     * @return void 
     159     */ 
     160    function lfInitParam(&$objFormParam) { 
     161        $objFormParam->addParam('顧客コード', 'customer_id', ID_MAX_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     162        $objFormParam->addParam('顧客名', 'name', STEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     163        $objFormParam->addParam('顧客名(カナ)', 'kana', STEXT_LEN, 'CKV', array("SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANABLANK_CHECK")); 
     164        $objFormParam->addParam('都道府県', 'pref', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     165        $objFormParam->addParam('誕生日(開始年)', 'b_start_year', 4, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     166        $objFormParam->addParam('誕生日(開始月)', 'b_start_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     167        $objFormParam->addParam('誕生日(開始日)', 'b_start_day', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     168 
     169        $objFormParam->addParam('誕生日(終了年)', 'b_end_year', 4, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     170        $objFormParam->addParam('誕生日(終了月)', 'b_end_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     171        $objFormParam->addParam('誕生日(終了日)', 'b_end_day', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     172        $objFormParam->addParam('誕生月', 'birth_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     173        $objFormParam->addParam('メールアドレス', 'email', MTEXT_LEN, 'a', array("SPTAB_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 
     174        $objFormParam->addParam('携帯メールアドレス', 'email_mobile', MTEXT_LEN, 'a', array("SPTAB_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 
     175        $objFormParam->addParam('電話番号', 'birth_month', TEL_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     176        $objFormParam->addParam('購入金額(開始)', 'buy_total_from', PRICE_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     177        $objFormParam->addParam('購入金額(終了)', 'buy_total_to', PRICE_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     178        $objFormParam->addParam('購入回数(開始)', 'buy_times_from', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     179        $objFormParam->addParam('購入回数(終了)', 'buy_times_to', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     180        $objFormParam->addParam('登録・更新日(開始年)', 'start_year', 4, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     181        $objFormParam->addParam('登録・更新日(開始月)', 'start_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     182        $objFormParam->addParam('登録・更新日(開始日)', 'start_day', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     183        $objFormParam->addParam('登録・更新日(終了年)', 'end_year', 4, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     184        $objFormParam->addParam('登録・更新日(終了月)', 'end_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     185        $objFormParam->addParam('登録・更新日(終了日)', 'end_day', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     186        $objFormParam->addParam('表示件数', 'page_rows', 3, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     187        $objFormParam->addParam('最終購入日(開始年)', 'buy_start_year', 4, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     188        $objFormParam->addParam('最終購入日(開始月)', 'buy_start_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     189        $objFormParam->addParam('最終購入日(開始日)', 'buy_start_day', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     190        $objFormParam->addParam('最終購入日(終了年)', 'buy_end_year', 4, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     191        $objFormParam->addParam('最終購入日(終了月)', 'buy_end_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     192        $objFormParam->addParam('最終購入日(終了日)', 'buy_end_day', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     193        $objFormParam->addParam('購入商品コード', 'buy_product_code', STEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     194        $objFormParam->addParam('購入商品名', 'buy_product_name', STEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     195        $objFormParam->addParam('カテゴリ', 'category_id', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     196        $objFormParam->addParam('編集対象顧客ID', 'edit_customer_id', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
     197        $objFormParam->addParam('性別', 'sex'); 
     198        $objFormParam->addParam('会員状態', 'status'); 
     199        $objFormParam->addParam('職業', 'job'); 
     200    } 
     201 
     202    /** 
     203     * エラーチェック 
     204     * 
     205     * @param array $objFormParam フォームパラメータークラス 
     206     * @return array エラー配列 
     207     */ 
     208    function lfCheckError(&$objFormParam) { 
     209        // パラメーターの基本チェック 
     210        $arrErr = $objFormParam->checkError(); 
     211        // 拡張エラーチェック初期化 
     212        $objErr = new SC_CheckError($objFormParam->getHashArray()); 
     213        // 拡張エラーチェック 
    516214        $objErr->doFunc(array("誕生日(開始日)", "b_start_year", "b_start_month", "b_start_day"), array("CHECK_DATE")); 
    517215        $objErr->doFunc(array("誕生日(終了日)", "b_end_year", "b_end_month", "b_end_day"), array("CHECK_DATE")); 
     216         
    518217        $objErr->doFunc(array("誕生日(開始日)","誕生日(終了日)", "b_start_year", "b_start_month", "b_start_day", "b_end_year", "b_end_month", "b_end_day"), array("CHECK_SET_TERM")); 
    519         $objErr->doFunc(array("誕生月", "birth_month", 2), array("NUM_CHECK","MAX_LENGTH_CHECK")); 
    520         $objErr->doFunc(array('メールアドレス', "email", STEXT_LEN) ,array("EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 
    521         $objErr->doFunc(array('携帯メールアドレス', "email_mobile", STEXT_LEN) ,array("EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 
    522         $objErr->doFunc(array("電話番号", "tel", TEL_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK")); 
    523         $objErr->doFunc(array("購入金額(開始)", "buy_total_from", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK")); 
    524         $objErr->doFunc(array("購入金額(終了)", "buy_total_to", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK")); 
    525         if ( (is_numeric($array["buy_total_from"]) && is_numeric($array["buy_total_to"]) ) && ($array["buy_total_from"] > $array["buy_total_to"]) ) $objErr->arrErr["buy_total_from"] .= "※ 購入金額の指定範囲が不正です。"; 
    526         $objErr->doFunc(array("購入回数(開始)", "buy_times_from", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK")); 
    527         $objErr->doFunc(array("購入回数(終了)", "buy_times_to", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK")); 
    528         if ( (is_numeric($array["buy_times_from"]) && is_numeric($array["buy_times_to"]) ) && ($array["buy_times_from"] > $array["buy_times_to"]) ) $objErr->arrErr["buy_times_from"] .= "※ 購入回数の指定範囲が不正です。"; 
    529218        $objErr->doFunc(array("登録・更新日(開始日)", "start_year", "start_month", "start_day",), array("CHECK_DATE")); 
    530219        $objErr->doFunc(array("登録・更新日(終了日)", "end_year", "end_month", "end_day"), array("CHECK_DATE")); 
    531220        $objErr->doFunc(array("登録・更新日(開始日)","登録・更新日(終了日)", "start_year", "start_month", "start_day", "end_year", "end_month", "end_day"), array("CHECK_SET_TERM")); 
    532         $objErr->doFunc(array("表示件数", "page_rows", 3), array("NUM_CHECK","MAX_LENGTH_CHECK")); 
    533         $objErr->doFunc(array("最終購入日(開始日)", "buy_start_year", "buy_start_month", "buy_start_day",), array("CHECK_DATE"));   //最終購入日(開始日) 
    534         $objErr->doFunc(array("最終購入(終了日)", "buy_end_year", "buy_end_month", "buy_end_day"), array("CHECK_DATE"));            //最終購入日(終了日) 
     221        $objErr->doFunc(array("最終購入日(開始日)", "buy_start_year", "buy_start_month", "buy_start_day",), array("CHECK_DATE")); 
     222        $objErr->doFunc(array("最終購入(終了日)", "buy_end_year", "buy_end_month", "buy_end_day"), array("CHECK_DATE")); 
    535223        //購入金額(from) > 購入金額(to) の場合はエラーとする 
    536224        $objErr->doFunc(array("最終購入日(開始日)","登録・更新日(終了日)", "buy_start_year", "buy_start_month", "buy_start_day", "buy_end_year", "buy_end_month", "buy_end_day"), array("CHECK_SET_TERM")); 
    537         $objErr->doFunc(array("購入商品コード", "buy_product_code", STEXT_LEN), array("MAX_LENGTH_CHECK"));                     //購入商品コード 
    538         $objErr->doFunc(array("購入商品名", "buy_product_name", STEXT_LEN), array("MAX_LENGTH_CHECK"));                         //購入商品名称 
    539  
    540         return $objErr->arrErr; 
    541     } 
     225 
     226        if ((SC_Utils_Ex::sfIsInt($array["buy_total_from"]) 
     227             && SC_Utils_Ex::sfIsInt($array["buy_total_to"])) 
     228             && ($array["buy_total_from"] > $array["buy_total_to"])) { 
     229            $objErr->arrErr["buy_total_from"] .= "※ 購入金額の指定範囲が不正です。"; 
     230        } 
     231 
     232        if ((SC_Utils_Ex::sfIsInt($array["buy_times_from"]) 
     233             && SC_Utils_Ex::sfIsInt($array["buy_times_to"])) 
     234             && ($array["buy_times_from"] > $array["buy_times_to"])) { 
     235            $objErr->arrErr["buy_times_from"] .= "※ 購入回数の指定範囲が不正です。"; 
     236        } 
     237        if(!SC_Utils::isBlank($objErr->arrErr)) { 
     238            $arrErr = array_merge($arrErr, $objErr->arrErr); 
     239        } 
     240        return $arrErr; 
     241    } 
     242 
     243    /** 
     244     * 顧客を削除する処理 
     245     * 
     246     * @param integer $customer_id 顧客ID 
     247     * @return boolean true:成功 false:失敗 
     248     */ 
     249    function lfDoDeleteCustomer($customer_id) { 
     250        $arrData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($customer_id, "del_flg = 0"); 
     251        if(SC_Utils_Ex::isBlank($arrData)) { 
     252            //対象となるデータが見つからない。 
     253            return false; 
     254        } 
     255        // XXXX: 仮会員は物理削除となっていたが論理削除に変更。 
     256        $arrVal["del_flg"] = "1"; 
     257        $arrVal["update_date"] ="now()"; 
     258        SC_Helper_Customer_Ex::sfEditCustomerData($arrVal, $customer_id); 
     259        return true; 
     260    } 
     261 
     262    /** 
     263     * 顧客に登録メールを再送する処理 
     264     * 
     265     * @param integer $customer_id 顧客ID 
     266     * @return boolean true:成功 false:失敗 
     267     */ 
     268    function lfDoResendMail($cutomer_id) { 
     269        $arrData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($customer_id); 
     270        if(SC_Utils_Ex::isBlank($arrData) or $arrData['del_flg'] == 1) { 
     271            //対象となるデータが見つからない、または削除済み 
     272            return false; 
     273        } 
     274        // 登録メール再送 
     275        $objHelperMail = new SC_Helper_Mail_Ex(); 
     276        $objHelperMail->sfSendRegistMail($arrData['secret_key'], $customer_id); 
     277        return true; 
     278    } 
     279 
     280    /** 
     281     * 顧客一覧を検索する処理 
     282     * 
     283     * @param array $arrParam 検索パラメーター連想配列 
     284     * @return array( integer 全体件数, mixed 顧客データ一覧配列, mixed SC_PageNaviオブジェクト) 
     285     */ 
     286    function lfDoSearch($arrParam) { 
     287        $objQuery =& SC_Query::getSingletonInstance(); 
     288        $objSelect = new SC_CustomerList($arrParam, "customer"); 
     289        $page_rows = $arrParam['page_rows']; 
     290        if(SC_Utils_Ex::sfIsInt($page_rows)) { 
     291            $page_max = $page_rows; 
     292        }else{ 
     293            $page_max = SEARCH_PMAX; 
     294        } 
     295        $disp_pageno = $arrParam['search_pageno']; 
     296        if($disp_pageno == 0) { 
     297            $disp_pageno = 1; 
     298        } 
     299        $offset = $page_max * ($disp_pageno - 1); 
     300        $objSelect->setLimitOffset($page_max, $offset); 
     301        $arrData = $objQuery->getAll($objSelect->getList(), $objSelect->arrVal); 
     302         
     303        // 該当全体件数の取得 
     304        $linemax = $objQuery->getOne($objSelect->getListCount(), $objSelect->arrVal); 
     305        // ページ送りの取得 
     306        $objNavi = new SC_PageNavi($arrParam['search_pageno'], 
     307                                    $linemax, 
     308                                    $page_max, 
     309                                    "fnCustomerPage", 
     310                                    NAVI_PMAX); 
     311        return array($linemax, $arrData, $objNavi); 
     312    } 
     313 
     314    /** 
     315     * 顧客一覧CSVを検索してダウンロードする処理 
     316     * 
     317     * @param array $arrParam 検索パラメーター連想配列 
     318     * @return boolean true:成功 false:失敗 
     319     */ 
     320    function lfDoCSV($arrParam) { 
     321        $objSelect = new SC_CustomerList($arrParam, "customer"); 
     322        $order = "update_date DESC, customer_id DESC"; 
     323        require_once(CLASS_EX_REALDIR . "helper_extends/SC_Helper_CSV_Ex.php"); 
     324        $objCSV = new SC_Helper_CSV_Ex(); 
     325        list($where, $arrVal) = $objSelect->getWhere(); 
     326        $objCSV->sfDownloadCsv('2', $where, $arrVal); 
     327    } 
     328 
     329    /** 
     330     * 検索パラメーター引継ぎ用展開 
     331     * 
     332     * @param array $objFormParam フォームパラメータークラス 
     333     * @return array 引き継ぎ用連想配列 
     334     */ 
     335    function lfGetSearchWords(&$objFormParam) { 
     336        $arrData = $objFormParam->getSearchArray("search_"); 
     337        $arrData['sex'] = SC_Utils_Ex::sfMergeParamCheckBoxes($objFormParam->getValue('sex')); 
     338        $arrData['status'] = SC_Utils_Ex::sfMergeParamCheckBoxes($objFormParam->getValue('status')); 
     339        $arrData['job'] = SC_Utils_Ex::sfMergeParamCheckBoxes($objFormParam->getValue('job')); 
     340    } 
     341 
     342    /** 
     343     * 表示用パラメーター値取得処理 
     344     * 
     345     * @param array $objFormParam フォームパラメータークラス 
     346     * @return array 表示用連想配列 
     347     */ 
     348    function lfGetFormParam(&$objFormParam) { 
     349        $arrForm = $objFormParam->getHashArray(); 
     350        // 配列形式のデータの展開処理 
     351        $val_sex = $objFormParam->getValue('sex'); 
     352        if(!is_array($val_sex) and !SC_Utils_Ex::isBlank($val_sex)) { 
     353            $arrForm['sex'] = explode("-", $val_sex); 
     354        } 
     355        $val_status = $objFormParam->getValue('status'); 
     356        if(!is_array($val_status) and !SC_Utils_Ex::isBlank($val_status)) { 
     357            $arrForm['status'] = explode("-", $val_status); 
     358        } 
     359        $val_job = $objFormParam->getValue('job'); 
     360        if(!is_array($val_job) and !SC_Utils_Ex::isBlank($val_job)) { 
     361            $arrForm['job'] = explode("-", $val_job); 
     362        } 
     363        return $arrForm; 
     364    } 
     365 
    542366} 
    543367?> 
  • branches/version-2_5-dev/html/install/sql/create_table_mysql.sql

    r20116 r20160  
    10561056) ENGINE=InnoDB; 
    10571057 
     1058CREATE TABLE mtb_customer_status ( 
     1059    id smallint, 
     1060    name text, 
     1061    rank smallint NOT NULL DEFAULT 0, 
     1062    PRIMARY KEY (id) 
     1063) ENGINE=InnoDB; 
     1064 
    10581065CREATE TABLE mtb_page_rows ( 
    10591066    id smallint, 
  • branches/version-2_5-dev/html/install/sql/create_table_pgsql.sql

    r20116 r20160  
    10561056); 
    10571057 
     1058CREATE TABLE mtb_customer_status ( 
     1059    id smallint, 
     1060    name text, 
     1061    rank smallint NOT NULL DEFAULT 0, 
     1062    PRIMARY KEY (id) 
     1063); 
     1064 
    10581065CREATE TABLE mtb_page_rows ( 
    10591066    id smallint, 
  • branches/version-2_5-dev/html/install/sql/insert_data.sql

    r20134 r20160  
    927927INSERT INTO mtb_sex (id, name, rank) VALUES (1, '男性', 0); 
    928928INSERT INTO mtb_sex (id, name, rank) VALUES (2, '女性', 1); 
     929 
     930INSERT INTO mtb_customer_status (id, name, rank) VALUES (1, '仮会員', 0); 
     931INSERT INTO mtb_customer_status (id, name, rank) VALUES (2, '本会員', 1); 
    929932 
    930933INSERT INTO mtb_status (id, name, rank) VALUES (1, 'NEW', 0); 
Note: See TracChangeset for help on using the changeset viewer.