Ignore:
Timestamp:
2013/05/02 18:11:36 (11 years ago)
Author:
h_yoshimoto
Message:

#2236 2.12.3リリース以降の2.12-devへのコミット差し戻し

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/helper/SC_Helper_Customer.php

    r22569 r22796  
    3030 * @version $Id$ 
    3131 */ 
    32 class SC_Helper_Customer  
    33 { 
     32class SC_Helper_Customer { 
    3433 
    3534    /** 
    3635     * 会員情報の登録・編集処理を行う. 
    3736     * 
    38      * @param array $arrData 登録するデータの配列(SC_FormParamのgetDbArrayの戻り値) 
     37     * @param array $array 登録するデータの配列(SC_FormParamのgetDbArrayの戻り値) 
    3938     * @param array $customer_id nullの場合はinsert, 存在する場合はupdate 
    4039     * @access public 
    4140     * @return integer 登録編集したユーザーのcustomer_id 
    4241     */ 
    43     function sfEditCustomerData($arrData, $customer_id = null) 
    44     { 
     42    function sfEditCustomerData($array, $customer_id = null) { 
    4543        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    4644        $objQuery->begin(); 
    4745 
    48         $old_version_flag = false; 
    49  
    50         $arrData['update_date'] = 'CURRENT_TIMESTAMP';    // 更新日 
     46        $array['update_date'] = 'CURRENT_TIMESTAMP';    // 更新日 
    5147 
    5248        // salt値の生成(insert時)または取得(update時)。 
     
    5551 
    5652            // 旧バージョン(2.11未満)からの移行を考慮 
    57             if (strlen($salt) === 0) { 
    58                 $old_version_flag = true; 
    59             } 
     53            if (empty($salt)) $old_version_flag = true; 
    6054        } else { 
    6155            $salt = SC_Utils_Ex::sfGetRandomString(10); 
    62             $arrData['salt'] = $salt; 
     56            $array['salt'] = $salt; 
    6357        } 
    6458        //-- パスワードの更新がある場合は暗号化 
    65         if ($arrData['password'] == DEFAULT_PASSWORD or $arrData['password'] == '') { 
     59        if ($array['password'] == DEFAULT_PASSWORD or $array['password'] == '') { 
    6660            //更新しない 
    67             unset($arrData['password']); 
     61            unset($array['password']); 
    6862        } else { 
    6963            // 旧バージョン(2.11未満)からの移行を考慮 
     
    7165                $is_password_updated = true; 
    7266                $salt = SC_Utils_Ex::sfGetRandomString(10); 
    73                 $arrData['salt'] = $salt; 
    74             } 
    75  
    76             $arrData['password'] = SC_Utils_Ex::sfGetHashString($arrData['password'], $salt); 
     67                $array['salt'] = $salt; 
     68            } 
     69 
     70            $array['password'] = SC_Utils_Ex::sfGetHashString($array['password'], $salt); 
    7771        } 
    7872        //-- 秘密の質問の更新がある場合は暗号化 
    79         if ($arrData['reminder_answer'] == DEFAULT_PASSWORD or $arrData['reminder_answer'] == '') { 
     73        if ($array['reminder_answer'] == DEFAULT_PASSWORD or $array['reminder_answer'] == '') { 
    8074            //更新しない 
    81             unset($arrData['reminder_answer']); 
     75            unset($array['reminder_answer']); 
    8276 
    8377            // 旧バージョン(2.11未満)からの移行を考慮 
     
    8579                // パスワードが更新される場合は、平文になっている秘密の質問を暗号化する 
    8680                $reminder_answer = $objQuery->get('reminder_answer', 'dtb_customer', 'customer_id = ? ', array($customer_id)); 
    87                 $arrData['reminder_answer'] = SC_Utils_Ex::sfGetHashString($reminder_answer, $salt); 
     81                $array['reminder_answer'] = SC_Utils_Ex::sfGetHashString($reminder_answer, $salt); 
    8882            } 
    8983        } else { 
     
    9185            if ($old_version_flag && !$is_password_updated) { 
    9286                // パスワードが更新されない場合は、平文のままにする 
    93                 unset($arrData['salt']); 
     87                unset($array['salt']); 
    9488            } else { 
    95                 $arrData['reminder_answer'] = SC_Utils_Ex::sfGetHashString($arrData['reminder_answer'], $salt); 
     89                $array['reminder_answer'] = SC_Utils_Ex::sfGetHashString($array['reminder_answer'], $salt); 
    9690            } 
    9791        } 
     
    10094        if (is_numeric($customer_id)) { 
    10195            // 編集 
    102             $objQuery->update('dtb_customer', $arrData, 'customer_id = ? ', array($customer_id)); 
     96            $objQuery->update('dtb_customer', $array, 'customer_id = ? ', array($customer_id)); 
    10397        } else { 
    10498            // 新規登録 
     
    106100            // 会員ID 
    107101            $customer_id = $objQuery->nextVal('dtb_customer_customer_id'); 
    108             $arrData['customer_id'] = $customer_id; 
     102            $array['customer_id'] = $customer_id; 
    109103            // 作成日 
    110             if (is_null($arrData['create_date'])) { 
    111                 $arrData['create_date'] = 'CURRENT_TIMESTAMP'; 
    112             } 
    113             $objQuery->insert('dtb_customer', $arrData); 
     104            if (is_null($array['create_date'])) { 
     105                $array['create_date'] = 'CURRENT_TIMESTAMP'; 
     106            } 
     107            $objQuery->insert('dtb_customer', $array); 
    114108        } 
    115109 
    116110        $objQuery->commit(); 
    117  
    118111        return $customer_id; 
    119112    } 
     
    127120     * @return array 最終ポイントの配列 
    128121     */ 
    129     function sfGetCustomerPoint($order_id, $use_point, $add_point) 
    130     { 
    131         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    132  
     122    function sfGetCustomerPoint($order_id, $use_point, $add_point) { 
     123        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    133124        $arrRet = $objQuery->select('customer_id', 'dtb_order', 'order_id = ?', array($order_id)); 
    134125        $customer_id = $arrRet[0]['customer_id']; 
     
    146137            $point = ''; 
    147138        } 
    148  
    149139        return array($point, $total_point); 
    150140    } 
     
    158148     * @return integer  0:登録可能     1:登録済み   2:再登録制限期間内削除ユーザー  3:自分のアドレス 
    159149     */ 
    160     function sfCheckRegisterUserFromEmail($email) 
    161     { 
     150    function sfCheckRegisterUserFromEmail($email) { 
    162151        $objCustomer = new SC_Customer_Ex(); 
    163152        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     
    207196     * @return boolean メールアドレスが重複する場合 true 
    208197     */ 
    209     function sfCustomerEmailDuplicationCheck($customer_id, $email) 
    210     { 
     198    function sfCustomerEmailDuplicationCheck($customer_id, $email) { 
    211199        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    212200 
     
    218206            || strlen($arrResults['email_mobile']) >= 1 &&  $email === $arrResults['email_mobile'] 
    219207        ; 
    220  
    221208        return $return; 
    222209    } 
     
    230217     * @return array 会員情報の配列を返す 
    231218     */ 
    232     function sfGetCustomerData($customer_id, $mask_flg = true) 
    233     { 
     219    function sfGetCustomerData($customer_id, $mask_flg = true) { 
    234220        $objQuery       =& SC_Query_Ex::getSingletonInstance(); 
    235221 
     
    253239            $arrForm['reminder_answer']   = DEFAULT_PASSWORD; 
    254240        } 
    255  
    256241        return $arrForm; 
    257242    } 
     
    268253     * @return array 対象会員データ 
    269254     */ 
    270     function sfGetCustomerDataFromId($customer_id, $add_where = '', $arrAddVal = array()) 
    271     { 
     255    function sfGetCustomerDataFromId($customer_id, $add_where = '', $arrAddVal = array()) { 
    272256        $objQuery   =& SC_Query_Ex::getSingletonInstance(); 
    273  
    274257        if ($add_where == '') { 
    275258            $where = 'customer_id = ?'; 
     
    283266            $arrData = $objQuery->getRow('*', 'dtb_customer', $where, $arrAddVal); 
    284267        } 
    285  
    286268        return $arrData; 
    287269    } 
     
    293275     * @return string 会員登録キーの文字列 
    294276     */ 
    295     function sfGetUniqSecretKey() 
    296     { 
     277    function sfGetUniqSecretKey() { 
    297278        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    298279 
     
    301282            $exists = $objQuery->exists('dtb_customer', 'secret_key = ?', array($uniqid)); 
    302283        } while ($exists); 
    303  
    304284        return $uniqid; 
    305285    } 
     
    313293     * @return integer 会員ID 
    314294     */ 
    315     function sfGetCustomerId($uniqid, $check_status = false) 
    316     { 
     295    function sfGetCustomerId($uniqid, $check_status = false) { 
    317296        $objQuery   =& SC_Query_Ex::getSingletonInstance(); 
    318  
    319297        $where      = 'secret_key = ?'; 
    320298 
     
    334312     * @return void 
    335313     */ 
    336     function sfCustomerEntryParam(&$objFormParam, $isAdmin = false) 
    337     { 
     314    function sfCustomerEntryParam(&$objFormParam, $isAdmin = false) { 
    338315        SC_Helper_Customer_Ex::sfCustomerCommonParam($objFormParam); 
    339316        SC_Helper_Customer_Ex::sfCustomerRegisterParam($objFormParam, $isAdmin); 
     
    359336     * @return void 
    360337     */ 
    361     function sfCustomerMypageParam(&$objFormParam) 
    362     { 
     338    function sfCustomerMypageParam(&$objFormParam) { 
    363339        SC_Helper_Customer_Ex::sfCustomerCommonParam($objFormParam); 
    364340        SC_Helper_Customer_Ex::sfCustomerRegisterParam($objFormParam, false, true); 
     
    379355     * @return void 
    380356     */ 
    381     function sfCustomerCommonParam(&$objFormParam) 
    382     { 
     357    function sfCustomerCommonParam(&$objFormParam) { 
    383358        $objFormParam->addParam('お名前(姓)', 'name01', STEXT_LEN, 'aKV', array('EXIST_CHECK', 'NO_SPTAB', 'SPTAB_CHECK' ,'MAX_LENGTH_CHECK')); 
    384359        $objFormParam->addParam('お名前(名)', 'name02', STEXT_LEN, 'aKV', array('EXIST_CHECK', 'NO_SPTAB', 'SPTAB_CHECK' , 'MAX_LENGTH_CHECK')); 
     
    406381     * @return void 
    407382     */ 
    408     function sfCustomerRegisterParam(&$objFormParam, $isAdmin = false, $is_mypage = false) 
    409     { 
    410         $objFormParam->addParam('パスワード', 'password', PASSWORD_MAX_LEN, 'a', array('EXIST_CHECK', 'SPTAB_CHECK', 'ALNUM_CHECK')); 
     383    function sfCustomerRegisterParam(&$objFormParam, $isAdmin = false, $is_mypage = false) { 
     384        $objFormParam->addParam('パスワード', 'password', STEXT_LEN, 'a', array('EXIST_CHECK', 'SPTAB_CHECK', 'ALNUM_CHECK', 'MAX_LENGTH_CHECK')); 
    411385        $objFormParam->addParam('パスワード確認用の質問の答え', 'reminder_answer', STEXT_LEN, 'aKV', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    412386        $objFormParam->addParam('パスワード確認用の質問', 'reminder', STEXT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     
    420394        if (SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE) { 
    421395            $objFormParam->addParam('メールアドレス', 'email', null, 'a', array('NO_SPTAB', 'EXIST_CHECK', 'EMAIL_CHECK', 'SPTAB_CHECK' ,'EMAIL_CHAR_CHECK')); 
    422             $objFormParam->addParam('パスワード(確認)', 'password02', PASSWORD_MAX_LEN, 'a', array('EXIST_CHECK', 'SPTAB_CHECK' ,'ALNUM_CHECK'), '', false); 
     396            $objFormParam->addParam('パスワード(確認)', 'password02', STEXT_LEN, 'a', array('EXIST_CHECK', 'SPTAB_CHECK' ,'ALNUM_CHECK'), '', false); 
    423397            if (!$isAdmin) { 
    424398                $objFormParam->addParam('メールアドレス(確認)', 'email02', null, 'a', array('NO_SPTAB', 'EXIST_CHECK', 'EMAIL_CHECK','SPTAB_CHECK' , 'EMAIL_CHAR_CHECK'), '', false); 
     
    437411     * @return array エラーの配列 
    438412     */ 
    439     function sfCustomerEntryErrorCheck(&$objFormParam) 
    440     { 
     413    function sfCustomerEntryErrorCheck(&$objFormParam) { 
    441414        $objErr = SC_Helper_Customer_Ex::sfCustomerCommonErrorCheck($objFormParam); 
    442415        $objErr = SC_Helper_Customer_Ex::sfCustomerRegisterErrorCheck($objErr); 
     
    467440     * @return array エラーの配列 
    468441     */ 
    469     function sfCustomerMypageErrorCheck(&$objFormParam, $isAdmin = false) 
    470     { 
     442    function sfCustomerMypageErrorCheck(&$objFormParam, $isAdmin = false) { 
    471443 
    472444        $objFormParam->toLower('email_mobile'); 
     
    485457            unset($objErr->arrErr['reminder_answer']); 
    486458        } 
    487  
    488459        return $objErr->arrErr; 
    489460    } 
     
    496467     * @return array エラー情報の配列 
    497468     */ 
    498     function sfCustomerCommonErrorCheck(&$objFormParam) 
    499     { 
     469    function sfCustomerCommonErrorCheck(&$objFormParam) { 
    500470        $objFormParam->convParam(); 
    501471        $objFormParam->toLower('email'); 
     
    521491     * @return SC_CheckError $objErr エラー情報 
    522492     */ 
    523     function sfCustomerRegisterErrorCheck(&$objErr, $isAdmin = false) 
    524     { 
     493    function sfCustomerRegisterErrorCheck(&$objErr, $isAdmin = false) { 
    525494        $objErr->doFunc(array('生年月日', 'year', 'month', 'day'), array('CHECK_BIRTHDAY')); 
    526         $objErr->doFunc(array('パスワード', 'password', PASSWORD_MIN_LEN, PASSWORD_MAX_LEN) ,array('NUM_RANGE_CHECK')); 
    527495 
    528496        if (SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE) { 
    529497            if (!$isAdmin) { 
     498                $objErr->doFunc(array('パスワード', 'password', PASSWORD_MIN_LEN, PASSWORD_MAX_LEN) ,array('SPTAB_CHECK', 'NUM_RANGE_CHECK')); 
    530499                $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', 'email', 'email02') ,array('EQUAL_CHECK')); 
    531500            } 
     
    538507            $objErr->doFunc(array('携帯メールアドレス', 'email_mobile'), array('CHECK_REGIST_CUSTOMER_EMAIL', 'MOBILE_EMAIL_CHECK')); 
    539508        } 
    540  
    541509        return $objErr; 
    542510    } 
     
    549517     * @return void 
    550518     */ 
    551     function sfSetSearchParam(&$objFormParam) 
    552     { 
     519    function sfSetSearchParam(&$objFormParam) { 
    553520        $objFormParam->addParam('会員ID', 'search_customer_id', ID_MAX_LEN, 'n', array('NUM_CHECK','MAX_LENGTH_CHECK')); 
    554521        $objFormParam->addParam('お名前', 'search_name', STEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     
    599566     * @return array エラー配列 
    600567     */ 
    601     function sfCheckErrorSearchParam(&$objFormParam) 
    602     { 
     568    function sfCheckErrorSearchParam(&$objFormParam) { 
    603569        // パラメーターの基本チェック 
    604570        $arrErr = $objFormParam->checkError(); 
    605         // エラーチェック対象のパラメータ取得 
    606         $array = $objFormParam->getHashArray(); 
    607571        // 拡張エラーチェック初期化 
    608         $objErr = new SC_CheckError_Ex($array); 
     572        $objErr = new SC_CheckError_Ex($objFormParam->getHashArray()); 
    609573        // 拡張エラーチェック 
    610574        $objErr->doFunc(array('誕生日(開始日)', 'search_b_start_year', 'search_b_start_month', 'search_b_start_day'), array('CHECK_DATE')); 
     
    622586        if (SC_Utils_Ex::sfIsInt($array['search_buy_total_from']) 
    623587            && SC_Utils_Ex::sfIsInt($array['search_buy_total_to']) 
    624             && $array['search_buy_total_from'] > $array['search_buy_total_to'] 
     588            && $array['search_buy_total_from'] > $array['buy_total_to'] 
    625589        ) { 
    626590            $objErr->arrErr['search_buy_total_from'] .= '※ 購入金額の指定範囲が不正です。'; 
     
    636600            $arrErr = array_merge($arrErr, $objErr->arrErr); 
    637601        } 
    638  
    639602        return $arrErr; 
    640603    } 
     
    647610     * @return array( integer 全体件数, mixed 会員データ一覧配列, mixed SC_PageNaviオブジェクト) 
    648611     */ 
    649     function sfGetSearchData($arrParam, $limitMode = '') 
    650     { 
     612    function sfGetSearchData($arrParam, $limitMode = '') { 
    651613        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    652614        $objSelect = new SC_CustomerList_Ex($arrParam, 'customer'); 
    653  
    654615        $page_max = SC_Utils_Ex::sfGetSearchPageMax($arrParam['search_page_max']); 
    655616        $disp_pageno = $arrParam['search_pageno']; 
     
    682643     * @return boolean 仮会員の場合 true 
    683644     */ 
    684     public function checkTempCustomer($login_email) 
    685     { 
    686         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    687  
     645    public function checkTempCustomer($login_email) { 
     646        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    688647        $where = 'email = ? AND status = 1 AND del_flg = 0'; 
    689648        $exists = $objQuery->exists('dtb_customer', $where, array($login_email)); 
    690  
    691649        return $exists; 
    692650    } 
    693  
    694     /** 
    695      * 会員を削除する処理 
    696      * 
    697      * @param integer $customer_id 会員ID 
    698      * @return boolean true:成功 false:失敗 
    699      */ 
    700     public static function delete($customer_id) 
    701     { 
    702         $arrData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($customer_id, 'del_flg = 0'); 
    703         if (SC_Utils_Ex::isBlank($arrData)) { 
    704             //対象となるデータが見つからない。 
    705             return false; 
    706         } 
    707         // XXXX: 仮会員は物理削除となっていたが論理削除に変更。 
    708         $arrVal = array( 
    709             'del_flg' => '1', 
    710         ); 
    711         SC_Helper_Customer_Ex::sfEditCustomerData($arrVal, $customer_id); 
    712         return true; 
    713     } 
    714651} 
Note: See TracChangeset for help on using the changeset viewer.