Changeset 19995
- Timestamp:
- 2011/01/20 03:03:24 (11 years ago)
- Location:
- branches/version-2_5-dev/data
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/Smarty/templates/default/forgot/index.tpl
r19983 r19995 23 23 24 24 <div id="windowarea"> 25 <h2>パスワード を忘れた方</h2>26 <p>ご登録時のメールアドレス を入力して「次へ」ボタンをクリックしてください。<br />25 <h2>パスワードの再発行</h2> 26 <p>ご登録時のメールアドレスと、ご登録されたお名前を入力して「次へ」ボタンをクリックしてください。<br /> 27 27 <span class="attention">※新しくパスワードを発行いたしますので、お忘れになったパスワードはご利用できなくなります。</span></p> 28 28 <form action="?" method="post" name="form1"> 29 29 <input type="hidden" name="mode" value="mail_check" /> 30 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> 30 31 <div id="completebox"> 31 <p>メールアドレス: <!--★メールアドレス入力★--><input type="text" name="email" value="<!--{$tpl_login_email|h}-->" size="40" class="box300" style="<!--{$errmsg|sfGetErrorColor}-->; ime-mode: disabled;" /></p> 32 <p>メールアドレス: 33 <span class="attention"><!--{$arrErr.email}--></span> 34 <input type="text" name="email" value="<!--{$arrForm.email|default:$tpl_login_email|h}-->" size="40" class="box300" style="<!--{$arrErr.email|sfGetErrorColor}-->; ime-mode: disabled;" /><br /> 35 <br /> 36 お名前: 37 <span class="attention"><!--{$arrErr.name01}--><!--{$arrErr.name02}--></span> 38 姓 <input type="text" 39 class="box120" 40 name="name01" 41 value="<!--{$arrForm.name01|default:''|h}-->" 42 maxlength="<!--{$smarty.const.STEXT_LEN}-->" 43 style="<!--{$arrErr.name01|sfGetErrorColor}-->; ime-mode: active;" /> 44 名 <input type="text" class="box120" name="name02" 45 value="<!--{$arrForm.name02|default:''|h}-->" 46 maxlength="<!--{$smarty.const.STEXT_LEN}-->" 47 style="<!--{$arrErr.name02|sfGetErrorColor}-->; ime-mode: active;" /> 48 </p> 32 49 <span class="attention"><!--{$errmsg}--></span> 33 50 </div> -
branches/version-2_5-dev/data/Smarty/templates/default/forgot/secret.tpl
r19983 r19995 23 23 24 24 <div id="windowarea"> 25 <h2>パスワード を忘れた方</h2>25 <h2>パスワードの再発行 秘密の質問の確認</h2> 26 26 <p>ご登録時に入力した下記質問の答えを入力して「次へ」ボタンをクリックしてください。<br /> 27 27 ※下記質問の答えをお忘れになられた場合は、<a href="mailto:<!--{$arrSiteInfo.email02|escape:'hex'}-->"><!--{$arrSiteInfo.email02|escape:'hexentitiy'}--></a>までご連絡ください。</p> … … 29 29 <form action="?" method="post" name="form1"> 30 30 <input type="hidden" name="mode" value="secret_check" /> 31 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> 32 <!--{foreach key=key item=item from=$arrForm}--> 33 <!--{if $key ne 'reminder_answer'}--> 34 <input type="hidden" name="<!--{$key}-->" value="<!--{$item|h}-->" /> 35 <!--{/if}--> 36 <!--{/foreach}--> 37 31 38 <div id="completebox"> 32 <p><!--{$Reminder}-->: <!--★答え入力★--><input type="text" name="input_reminder" value="" size="40" class="box300" style="<!--{$errmsg|sfGetErrorColor}-->" /></p> 39 <p> 40 <span class="attention"><!--{$arrErr.reminder}--><!--{$arrErr.reminder_answer}--></span> 41 <!--{$arrReminder[$arrForm.reminder]}-->: <!--★答え入力★--><input type="text" name="reminder_answer" value="" size="40" class="box300" style="<!--{$arrErr.reminder_answer|sfGetErrorColor}-->" /></p> 33 42 <span class="attention"><!--{$errmsg}--></span> 34 43 </div> -
branches/version-2_5-dev/data/Smarty/templates/mobile/forgot/index.tpl
r19961 r19995 36 36 <br> 37 37 38 ■メールを送れない方は、ご登録時のメールアドレス を入力して「次へ」ボタンをクリックしてください。<br>38 ■メールを送れない方は、ご登録時のメールアドレスとお名前を入力して「次へ」ボタンをクリックしてください。<br> 39 39 <!--{else}--> 40 ご登録時のメールアドレス を入力して「次へ」ボタンをクリックしてください。<br>40 ご登録時のメールアドレスとお名前を入力して「次へ」ボタンをクリックしてください。<br> 41 41 <!--{/if}--> 42 42 43 43 <form action="?" method="post"> 44 44 <input type="hidden" name="mode" value="mail_check"> 45 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> 45 46 46 メールアドレス:<input type="text" name="email" value="<!--{$tpl_login_email|h}-->" size="50" istyle="3"><br> 47 メールアドレス:<font color="#FF0000"><!--{$arrErr.email}--></font><br> 48 <input type="text" name="email" value="<!--{$arrForm.email|default:$tpl_login_email|h}-->" size="50" istyle="3"><br> 49 <br> 50 お名前:<font color="#FF0000"><!--{$arrErr.name01}--><!--{$arrErr.name02}--></font><br> 51 姓<input type="text" name="name01" value="<!--{$arrForm.name01|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" istyle="1"><br> 52 名<input type="text" name="name02" value="<!--{$arrForm.name02|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" istyle="1"><br> 53 47 54 48 55 <center><input type="submit" value="次へ" name="next"></center> -
branches/version-2_5-dev/data/Smarty/templates/mobile/forgot/secret.tpl
r19961 r19995 30 30 <br> 31 31 <form action="?" method="post"> 32 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> 32 33 <input type="hidden" name="mode" value="secret_check"> 34 <!--{foreach key=key item=item from=$arrForm}--> 35 <!--{if $key ne 'reminder_answer'}--> 36 <input type="hidden" name="<!--{$key}-->" value="<!--{$item|h}-->" /> 37 <!--{/if}--> 38 <!--{/foreach}--> 33 39 34 <!--{$Reminder|h}-->:<input type="text" name="input_reminder" value="" size="40"><br> 40 <!--{$arrReminder[$arrForm.reminder]|h}-->:<input type="text" name="reminder_answer" value="" size="40"><br> 41 <font color="#FF0000"><!--{$arrErr.reminder}--><!--{$arrErr.reminder_answer}--></font><br> 35 42 36 43 <center><input type="submit" value="次へ" name="next"></center> -
branches/version-2_5-dev/data/Smarty/templates/sphone/forgot/index.tpl
r19983 r19995 28 28 <form action="?" method="post" name="form1"> 29 29 <input type="hidden" name="mode" value="mail_check" /> 30 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> 30 31 <div id="completebox"> 31 <p>メールアドレス: <!--★メールアドレス入力★--><input type="text" name="email" value="<!--{$tpl_login_email|h}-->" size="40" class="box300" style="<!--{$errmsg|sfGetErrorColor}-->; ime-mode: disabled;" /></p> 32 <p>メールアドレス: <!--★メールアドレス入力★--><input type="text" name="email" value="<!--{$tpl_login_email|h}-->" size="40" class="box300" style="<!--{$errmsg|sfGetErrorColor}-->; ime-mode: disabled;" /><br /> 33 <br /> 34 お名前: 35 <span class="attention"><!--{$arrErr.name01}--><!--{$arrErr.name02}--></span> 36 姓 <input type="text" 37 class="box120" 38 name="name01" 39 value="<!--{$arrForm.name01|default:''|h}-->" 40 maxlength="<!--{$smarty.const.STEXT_LEN}-->" 41 style="<!--{$arrErr.name01|sfGetErrorColor}-->; ime-mode: active;" /> 42 名 <input type="text" class="box120" name="name02" 43 value="<!--{$arrForm.name02|default:''|h}-->" 44 maxlength="<!--{$smarty.const.STEXT_LEN}-->" 45 style="<!--{$arrErr.name02|sfGetErrorColor}-->; ime-mode: active;" /> 46 </p> 32 47 <span class="attention"><!--{$errmsg}--></span> 33 48 </div> -
branches/version-2_5-dev/data/Smarty/templates/sphone/forgot/secret.tpl
r19983 r19995 29 29 <form action="?" method="post" name="form1"> 30 30 <input type="hidden" name="mode" value="secret_check" /> 31 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> 32 <!--{foreach key=key item=item from=$arrForm}--> 33 <!--{if $key ne 'reminder_answer'}--> 34 <input type="hidden" name="<!--{$key}-->" value="<!--{$item|h}-->" /> 35 <!--{/if}--> 36 <!--{/foreach}--> 37 31 38 <div id="completebox"> 32 <p><!--{$Reminder}-->: <!--★答え入力★--><input type="text" name="input_reminder" value="" size="40" class="box300" style="<!--{$errmsg|sfGetErrorColor}-->" /></p> 39 <p> 40 <span class="attention"><!--{$arrErr.reminder}--><!--{$arrErr.reminder_answer}--></span> 41 <!--{$arrReminder[$arrForm.reminder]}-->: <!--★答え入力★--><input type="text" name="reminder_answer" value="" size="40" class="box300" style="<!--{$arrErr.reminder_answer|sfGetErrorColor}-->" /></p> 33 42 <span class="attention"><!--{$errmsg}--></span> 34 43 </div> -
branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php
r19986 r19995 93 93 $array["update_date"] = "now()"; // 更新日 94 94 95 //-- パスワードの更新がある場合は暗号化 96 $salt = ""; 97 if ($array["password"] != DEFAULT_PASSWORD) { 95 // salt値の生成(insert時)または取得(update時)。 96 if(is_numeric($customer_id)) { 97 $salt = $objQuery->get("salt", "dtb_customer", "customer_id = ? ", array($customer_id)); 98 }else{ 98 99 $salt = SC_Utils_Ex::sfGetRandomString(10); 99 100 $array["salt"] = $salt; 101 } 102 //-- パスワードの更新がある場合は暗号化 103 if ($array["password"] == DEFAULT_PASSWORD or $array["password"] == "") { 104 //更新しない 105 unset($array["password"]); 106 } else { 100 107 $array["password"] = SC_Utils_Ex::sfGetHashString($array["password"], $salt); 101 } else { 102 unset($array["password"]); 103 } 104 if ($array["reminder_answer"] != DEFAULT_PASSWORD) { 105 if(is_numeric($customer_id) and $salt == "") { 106 $salt = $objQuery->get("salt", "dtb_customer", "customer_id = ? ", array($array['customer_id'])); 107 } 108 } 109 //-- 秘密の質問の更新がある場合は暗号化 110 if ($array["reminder_answer"] == DEFAULT_PASSWORD or $array["reminder_answer"] == "") { 111 //更新しない 112 unset($array["reminder_answer"]); 113 } else { 108 114 $array["reminder_answer"] = SC_Utils_Ex::sfGetHashString($array["reminder_answer"], $salt); 109 115 } 110 116 111 117 //-- 編集登録実行 112 118 if (is_numeric($customer_id)){ … … 164 170 * @return integer 0:登録可能 1:登録済み 2:再登録制限期間内削除ユーザー 3:自分のアドレス 165 171 */ 166 function lfCheckRegisterUserFromEmail($email){172 function sfCheckRegisterUserFromEmail($email){ 167 173 $return = 0; 168 174 -
branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry.php
r19979 r19995 307 307 308 308 // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 309 $register_user_flg = SC_Helper_Customer_Ex:: lfCheckRegisterUserFromEmail($arrRet["email"]);309 $register_user_flg = SC_Helper_Customer_Ex::sfCheckRegisterUserFromEmail($arrRet["email"]); 310 310 switch($register_user_flg) { 311 311 case 1: -
branches/version-2_5-dev/data/class/pages/forgot/LC_Page_Forgot.php
r19961 r19995 36 36 // {{{ properties 37 37 38 /** フォームパラメータの配列 */ 39 var $objFormParam; 40 41 /** 秘密の質問の答え */ 42 var $arrReminder; 43 44 /** 変更後パスワード */ 45 var $temp_password; 46 38 47 /** エラーメッセージ */ 39 48 var $errmsg; 40 41 /** 秘密の質問の答え */42 var $arrReminder;43 44 /** 変更後パスワード */45 var $temp_password;46 49 47 50 // }}} … … 58 61 $this->tpl_mainpage = 'forgot/index.tpl'; 59 62 $this->tpl_mainno = ''; 63 $masterData = new SC_DB_MasterData_Ex(); 64 $this->arrReminder = $masterData->getMasterData("mtb_reminder"); 65 $this->isMobile = Net_UserAgent_Mobile::isMobile(); 66 $this->httpCacheControl('nocache'); 60 67 } 61 68 … … 77 84 function action() { 78 85 $objQuery = new SC_Query(); 79 $objSess = new SC_Session(); 80 81 // 店舗基本情報を取得 82 $objDb = new SC_Helper_DB_Ex(); 83 $CONF = $objDb->sfGetBasisData(); 84 85 $masterData = new SC_DB_MasterData_Ex(); 86 $arrReminder = $masterData->getMasterData("mtb_reminder"); 87 88 // クッキー管理クラス 89 $objCookie = new SC_Cookie(COOKIE_EXPIRE); 90 86 87 if ($_SERVER["REQUEST_METHOD"] == "POST") { 88 if (!SC_Helper_Session_Ex::isValidToken()) { 89 SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true); 90 } 91 } 91 92 if (!isset($_POST['mode'])) $_POST['mode'] = ""; 92 if (!isset($_POST['email'])) $_POST['email'] = ""; 93 94 if ( $_POST['mode'] == 'mail_check' ){ 95 //メアド入力時 96 $_POST['email'] = strtolower($_POST['email']); 97 // FIXME DBチェックの前に妥当性チェックするべき 98 $sql = "SELECT * FROM dtb_customer WHERE (email = ? OR email_mobile = ?) AND status = 2 AND del_flg = 0"; 99 $result = $objQuery->getAll($sql, array($_POST['email'], $_POST['email']) ); 100 101 // 本会員登録済みの場合 102 if (isset($result[0]['reminder']) && $result[0]['reminder']){ 103 // 入力emailが存在する 104 $_SESSION['forgot']['email'] = $_POST['email']; 105 $_SESSION['forgot']['reminder'] = $result[0]['reminder']; 106 // ヒミツの答え入力画面 107 $this->Reminder = $arrReminder[$_SESSION['forgot']['reminder']]; 108 $this->tpl_mainpage = 'forgot/secret.tpl'; 109 } else { 110 $sql = "SELECT customer_id FROM dtb_customer WHERE (email = ? OR email_mobile = ?) AND status = 1 AND del_flg = 0"; //仮登録中の確認 111 $result = $objQuery->getAll($sql, array($_POST['email'], $_POST['email']) ); 112 if ($result) { 113 $this->errmsg = "ご入力のemailアドレスは現在仮登録中です。<br>登録の際にお送りしたメールのURLにアクセスし、<br>本会員登録をお願いします。"; 114 } else { // 登録していない場合 115 $this->errmsg = "ご入力のemailアドレスは登録されていません"; 116 } 117 } 118 119 } elseif( $_POST['mode'] == 'secret_check' ){ 120 //ヒミツの答え入力時 121 122 if ( $_SESSION['forgot']['email'] ) { 123 // ヒミツの答えの回答が正しいかチェック 124 125 $sql = "SELECT * FROM dtb_customer WHERE (email = ? OR email_mobile = ?) AND del_flg = 0"; 126 $result = $objQuery->getAll($sql, array($_SESSION['forgot']['email'], $_SESSION['forgot']['email'])); 127 $data = $result[0]; 128 129 if ( $data['reminder_answer'] === $_POST['input_reminder'] ){ 130 // ヒミツの答えが正しい 131 132 // 新しいパスワードを設定する 133 $this->temp_password = GC_Utils_Ex::gfMakePassword(8); 134 135 if(FORGOT_MAIL == 1) { 136 // メールで変更通知をする 137 $this->lfSendMail($CONF, $_SESSION['forgot']['email'], $data['name01'], $this->temp_password); 138 } 139 140 // DBを書き換える 141 $sql = "UPDATE dtb_customer SET password = ?, update_date = now() WHERE customer_id = ?"; 142 $objQuery->query( $sql, array( sha1($this->temp_password . ":" . AUTH_MAGIC) ,$data['customer_id']) ); 143 144 // 完了画面の表示 145 $this->tpl_mainpage = 'forgot/complete.tpl'; 146 147 // セッション変数の解放 148 $_SESSION['forgot'] = array(); 149 unset($_SESSION['forgot']); 150 151 } else { 152 // ヒミツの答えが正しくない 153 154 $this->Reminder = $arrReminder[$_SESSION['forgot']['reminder']]; 155 $this->errmsg = "パスワードを忘れたときの質問に対する回答が正しくありません"; 156 $this->tpl_mainpage = 'forgot/secret.tpl'; 157 158 } 159 160 161 } else { 162 // アクセス元が不正または、セッション保持期間が切れている 163 $this->errmsg = "emailアドレスを再度登録してください。<br />前回の入力から時間が経っていますと、本メッセージが表示される可能性があります。"; 164 } 165 } 166 167 // デフォルト入力 168 if($_POST['email'] != "") { 169 // POST値を入力 170 $this->tpl_login_email = $_POST['email']; 171 } else { 172 // クッキー値を入力 173 $this->tpl_login_email = $objCookie->getCookie('login_email'); 174 } 175 176 if (defined("MOBILE_SITE") && MOBILE_SITE) { 93 94 switch($_POST["mode"]) { 95 case 'mail_check': 96 $this->lfForgotMailCheck(); 97 break; 98 case 'secret_check': 99 $this->lfForgotSecretCheck(); 100 break; 101 default: 102 $this->lfForgotDefault(); 103 break; 104 } 105 106 $this->transactionid = SC_Helper_Session_Ex::getToken(); 107 108 if ($this->isMobile) { 177 109 // モバイルサイトの場合はトークン生成 178 110 $this->createMobileToken(); … … 182 114 } 183 115 } 116 117 // 最初に開いた時の処理(メールアドレス入力画面) 118 function lfForgotDefault() { 119 // クッキー管理クラス 120 $objCookie = new SC_Cookie(COOKIE_EXPIRE); 121 $this->tpl_login_email = $objCookie->getCookie('login_email'); 122 } 123 124 // メールアドレス確認(秘密の質問入力画面) 125 function lfForgotMailCheck() { 126 // パラメータ管理クラス,パラメータ情報の初期化 127 $this->objFormParam = new SC_FormParam(); 128 $this->lfMailCheckInitParam(); 129 // POST値の取得 130 $this->objFormParam->setParam($_POST); 131 $this->objFormParam->convParam(); 132 $this->objFormParam->toLower('email'); 133 $this->arrForm = $this->objFormParam->getHashArray(); 134 //エラーチェック 135 $this->arrErr = $this->lfMailCheckErrorCheck(); 136 if (count($this->arrErr) == 0) { 137 $email = $this->arrForm['email']; 138 $objQuery =& SC_Query::getSingletonInstance(); 139 $where = "(email Like ? OR email_mobile Like ?) AND name01 Like ? AND name02 Like ? AND del_flg = 0"; 140 $arrVal = array($this->arrForm['email'], $this->arrForm['email'], $this->arrForm['name01'], $this->arrForm['name02']); 141 $result = $objQuery->select("reminder, status", "dtb_customer", $where, $arrVal); 142 if (isset($result[0]['reminder']) and isset($this->arrReminder[$result[0]['reminder']])) { 143 if($result[0]['status'] == '2') { 144 // 有効な情報であるため、秘密の質問確認へ遷移 145 $this->tpl_mainpage = 'forgot/secret.tpl'; 146 $this->arrForm['reminder'] = $result[0]['reminder']; 147 } else if ($result[0]['status'] == '1') { 148 $this->errmsg = 'ご入力のemailアドレスは現在仮登録中です。<br/>登録の際にお送りしたメールのURLにアクセスし、<br/>本会員登録をお願いします。'; 149 } 150 } else { 151 $this->errmsg = 'お名前に間違いがあるか、このメールアドレスは登録されていません。'; 152 } 153 } 154 } 155 156 // メールアドレス確認におけるエラーチェック 157 function lfMailCheckErrorCheck() { 158 // 入力データを渡す 159 $arrRet = $this->objFormParam->getHashArray(); 160 $objErr = new SC_CheckError($arrRet); 161 $objErr->arrErr = $this->objFormParam->checkError(); 162 return $objErr->arrErr; 163 } 164 165 // メールアドレス確認におけるパラメーター情報の初期化 166 function lfMailCheckInitParam() { 167 $this->objFormParam->addParam("お名前(姓)", 'name01', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 168 $this->objFormParam->addParam("お名前(名)", 'name02', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 169 if ($this->isMobile == false){ 170 $this->objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 171 } else { 172 $this->objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("EXIST_CHECK", "EMAIL_CHECK", "NO_SPTAB" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK","MOBILE_EMAIL_CHECK")); 173 } 174 175 } 176 177 // 秘密の質問確認 178 function lfForgotSecretCheck() { 179 // パラメータ管理クラス,パラメータ情報の初期化 180 $this->objFormParam = new SC_FormParam(); 181 $this->lfSecretCheckInitParam(); 182 // POST値の取得 183 $this->objFormParam->setParam($_POST); 184 $this->objFormParam->convParam(); 185 $this->objFormParam->toLower('email'); 186 $this->arrForm = $this->objFormParam->getHashArray(); 187 //エラーチェック 188 $this->arrErr = $this->lfSecretCheckErrorCheck(); 189 if (count($this->arrErr) == 0) { 190 $email = $this->arrForm['email']; 191 $objQuery =& SC_Query::getSingletonInstance(); 192 $where = "(email Like ? OR email_mobile Like ?) AND name01 Like ? AND name02 Like ? AND status = 2 AND del_flg = 0"; 193 $arrVal = array($this->arrForm['email'], $this->arrForm['email'], $this->arrForm['name01'], $this->arrForm['name02']); 194 $result = $objQuery->select("customer_id, reminder, reminder_answer, salt", "dtb_customer", $where, $arrVal); 195 if (isset($result[0]['reminder']) and isset($this->arrReminder[$result[0]['reminder']]) 196 and $result[0]['reminder'] == $this->arrForm['reminder']) { 197 198 if (SC_Utils_Ex::sfIsMatchHashPassword($this->arrForm['reminder_answer'], $result[0]['reminder_answer'], $result[0]['salt'])) { 199 // 秘密の答えが一致 200 // 新しいパスワードを設定する 201 $this->temp_password = GC_Utils_Ex::gfMakePassword(8); 202 203 if(FORGOT_MAIL == 1) { 204 // メールで変更通知をする 205 $objDb = new SC_Helper_DB_Ex(); 206 $CONF = $objDb->sfGetBasisData(); 207 $this->lfSendMail($CONF, $this->arrForm['email'], $this->arrForm['name01'], $this->temp_password); 208 } 209 $sqlval = array(); 210 $sqlval['password'] = $this->temp_password; 211 SC_Helper_Customer_Ex::sfEditCustomerData($sqlval, $result[0]['customer_id']); 212 213 // 完了ページへ移動する 214 $this->tpl_mainpage = 'forgot/complete.tpl'; 215 // transactionidの都合で呼び出し元をリロード。 216 $this->tpl_onload .= 'opener.location.reload(true);'; 217 } else { 218 // 秘密の答えが一致しなかった 219 $this->tpl_mainpage = 'forgot/secret.tpl'; 220 $this->errmsg = '秘密の質問が一致しませんでした。'; 221 } 222 } else { 223 //不正なアクセス 224 SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true); 225 } 226 } else { 227 $this->tpl_mainpage = 'forgot/secret.tpl'; 228 } 229 } 230 231 function lfSecretCheckInitParam() { 232 // メールチェックと同等のチェックを再度行う 233 $this->lfMailCheckInitParam(); 234 // 秘密の質問チェックの追加 235 $this->objFormParam->addParam("パスワード確認用の質問", "reminder", STEXT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK")); 236 $this->objFormParam->addParam("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 237 } 238 239 // 秘密の答え確認におけるエラーチェック 240 function lfSecretCheckErrorCheck() { 241 // 入力データを渡す 242 $arrRet = $this->objFormParam->getHashArray(); 243 $objErr = new SC_CheckError($arrRet); 244 $objErr->arrErr = $this->objFormParam->checkError(); 245 return $objErr->arrErr; 246 } 184 247 185 248 /** … … 200 263 * @param string $temp_password 変更後のパスワード 201 264 * @return void 265 * 266 * FIXME: メールテンプレート編集の方に足すのが望ましい? 202 267 */ 203 268 function lfSendMail($CONF, $email, $customer_name, $temp_password){ … … 230 295 * 231 296 * @return void 297 * 298 * FIXME: この処理の有効性が不明 232 299 */ 233 300 function createMobileToken() { … … 238 305 if ($token !== false) { 239 306 $objPage->tpl_kara_mail_to = MOBILE_KARA_MAIL_ADDRESS_USER . MOBILE_KARA_MAIL_ADDRESS_DELIMITER . 'forgot_' . $token . '@' . MOBILE_KARA_MAIL_ADDRESS_DOMAIN; 240 241 }307 } 308 } 242 309 } 243 310 } -
branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Change.php
r19991 r19995 240 240 241 241 // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 242 $register_user_flg = SC_Helper_Customer_Ex:: lfCheckRegisterUserFromEmail($arrRet["email"]);242 $register_user_flg = SC_Helper_Customer_Ex::sfCheckRegisterUserFromEmail($arrRet["email"]); 243 243 switch($register_user_flg) { 244 244 case 1:
Note: See TracChangeset
for help on using the changeset viewer.