Index: /branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit_confirm.tpl
===================================================================
--- /branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit_confirm.tpl	(revision 20116)
+++ /branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit_confirm.tpl	(revision 20232)
@@ -36,4 +36,5 @@
 <form name="form1" id="form1" method="post" action="?">
     <input type="hidden" name="mode" value="complete" />
+    <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
     <!--{foreach from=$arrForm key=key item=item}-->
         <!--{if $key ne "mode" && $key ne "subm"}-->
@@ -108,5 +109,5 @@
             <tr>
                 <th>パスワード<span class="attention"> *</span></th>
-                <td><!--{$passlen}--></td>
+                <td><!--{$arrForm.password}--></td>
             </tr>
             <tr>
Index: /branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit.tpl
===================================================================
--- /branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit.tpl	(revision 20116)
+++ /branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit.tpl	(revision 20232)
@@ -44,12 +44,13 @@
 <form name="search_form" method="post" action="">
     <input type="hidden" name="mode" value="search" />
+    <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
     <!--{foreach from=$arrSearchData key="key" item="item"}-->
         <!--{if $key ne "customer_id" && $key ne "mode" && $key ne "del_mode" && $key ne "edit_customer_id" && $key ne "del_customer_id" && $key ne "csv_mode" && $key ne "job" && $key ne "sex"}--><input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->"><!--{/if}-->
     <!--{/foreach}-->
     <!--{foreach from=$arrSearchData.job key="key" item="item"}-->
-        <input type="hidden" name="job[]" value="<!--{$item}-->" />
+        <input type="hidden" name="job[]" value="<!--{$item|h}-->" />
     <!--{/foreach}-->
     <!--{foreach from=$arrSearchData.sex key="key" item="item"}-->
-        <input type="hidden" name="sex[]" value="<!--{$item}-->" />
+        <input type="hidden" name="sex[]" value="<!--{$item|h}-->" />
     <!--{/foreach}-->
 </form>
@@ -57,7 +58,6 @@
 <form name="form1" id="form1" method="post" action="?">
     <input type="hidden" name="mode" value="confirm" />
-    <input type="hidden" name="edit_email" value="<!--{$tpl_edit_email}-->" />
-    <input type="hidden" name="customer_id" value="<!--{$list_data.customer_id|h}-->" />
-
+    <input type="hidden" name="customer_id" value="<!--{$arrForm.customer_id|h}-->" />
+    <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
     <!-- 検索条件の保持 -->
     <!--{foreach from=$arrSearchData key="key" item="item"}-->
@@ -72,16 +72,19 @@
 
     <div id="customer" class="contents-main">
-        <h2>顧客編集</h2>
+        <h2><!--{if $arrForm.customer_id}-->顧客編集<!--{else}-->顧客登録<!--{/if}--></h2>
         <table class="form">
+			<!--{if $arrForm.customer_id}-->
             <tr>
                 <th>顧客ID<span class="attention"> *</span></th>
-                <td><!--{$list_data.customer_id|h}--></td>
-            </tr>
+                <td><!--{$arrForm.customer_id|h}--></td>
+            </tr>
+			<!--{/if}-->
             <tr>
                 <th>会員状態<span class="attention"> *</span></th>
                 <td>
                     <span class="attention"><!--{$arrErr.status}--></span>
-                    <input type="radio" name="status"value=1 id="no_mem" <!--{if $list_data.status == 1}--> checked="checked" <!--{/if}--> <!--{if $list_data.status == 2}-->disabled<!--{/if}-->><label for="no_mem">仮会員</label>
-                    <input type="radio" name="status"value=2 id="mem"<!--{if $list_data.status == 2}--> checked="checked" <!--{/if}-->><label for="mem">本会員</label>
+                    <span <!--{if $arrErr.status != ""}--><!--{sfSetErrorStyle}--><!--{/if}-->>
+                        <!--{html_radios name="status" options=$arrStatus separator=" " selected=$arrForm.status}-->
+                    </span>
                 </td>
             </tr>
@@ -90,5 +93,5 @@
                 <td>
                     <span class="attention"><!--{$arrErr.name01}--><!--{$arrErr.name02}--></span>
