Ignore:
Timestamp:
2011/03/04 19:31:14 (13 years ago)
Author:
nanasess
bzr:base-revision:
svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_5-dev:20481
bzr:committer:
Kentaro Ohkouchi <ohkouchi@loop-az.jp>
bzr:file-ids:

data/class/helper/SC_Helper_Customer.php 19864@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fversion-2_5-dev%2Fdata%2Fclass%2Fhelper%2FSC_Helper_Customer.php
bzr:mapping-version:
v4
bzr:merge:

ohkouchi@loop-az.jp-20110304102922-wd325v8ay3v2iy9l
bzr:repository-uuid:
1e3b908f-19a9-db11-a64c-001125224ba8
bzr:revision-id:
ohkouchi@loop-az.jp-20110304103109-lxcvvmqtlzzl1ffq
bzr:revno:
3209
bzr:revprop:branch-nick:
branches/version-2_5-dev
bzr:root:
branches/version-2_5-dev
bzr:text-revisions:

data/class/helper/SC_Helper_Customer.php ohkouchi@loop-az.jp-20110304102922-wd325v8ay3v2iy9l
bzr:timestamp:
2011-03-04 19:31:09.855000019 +0900
bzr:user-agent:
bzr2.2.1+bzr-svn1.0.4
svn:original-date:
2011-03-04T10:31:09.855000Z
Message:

#1066([フロント]会員登録:同じメールアドレスで会員登録できてしまう不具合)

  • ログイン時に重複チェックが除外されていたのを修正
File:
1 edited

Legend:

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

    r20455 r20482  
    152152        // ログインしている場合、すでに登録している自分のemailの場合はエラーを返さない 
    153153        if ($objCustomer->getValue('customer_id')){ 
    154             $arrRet = $objQuery->select("email, email_mobile", 
    155                                         "dtb_customer", 
    156                                         "customer_id = ? ORDER BY del_flg", 
    157                                         array($objCustomer->getValue('customer_id'))); 
    158  
    159             if ($email == $arrRet[0]["email"] || $email == $arrRet[0]["email_mobile"]) { 
     154            if (SC_Helper_Customer_Ex::sfCustomerEmailDuplicationCheck($objCustomer->getValue('customer_id'), $email)) { 
    160155                $return = 3; 
    161156            } 
    162157        } 
    163158        return $return; 
     159    } 
     160 
     161    /** 
     162     * ログイン時メールアドレス重複チェック. 
     163     * 
     164     * 顧客の保持する email, mobile_email が, 引数 $email と一致するかチェックする 
     165     * 
     166     * @param integer $customer_id チェック対象の顧客の顧客ID 
     167     * @param string $email チェック対象のメールアドレス 
     168     * @return boolean メールアドレスが重複する場合 true 
     169     */ 
     170    function sfCustomerEmailDuplicationCheck($customer_id, $email) { 
     171        $objQuery   =& SC_Query::getSingletonInstance(); 
     172        $arrResults = $objQuery->getRow("email, email_mobile", 
     173                                        "dtb_customer", "customer_id = ?", 
     174                                        array($customer_id)); 
     175        if ($email == $arrResults["email"] 
     176            || $email == $arrResults["email_mobile"]) { 
     177            return true; 
     178        } 
     179        return false; 
    164180    } 
    165181 
     
    383399        $objErr = SC_Helper_Customer_Ex::sfCustomerCommonErrorCheck($objFormParam); 
    384400        $objErr = SC_Helper_Customer_Ex::sfCustomerRegisterErrorCheck($objErr); 
     401 
     402        /* 
     403         * sfCustomerRegisterErrorCheck() では, ログイン中の場合は重複チェック 
     404         * されないので, 再度チェックを行う 
     405         */ 
     406        $objCustomer = new SC_Customer(); 
     407        if ($objCustomer->isLoginSuccess(true) 
     408            && SC_Helper_Customer_Ex::sfCustomerEmailDuplicationCheck($objCustomer->getValue('customer_id'), $objFormParam->getValue('email'))) { 
     409            $objErr->arrErr['email'] .= "※ すでに会員登録で使用されているメールアドレスです。<br />"; 
     410        } 
    385411 
    386412        return $objErr->arrErr; 
Note: See TracChangeset for help on using the changeset viewer.