Changeset 20910
- Timestamp:
- 2011/05/05 00:58:16 (15 years ago)
- Location:
- branches/version-2_11-dev/data/class
- Files:
-
- 3 edited
-
SC_CheckError.php (modified) (1 diff)
-
helper/SC_Helper_Customer.php (modified) (8 diffs)
-
pages/entry/LC_Page_Entry_EmailMobile.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_11-dev/data/class/SC_CheckError.php
r20848 r20910 1124 1124 switch($register_user_flg) { 1125 1125 case 1: 1126 case 3: 1126 1127 $this->arrErr[$value[1]] .= "※ すでに会員登録で使用されている" . $value[0] . "です。<br />"; 1127 1128 break; -
branches/version-2_11-dev/data/class/helper/SC_Helper_Customer.php
r20885 r20910 148 148 * @return integer 0:登録可能 1:登録済み 2:再登録制限期間内削除ユーザー 3:自分のアドレス 149 149 */ 150 function sfCheckRegisterUserFromEmail($email){ 151 $return = 0; 152 153 $objCustomer = new SC_Customer_Ex(); 154 $objQuery =& SC_Query_Ex::getSingletonInstance(); 155 156 $arrRet = $objQuery->select("email, update_date, del_flg", 157 "dtb_customer", 158 "email = ? OR email_mobile = ? ORDER BY del_flg", 159 array($email, $email)); 160 161 if(count($arrRet) > 0) { 162 if($arrRet[0]['del_flg'] != '1') { 163 // 会員である場合 164 $return = 1; 150 function sfCheckRegisterUserFromEmail($email) { 151 $objCustomer = new SC_Customer_Ex(); 152 $objQuery =& SC_Query_Ex::getSingletonInstance(); 153 154 // ログインしている場合、すでに登録している自分のemailの場合 155 if ($objCustomer->isLoginSuccess(true) 156 && SC_Helper_Customer_Ex::sfCustomerEmailDuplicationCheck($objCustomer->getValue('customer_id'), $email)) { 157 // 自分のアドレス 158 return 3; 159 } 160 161 $arrRet = $objQuery->select("email, update_date, del_flg", 162 "dtb_customer", 163 "email = ? OR email_mobile = ? ORDER BY del_flg", 164 array($email, $email)); 165 166 if (count($arrRet) > 0) { 167 // 会員である場合 168 if ($arrRet[0]['del_flg'] != '1') { 169 // 登録済み 170 return 1; 165 171 } else { 166 172 // 退会した会員である場合 … … 171 177 $limit_time = ENTRY_LIMIT_HOUR * 3600; 172 178 if($pass_time < $limit_time) { 173 $return = 2; 179 // 再登録制限期間内削除ユーザー 180 return 2; 174 181 } 175 182 } 176 183 } 177 184 178 // ログインしている場合、すでに登録している自分のemailの場合はエラーを返さない 179 if ($objCustomer->getValue('customer_id')){ 180 if (SC_Helper_Customer_Ex::sfCustomerEmailDuplicationCheck($objCustomer->getValue('customer_id'), $email)) { 181 $return = 3; 182 } 183 } 184 return $return; 185 // 登録可能 186 return 0; 185 187 } 186 188 … … 195 197 */ 196 198 function sfCustomerEmailDuplicationCheck($customer_id, $email) { 197 $objQuery =& SC_Query_Ex::getSingletonInstance(); 198 $arrResults = $objQuery->getRow("email, email_mobile", 199 "dtb_customer", "customer_id = ?", 199 $objQuery =& SC_Query_Ex::getSingletonInstance(); 200 201 $arrResults = $objQuery->getRow('email, email_mobile', 202 'dtb_customer', 'customer_id = ?', 200 203 array($customer_id)); 201 if ($email == $arrResults['email']202 || $email == $arrResults["email_mobile"]) {203 return true;204 }205 return false;204 $return = 205 strlen($arrResults['email']) >= 1 && $email === $arrResults['email'] 206 || strlen($arrResults['email_mobile']) >= 1 && $email === $arrResults['email_mobile'] 207 ; 208 return $return; 206 209 } 207 210 … … 311 314 SC_Helper_Customer_Ex::sfCustomerCommonParam($objFormParam); 312 315 SC_Helper_Customer_Ex::sfCustomerRegisterParam($objFormParam, $isAdmin); 313 if ($isAdmin) {316 if ($isAdmin) { 314 317 $objFormParam->addParam("顧客ID", "customer_id", INT_LEN, 'n', array("NUM_CHECK")); 315 318 $objFormParam->addParam('携帯メールアドレス', "email_mobile", null, 'a', array("NO_SPTAB", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MOBILE_EMAIL_CHECK")); … … 317 320 $objFormParam->addParam("SHOP用メモ", 'note', LTEXT_LEN, 'KVa', array("MAX_LENGTH_CHECK")); 318 321 $objFormParam->addParam("所持ポイント", 'point', INT_LEN, 'n', array("NUM_CHECK")); 319 320 322 } 321 323 … … 429 431 $objErr = SC_Helper_Customer_Ex::sfCustomerRegisterErrorCheck($objErr); 430 432 431 /*432 * sfCustomerRegisterErrorCheck() では, ログイン中の場合は重複チェック433 * されないので, 再度チェックを行う434 */435 $objCustomer = new SC_Customer_Ex();436 if ($objCustomer->isLoginSuccess(true)437 && SC_Helper_Customer_Ex::sfCustomerEmailDuplicationCheck($objCustomer->getValue('customer_id'), $objFormParam->getValue('email'))) {438 $objErr->arrErr['email'] .= "※ すでに会員登録で使用されているメールアドレスです。<br />";439 }440 if ($objCustomer->isLoginSuccess(true)441 && SC_Helper_Customer_Ex::sfCustomerEmailDuplicationCheck($objCustomer->getValue('customer_id'), $objFormParam->getValue('email_mobile'))) {442 $objErr->arrErr['email_mobile'] .= "※ すでに会員登録で使用されているメールアドレスです。<br />";443 }444 445 433 return $objErr->arrErr; 446 434 } … … 507 495 $objErr->doFunc(array("生年月日", 'year', 'month', 'day'), array("CHECK_BIRTHDAY")); 508 496 509 if (SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE) {510 if (!$isAdmin) {497 if (SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE) { 498 if (!$isAdmin) { 511 499 $objErr->doFunc(array('パスワード', 'パスワード(確認)', 'password', "password02") ,array("EQUAL_CHECK")); 512 500 $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', 'email', "email02") ,array("EQUAL_CHECK")); … … 515 503 } 516 504 517 if (!$isAdmin) {505 if (!$isAdmin) { 518 506 // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 519 507 $objErr->doFunc(array("メールアドレス", 'email'), array("CHECK_REGIST_CUSTOMER_EMAIL")); 520 508 $objErr->doFunc(array("携帯メールアドレス", 'email_mobile'), array("CHECK_REGIST_CUSTOMER_EMAIL", "MOBILE_EMAIL_CHECK")); 521 522 509 } 523 510 return $objErr; -
branches/version-2_11-dev/data/class/pages/entry/LC_Page_Entry_EmailMobile.php
r20848 r20910 119 119 $objErr->arrErr = $objFormParam->checkError(); 120 120 121 // FIXME: lfInitParam() で設定すれば良いように感じる 121 122 $objErr->doFunc(array("メールアドレス", "email_mobile"), array("CHECK_REGIST_CUSTOMER_EMAIL")); 122 123
Note: See TracChangeset
for help on using the changeset viewer.
