Пример #1
0
 /**
  * 会員登録に必要なSQLパラメーターの配列を生成する.
  *
  * フォームに入力された情報を元に, SQLパラメーターの配列を生成する.
  * モバイル端末の場合は, email を email_mobile にコピーし,
  * mobile_phone_id に携帯端末IDを格納する.
  *
  * @param FormParam $objFormParam
  * @access private
  * @return $arrResults
  */
 public function lfMakeSqlVal(&$objFormParam)
 {
     $arrForm = $objFormParam->getHashArray();
     $arrResults = $objFormParam->getDbArray();
     // 生年月日の作成
     $arrResults['birth'] = Utils::sfGetTimestamp($arrForm['year'], $arrForm['month'], $arrForm['day']);
     // 仮会員 1 本会員 2
     $arrResults['status'] = CUSTOMER_CONFIRM_MAIL == true ? '1' : '2';
     /*
      * secret_keyは、テーブルで重複許可されていない場合があるので、
      * 本会員登録では利用されないがセットしておく。
      */
     $arrResults['secret_key'] = Application::alias('eccube.helper.customer')->sfGetUniqSecretKey();
     // 入会時ポイント
     $CONF = Application::alias('eccube.helper.db')->getBasisData();
     $arrResults['point'] = $CONF['welcome_point'];
     if (Application::alias('eccube.display')->detectDevice() == DEVICE_TYPE_MOBILE) {
         // 携帯メールアドレス
         $arrResults['email_mobile'] = $arrResults['email'];
         // PHONE_IDを取り出す
         $arrResults['mobile_phone_id'] = MobileUserAgent::getId();
     }
     return $arrResults;
 }
Пример #2
0
 /**
  * 携帯のIDを登録する.
  *
  */
 public function updatePhoneId()
 {
     $this->setValue('phone_id', MobileUserAgent::getId());
 }
Пример #3
0
 /**
  * 携帯端末IDを使用して会員を検索し、パスワードの照合を行う。
  * パスワードが合っている場合は会員情報を取得する。
  *
  * @param  string  $pass パスワード
  * @return boolean 該当する会員が存在し、パスワードが合っている場合は true、
  *                 それ以外の場合は false を返す。
  */
 public function getCustomerDataFromMobilePhoneIdPass($pass)
 {
     //docomo用にデータを取り出す。
     if (MobileUserAgent::getCarrier() == 'docomo') {
         if ($_SESSION['mobile']['phone_id'] == '' && strlen($_SESSION['mobile']['phone_id']) == 0) {
             $_SESSION['mobile']['phone_id'] = MobileUserAgent::getId();
         }
     }
     if (!isset($_SESSION['mobile']['phone_id']) || $_SESSION['mobile']['phone_id'] === false) {
         return false;
     }
     // 携帯端末IDが一致し、本登録された会員を検索する。
     $sql = 'SELECT * FROM dtb_customer WHERE mobile_phone_id = ? AND del_flg = 0 AND status = 2';
     $objQuery = Application::alias('eccube.query');
     @(list($data) = $objQuery->getAll($sql, array($_SESSION['mobile']['phone_id'])));
     // パスワードが合っている場合は、会員情報をcustomer_dataに格納してtrueを返す。
     if (Utils::sfIsMatchHashPassword($pass, $data['password'], $data['salt'])) {
         $this->customer_data = $data;
         $this->startSession();
         return true;
     }
     return false;
 }