-                    <input type="text" name="name01" value="<!--{$list_data.name01|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" size="30" class="box30" <!--{if $arrErr.name01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />&nbsp;&nbsp;<input type="text" name="name02" value="<!--{$list_data.name02|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" size="30" class="box30" <!--{if $arrErr.name02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
+                    <input type="text" name="name01" value="<!--{$arrForm.name01|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" size="30" class="box30" <!--{if $arrErr.name01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />&nbsp;&nbsp;<input type="text" name="name02" value="<!--{$arrForm.name02|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" size="30" class="box30" <!--{if $arrErr.name02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
                 </td>
             </tr>
@@ -97,5 +100,5 @@
                 <td>
                     <span class="attention"><!--{$arrErr.kana01}--><!--{$arrErr.kana02}--></span>
-                    <input type="text" name="kana01" value="<!--{$list_data.kana01|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" size="30" class="box30" <!--{if $arrErr.kana01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />&nbsp;&nbsp;<input type="text" name="kana02" value="<!--{$list_data.kana02|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" size="30" class="box30" <!--{if $arrErr.kana02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
+                    <input type="text" name="kana01" value="<!--{$arrForm.kana01|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" size="30" class="box30" <!--{if $arrErr.kana01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />&nbsp;&nbsp;<input type="text" name="kana02" value="<!--{$arrForm.kana02|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" size="30" class="box30" <!--{if $arrErr.kana02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
                 </td>
             </tr>
@@ -104,5 +107,5 @@
                 <td>
                     <span class="attention"><!--{$arrErr.zip01}--><!--{$arrErr.zip02}--></span>
-                    〒 <input type="text" name="zip01" value="<!--{$list_data.zip01|h}-->" maxlength="<!--{$smarty.const.ZIP01_LEN}-->" size="6" class="box6" maxlength="3" <!--{if $arrErr.zip01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /> - <input type="text" name="zip02" value="<!--{$list_data.zip02|h}-->" maxlength="<!--{$smarty.const.ZIP02_LEN}-->" size="6" class="box6" maxlength="4" <!--{if $arrErr.zip02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
+                    〒 <input type="text" name="zip01" value="<!--{$arrForm.zip01|h}-->" maxlength="<!--{$smarty.const.ZIP01_LEN}-->" size="6" class="box6" maxlength="3" <!--{if $arrErr.zip01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /> - <input type="text" name="zip02" value="<!--{$arrForm.zip02|h}-->" maxlength="<!--{$smarty.const.ZIP02_LEN}-->" size="6" class="box6" maxlength="4" <!--{if $arrErr.zip02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
                     <a class="btn-normal" href="javascript:;" name="address_input" onclick="fnCallAddress('<!--{$smarty.const.INPUT_ZIP_URLPATH}-->', 'zip01', 'zip02', 'pref', 'addr01'); return false;">住所入力</a>
                 </td>
@@ -114,9 +117,9 @@
                     <select class="top" name="pref" <!--{if $arrErr.pref != ""}--><!--{sfSetErrorStyle}--><!--{/if}-->>
                         <option class="top" value="" selected="selected">都道府県を選択</option>
-                        <!--{html_options options=$arrPref selected=$list_data.pref}-->
+                        <!--{html_options options=$arrPref selected=$arrForm.pref}-->
                     </select><br />
-                    <input type="text" name="addr01" value="<!--{$list_data.addr01|h}-->" size="60" class="box60" <!--{if $arrErr.addr01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /><br />
+                    <input type="text" name="addr01" value="<!--{$arrForm.addr01|h}-->" size="60" class="box60" <!--{if $arrErr.addr01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /><br />
                     <!--{$smarty.const.SAMPLE_ADDRESS1}--><br />
-                    <input type="text" name="addr02" value="<!--{$list_data.addr02|h}-->" size="60" class="box60" <!--{if $arrErr.addr02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /><br />
+                    <input type="text" name="addr02" value="<!--{$arrForm.addr02|h}-->" size="60" class="box60" <!--{if $arrErr.addr02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /><br />
                     <!--{$smarty.const.SAMPLE_ADDRESS2}-->
                 </td>
@@ -126,5 +129,5 @@
                 <td>
                     <span class="attention"><!--{$arrErr.email}--></span>
-                    <input type="text" name="email" value="<!--{$list_data.email|h}-->" size="60" class="box60" <!--{if $arrErr.email != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
+                    <input type="text" name="email" value="<!--{$arrForm.email|h}-->" size="60" class="box60" <!--{if $arrErr.email != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
                 </td>
             </tr>
@@ -133,5 +136,5 @@
                 <td>
                     <span class="attention"><!--{$arrErr.email_mobile}--></span>
-                    <input type="text" name="email_mobile" value="<!--{$list_data.email_mobile|h}-->" size="60" class="box60" <!--{if $arrErr.email_mobile != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
+                    <input type="text" name="email_mobile" value="<!--{$arrForm.email_mobile|h}-->" size="60" class="box60" <!--{if $arrErr.email_mobile != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
                 </td>
             </tr>
@@ -140,5 +143,5 @@
                 <td>
                     <span class="attention"><!--{$arrErr.tel01}--><!--{$arrErr.tel02}--><!--{$arrErr.tel03}--></span>
-                    <input type="text" name="tel01" value="<!--{$list_data.tel01|h}-->" maxlength="<!--{$smarty.const.TEL_ITEM_LEN}-->" size="6" class="box6" <!--{if $arrErr.tel01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /> - <input type="text" name="tel02" value="<!--{$list_data.tel02|h}-->" maxlength="<!--{$smarty.const.TEL_ITEM_LEN}-->" size="6" class="box6" <!--{if $arrErr.tel01 != "" || $arrErr.tel02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /> - <input type="text" name="tel03" value="<!--{$list_data.tel03|h}-->" maxlength="<!--{$smarty.const.TEL_ITEM_LEN}-->" size="6" class="box6" <!--{if $arrErr.tel01 != "" || $arrErr.tel03 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
+                    <input type="text" name="tel01" value="<!--{$arrForm.tel01|h}-->" maxlength="<!--{$smarty.const.TEL_ITEM_LEN}-->" size="6" class="box6" <!--{if $arrErr.tel01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /> - <input type="text" name="tel02" value="<!--{$arrForm.tel02|h}-->" maxlength="<!--{$smarty.const.TEL_ITEM_LEN}-->" size="6" class="box6" <!--{if $arrErr.tel01 != "" || $arrErr.tel02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /> - <input type="text" name="tel03" value="<!--{$arrForm.tel03|h}-->" maxlength="<!--{$smarty.const.TEL_ITEM_LEN}-->" size="6" class="box6" <!--{if $arrErr.tel01 != "" || $arrErr.tel03 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
                 </td>
             </tr>
@@ -147,5 +150,5 @@
                 <td>
                     <span class="attention"><!--{$arrErr.fax01}--><!--{$arrErr.fax02}--><!--{$arrErr.fax03}--></span>
-                    <input type="text" name="fax01" value="<!--{$list_data.fax01|h}-->" maxlength="<!--{$smarty.const.TEL_ITEM_LEN}-->" size="6" class="box6" <!--{if $arrErr.fax01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /> - <input type="text" name="fax02" value="<!--{$list_data.fax02|h}-->" maxlength="<!--{$smarty.const.TEL_ITEM_LEN}-->" size="6" class="box6" <!--{if $arrErr.fax01 != "" || $arrErr.tel02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /> - <input type="text" name="fax03" value="<!--{$list_data.fax03|h}-->" maxlength="<!--{$smarty.const.TEL_ITEM_LEN}-->" size="6" class="box6" <!--{if $arrErr.fax01 != "" || $arrErr.fax03 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
+                    <input type="text" name="fax01" value="<!--{$arrForm.fax01|h}-->" maxlength="<!--{$smarty.const.TEL_ITEM_LEN}-->" size="6" class="box6" <!--{if $arrErr.fax01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /> - <input type="text" name="fax02" value="<!--{$arrForm.fax02|h}-->" maxlength="<!--{$smarty.const.TEL_ITEM_LEN}-->" size="6" class="box6" <!--{if $arrErr.fax01 != "" || $arrErr.tel02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /> - <input type="text" name="fax03" value="<!--{$arrForm.fax03|h}-->" maxlength="<!--{$smarty.const.TEL_ITEM_LEN}-->" size="6" class="box6" <!--{if $arrErr.fax01 != "" || $arrErr.fax03 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
                 </td>
             </tr>
@@ -155,5 +158,5 @@
                     <span class="attention"><!--{$arrErr.sex}--></span>
                     <span <!--{if $arrErr.sex != ""}--><!--{sfSetErrorStyle}--><!--{/if}-->>
-                        <!--{html_radios name="sex" options=$arrSex separator=" " selected=$list_data.sex}-->
+                        <!--{html_radios name="sex" options=$arrSex separator=" " selected=$arrForm.sex}-->
                     </span>
                 </td>
@@ -165,5 +168,5 @@
                     <select name="job" <!--{if $arrErr.job != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> >
                     <option value="" selected="selected">選択してください</option>
-                    <!--{html_options options=$arrJob selected=$list_data.job}-->
+                    <!--{html_options options=$arrJob selected=$arrForm.job}-->
                     </select>
                 </td>
@@ -175,13 +178,13 @@
                     <select name="year" <!--{if $arrErr.year != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> >
                         <option value="" selected="selected">------</option>
-                        <!--{html_options options=$arrYear selected=$list_data.year}-->
+                        <!--{html_options options=$arrYear selected=$arrForm.year}-->
                     </select>年
                     <select name="month" <!--{if $arrErr.year != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> >
                         <option value="" selected="selected">----</option>
-                        <!--{html_options options=$arrMonth selected=$list_data.month}-->
+                        <!--{html_options options=$arrMonth selected=$arrForm.month}-->
                     </select>月
                     <select name="day" <!--{if $arrErr.year != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> >
                         <option value="" selected="selected">----</option>
-                        <!--{html_options options=$arrDay selected=$list_data.day"}-->
+                        <!--{html_options options=$arrDay selected=$arrForm.day"}-->
                     </select>日
                 </td>
@@ -191,5 +194,5 @@
                 <td>
                     <span class="attention"><!--{$arrErr.password}--></span>
-                    <input type="password" name="password" value="<!--{$list_data.password|h}-->" size="30" class="box30" <!--{if $arrErr.password != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />　半角英数小文字<!--{$smarty.const.PASSWORD_LEN1}-->～<!--{$smarty.const.PASSWORD_LEN2}-->文字（記号不可）
+                    <input type="password" name="password" value="<!--{$arrForm.password|h}-->" size="30" class="box30" <!--{if $arrErr.password != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />　半角英数小文字<!--{$smarty.const.PASSWORD_LEN1}-->～<!--{$smarty.const.PASSWORD_LEN2}-->文字（記号不可）
                 </td>
             </tr>
@@ -201,8 +204,8 @@
                     <select class="top" name="reminder" <!--{if $arrErr.reminder != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> >
                         <option value="" selected="selected">選択してください</option>
-                        <!--{html_options options=$arrReminder selected=$list_data.reminder}-->
+                        <!--{html_options options=$arrReminder selected=$arrForm.reminder}-->
                     </select><br />
                     答え： 
-                    <input type="text" name="reminder_answer" value="<!--{$list_data.reminder_answer|h}-->" size="30" class="box30" <!--{if $arrErr.reminder_answer != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
+                    <input type="text" name="reminder_answer" value="<!--{$arrForm.reminder_answer|h}-->" size="30" class="box30" <!--{if $arrErr.reminder_answer != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
                 </td>
             </tr>
@@ -211,7 +214,7 @@
                 <td>
                     <span class="attention"><!--{$arrErr.mailmaga_flg}--></span>
-                    <input type="radio" name="mailmaga_flg" value="1" <!--{if $arrErr.mailmaga_flg != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> <!--{if $list_data.mailmaga_flg eq 1 or $list_data.mailmaga_flg eq 4}-->checked<!--{/if}--> />HTML　
-                    <input type="radio" name="mailmaga_flg" value="2" <!--{if $arrErr.mailmaga_flg != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> <!--{if $list_data.mailmaga_flg eq 2 or $list_data.mailmaga_flg eq 5}-->checked<!--{/if}--> />テキスト　
-                    <input type="radio" name="mailmaga_flg" value="3" <!--{if $arrErr.mailmaga_flg != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> <!--{if $list_data.mailmaga_flg eq "" or $list_data.mailmaga_flg eq 3 or $list_data.mailmaga_flg eq 6}-->checked<!--{/if}--> />希望しない
+                    <span <!--{if $arrErr.mailmaga_flg != ""}--><!--{sfSetErrorStyle}--><!--{/if}-->>
+                        <!--{html_radios name="mailmaga_flg" options=$arrMagazineType separator=" " selected=$arrForm.mailmaga_flg}-->
+                    </span>
                 </td>
             </tr>
@@ -220,5 +223,5 @@
                 <td>
                     <span class="attention"><!--{$arrErr.note}--></span>
-                    <textarea name="note" maxlength="<!--{$smarty.const.LTEXT_LEN}-->" <!--{if $arrErr.note != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> cols="60" rows="8" class="area60"><!--{$list_data.note|h}--></textarea>
+                    <textarea name="note" maxlength="<!--{$smarty.const.LTEXT_LEN}-->" <!--{if $arrErr.note != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> cols="60" rows="8" class="area60"><!--{$arrForm.note|h}--></textarea>
                 </td>
             </tr>
@@ -227,5 +230,5 @@
                 <td>
                     <span class="attention"><!--{$arrErr.point}--></span>
-                    <input type="text" name="point" value="<!--{$list_data.point|h}-->" maxlength="<!--{$smarty.const.TEL_LEN}-->" <!--{if $arrErr.point != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> size="6" class="box6" <!--{if $arrErr.point != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /> pt
+                    <input type="text" name="point" value="<!--{$arrForm.point|h}-->" maxlength="<!--{$smarty.const.TEL_LEN}-->" <!--{if $arrErr.point != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> size="6" class="box6" <!--{if $arrErr.point != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /> pt
                 </td>
             </tr>
Index: /branches/version-2_5-dev/data/Smarty/templates/admin/customer/subnavi.tpl
===================================================================
--- /branches/version-2_5-dev/data/Smarty/templates/admin/customer/subnavi.tpl	(revision 20116)
+++ /branches/version-2_5-dev/data/Smarty/templates/admin/customer/subnavi.tpl	(revision 20232)
@@ -24,4 +24,4 @@
 <ul class="level1">
 <li<!--{if $tpl_subno == 'index'}--> class="on"<!--{/if}--> id="navi-customer-index"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->customer/<!--{$smarty.const.DIR_INDEX_PATH}-->"><span>顧客マスタ</span></a></li>
-<li<!--{if $tpl_subno == 'customer'}--> class="on"<!--{/if}--> id="navi-customer-customer"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->customer/customer.php"><span>顧客登録</span></a></li>
+<li<!--{if $tpl_subno == 'customer'}--> class="on"<!--{/if}--> id="navi-customer-customer"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->customer/edit.php"><span>顧客登録</span></a></li>
 </ul>
Index: /branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php
===================================================================
--- /branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php	(revision 20179)
+++ /branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php	(revision 20232)
@@ -326,5 +326,10 @@
         SC_Helper_Customer_Ex::sfCustomerRegisterParam($objFormParam, $isAdmin);
         if($isAdmin) {
+            $objFormParam->addParam("顧客ID", "customer_id", INT_LEN, "n", array("NUM_CHECK"));
             $objFormParam->addParam('携帯メールアドレス', "email_mobile", MTEXT_LEN, "a", array("NO_SPTAB", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK", "MOBILE_EMAIL_CHECK"));
+            $objFormParam->addParam("会員状態", "status", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
+            $objFormParam->addParam("SHOP用メモ", "note", INT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
+            $objFormParam->addParam("所持ポイント", "point", INT_LEN, "n", array("NUM_CHECK"));
+            
         }
     }
@@ -437,8 +442,9 @@
      *
      * @param mixed $objFormParam
+     * @param boolean $isAdmin 管理画面チェック時:true
      * @access public
      * @return array エラーの配列
      */
-    function sfCustomerMypageErrorCheck(&$objFormParam) {
+    function sfCustomerMypageErrorCheck(&$objFormParam, $isAdmin = false) {
 
         $objFormParam->toLower('email_mobile');
@@ -448,9 +454,13 @@
         $objErr = SC_Helper_Customer_Ex::sfCustomerRegisterErrorCheck($objErr);
 
-        if (isset($objErr->arrErr['password']) && $objFormParam->getValue('password') == DEFAULT_PASSWORD) {
+        if ((isset($objErr->arrErr['password'])
+                && $objFormParam->getValue('password') == DEFAULT_PASSWORD)
+              or $isAdmin) {
             unset($objErr->arrErr['password']);
             unset($objErr->arrErr['password02']);
         }
-        if (isset($objErr->arrErr['reminder_answer']) && $objFormParam->getValue('reminder_answer') == DEFAULT_PASSWORD) {
+        if ((isset($objErr->arrErr['reminder_answer'])
+                && $objFormParam->getValue('reminder_answer') == DEFAULT_PASSWORD)
+              or $isAdmin) {
             unset($objErr->arrErr['reminder_answer']);
         }
@@ -484,16 +494,19 @@
      * 会員登録編集共通
      */
-    function sfCustomerRegisterErrorCheck(&$objErr) {
+    function sfCustomerRegisterErrorCheck(&$objErr, $isAdmin = false) {
         $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_BIRTHDAY"));
 
         if (SC_Display::detectDevice() !== DEVICE_TYPE_MOBILE){
-            $objErr->doFunc(array('パスワード', 'パスワード(確認)', "password", "password02") ,array("EQUAL_CHECK"));
-            $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', "email", "email02") ,array("EQUAL_CHECK"));
+            if(!$isAdmin) {
+                $objErr->doFunc(array('パスワード', 'パスワード(確認)', "password", "password02") ,array("EQUAL_CHECK"));
+                $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', "email", "email02") ,array("EQUAL_CHECK"));
+            }
             $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03") ,array("TEL_CHECK"));
         }
 
-        // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可
-        $objErr->doFunc(array("メールアドレス", "email"), array("CHECK_REGIST_CUSTOMER_EMAIL"));
-
+        if(!$isAdmin) {
+            // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可
+            $objErr->doFunc(array("メールアドレス", "email"), array("CHECK_REGIST_CUSTOMER_EMAIL"));
+        }
         return $objErr;
     }
Index: /branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer.php	(revision 20161)
+++ /branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer.php	(revision 20232)
@@ -58,4 +58,5 @@
         $this->arrPageRows = $masterData->getMasterData("mtb_page_rows");
         $this->arrStatus = $masterData->getMasterData("mtb_customer_status");
+        $this->arrMagazineType = $masterData->getMasterData("mtb_magazine_type");
 
         // 日付プルダウン設定
@@ -158,43 +159,5 @@
      */
     function lfInitParam(&$objFormParam) {
-        $objFormParam->addParam('顧客コード', 'customer_id', ID_MAX_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('顧客名', 'name', STEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('顧客名(カナ)', 'kana', STEXT_LEN, 'CKV', array("SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANABLANK_CHECK"));
-        $objFormParam->addParam('都道府県', 'pref', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('誕生日(開始年)', 'b_start_year', 4, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('誕生日(開始月)', 'b_start_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('誕生日(開始日)', 'b_start_day', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-
-        $objFormParam->addParam('誕生日(終了年)', 'b_end_year', 4, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('誕生日(終了月)', 'b_end_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('誕生日(終了日)', 'b_end_day', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('誕生月', 'birth_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('メールアドレス', 'email', MTEXT_LEN, 'a', array("SPTAB_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('携帯メールアドレス', 'email_mobile', MTEXT_LEN, 'a', array("SPTAB_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('電話番号', 'birth_month', TEL_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('購入金額(開始)', 'buy_total_from', PRICE_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('購入金額(終了)', 'buy_total_to', PRICE_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('購入回数(開始)', 'buy_times_from', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('購入回数(終了)', 'buy_times_to', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('登録・更新日(開始年)', 'start_year', 4, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('登録・更新日(開始月)', 'start_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('登録・更新日(開始日)', 'start_day', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('登録・更新日(終了年)', 'end_year', 4, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('登録・更新日(終了月)', 'end_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('登録・更新日(終了日)', 'end_day', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('表示件数', 'page_rows', 3, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('最終購入日(開始年)', 'buy_start_year', 4, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('最終購入日(開始月)', 'buy_start_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('最終購入日(開始日)', 'buy_start_day', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('最終購入日(終了年)', 'buy_end_year', 4, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('最終購入日(終了月)', 'buy_end_month', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('最終購入日(終了日)', 'buy_end_day', 2, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('購入商品コード', 'buy_product_code', STEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('購入商品名', 'buy_product_name', STEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('カテゴリ', 'category_id', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('編集対象顧客ID', 'edit_customer_id', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
-        $objFormParam->addParam('性別', 'sex');
-        $objFormParam->addParam('会員状態', 'status');
-        $objFormParam->addParam('職業', 'job');
+        SC_Helper_Customer_Ex::sfSetSearchParam($objFormParam);
     }
 
@@ -206,36 +169,5 @@
      */
     function lfCheckError(&$objFormParam) {
-        // パラメーターの基本チェック
-        $arrErr = $objFormParam->checkError();
-        // 拡張エラーチェック初期化
-        $objErr = new SC_CheckError($objFormParam->getHashArray());
-        // 拡張エラーチェック
-        $objErr->doFunc(array("誕生日(開始日)", "b_start_year", "b_start_month", "b_start_day"), array("CHECK_DATE"));
-        $objErr->doFunc(array("誕生日(終了日)", "b_end_year", "b_end_month", "b_end_day"), array("CHECK_DATE"));
-        
-        $objErr->doFunc(array("誕生日(開始日)","誕生日(終了日)", "b_start_year", "b_start_month", "b_start_day", "b_end_year", "b_end_month", "b_end_day"), array("CHECK_SET_TERM"));
-        $objErr->doFunc(array("登録・更新日(開始日)", "start_year", "start_month", "start_day",), array("CHECK_DATE"));
-        $objErr->doFunc(array("登録・更新日(終了日)", "end_year", "end_month", "end_day"), array("CHECK_DATE"));
-        $objErr->doFunc(array("登録・更新日(開始日)","登録・更新日(終了日)", "start_year", "start_month", "start_day", "end_year", "end_month", "end_day"), array("CHECK_SET_TERM"));
-        $objErr->doFunc(array("最終購入日(開始日)", "buy_start_year", "buy_start_month", "buy_start_day",), array("CHECK_DATE"));
-        $objErr->doFunc(array("最終購入(終了日)", "buy_end_year", "buy_end_month", "buy_end_day"), array("CHECK_DATE"));
-        //購入金額(from) ＞ 購入金額(to) の場合はエラーとする
-        $objErr->doFunc(array("最終購入日(開始日)","登録・更新日(終了日)", "buy_start_year", "buy_start_month", "buy_start_day", "buy_end_year", "buy_end_month", "buy_end_day"), array("CHECK_SET_TERM"));
-
-        if ((SC_Utils_Ex::sfIsInt($array["buy_total_from"])
-             && SC_Utils_Ex::sfIsInt($array["buy_total_to"]))
-             && ($array["buy_total_from"] > $array["buy_total_to"])) {
-            $objErr->arrErr["buy_total_from"] .= "※ 購入金額の指定範囲が不正です。";
-        }
-
-        if ((SC_Utils_Ex::sfIsInt($array["buy_times_from"])
-             && SC_Utils_Ex::sfIsInt($array["buy_times_to"]))
-             && ($array["buy_times_from"] > $array["buy_times_to"])) {
-            $objErr->arrErr["buy_times_from"] .= "※ 購入回数の指定範囲が不正です。";
-        }
-        if(!SC_Utils::isBlank($objErr->arrErr)) {
-            $arrErr = array_merge($arrErr, $objErr->arrErr);
-        }
-        return $arrErr;
+        return SC_Helper_Customer_Ex::sfCheckErrorSearchParam($objFormParam);
     }
 
Index: /branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer_Edit.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer_Edit.php	(revision 20128)
+++ /branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer_Edit.php	(revision 20232)
@@ -56,4 +56,16 @@
         $this->arrSex = $masterData->getMasterData("mtb_sex");
         $this->arrReminder = $masterData->getMasterData("mtb_reminder");
+        $this->arrStatus = $masterData->getMasterData("mtb_customer_status");
+        $this->arrMagazineType = $masterData->getMasterData("mtb_magazine_type");
+
+        // 日付プルダウン設定
+        $objDate = new SC_Date(BIRTH_YEAR);
+        $this->arrYear = $objDate->getYear();    
+        $this->arrMonth = $objDate->getMonth();
+        $this->arrDay = $objDate->getDay();
+        
+        // 支払い方法種別
+        $objDb = new SC_Helper_DB_Ex();
+        $this->arrPayment = $objDb->sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
     }
 
@@ -75,139 +87,98 @@
     function action() {
         // 認証可否の判定
-        $objSess = new SC_Session();
-        SC_Utils_Ex::sfIsSuccess($objSess);
-
-        $this->objQuery = new SC_Query();
-        $objDb = new SC_Helper_DB_Ex();
-        $objDate = new SC_Date(1901);
-        $objCustomerHelper = new SC_Helper_Customer_Ex();
-        $this->arrYear = $objDate->getYear();    //　日付プルダウン設定
-        $this->arrMonth = $objDate->getMonth();
-        $this->arrDay = $objDate->getDay();
-
-        //---- 登録用カラム配列
-        $arrRegistColumn = array(
-                                 array(  "column" => "name01",        "convert" => "aKV" ),
-                                 array(  "column" => "name02",        "convert" => "aKV" ),
-                                 array(  "column" => "kana01",        "convert" => "CKV" ),
-                                 array(  "column" => "kana02",        "convert" => "CKV" ),
-                                 array(  "column" => "zip01",        "convert" => "n" ),
-                                 array(  "column" => "zip02",        "convert" => "n" ),
-                                 array(  "column" => "pref",        "convert" => "n" ),
-                                 array(  "column" => "addr01",        "convert" => "aKV" ),
-                                 array(  "column" => "addr02",        "convert" => "aKV" ),
-                                 array(  "column" => "email",        "convert" => "a" ),
-                                 array(  "column" => "email_mobile",    "convert" => "a" ),
-                                 array(  "column" => "tel01",        "convert" => "n" ),
-                                 array(  "column" => "tel02",        "convert" => "n" ),
-                                 array(  "column" => "tel03",        "convert" => "n" ),
-                                 array(  "column" => "fax01",        "convert" => "n" ),
-                                 array(  "column" => "fax02",        "convert" => "n" ),
-                                 array(  "column" => "fax03",        "convert" => "n" ),
-                                 array(  "column" => "sex",            "convert" => "n" ),
-                                 array(  "column" => "job",            "convert" => "n" ),
-                                 array(  "column" => "birth",        "convert" => "n" ),
-                                 array(  "column" => "password",    "convert" => "a" ),
-                                 array(  "column" => "reminder",    "convert" => "n" ),
-                                 array(  "column" => "reminder_answer", "convert" => "aKV" ),
-                                 array(  "column" => "mailmaga_flg", "convert" => "n" ),
-                                 array(  "column" => "note",        "convert" => "aKV" ),
-                                 array(  "column" => "point",        "convert" => "n" ),
-                                 array(  "column" => "status",        "convert" => "n" )
-                                 );
-
-        //---- 登録除外用カラム配列
-        $arrRejectRegistColumn = array("year", "month", "day");
-
-        // 検索条件を保持 TODO 要リファクタリング(MODE if利用)
-        if ($this->getMode() == "edit_search") {
-            $arrSearch = $_POST;
-        }else{
-            $arrSearch = $_POST['search_data'];
-        }
-        if(is_array($arrSearch)){
-            foreach($arrSearch as $key => $val){
-                $arrSearchData[$key] = $val;
-            }
-        }
-
-        $this->arrSearchData= $arrSearchData;
-
-        //----　顧客編集情報取得
+        SC_Utils_Ex::sfIsSuccess(new SC_Session());
+
+        // 不正アクセスチェック 
+        if ($_SERVER["REQUEST_METHOD"] == "POST") {
+            if (!SC_Helper_Session_Ex::isValidToken()) {
+//                SC_Utils_Ex::sfDispError(INVALID_MOVE_ERRORR);
+                echo "不正アクセス";
+                exit;
+            }
+        }
+        // トランザクションID
+        $this->transactionid = SC_Helper_Session_Ex::getToken();
+
+        // パラメータ管理クラス
+        $objFormParam = new SC_FormParam();
+        // 検索引き継ぎ用パラメーター管理クラス
+        $objFormSearchParam = new SC_FormParam();
+
+        // モードによる処理切り替え
         switch ($this->getMode()) {
         case 'edit':
         case 'edit_search':
-            if (is_numeric($_POST["edit_customer_id"])) {
-
-                //--　顧客データ取得
-                $sql = "SELECT * FROM dtb_customer WHERE del_flg = 0 AND customer_id = ?";
-                $result = $this->objQuery->getAll($sql, array($_POST["edit_customer_id"]));
-                $this->list_data = $result[0];
-
-                $birth = split(" ", $this->list_data["birth"]);
-                $birth = split("-",$birth[0]);
-
-                $this->list_data["year"] = $birth[0];
-                $this->list_data["month"] = isset($birth[1]) ? $birth[1] : "";
-                $this->list_data["day"] = isset($birth[2]) ? $birth[2] : "";
-
-                $this->list_data["password"] = DEFAULT_PASSWORD;
-                $this->list_data["reminder_answer"] = DEFAULT_PASSWORD;
-                //DB登録のメールアドレスを渡す
-                $this->tpl_edit_email = $result[0]['email'];
-                //購入履歴情報の取得
-                $this->arrPurchaseHistory = $this->lfPurchaseHistory($_POST['edit_customer_id']);
-                // 支払い方法の取得
-                $this->arrPayment = $objDb->sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
-            }
+            //検索引き継ぎ用パラメーター処理
+            $this->lfInitSearchParam($objFormSearchParam);
+            $objFormSearchParam->setParam($_REQUEST);
+            $this->arrErr = $this->lfCheckErrorSearchParam($objFormSearchParam);
+            $this->arrSearchData = $objFormSearchParam->getHashArray();
+            if(!SC_Utils_Ex::isBlank($this->arrErr)) {
+                return;
+            }
+            //指定顧客の情報をセット
+            $this->arrForm = SC_Helper_Customer::sfGetCustomerData($objFormSearchParam->getValue("edit_customer_id"), true);
+            //購入履歴情報の取得
+//            $this->arrPurchaseHistory = $this->lfPurchaseHistory($objFormSearchParam->getValue("edit_customer_id"));
+            break;
+        case 'confirm':
+            //パラメーター処理
+            $this->lfInitParam($objFormParam);
+            $objFormParam->setParam($_POST);
+            $objFormParam->convParam();
+            // 入力パラメーターチェック
+            $this->arrErr = $this->lfCheckError($objFormParam);
+            $this->arrForm = $objFormParam->getHashArray();
+            //検索引き継ぎ用パラメーター処理
+            $this->lfInitSearchParam($objFormSearchParam);
+            $objFormSearchParam->setParam($objFormParam->getValue("search_data"));
+            $this->arrSearchErr = $this->lfCheckErrorSearchParam($objFormSearchParam);
+            $this->arrSearchData = $objFormSearchParam->getHashArray();
+            if(!SC_Utils_Ex::isBlank($this->arrErr) or !SC_Utils_Ex::isBlank($this->arrSearchErr)) {
+                return;
+            }
+            // 確認画面テンプレートに切り替え
+            $this->tpl_mainpage = 'customer/edit_confirm.tpl';
+            break;
+        case 'return':
+            //パラメーター処理
+            $this->lfInitParam($objFormParam);
+            $objFormParam->setParam($_POST);
+            $objFormParam->convParam();
+            // 入力パラメーターチェック
+            $this->arrErr = $this->lfCheckError($objFormParam);
+            $this->arrForm = $objFormParam->getHashArray();
+            //検索引き継ぎ用パラメーター処理
+            $this->lfInitSearchParam($objFormSearchParam);
+            $objFormSearchParam->setParam($objFormParam->getValue("search_data"));
+            $this->arrSearchErr = $this->lfCheckErrorSearchParam($objFormSearchParam);
+            $this->arrSearchData = $objFormSearchParam->getHashArray();
+            if(!SC_Utils_Ex::isBlank($this->arrErr) or !SC_Utils_Ex::isBlank($this->arrSearchErr)) {
+                return;
+            }
+            //購入履歴情報の取得
+//            $this->arrPurchaseHistory = $this->lfPurchaseHistory($objFormParam->getValue("customer_id"));
+            break;
+        case 'complete':
+            //登録・保存処理
+            //パラメーター処理
+            $this->lfInitParam($objFormParam);
+            $objFormParam->setParam($_POST);
+            $objFormParam->convParam();
+            // 入力パラメーターチェック
+            $this->arrErr = $this->lfCheckError($objFormParam);
+            $this->arrForm = $objFormParam->getHashArray();
+            //検索引き継ぎ用パラメーター処理
+            $this->lfInitSearchParam($objFormSearchParam);
+            $objFormSearchParam->setParam($objFormParam->getValue("search_data"));
+            $this->arrSearchErr = $this->lfCheckErrorSearchParam($objFormSearchParam);
+            $this->arrSearchData = $objFormSearchParam->getHashArray();
+            if(!SC_Utils_Ex::isBlank($this->arrErr) or !SC_Utils_Ex::isBlank($this->arrSearchErr)) {
+                return;
+            }
+            $this->lfRegistData($objFormParam);
+            $this->tpl_mainpage = 'customer/edit_complete.tpl';
             break;
         default:
-        	//----　顧客情報編集
-            if (is_numeric($_POST["customer_id"])) {
-                //-- POSTデータの引き継ぎ
-                $this->arrForm = $_POST;
-                $this->arrForm['email'] = strtolower($this->arrForm['email']);        // emailはすべて小文字で処理
-
-                //-- 入力データの変換
-                $this->arrForm = $this->lfConvertParam($this->arrForm, $arrRegistColumn);
-                //-- 入力チェック
-                $this->arrErr = $this->lfErrorCheck($this->arrForm);
-
-                //-- 入力エラー発生 or リターン時
-                if ($this->arrErr || $mode == "return") {
-                    foreach($this->arrForm as $key => $val) {
-                        $this->list_data[ $key ] = $val;
-                    }
-                    //購入履歴情報の取得
-                    $this->arrPurchaseHistory = $this->lfPurchaseHistory($_POST['customer_id']);
-                    // 支払い方法の取得
-                    $this->arrPayment = $objDb->sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
-
-                } else {
-                    //-- 確認
-                    if ($mode == "confirm") {
-                        $this->tpl_mainpage = 'customer/edit_confirm.tpl';
-                        $passlen = strlen($this->arrForm['password']);
-                        $this->passlen = SC_Utils_Ex::sfPassLen($passlen);
-
-                    }
-                    //--　編集
-                    if($mode == "complete") {
-                        $this->tpl_mainpage = 'customer/edit_complete.tpl';
-
-                        // 現在の会員情報を取得する
-                        $arrCusSts = $this->objQuery->getOne("SELECT status FROM dtb_customer WHERE customer_id = ?", array($_POST["customer_id"]));
-
-                        // 会員情報が変更されている場合にはシークレット№も更新する。
-                        if ($arrCusSts != $_POST['status']){
-                            $secret = SC_Utils_Ex::sfGetUniqRandomId("r");
-                            $this->arrForm['secret_key'] = $secret;
-                            array_push($arrRegistColumn, array('column' => 'secret_key', 'convert' => 'n'));
-                        }
-                        //-- 編集登録
-                        $objCustomerHelper->sfEditCustomerDataAdmin($this->arrForm, $arrRegistColumn);
-                    }
-                }
-            }
             break;
         }
@@ -223,94 +194,108 @@
     }
 
-    //----　取得文字列の変換
-    function lfConvertParam($array, $arrRegistColumn) {
-        /*
-         *    文字列の変換
-         *    K :  「半角(ﾊﾝｶｸ)片仮名」を「全角片仮名」に変換
-         *    C :  「全角ひら仮名」を「全角かた仮名」に変換
-         *    V :  濁点付きの文字を一文字に変換。"K","H"と共に使用します
-         *    n :  「全角」数字を「半角(ﾊﾝｶｸ)」に変換
-         *  a :  全角英数字を半角英数字に変換する
-         */
-        // カラム名とコンバート情報
-        foreach ($arrRegistColumn as $data) {
-            $arrConvList[ $data["column"] ] = $data["convert"];
-        }
-        // 文字変換
-        foreach ($arrConvList as $key => $val) {
-            // POSTされてきた値のみ変換する。
-            if(strlen(($array[$key])) > 0) {
-                $array[$key] = mb_convert_kana($array[$key] ,$val);
-            }
-        }
-        return $array;
-    }
-
-    //---- 入力エラーチェック
-    function lfErrorCheck($array) {
-
-        $objErr = new SC_CheckError($array);
-
-        $objErr->doFunc(array("会員状態", 'status'), array("EXIST_CHECK"));
-        $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
-        $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
-        $objErr->doFunc(array("お名前(フリガナ・姓)", 'kana01', STEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK"));
-        $objErr->doFunc(array("お名前(フリガナ・名)", 'kana02', STEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK"));
-        $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));
-        $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));
-        $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK"));
-        $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK","NUM_CHECK"));
-        $objErr->doFunc(array("住所（1）", "addr01", MTEXT_LEN), array("EXIST_CHECK","MAX_LENGTH_CHECK"));
-        $objErr->doFunc(array("住所（2）", "addr02", MTEXT_LEN), array("EXIST_CHECK","MAX_LENGTH_CHECK"));
-        $objErr->doFunc(array('メールアドレス', "email", MTEXT_LEN) ,array("EXIST_CHECK", "NO_SPTAB", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
-
-        //現会員の判定 →　現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可
-        if (strlen($array["email"]) > 0) {
-            $array['email'] = strtolower($array['email']);
-            $sql = "SELECT customer_id FROM dtb_customer WHERE (email ILIKE ? escape '#' OR email_mobile ILIKE ? escape '#') AND (status = 1 OR status = 2) AND del_flg = 0 AND customer_id <> ?";
-            $checkMail = ereg_replace( "_", "#_", $array["email"]);
-            $result = $this->objQuery->getAll($sql, array($checkMail, $checkMail, $array["customer_id"]));
-            if (count($result) > 0) {
-                $objErr->arrErr["email"] .= "※ すでに登録されているメールアドレスです。<br />";
-            }
-        }
-
-        $objErr->doFunc(array('メールアドレス(モバイル)', "email_mobile", MTEXT_LEN) ,array("EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
-        //現会員の判定 →　現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可
-        if (strlen($array["email_mobile"]) > 0) {
-            $array['email_mobile'] = strtolower($array['email_mobile']);
-            $sql = "SELECT customer_id FROM dtb_customer WHERE (email ILIKE ? escape '#' OR email_mobile ILIKE ? escape '#') AND (status = 1 OR status = 2) AND del_flg = 0 AND customer_id <> ?";
-            $checkMail = ereg_replace( "_", "#_", $array["email_mobile"]);
-            $result = $this->objQuery->getAll($sql, array($checkMail, $checkMail, $array["customer_id"]));
-            if (count($result) > 0) {
-                $objErr->arrErr["email_mobile"] .= "※ すでに登録されているメールアドレス(モバイル)です。<br />";
-            }
-        }
-
-
-        $objErr->doFunc(array("お電話番号1", 'tel01'), array("EXIST_CHECK"));
-        $objErr->doFunc(array("お電話番号2", 'tel02'), array("EXIST_CHECK"));
-        $objErr->doFunc(array("お電話番号3", 'tel03'), array("EXIST_CHECK"));
-        $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03") ,array("TEL_CHECK"));
-        $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03") ,array("TEL_CHECK"));
-        $objErr->doFunc(array("ご性別", "sex") ,array("SELECT_CHECK", "NUM_CHECK"));
-        $objErr->doFunc(array("ご職業", "job") ,array("NUM_CHECK"));
-        if ($array["password"] != DEFAULT_PASSWORD) {
-            $objErr->doFunc(array("パスワード", 'password', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "ALNUM_CHECK", "NUM_RANGE_CHECK"));
-        }
-        $objErr->doFunc(array("パスワードを忘れたときのヒント 質問", "reminder") ,array("SELECT_CHECK", "NUM_CHECK"));
-        if ($array["reminder_answer"] != DEFAULT_PASSWORD) {
-            $objErr->doFunc(array("パスワードを忘れたときのヒント 答え", "reminder_answer", STEXT_LEN) ,array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
-        }
-        $objErr->doFunc(array("メールマガジン", "mailmaga_flg") ,array("SELECT_CHECK", "NUM_CHECK"));
-        $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_DATE"));
-        $objErr->doFunc(array("SHOP用メモ", 'note', LTEXT_LEN), array("MAX_LENGTH_CHECK"));
-        $objErr->doFunc(array("所持ポイント", "point", TEL_LEN) ,array("MAX_LENGTH_CHECK", "NUM_CHECK"));
-        return $objErr->arrErr;
-
+    /**
+     * パラメーター情報の初期化
+     *
+     * @param array $objFormParam フォームパラメータークラス
+     * @return void
+     */
+    function lfInitParam(&$objFormParam) {
+        // 会員項目のパラメーター取得
+        SC_Helper_Customer_Ex::sfCustomerEntryParam($objFormParam, true);
+        // 検索結果一覧画面への戻り用パラメーター
+        $objFormParam->addParam("検索用データ", "search_data", "", "", array(), "", false);
+    }
+
+    /**
+     * 検索パラメーター引き継ぎ用情報の初期化
+     *
+     * @param array $objFormParam フォームパラメータークラス
+     * @return void
+     */
+    function lfInitSearchParam(&$objFormParam) {
+        SC_Helper_Customer_Ex::sfSetSearchParam($objFormParam);
+        // 初回受け入れ時用
+        $objFormParam->addParam("編集対象顧客ID", "edit_customer_id", INT_LEN, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK"));
+    }
+
+    /**
+     * 検索パラメーターエラーチェック
+     *
+     * @param array $objFormParam フォームパラメータークラス
+     * @return array エラー配列
+     */
+    function lfCheckErrorSearchParam(&$objFormParam) {
+        return SC_Helper_Customer_Ex::sfCheckErrorSearchParam($objFormParam);
+    }
+    
+    /**
+     * フォーム入力パラメーターエラーチェック
+     *
+     * @param array $objFormParam フォームパラメータークラス
+     * @return array エラー配列
+     */
+    function lfCheckError(&$objFormParam) {
+        $arrErr = SC_Helper_Customer_Ex::sfCustomerMypageErrorCheck($objFormParam, true);
+        
+        //メアド重複チェック(共通ルーチンは使えない)
+        $objQuery   =& SC_Query::getSingletonInstance();
+        $col = "email, email_mobile, customer_id";
+        $table = "dtb_customer";
+        $where = "del_flg <> 1 AND (email Like ? OR email_mobile Like ?)";
+        $arrVal = array($objFormParam->getValue('email'), $objFormParam->getValue('email_mobile'));
+        if($objFormParam->getValue("customer_id")) {
+            $where .= " AND customer_id <> ?";
+            $arrVal[] = $objFormParam->getValue("customer_id");
+        }
+        $arrData = $objQuery->getRow($col, $table, $where, $arrVal);
+        if(!SC_Utils_Ex::isBlank($arrData['email'])) {
+            if($arrData['email'] == $objFormParam->getValue('email')) {
+                $arrErr['email'] = '※ すでに他の会員(ID:' . $arrData['customer_id'] . ')が使用しているアドレスです。';
+            }else if($arrData['email'] == $objFormParam->getValue('email_mobile')) {
+                $arrErr['email_mobile'] = '※ すでに他の会員(ID:' . $arrData['customer_id'] . ')が使用しているアドレスです。';
+            }
+        }
+        if(!SC_Utils_Ex::isBlank($arrData['email_mobile'])) {
+            if($arrData['email_mobile'] == $objFormParam->getValue('email_mobile')) {
+                $arrErr['email_mobile'] = '※ すでに他の会員(ID:' . $arrData['customer_id'] . ')が使用している携帯アドレスです。';
+            }else if($arrData['email_mobile'] == $objFormParam->getValue('email')) {
+                $arrErr['email_mobile'] = '※ すでに他の会員(ID:' . $arrData['customer_id'] . ')が使用している携帯アドレスです。';
+            }
+        }
+        return $arrErr;
+    }
+
+    /**
+     * 登録処理
+     *
+     * @param array $objFormParam フォームパラメータークラス
+     * @return array エラー配列
+     */
+    function lfRegistData(&$objFormParam) {
+        $objQuery   =& SC_Query::getSingletonInstance();
+        // 登録用データ取得
+        $arrData = $objFormParam->getDbArray();
+        // 足りないものを作る
+        if(!SC_Utils_Ex::isBlank($objFormParam->getValue('year'))) {
+            $arrData['birth'] = $objFormParam->getValue('year') . '/'
+                            . $objFormParam->getValue('month') . '/'
+                            . $objFormParam->getValue('day') 
+                            . ' 00:00:00';
+        }
+
+        if(!is_numeric($arrData['customer_id'])) {
+            $arrData['secret_key'] = SC_Utils_Ex::sfGetUniqRandomId("r");
+        }else {
+            $arrOldCustomerData = SC_Helper_Customer_Ex::sfGetCustomerData($arrData['customer_id']);
+            if($arrOldCustomerData['status'] != $arrData['status']) {
+                $arrData['secret_key'] = SC_Utils_Ex::sfGetUniqRandomId("r");
+            }
+        }
+        return SC_Helper_Customer_Ex::sfEditCustomerData($arrData, $arrData['customer_id']);
     }
 
     //購入履歴情報の取得
     function lfPurchaseHistory($customer_id){
+        $objQuery   =& SC_Query::getSingletonInstance();
         $this->tpl_pageno = $_POST['search_pageno'];
         $this->edit_customer_id = $customer_id;
@@ -319,5 +304,5 @@
         $page_max = SEARCH_PMAX;
         //購入履歴の件数取得
-        $this->tpl_linemax = $this->objQuery->count("dtb_order","customer_id=? AND del_flg = 0 ", array($customer_id));
+        $this->tpl_linemax = $objQuery->count("dtb_order","customer_id=? AND del_flg = 0 ", array($customer_id));
         $linemax = $this->tpl_linemax;
 
