Ignore:
Timestamp:
2007/02/28 16:17:07 (16 years ago)
Author:
inoue
Message:

モバイル版EC-CUBE

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev/data/class/SC_Customer.php

    r17 r11460  
    5050    } 
    5151     
    52     function getCustomerDataFromEmailPass( $pass, $email ) { 
     52    function getCustomerDataFromEmailPass( $pass, $email, $mobile = false ) { 
     53        $sql_mobile = $mobile ? ' OR email_mobile ILIKE ?' : ''; 
     54        $arrValues = array($email); 
     55        if ($mobile) { 
     56            $arrValues[] = $email; 
     57        } 
    5358        // ËÜÅÐÏ¿¤µ¤ì¤¿²ñ°÷¤Î¤ß 
    54         $sql = "SELECT * FROM dtb_customer WHERE email ILIKE ? AND del_flg = 0 AND status = 2"; 
    55         $result = $this->conn->getAll($sql, array($email)); 
     59        $sql = "SELECT * FROM dtb_customer WHERE (email ILIKE ?" . $sql_mobile . ") AND del_flg = 0 AND status = 2"; 
     60        $result = $this->conn->getAll($sql, $arrValues); 
    5661        $data = $result[0]; 
    5762         
     
    6368        } 
    6469        return false; 
     70    } 
     71 
     72    /** 
     73     * ·ÈÂÓüËöID¤¬°ìÃפ¹¤ë²ñ°÷¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡£ 
     74     * 
     75     * @return boolean ³ºÅö¤¹¤ë²ñ°÷¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï true¡¢¤½¤ì°Ê³°¤Î¾ì¹ç 
     76     *                 ¤Ï false ¤òÊÖ¤¹¡£ 
     77     */ 
     78    function checkMobilePhoneId() { 
     79        if (!isset($_SESSION['mobile']['phone_id']) || $_SESSION['mobile']['phone_id'] === false) { 
     80            return false; 
     81        } 
     82 
     83        // ·ÈÂÓüËöID¤¬°ìÃפ·¡¢ËÜÅÐÏ¿¤µ¤ì¤¿²ñ°÷¤ò¸¡º÷¤¹¤ë¡£ 
     84        $sql = 'SELECT count(*) FROM dtb_customer WHERE mobile_phone_id = ? AND del_flg = 0 AND status = 2'; 
     85        $result = $this->conn->getOne($sql, array($_SESSION['mobile']['phone_id'])); 
     86        return $result > 0; 
     87    } 
     88 
     89    /** 
     90     * ·ÈÂÓüËöID¤ò»ÈÍѤ·¤Æ²ñ°÷¤ò¸¡º÷¤·¡¢¥Ñ¥¹¥ï¡¼¥É¤Î¾È¹ç¤ò¹Ô¤¦¡£ 
     91     * ¥Ñ¥¹¥ï¡¼¥É¤¬¹ç¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¸ÜµÒ¾ðÊó¤ò¼èÆÀ¤¹¤ë¡£ 
     92     * 
     93     * @param string $pass ¥Ñ¥¹¥ï¡¼¥É 
     94     * @return boolean ³ºÅö¤¹¤ë²ñ°÷¤¬Â¸ºß¤·¡¢¥Ñ¥¹¥ï¡¼¥É¤¬¹ç¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï true¡¢ 
     95     *                 ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï false ¤òÊÖ¤¹¡£ 
     96     */ 
     97    function getCustomerDataFromMobilePhoneIdPass($pass) { 
     98        if (!isset($_SESSION['mobile']['phone_id']) || $_SESSION['mobile']['phone_id'] === false) { 
     99            return false; 
     100        } 
     101 
     102        // ·ÈÂÓüËöID¤¬°ìÃפ·¡¢ËÜÅÐÏ¿¤µ¤ì¤¿²ñ°÷¤ò¸¡º÷¤¹¤ë¡£ 
     103        $sql = 'SELECT * FROM dtb_customer WHERE mobile_phone_id = ? AND del_flg = 0 AND status = 2'; 
     104        @list($data) = $this->conn->getAll($sql, array($_SESSION['mobile']['phone_id'])); 
     105 
     106        // ¥Ñ¥¹¥ï¡¼¥É¤¬¹ç¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¸ÜµÒ¾ðÊó¤òcustomer_data¤Ë³ÊǼ¤·¤Ætrue¤òÊÖ¤¹¡£ 
     107        if (sha1($pass . ':' . AUTH_MAGIC) == @$data['password']) { 
     108            $this->customer_data = $data; 
     109            $this->startSession(); 
     110            return true; 
     111        } 
     112        return false; 
     113    } 
     114 
     115    /** 
     116     * ·ÈÂÓüËöID¤òÅÐÏ¿¤¹¤ë¡£ 
     117     * 
     118     * @return void 
     119     */ 
     120    function updateMobilePhoneId() { 
     121        if (!isset($_SESSION['mobile']['phone_id']) || $_SESSION['mobile']['phone_id'] === false) { 
     122            return; 
     123        } 
     124 
     125        if ($this->customer_data['mobile_phone_id'] == $_SESSION['mobile']['phone_id']) { 
     126            return; 
     127        } 
     128 
     129        $objQuery = new SC_Query; 
     130        $sqlval = array('mobile_phone_id' => $_SESSION['mobile']['phone_id']); 
     131        $where = 'customer_id = ? AND del_flg = 0 AND status = 2'; 
     132        $objQuery->update('dtb_customer', $sqlval, $where, array($this->customer_data['customer_id'])); 
     133 
     134        $this->customer_data['mobile_phone_id'] = $_SESSION['mobile']['phone_id']; 
     135    } 
     136 
     137    /** 
     138     * email ¤«¤é email_mobile ¤Ø·ÈÂӤΥ᡼¥ë¥¢¥É¥ì¥¹¤ò¥³¥Ô¡¼¤¹¤ë¡£ 
     139     * 
     140     * @return void 
     141     */ 
     142    function updateEmailMobile() { 
     143        // ¤¹¤Ç¤Ë email_mobile ¤ËÃͤ¬Æþ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï²¿¤â¤·¤Ê¤¤¡£ 
     144        if ($this->customer_data['email_mobile'] != '') { 
     145            return; 
     146        } 
     147 
     148        // email ¤¬·ÈÂӤΥ᡼¥ë¥¢¥É¥ì¥¹¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ï²¿¤â¤·¤Ê¤¤¡£ 
     149        if (!gfIsMobileMailAddress($this->customer_data['email'])) { 
     150            return; 
     151        } 
     152 
     153        // email ¤«¤é email_mobile ¤Ø¥³¥Ô¡¼¤¹¤ë¡£ 
     154        $objQuery = new SC_Query; 
     155        $sqlval = array('email_mobile' => $this->customer_data['email']); 
     156        $where = 'customer_id = ? AND del_flg = 0 AND status = 2'; 
     157        $objQuery->update('dtb_customer', $sqlval, $where, array($this->customer_data['customer_id'])); 
     158 
     159        $this->customer_data['email_mobile'] = $this->customer_data['email']; 
    65160    } 
    66161     
     
    101196     
    102197    // ¥í¥°¥¤¥ó¤ËÀ®¸ù¤·¤Æ¤¤¤ë¤«È½Äꤹ¤ë¡£ 
    103     function isLoginSuccess() { 
     198    function isLoginSuccess($dont_check_email_mobile = false) { 
    104199        // ¥í¥°¥¤¥ó»þ¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹¤ÈDB¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹¤¬°ìÃפ·¤Æ¤¤¤ë¾ì¹ç 
    105200        if(sfIsInt($_SESSION['customer']['customer_id'])) { 
     
    107202            $email = $objQuery->get("dtb_customer", "email", "customer_id = ?", array($_SESSION['customer']['customer_id'])); 
    108203            if($email == $_SESSION['customer']['email']) { 
     204                // ¥â¥Ð¥¤¥ë¥µ¥¤¥È¤Î¾ì¹ç¤Ï·ÈÂӤΥ᡼¥ë¥¢¥É¥ì¥¹¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤³¤È¤â¥Á¥§¥Ã¥¯¤¹¤ë¡£ 
     205                // ¤¿¤À¤· $dont_check_email_mobile ¤¬ true ¤Î¾ì¹ç¤Ï¥Á¥§¥Ã¥¯¤·¤Ê¤¤¡£ 
     206                if (defined('MOBILE_SITE') && !$dont_check_email_mobile) { 
     207                    $email_mobile = $objQuery->get("dtb_customer", "email_mobile", "customer_id = ?", array($_SESSION['customer']['customer_id'])); 
     208                    return isset($email_mobile); 
     209                } 
    109210                return true; 
    110211            } 
     
    121222    function setValue($keyname, $val) { 
    122223        $_SESSION['customer'][$keyname] = $val; 
     224    } 
     225 
     226    // ¥Ñ¥é¥á¡¼¥¿¤¬NULL¤«¤É¤¦¤«¤ÎȽÄê 
     227    function hasValue($keyname) { 
     228        return isset($_SESSION['customer'][$keyname]); 
    123229    } 
    124230     
Note: See TracChangeset for help on using the changeset viewer.