[Svn-src-all:1186] [version-2_5-dev 20074] 会員登録リファクタリング #979
kimoto
admin @ mail.ec-cube.net
2011年 2月 3日 (木) 18:26:30 JST
Subversion committed to /home/svn/open 20074
http://svn.ec-cube.net/open_trac/changeset/20074
┌────────────────────────────┐
│更新者 : kimoto │
│更新日時: 2011-02-03 18:26:30 +0900 (木, 03 2月 2011)│
└────────────────────────────┘
Log:
--------------------------------------------------------
会員登録リファクタリング #979
Changed: [U:修正,A:追加,D:削除]
--------------------------------------------------------
U branches/version-2_5-dev/data/Smarty/templates/default/entry/confirm.tpl
U branches/version-2_5-dev/data/Smarty/templates/mobile/entry/confirm.tpl
U branches/version-2_5-dev/data/Smarty/templates/sphone/entry/confirm.tpl
U branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php
U branches/version-2_5-dev/data/class/util/SC_Utils.php
変更: branches/version-2_5-dev/data/Smarty/templates/default/entry/confirm.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/default/entry/confirm.tpl 2011-02-03 09:24:23 UTC (rev 20073)
+++ branches/version-2_5-dev/data/Smarty/templates/default/entry/confirm.tpl 2011-02-03 09:26:30 UTC (rev 20074)
@@ -27,7 +27,7 @@
よろしければ、一番下の「会員登録完了へ」ボタンをクリックしてください。</p>
<form name="form1" id="form1" method="post" action="?">
<input type="hidden" name="mode" value="complete">
- <!--{foreach from=$list_data key=key item=item}-->
+ <!--{foreach from=$arrForm key=key item=item}-->
<input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->" />
<!--{/foreach}-->
<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
@@ -36,40 +36,40 @@
<tr>
<th>お名前<span class="attention">※</span></th>
<td>
- <!--{$list_data.name01|h}-->
- <!--{$list_data.name02|h}-->
+ <!--{$arrForm.name01|h}-->
+ <!--{$arrForm.name02|h}-->
</td>
</tr>
<tr>
<th>お名前(フリガナ)<span class="attention">※</span></th>
<td>
- <!--{$list_data.kana01|h}-->
- <!--{$list_data.kana02|h}-->
+ <!--{$arrForm.kana01|h}-->
+ <!--{$arrForm.kana02|h}-->
</td>
</tr>
<tr>
<th>郵便番号<span class="attention">※</span></th>
<td>
- 〒<!--{$list_data.zip01|h}--> - <!--{$list_data.zip02|h}-->
+ 〒<!--{$arrForm.zip01|h}--> - <!--{$arrForm.zip02|h}-->
</td>
</tr>
<tr>
<th>住所<span class="attention">※</span></th>
<td>
- <!--{$arrPref[$list_data.pref]|h}--><!--{$list_data.addr01|h}--><!--{$list_data.addr02|h}-->
+ <!--{$arrPref[$arrForm.pref]|h}--><!--{$arrForm.addr01|h}--><!--{$arrForm.addr02|h}-->
</td>
</tr>
<tr>
<th>電話番号<span class="attention">※</span></th>
<td>
- <!--{$list_data.tel01|h}--> - <!--{$list_data.tel02|h}--> - <!--{$list_data.tel03|h}-->
+ <!--{$arrForm.tel01|h}--> - <!--{$arrForm.tel02|h}--> - <!--{$arrForm.tel03|h}-->
</td>
</tr>
<tr>
<th>FAX</th>
<td>
- <!--{if strlen($list_data.fax01) > 0 && strlen($list_data.fax02) > 0 && strlen($list_data.fax03) > 0}-->
- <!--{$list_data.fax01|h}--> - <!--{$list_data.fax02|h}--> - <!--{$list_data.fax03|h}-->
+ <!--{if strlen($arrForm.fax01) > 0 && strlen($arrForm.fax02) > 0 && strlen($arrForm.fax03) > 0}-->
+ <!--{$arrForm.fax01|h}--> - <!--{$arrForm.fax02|h}--> - <!--{$arrForm.fax03|h}-->
<!--{else}-->
未登録
<!--{/if}-->
@@ -78,13 +78,13 @@
<tr>
<th>メールアドレス<span class="attention">※</span></th>
<td>
- <a href="mailto:<!--{$list_data.email|escape:'hex'}-->"><!--{$list_data.email|escape:'hexentity'}--></a>
+ <a href="mailto:<!--{$arrForm.email|escape:'hex'}-->"><!--{$arrForm.email|escape:'hexentity'}--></a>
</td>
</tr>
<tr>
<th>性別<span class="attention">※</span></th>
<td>
- <!--{if $list_data.sex eq 1}-->
+ <!--{if $arrForm.sex eq 1}-->
男性
<!--{else}-->
女性
@@ -93,13 +93,13 @@
</tr>
<tr>
<th>職業</th>
- <td><!--{$arrJob[$list_data.job]|default:"未登録"|h}--></td>
+ <td><!--{$arrJob[$arrForm.job]|default:"未登録"|h}--></td>
</tr>
<tr>
<th>生年月日</th>
<td>
- <!--{if strlen($list_data.year) > 0 && strlen($list_data.month) > 0 && strlen($list_data.day) > 0}-->
- <!--{$list_data.year|h}-->年<!--{$list_data.month|h}-->月<!--{$list_data.day|h}-->日
+ <!--{if strlen($arrForm.year) > 0 && strlen($arrForm.month) > 0 && strlen($arrForm.day) > 0}-->
+ <!--{$arrForm.year|h}-->年<!--{$arrForm.month|h}-->月<!--{$arrForm.day|h}-->日
<!--{else}-->
未登録
<!--{/if}-->
@@ -113,16 +113,16 @@
<tr>
<th>パスワードを忘れた時のヒント<span class="attention">※</span></th>
<td>
- 質問:<!--{$arrReminder[$list_data.reminder]|h}--><br />
- 答え:<!--{$list_data.reminder_answer|h}-->
+ 質問:<!--{$arrReminder[$arrForm.reminder]|h}--><br />
+ 答え:<!--{$arrForm.reminder_answer|h}-->
</td>
</tr>
<tr>
<th>メールマガジン送付について<span class="attention">※</span></th>
<td>
- <!--{if $list_data.mailmaga_flg eq 1}-->
+ <!--{if $arrForm.mailmaga_flg eq 1}-->
HTMLメール+テキストメールを受け取る
- <!--{elseif $list_data.mailmaga_flg eq 2}-->
+ <!--{elseif $arrForm.mailmaga_flg eq 2}-->
テキストメールを受け取る
<!--{else}-->
受け取らない
変更: branches/version-2_5-dev/data/Smarty/templates/mobile/entry/confirm.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/mobile/entry/confirm.tpl 2011-02-03 09:24:23 UTC (rev 20073)
+++ branches/version-2_5-dev/data/Smarty/templates/mobile/entry/confirm.tpl 2011-02-03 09:26:30 UTC (rev 20074)
@@ -24,41 +24,41 @@
<form name="form1" id="form1" method="post" action="?" utn>
<input type="hidden" name="mode" value="complete">
<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
- <!--{foreach from=$list_data key=key item=item}-->
+ <!--{foreach from=$arrForm key=key item=item}-->
<input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->">
<!--{/foreach}-->
下記の内容でご登録してもよろしいですか?<br>
<br>
●メールアドレス<br>
- <!--{$list_data.email|h}--><br>
+ <!--{$arrForm.email|h}--><br>
●パスワード確認用質問<br>
- <!--{$arrReminder[$list_data.reminder]|h}--><br>
+ <!--{$arrReminder[$arrForm.reminder]|h}--><br>
●質問の答え<br>
- <!--{$list_data.reminder_answer|h}--><br>
+ <!--{$arrForm.reminder_answer|h}--><br>
●お名前<br>
- <!--{$list_data.name01|h}--> <!--{$list_data.name02|h}--><br>
+ <!--{$arrForm.name01|h}--> <!--{$arrForm.name02|h}--><br>
●お名前(フリガナ)<br>
- <!--{$list_data.kana01|h}--> <!--{$list_data.kana02|h}--><br>
+ <!--{$arrForm.kana01|h}--> <!--{$arrForm.kana02|h}--><br>
●性別<br>
- <!--{if $list_data.sex eq 1}-->男性<!--{else}-->女性<!--{/if}--><br>
+ <!--{if $arrForm.sex eq 1}-->男性<!--{else}-->女性<!--{/if}--><br>
●生年月日<br>
- <!--{if strlen($list_data.year) > 0 && strlen($list_data.month) > 0 && strlen($list_data.day) > 0}--><!--{$list_data.year|h}-->年<!--{$list_data.month|h}-->月<!--{$list_data.day|h}-->日生まれ<!--{else}-->未登録<!--{/if}--><br>
+ <!--{if strlen($arrForm.year) > 0 && strlen($arrForm.month) > 0 && strlen($arrForm.day) > 0}--><!--{$arrForm.year|h}-->年<!--{$arrForm.month|h}-->月<!--{$arrForm.day|h}-->日生まれ<!--{else}-->未登録<!--{/if}--><br>
●住所<br>
- 〒<!--{$list_data.zip01|h}--> - <!--{$list_data.zip02|h}--><br>
- <!--{$arrPref[$list_data.pref]|h}--><!--{$list_data.addr01|h}--><!--{$list_data.addr02|h}--><br>
+ 〒<!--{$arrForm.zip01|h}--> - <!--{$arrForm.zip02|h}--><br>
+ <!--{$arrPref[$arrForm.pref]|h}--><!--{$arrForm.addr01|h}--><!--{$arrForm.addr02|h}--><br>
●電話番号<br>
- <!--{$list_data.tel01|h}-->-<!--{$list_data.tel02|h}-->-<!--{$list_data.tel03|h}--><br>
+ <!--{$arrForm.tel01|h}-->-<!--{$arrForm.tel02|h}-->-<!--{$arrForm.tel03|h}--><br>
●メールマガジン゛<br>
- <!--{if $list_data.mailmaga_flg eq 2}-->希望する<!--{else}-->希望しない<!--{/if}--><br>
+ <!--{if $arrForm.mailmaga_flg eq 2}-->希望する<!--{else}-->希望しない<!--{/if}--><br>
<br>
<input type="submit" name="submit" value="登録"><br>
変更: branches/version-2_5-dev/data/Smarty/templates/sphone/entry/confirm.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/sphone/entry/confirm.tpl 2011-02-03 09:24:23 UTC (rev 20073)
+++ branches/version-2_5-dev/data/Smarty/templates/sphone/entry/confirm.tpl 2011-02-03 09:26:30 UTC (rev 20074)
@@ -27,7 +27,7 @@
よろしければ、一番下の「会員登録完了へ」ボタンをクリックしてください。</p>
<form name="form1" id="form1" method="post" action="?">
<input type="hidden" name="mode" value="complete">
- <!--{foreach from=$list_data key=key item=item}-->
+ <!--{foreach from=$arrForm key=key item=item}-->
<input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->" />
<!--{/foreach}-->
<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
@@ -36,40 +36,40 @@
<tr>
<th>お名前<span class="attention">※</span></th>
<td>
- <!--{$list_data.name01|h}-->
- <!--{$list_data.name02|h}-->
+ <!--{$arrForm.name01|h}-->
+ <!--{$arrForm.name02|h}-->
</td>
</tr>
<tr>
<th>お名前(フリガナ)<span class="attention">※</span></th>
<td>
- <!--{$list_data.kana01|h}-->
- <!--{$list_data.kana02|h}-->
+ <!--{$arrForm.kana01|h}-->
+ <!--{$arrForm.kana02|h}-->
</td>
</tr>
<tr>
<th>郵便番号<span class="attention">※</span></th>
<td>
- 〒<!--{$list_data.zip01|h}--> - <!--{$list_data.zip02|h}-->
+ 〒<!--{$arrForm.zip01|h}--> - <!--{$arrForm.zip02|h}-->
</td>
</tr>
<tr>
<th>住所<span class="attention">※</span></th>
<td>
- <!--{$arrPref[$list_data.pref]|h}--><!--{$list_data.addr01|h}--><!--{$list_data.addr02|h}-->
+ <!--{$arrPref[$arrForm.pref]|h}--><!--{$arrForm.addr01|h}--><!--{$arrForm.addr02|h}-->
</td>
</tr>
<tr>
<th>電話番号<span class="attention">※</span></th>
<td>
- <!--{$list_data.tel01|h}--> - <!--{$list_data.tel02|h}--> - <!--{$list_data.tel03|h}-->
+ <!--{$arrForm.tel01|h}--> - <!--{$arrForm.tel02|h}--> - <!--{$arrForm.tel03|h}-->
</td>
</tr>
<tr>
<th>FAX</th>
<td>
- <!--{if strlen($list_data.fax01) > 0 && strlen($list_data.fax02) > 0 && strlen($list_data.fax03) > 0}-->
- <!--{$list_data.fax01|h}--> - <!--{$list_data.fax02|h}--> - <!--{$list_data.fax03|h}-->
+ <!--{if strlen($arrForm.fax01) > 0 && strlen($arrForm.fax02) > 0 && strlen($arrForm.fax03) > 0}-->
+ <!--{$arrForm.fax01|h}--> - <!--{$arrForm.fax02|h}--> - <!--{$arrForm.fax03|h}-->
<!--{else}-->
未登録
<!--{/if}-->
@@ -78,13 +78,13 @@
<tr>
<th>メールアドレス<span class="attention">※</span></th>
<td>
- <a href="mailto:<!--{$list_data.email|escape:'hex'}-->"><!--{$list_data.email|escape:'hexentity'}--></a>
+ <a href="mailto:<!--{$arrForm.email|escape:'hex'}-->"><!--{$arrForm.email|escape:'hexentity'}--></a>
</td>
</tr>
<tr>
<th>性別<span class="attention">※</span></th>
<td>
- <!--{if $list_data.sex eq 1}-->
+ <!--{if $arrForm.sex eq 1}-->
男性
<!--{else}-->
女性
@@ -93,13 +93,13 @@
</tr>
<tr>
<th>職業</th>
- <td><!--{$arrJob[$list_data.job]|default:"未登録"|h}--></td>
+ <td><!--{$arrJob[$arrForm.job]|default:"未登録"|h}--></td>
</tr>
<tr>
<th>生年月日</th>
<td>
- <!--{if strlen($list_data.year) > 0 && strlen($list_data.month) > 0 && strlen($list_data.day) > 0}-->
- <!--{$list_data.year|h}-->年<!--{$list_data.month|h}-->月<!--{$list_data.day|h}-->日
+ <!--{if strlen($arrForm.year) > 0 && strlen($arrForm.month) > 0 && strlen($arrForm.day) > 0}-->
+ <!--{$arrForm.year|h}-->年<!--{$arrForm.month|h}-->月<!--{$arrForm.day|h}-->日
<!--{else}-->
未登録
<!--{/if}-->
@@ -113,16 +113,16 @@
<tr>
<th>パスワードを忘れた時のヒント<span class="attention">※</span></th>
<td>
- 質問:<!--{$arrReminder[$list_data.reminder]|h}--><br />
- 答え:<!--{$list_data.reminder_answer|h}-->
+ 質問:<!--{$arrReminder[$arrForm.reminder]|h}--><br />
+ 答え:<!--{$arrForm.reminder_answer|h}-->
</td>
</tr>
<tr>
<th>メールマガジン送付について<span class="attention">※</span></th>
<td>
- <!--{if $list_data.mailmaga_flg eq 1}-->
+ <!--{if $arrForm.mailmaga_flg eq 1}-->
HTMLメール+テキストメールを受け取る
- <!--{elseif $list_data.mailmaga_flg eq 2}-->
+ <!--{elseif $arrForm.mailmaga_flg eq 2}-->
テキストメールを受け取る
<!--{else}-->
受け取らない
変更: branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php
===================================================================
--- branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php 2011-02-03 09:24:23 UTC (rev 20073)
+++ branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php 2011-02-03 09:26:30 UTC (rev 20074)
@@ -30,15 +30,15 @@
* @version $Id$
*/
class SC_Helper_Customer {
-
-
+
+
/**
* 会員編集登録処理を行う.
*
* @param array $array パラメータの配列
* @param array $arrRegistColumn 登録するカラムの配列
* @return void
- * @deprecated
+ * @deprecated
* @todo sfEditCustomerData に統一。LC_Page_Admin_Customer_Edit から呼び出されているだけ
*/
function sfEditCustomerDataAdmin($array, $arrRegistColumn) {
@@ -72,13 +72,13 @@
}
$arrRegist["reminder_answer"] = SC_Utils_Ex::sfGetHashString($array["reminder_answer"], $salt);
}
-
+
$arrRegist["update_date"] = "NOW()";
-
+
//-- 編集登録実行
$objQuery->update("dtb_customer", $arrRegist, "customer_id = ? ", array($array['customer_id']));
}
-
+
/**
* 会員編集登録処理を行う.
*
@@ -91,7 +91,7 @@
$objQuery =& SC_Query::getSingletonInstance();
$array["update_date"] = "now()"; // 更新日
-
+
// salt値の生成(insert時)または取得(update時)。
if(is_numeric($customer_id)) {
$salt = $objQuery->get("salt", "dtb_customer", "customer_id = ? ", array($customer_id));
@@ -120,7 +120,7 @@
$objQuery->update("dtb_customer", $array, "customer_id = ? ", array($customer_id));
} else {
// 新規登録
-
+
// 会員ID
$customer_id = $objQuery->nextVal('dtb_customer_customer_id');
if (is_null($array["customer_id"])){
@@ -128,13 +128,13 @@
}
// 作成日
if (is_null($array["create_date"])){
- $array["create_date"] = "now()";
- }
+ $array["create_date"] = "now()";
+ }
$objQuery->insert("dtb_customer", $array);
}
return $customer_id;
}
-
+
/**
* 注文番号、利用ポイント、加算ポイントから最終ポイントを取得する.
*
@@ -162,19 +162,19 @@
}
return array($point, $total_point);
}
-
+
/**
* emailアドレスから、登録済み会員や退会済み会員をチェックする
- *
+ *
* @param string $email メールアドレス
* @return integer 0:登録可能 1:登録済み 2:再登録制限期間内削除ユーザー 3:自分のアドレス
*/
function sfCheckRegisterUserFromEmail($email){
$return = 0;
-
+
$objCustomer = new SC_Customer();
$objQuery =& SC_Query::getSingletonInstance();
-
+
$arrRet = $objQuery->select("email, update_date, del_flg"
,"dtb_customer"
,"email = ? OR email_mobile = ? ORDER BY del_flg"
@@ -199,7 +199,7 @@
}
}
}
-
+
// ログインしている場合、すでに登録している自分のemailの場合はエラーを返さない
if ($objCustomer->getValue('customer_id')){
$arrRet = $objQuery->select("email, email_mobile"
@@ -207,11 +207,30 @@
,"customer_id = ? ORDER BY del_flg"
,array($objCustomer->getValue('customer_id'))
);
- if ($email == $arrRet[0]["email"]
+ if ($email == $arrRet[0]["email"]
|| $email == $arrRet[0]["email_mobile"]){
$return = 3;
}
}
return $return;
}
-}
\ No newline at end of file
+
+
+ /**
+ * sfGetUniqSecretKey
+ *
+ * 重複しない会員登録キーを発行する。
+ *
+ * @access public
+ * @return void
+ */
+ function sfGetUniqSecretKey() {
+ $objQuery = new SC_Query();
+ $count = 1;
+ while ($count != 0) {
+ $uniqid = SC_Utils_Ex::sfGetUniqRandomId("r");
+ $count = $objQuery->count("dtb_customer", "secret_key = ?", array($uniqid));
+ }
+ return $uniqid;
+ }
+}
変更: branches/version-2_5-dev/data/class/util/SC_Utils.php
===================================================================
--- branches/version-2_5-dev/data/class/util/SC_Utils.php 2011-02-03 09:24:23 UTC (rev 20073)
+++ branches/version-2_5-dev/data/class/util/SC_Utils.php 2011-02-03 09:26:30 UTC (rev 20074)
@@ -2266,7 +2266,7 @@
}
return $res;
}
-
+
/**
* パスワード文字列のハッシュ一致判定
*
@@ -2291,7 +2291,7 @@
}
return $res;
}
-
+
}
?>
Svn-src-all メーリングリストの案内