Changeset 20085
- Timestamp:
- 2011/02/04 12:08:44 (13 years ago)
- Location:
- branches/version-2_5-dev/data/class
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/SC_CheckError.php
r19856 r20085 795 795 // 年が入力されている。 796 796 if ($this->arrParam[$value[1]] > 0) { 797 797 798 798 // 年の数字チェック、最小数値制限チェック 799 799 $this->doFunc(array($value[0].'(年)', $value[1], START_BIRTH_YEAR), array("NUM_CHECK", "MIN_CHECK")); … … 802 802 return; 803 803 } 804 804 805 805 // 年の最大数値制限チェック 806 806 $this->doFunc(array($value[0].'(年)', $value[1], date("Y",strtotime("now"))), array("MAX_CHECK")); … … 810 810 } 811 811 } 812 812 813 813 // XXX createParam() が二重に呼ばれる問題を抱える 814 814 $this->CHECK_DATE($value); … … 985 985 } 986 986 } 987 988 function CHECK_REGIST_CUSTOMER_EMAIL ($value) { 989 if(isset($this->arrErr[$value[1]])) { 990 return; 991 } 992 $this->createParam($value); 993 994 $register_user_flg = SC_Helper_Customer_Ex::sfCheckRegisterUserFromEmail($this->arrParam[$value[1]]); 995 switch($register_user_flg) { 996 case 1: 997 $this->arrErr[$value[1]] .= "※ すでに会員登録で使用されている" . $value[0] . "です。<br />"; 998 break; 999 case 2: 1000 $this->arrErr[$value[1]] .= "※ 退会から一定期間の間は、同じ" . $value[0] . "を使用することはできません。<br />"; 1001 break; 1002 default: 1003 break; 1004 } 1005 } 1006 1007 987 1008 /** 988 1009 * 禁止文字列のチェック -
branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php
r20074 r20085 173 173 $return = 0; 174 174 175 $objCustomer = new SC_Customer(); 176 $objQuery =& SC_Query::getSingletonInstance(); 177 178 $arrRet = $objQuery->select("email, update_date, del_flg" 179 ,"dtb_customer" 180 ,"email = ? OR email_mobile = ? ORDER BY del_flg" 181 ,array($email, $email) 182 ); 175 $objCustomer = new SC_Customer(); 176 $objQuery =& SC_Query::getSingletonInstance(); 177 178 $arrRet = $objQuery->select("email, update_date, del_flg", 179 "dtb_customer", 180 "email = ? OR email_mobile = ? ORDER BY del_flg", 181 array($email, $email)); 183 182 184 183 if(count($arrRet) > 0) { 185 184 if($arrRet[0]['del_flg'] != '1') { 186 185 // 会員である場合 187 if (!isset($objErr->arrErr['email'])) $objErr->arrErr['email'] = "";188 186 $return = 1; 189 187 } else { 190 188 // 退会した会員である場合 191 189 $leave_time = SC_Utils_Ex::sfDBDatetoTime($arrRet[0]['update_date']); 192 $now_time = time();193 $pass_time = $now_time - $leave_time;190 $now_time = time(); 191 $pass_time = $now_time - $leave_time; 194 192 // 退会から何時間-経過しているか判定する。 195 193 $limit_time = ENTRY_LIMIT_HOUR * 3600; 196 194 if($pass_time < $limit_time) { 197 if (!isset($objErr->arrErr['email'])) $objErr->arrErr['email'] = "";198 195 $return = 2; 199 196 } … … 203 200 // ログインしている場合、すでに登録している自分のemailの場合はエラーを返さない 204 201 if ($objCustomer->getValue('customer_id')){ 205 $arrRet = $objQuery->select("email, email_mobile" 206 ,"dtb_customer" 207 ,"customer_id = ? ORDER BY del_flg" 208 ,array($objCustomer->getValue('customer_id')) 209 ); 210 if ($email == $arrRet[0]["email"] 211 || $email == $arrRet[0]["email_mobile"]){ 212 $return = 3; 213 } 202 $arrRet = $objQuery->select("email, email_mobile", 203 "dtb_customer", 204 "customer_id = ? ORDER BY del_flg", 205 array($objCustomer->getValue('customer_id'))); 206 207 if ($email == $arrRet[0]["email"] || $email == $arrRet[0]["email_mobile"]) { 208 $return = 3; 209 } 214 210 } 215 211 return $return; -
branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry.php
r20082 r20085 329 329 330 330 // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 331 $register_user_flg = SC_Helper_Customer_Ex::sfCheckRegisterUserFromEmail($arrRet["email"]); 332 switch($register_user_flg) { 333 case 1: 334 $objErr->arrErr["email"] .= "※ すでに会員登録で使用されているメールアドレスです。<br />"; 335 break; 336 case 2: 337 $objErr->arrErr["email"] .= "※ 退会から一定期間の間は、同じメールアドレスを使用することはできません。<br />"; 338 break; 339 default: 340 break; 341 } 331 $objErr->doFunc(array("メールアドレス", "email"), array("CHECK_REGIST_CUSTOMER_EMAIL")); 332 342 333 return $objErr->arrErr; 343 334 } -
branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry_EmailMobile.php
r19870 r20085 44 44 function init() { 45 45 parent::init(); 46 47 $this->objFormParam = new SC_FormParam(); 48 $this->lfInitParam(); 46 49 } 47 50 … … 62 65 */ 63 66 function action() { 64 $objCustomer = new SC_Customer; 65 $objFormParam = new SC_FormParam; 66 67 $this->lfInitParam($objFormParam); 67 $objCustomer = new SC_Customer; 68 68 69 69 if ($_SERVER['REQUEST_METHOD'] == 'POST') { 70 $ objFormParam->setParam($_POST);71 $ objFormParam->convParam();72 $this->arrErr = $this->lfCheckError($obj FormParam, $objCustomer);70 $this->objFormParam->setParam($_POST); 71 $this->objFormParam->convParam(); 72 $this->arrErr = $this->lfCheckError($objCustomer); 73 73 74 74 if (empty($this->arrErr)) { 75 $this->lfRegister($obj FormParam, $objCustomer);75 $this->lfRegister($objCustomer); 76 76 $this->tpl_mainpage = 'entry/email_mobile_complete.tpl'; 77 77 $this->tpl_title = '携帯メール登録完了'; … … 80 80 81 81 $this->tpl_name = $objCustomer->getValue('name01'); 82 $this->arrForm = $objFormParam->getFormParamList();82 $this->arrForm = $this->objFormParam->getFormParamList(); 83 83 } 84 84 … … 93 93 94 94 95 function lfInitParam(&$objFormParam) { 96 $objFormParam->addParam('メールアドレス', 'email_mobile', MTEXT_LEN, 'a', 95 /** 96 * lfInitParam 97 * 98 * @param mixed $objFormParam 99 * @access public 100 * @return void 101 */ 102 function lfInitParam() { 103 $this->objFormParam->addParam('メールアドレス', 'email_mobile', MTEXT_LEN, 'a', 97 104 array('NO_SPTAB', 'EXIST_CHECK', 'MAX_LENGTH_CHECK', 'CHANGE_LOWER', 'EMAIL_CHAR_CHECK', 'EMAIL_CHECK', 'MOBILE_EMAIL_CHECK')); 98 105 } 99 106 100 function lfCheckError(&$objFormParam, &$objCustomer) { 101 $arrRet = $objFormParam->getHashArray(); 102 $objErr = new SC_CheckError($arrRet); 103 $objErr->arrErr = $objFormParam->checkError(); 107 /** 108 * lfCheckError 109 * 110 * @param mixed $objFormParam 111 * @param mixed $objCustomer 112 * @access public 113 * @return void 114 */ 115 function lfCheckError(&$objCustomer) { 116 $arrRet = $this->objFormParam->getHashArray(); 117 $objErr = new SC_CheckError($arrRet); 118 $objErr->arrErr = $this->objFormParam->checkError(); 104 119 105 if (count($objErr->arrErr) > 0) { 106 return $objErr->arrErr; 107 } 108 109 $email_mobile = strtolower($objFormParam->getValue('email_mobile')); 110 $customer_id = $objCustomer->getValue('customer_id'); 111 $objQuery = new SC_Query(); 112 // TODO ORDER BY del_flg は必要? 113 $arrRet = $objQuery->select('email, email_mobile, update_date, del_flg', 'dtb_customer', '(email = ? OR email_mobile = ?) AND customer_id <> ? ORDER BY del_flg', array($email_mobile, $email_mobile, $customer_id)); 114 115 if (count($arrRet) > 0) { 116 if ($arrRet[0]['del_flg'] != '1') { 117 // 会員である場合 118 $objErr->arrErr['email_mobile'] .= '※ すでに登録されているメールアドレスです。<br>'; 119 } else { 120 // 退会した会員である場合 121 $leave_time = SC_Utils_Ex::sfDBDatetoTime($arrRet[0]['update_date']); 122 $now_time = time(); 123 $pass_time = $now_time - $leave_time; 124 // 退会から何時間-経過しているか判定する。 125 $limit_time = ENTRY_LIMIT_HOUR * 3600; 126 if ($pass_time < $limit_time) { 127 $objErr->arrErr['email_mobile'] .= '※ 退会から一定期間の間は、同じメールアドレスを使用することはできません。<br>'; 128 } 129 } 130 } 120 $objErr->doFunc(array("メールアドレス", "email_mobile"), array("CHECK_REGIST_CUSTOMER_EMAIL")); 131 121 132 122 return $objErr->arrErr; 133 123 } 134 124 135 function lfRegister(&$objFormParam, &$objCustomer) { 136 $customer_id = $objCustomer->getValue('customer_id'); 137 $email_mobile = strtolower($objFormParam->getValue('email_mobile')); 125 /** 126 * lfRegister 127 * 128 * @param mixed $objFormParam 129 * @param mixed $objCustomer 130 * @access public 131 * @return void 132 */ 133 function lfRegister(&$objCustomer) { 134 $customer_id = $objCustomer->getValue('customer_id'); 135 $email_mobile = strtolower($this->objFormParam->getValue('email_mobile')); 138 136 139 $objQuery = new SC_Query();137 $objQuery = new SC_Query(); 140 138 $objQuery->update('dtb_customer', array('email_mobile' => $email_mobile), 'customer_id = ?', array($customer_id)); 141 139
Note: See TracChangeset
for help on using the changeset viewer.