[Svn-src-all:1258] [version-2_5-dev 20147] LC_Page_Mypage_Change リファクタリング #981

kimoto admin @ mail.ec-cube.net
2011年 2月 11日 (金) 18:57:53 JST


Subversion committed to /home/svn/open 20147
http://svn.ec-cube.net/open_trac/changeset/20147
┌────────────────────────────┐
│更新者 :  kimoto                                       │
│更新日時:  2011-02-11 18:57:52 +0900 (金, 11  2月 2011)│
└────────────────────────────┘

Log:
--------------------------------------------------------
LC_Page_Mypage_Change リファクタリング #981
* LC_Page_Entryと処理を共通化
* SC_Helper_Customerを拡張したので顧客管理画面でも使ってください


Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_5-dev/data/Smarty/templates/mobile/mypage/change_confirm.tpl
U   branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php
U   branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry.php
U   branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Change.php
U   branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_ChangeComplete.php
U   branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Delivery.php

変更: branches/version-2_5-dev/data/Smarty/templates/mobile/mypage/change_confirm.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/mobile/mypage/change_confirm.tpl	2011-02-11 09:57:46 UTC (rev 20146)
+++ branches/version-2_5-dev/data/Smarty/templates/mobile/mypage/change_confirm.tpl	2011-02-11 09:57:52 UTC (rev 20147)
@@ -23,39 +23,39 @@
 *}-->
 <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}-->
 	下記の内容でご登録してもよろしいですか?<br>
 	<br>
 	【メールアドレス】<br>
-	<!--{$list_data.email|h}--><br>
+	<!--{$arrForm.email|h}--><br>
 	<br>
 
 	【携帯メールアドレス】<br>
-	<!--{$list_data.email_mobile|default:"未登録"|h}--><br>
+	<!--{$arrForm.email_mobile|default:"未登録"|h}--><br>
 	<br>
 
 	【パスワード確認用質問】<br>
-	<!--{$arrReminder[$list_data.reminder]|h}--><br>
+	<!--{$arrReminder[$arrForm.reminder]|h}--><br>
 	<br>
 
 	【質問の答え】<br>
-	<!--{$list_data.reminder_answer|h}--><br>
+	<!--{$arrForm.reminder_answer|h}--><br>
 	<br>
 
 	【個人情報】<br>
-	<!--{$list_data.name01|h}--> <!--{$list_data.name02|h}--><br>
-	<!--{$list_data.kana01|h}--> <!--{$list_data.kana02|h}--><br>
-	<!--{if $list_data.sex eq 1}-->男性<!--{else}-->女性<!--{/if}--><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>
-	〒<!--{$list_data.zip01|h}--> - <!--{$list_data.zip02|h}--><br>
-	<!--{$arrPref[$list_data.pref]|h}--><!--{$list_data.addr01|h}--><!--{$list_data.addr02|h}--><br>
-	<!--{$list_data.tel01|h}-->-<!--{$list_data.tel02|h}-->-<!--{$list_data.tel03|h}--><br>
+	<!--{$arrForm.name01|h}--> <!--{$arrForm.name02|h}--><br>
+	<!--{$arrForm.kana01|h}--> <!--{$arrForm.kana02|h}--><br>
+	<!--{if $arrForm.sex eq 1}-->男性<!--{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>
+	〒<!--{$arrForm.zip01|h}--> - <!--{$arrForm.zip02|h}--><br>
+	<!--{$arrPref[$arrForm.pref]|h}--><!--{$arrForm.addr01|h}--><!--{$arrForm.addr02|h}--><br>
+	<!--{$arrForm.tel01|h}-->-<!--{$arrForm.tel02|h}-->-<!--{$arrForm.tel03|h}--><br>
 	<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/class/helper/SC_Helper_Customer.php
===================================================================
--- branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php	2011-02-11 09:57:46 UTC (rev 20146)
+++ branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php	2011-02-11 09:57:52 UTC (rev 20147)
@@ -89,6 +89,7 @@
      */
     function sfEditCustomerData($array, $customer_id = null) {
         $objQuery =& SC_Query::getSingletonInstance();
+        $objQuery->begin();
 
         $array["update_date"] = "now()";    // 更新日
 
@@ -132,6 +133,8 @@
             }
             $objQuery->insert("dtb_customer", $array);
         }
+
+        $objQuery->commit();
         return $customer_id;
     }
 
@@ -213,6 +216,39 @@
 
 
     /**
+     * customer_idから顧客情報を取得する
+     *
+     * @param mixed $customer_id
+     * @param mixed $mask_flg
+     * @access public
+     * @return array 顧客情報の配列を返す
+     */
+    function sfGetCustomerData($customer_id, $mask_flg = true) {
+        $objQuery       =& SC_Query::getSingletonInstance();
+
+        // 顧客情報DB取得
+        $ret        = $objQuery->select("*","dtb_customer","customer_id=?", array($customer_id));
+        $arrForm    = $ret[0];
+
+        // 確認項目に複製
+        $arrForm['email02'] = $arrForm['email'];
+        $arrForm['email_mobile02'] = $arrForm['email_mobile'];
+
+        // 誕生日を年月日に分ける
+        if (isset($arrForm['birth'])){
+            $birth = split(" ", $arrForm["birth"]);
+            list($arrForm['year'], $arrForm['month'], $arrForm['day']) = split("-",$birth[0]);
+        }
+
+        if ($mask_flg) {
+            $arrForm['password']          = DEFAULT_PASSWORD;
+            $arrForm['password02']        = DEFAULT_PASSWORD;
+            $arrForm['reminder_answer']   = DEFAULT_PASSWORD;
+        }
+        return $arrForm;
+    }
+
+    /**
      * sfGetUniqSecretKey
      *
      * 重複しない会員登録キーを発行する。
@@ -250,4 +286,110 @@
         return $objQuery->get("customer_id", "dtb_customer", $where, array($uniqid));
     }
 
+
+    function sfCustomerEntryParam (&$objFormParam) {
+        SC_Helper_Customer_Ex::sfCustomerCommonParam($objFormParam);
+    }
+
+    function sfCustomerMypageParam (&$objFormParam) {
+        SC_Helper_Customer_Ex::sfCustomerCommonParam($objFormParam);
+        if (SC_Display::detectDevice() !== DEVICE_TYPE_MOBILE){
+            $objFormParam->addParam('携帯メールアドレス', "email_mobile", MTEXT_LEN, "a", array("NO_SPTAB", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
+            $objFormParam->addParam('携帯メールアドレス(確認)', "email_mobile02", MTEXT_LEN, "a", array("NO_SPTAB", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"), "", false);
+        }
+    }
+
+    function sfCustomerCommonParam (&$objFormParam) {
+
+        $objFormParam->addParam("お名前(姓)", 'name01', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("お名前(名)", 'name02', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" , "MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("お名前(フリガナ・姓)", 'kana01', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK"));
+        $objFormParam->addParam("お名前(フリガナ・名)", 'kana02', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK"));
+        $objFormParam->addParam("パスワード", 'password', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK"));
+        $objFormParam->addParam("パスワード確認用の質問", "reminder", STEXT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK"));
+        $objFormParam->addParam("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("郵便番号1", "zip01", ZIP01_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK"));
+        $objFormParam->addParam("郵便番号2", "zip02", ZIP02_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK"));
+        $objFormParam->addParam("都道府県", 'pref', INT_LEN, "n", array("EXIST_CHECK","NUM_CHECK"));
+        $objFormParam->addParam("住所1", "addr01", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("住所2", "addr02", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("お電話番号1", 'tel01', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" ));
+        $objFormParam->addParam("お電話番号2", 'tel02', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" ));
+        $objFormParam->addParam("お電話番号3", 'tel03', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" ));
+        $objFormParam->addParam("性別", "sex", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK"));
+        $objFormParam->addParam("職業", "job", INT_LEN, "n", array("NUM_CHECK"));
+        $objFormParam->addParam("年", "year", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false);
+        $objFormParam->addParam("月", "month", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false);
+        $objFormParam->addParam("日", "day", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false);
+        $objFormParam->addParam("メールマガジン", "mailmaga_flg", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK"));
+
+        if (SC_Display::detectDevice() !== DEVICE_TYPE_MOBILE){
+            $objFormParam->addParam("FAX番号1", 'fax01', TEL_ITEM_LEN, "n", array("SPTAB_CHECK"));
+            $objFormParam->addParam("FAX番号2", 'fax02', TEL_ITEM_LEN, "n", array("SPTAB_CHECK"));
+            $objFormParam->addParam("FAX番号3", 'fax03', TEL_ITEM_LEN, "n", array("SPTAB_CHECK"));
+            $objFormParam->addParam("パスワード(確認)", 'password02', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK"), "", false);
+            $objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
+            $objFormParam->addParam('メールアドレス(確認)', "email02", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"), "", false);
+        } else {
+            $objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("EXIST_CHECK", "EMAIL_CHECK", "NO_SPTAB" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK","MOBILE_EMAIL_CHECK"));
+        }
+    }
+
+    function sfCustomerEntryErrorCheck(&$objFormParam) {
+        $objErr->arrErr = SC_Helper_Customer_Ex::sfCustomerCommonErrorCheck(&$objFormParam);
+        return $objErr->arrErr;
+    }
+
+    function sfCustomerMypageErrorCheck(&$objFormParam) {
+
+        $objFormParam->toLower('email_mobile');
+        $objFormParam->toLower('email_mobile02');
+
+        $objErr->arrErr = SC_Helper_Customer_Ex::sfCustomerCommonErrorCheck($objFormParam);
+
+        if (isset($objErr->arrErr['password']) && $objFormParam->getValue('password') == DEFAULT_PASSWORD) {
+            unset($objErr->arrErr['password']);
+            unset($objErr->arrErr['password02']);
+        }
+        if (isset($objErr->arrErr['reminder_answer']) && $objFormParam->getValue('reminder_answer') == DEFAULT_PASSWORD) {
+            unset($objErr->arrErr['reminder_answer']);
+        }
+        return $objErr->arrErr;
+    }
+
+    /**
+     * 入力エラーチェック
+     *
+     * @param mixed $objFormParam
+     * @access private
+     * @return array エラー情報の配列
+     */
+    function sfCustomerCommonErrorCheck(&$objFormParam) {
+        $objFormParam->convParam();
+        $objFormParam->toLower('email');
+        $objFormParam->toLower('email02');
+        $arrParams = $objFormParam->getHashArray();
+
+        // 入力データを渡す。
+        $objErr = new SC_CheckError($arrParams);
+        $objErr->arrErr = $objFormParam->checkError();
+
+        $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03"),array("TEL_CHECK"));
+        $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK"));
+        $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"));
+            $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03") ,array("TEL_CHECK"));
+        }
+
+        // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可
+        $objErr->doFunc(array("メールアドレス", "email"), array("CHECK_REGIST_CUSTOMER_EMAIL"));
+
+        return $objErr->arrErr;
+    }
+
+
+
 }

変更: branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry.php	2011-02-11 09:57:46 UTC (rev 20146)
+++ branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry.php	2011-02-11 09:57:52 UTC (rev 20147)
@@ -68,43 +68,6 @@
         $this->sendResponse();
     }
 
-    /* パラメータ情報の初期化 */
-    function lfInitParam(&$objFormParam) {
-
-        $objFormParam->addParam("お名前(姓)", 'name01', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
-        $objFormParam->addParam("お名前(名)", 'name02', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" , "MAX_LENGTH_CHECK"));
-        $objFormParam->addParam("お名前(フリガナ・姓)", 'kana01', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK"));
-        $objFormParam->addParam("お名前(フリガナ・名)", 'kana02', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK"));
-        $objFormParam->addParam("パスワード", 'password', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK"));
-        $objFormParam->addParam("パスワード確認用の質問", "reminder", STEXT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK"));
-        $objFormParam->addParam("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK"));
-        $objFormParam->addParam("郵便番号1", "zip01", ZIP01_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK"));
-        $objFormParam->addParam("郵便番号2", "zip02", ZIP02_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK"));
-        $objFormParam->addParam("都道府県", 'pref', INT_LEN, "n", array("EXIST_CHECK","NUM_CHECK"));
-        $objFormParam->addParam("住所1", "addr01", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
-        $objFormParam->addParam("住所2", "addr02", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
-        $objFormParam->addParam("お電話番号1", 'tel01', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" ));
-        $objFormParam->addParam("お電話番号2", 'tel02', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" ));
-        $objFormParam->addParam("お電話番号3", 'tel03', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" ));
-        $objFormParam->addParam("性別", "sex", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK"));
-        $objFormParam->addParam("職業", "job", INT_LEN, "n", array("NUM_CHECK"));
-        $objFormParam->addParam("年", "year", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false);
-        $objFormParam->addParam("月", "month", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false);
-        $objFormParam->addParam("日", "day", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false);
-        $objFormParam->addParam("メールマガジン", "mailmaga_flg", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK"));
-
-        if (SC_Display::detectDevice() !== DEVICE_TYPE_MOBILE){
-            $objFormParam->addParam("FAX番号1", 'fax01', TEL_ITEM_LEN, "n", array("SPTAB_CHECK"));
-            $objFormParam->addParam("FAX番号2", 'fax02', TEL_ITEM_LEN, "n", array("SPTAB_CHECK"));
-            $objFormParam->addParam("FAX番号3", 'fax03', TEL_ITEM_LEN, "n", array("SPTAB_CHECK"));
-            $objFormParam->addParam("パスワード(確認)", 'password02', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK"), "", false);
-            $objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
-            $objFormParam->addParam('メールアドレス(確認)', "email02", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"), "", false);
-        } else {
-            $objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("EXIST_CHECK", "EMAIL_CHECK", "NO_SPTAB" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK","MOBILE_EMAIL_CHECK"));
-        }
-    }
-
     /**
      * Page のプロセス
      * @return void
@@ -112,7 +75,7 @@
     function action() {
         $objFormParam = new SC_FormParam();
 
-        $this->lfInitParam($objFormParam);
+        SC_Helper_Customer_Ex::sfCustomerEntryParam($objFormParam);
         $objFormParam->setParam($_POST);
         $this->arrForm  = $objFormParam->getHashArray();
 
@@ -135,7 +98,7 @@
         switch ($this->getMode()) {
         case 'confirm':
             //-- 確認
-            $this->arrErr = $this->lfErrorCheck($objFormParam);
+            $this->arrErr = SC_Helper_Customer_Ex::sfCustomerEntryErrorCheck($objFormParam);
             // 入力エラーなし
             if(empty($this->arrErr)) {
                 //パスワード表示
@@ -147,7 +110,7 @@
             break;
         case 'complete':
             //-- 会員登録と完了画面
-            $this->arrErr = $this->lfErrorCheck($objFormParam);
+            $this->arrErr = SC_Helper_Customer_Ex::sfCustomerEntryErrorCheck($objFormParam);
             if(empty($this->arrErr)) {
 
                 $uniqid             = $this->lfRegistCustomerData($this->lfMakeSqlVal($objFormParam));
@@ -192,12 +155,7 @@
      * @return uniqid
      */
     function lfRegistCustomerData($sqlval) {
-        $objQuery   = SC_Query::getSingletonInstance();
-        //-- 登録実行
-        $objQuery->begin();
         SC_Helper_Customer_Ex::sfEditCustomerData($sqlval);
-        $objQuery->commit();
-
         return $sqlval["secret_key"];
     }
 
@@ -290,40 +248,6 @@
     }
 
     /**
-     * lfErrorCheck
-     *
-     * 入力エラーチェック
-     *
-     * @param mixed $objFormParam
-     * @access private
-     * @return array エラー情報の配列
-     */
-    function lfErrorCheck(&$objFormParam) {
-        $objFormParam->convParam();
-        $objFormParam->toLower('email');
-        $objFormParam->toLower('email02');
-
-        // 入力データを渡す。
-        $objErr = new SC_CheckError();
-        $objErr->arrErr = $objFormParam->checkError();
-
-        $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03"),array("TEL_CHECK"));
-        $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK"));
-        $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"));
-            $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03") ,array("TEL_CHECK"));
-        }
-
-        // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可
-        $objErr->doFunc(array("メールアドレス", "email"), array("CHECK_REGIST_CUSTOMER_EMAIL"));
-
-        return $objErr->arrErr;
-    }
-
-    /**
      * kiyaku.php からの遷移の妥当性をチェックする
      *
      * 以下の内容をチェックし, 妥当であれば true を返す.

変更: branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Change.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Change.php	2011-02-11 09:57:46 UTC (rev 20146)
+++ branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Change.php	2011-02-11 09:57:52 UTC (rev 20147)
@@ -22,7 +22,7 @@
  */
 
 // {{{ requires
-require_once(CLASS_REALDIR . "pages/LC_Page.php");
+require_once(CLASS_REALDIR . "pages/mypage/LC_Page_AbstractMypage.php");
 
 /**
  * 登録内容変更 のページクラス.
@@ -31,7 +31,7 @@
  * @author LOCKON CO.,LTD.
  * @version $Id$
  */
-class LC_Page_Mypage_Change extends LC_Page {
+class LC_Page_Mypage_Change extends LC_Page_AbstractMypage {
 
 
     // }}}
@@ -44,27 +44,22 @@
      */
     function init() {
         parent::init();
-        $this->tpl_title = 'MYページ';
         $this->tpl_subtitle = '会員登録内容変更(入力ページ)';
-        $this->tpl_navi = TEMPLATE_REALDIR . 'mypage/navi.tpl';
-        $this->tpl_mainno = 'mypage';
         $this->tpl_mypageno = 'change';
 
-        $masterData = new SC_DB_MasterData_Ex();
-        $this->arrReminder = $masterData->getMasterData("mtb_reminder");
-        $this->arrPref = $masterData->getMasterData('mtb_pref');
-        $this->arrJob = $masterData->getMasterData("mtb_job");
+        $masterData         = new SC_DB_MasterData_Ex();
+        $this->arrReminder  = $masterData->getMasterData("mtb_reminder");
+        $this->arrPref      = $masterData->getMasterData('mtb_pref');
+        $this->arrJob       = $masterData->getMasterData("mtb_job");
         $this->arrMAILMAGATYPE = $masterData->getMasterData("mtb_mail_magazine_type");
-        $this->arrSex = $masterData->getMasterData("mtb_sex");
+        $this->arrSex       = $masterData->getMasterData("mtb_sex");
         $this->httpCacheControl('nocache');
 
         // 生年月日選択肢の取得
-        $objDate = new SC_Date(START_BIRTH_YEAR, date("Y",strtotime("now")));
-        $this->arrYear = $objDate->getYear('', 1950, '');
-        $this->arrMonth = $objDate->getMonth(true);
-        $this->arrDay = $objDate->getDay(true);
-
-        $this->isMobile = Net_UserAgent_Mobile::isMobile();
+        $objDate            = new SC_Date(START_BIRTH_YEAR, date("Y",strtotime("now")));
+        $this->arrYear      = $objDate->getYear('', 1950, '');
+        $this->arrMonth     = $objDate->getMonth(true);
+        $this->arrDay       = $objDate->getDay(true);
     }
 
     /**
@@ -73,8 +68,7 @@
      * @return void
      */
     function process() {
-        $this->action();
-        $this->sendResponse();
+        parent::process();
     }
 
     /**
@@ -82,90 +76,49 @@
      * @return void
      */
     function action() {
-        $objDb = new SC_Helper_DB_Ex();
-        $CONF = $objDb->sfGetBasisData();
-
-        $objQuery = new SC_Query();
         $objCustomer = new SC_Customer();
+        $customer_id = $objCustomer->getValue('customer_id');
 
-        // ログインチェック
-        if (!$objCustomer->isLoginSuccess(true)){
-            SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
-        }else {
-            //マイページトップ顧客情報表示用
-            $this->tpl_login = true;
-            $this->CustomerName1 = $objCustomer->getvalue('name01');
-            $this->CustomerName2 = $objCustomer->getvalue('name02');
-            $this->CustomerPoint = $objCustomer->getvalue('point');
-        }
-
         // mobile用(戻るボタンでの遷移かどうかを判定)
         if (!empty($_POST["return"])) {
             $_POST["mode"] = "return";
         }
 
         // パラメータ管理クラス,パラメータ情報の初期化
-        $this->objFormParam = new SC_FormParam();
-        $this->lfInitParam();
-        $this->objFormParam->setParam($_POST);    // POST値の取得
+        $objFormParam = new SC_FormParam();
+        SC_Helper_Customer_Ex::sfCustomerMypageParam($objFormParam);
+        $objFormParam->setParam($_POST);    // POST値の取得
 
+        $this->arrForm = $objFormParam->getHashArray();
 
-        if ($_SERVER["REQUEST_METHOD"] == "POST") {
+        switch ($this->getMode()) {
+        case 'confirm':
+        //-- 確認
+            $this->arrErr = SC_Helper_Customer_Ex::sfCustomerMypageErrorCheck($objFormParam);
+            // 入力エラーなし
+            if(empty($this->arrErr)) {
+                //パスワード表示
+                $this->passlen      = SC_Utils_Ex::sfPassLen(strlen($this->arrForm['password']));
 
-            //CSRF対策
-            /*
-            if (!SC_Helper_Session_Ex::isValidToken()) {
-                SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true);
+                $this->tpl_mainpage = 'mypage/change_confirm.tpl';
+                $this->tpl_title    = '会員登録(確認ページ)';
             }
-            */
+            break;
+        case 'complete':
+            //-- 会員登録と完了画面
 
-            $this->objFormParam->convParam();
-            $this->objFormParam->toLower('email');
-            $this->objFormParam->toLower('email02');
-            $this->objFormParam->toLower('email_mobile');
-            $this->objFormParam->toLower('email_mobile02');
-            $this->arrForm = $this->objFormParam->getHashArray();
+            // 会員情報の登録
+            $this->lfRegistCustomerData($objFormParam, $customer_id);
 
-
-            switch ($this->getMode()) {
-            case 'confirm':
-            //-- 確認
-                $this->arrErr = $this->lfErrorCheck();
-
-                // 入力エラーなし
-                if(count($this->arrErr) == 0) {
-
-                    $this->list_data = $this->objFormParam->getHashArray();
-
-                    //パスワード表示
-                    $passlen = strlen($this->arrForm['password']);
-                    $this->passlen = SC_Utils_Ex::sfPassLen($passlen);
-
-                    $this->tpl_mainpage = 'mypage/change_confirm.tpl';
-                    $this->tpl_title = '会員登録(確認ページ)';
-                }
-                break;
-            case 'complete':
-                //-- 会員登録と完了画面
-
-                // 会員情報の登録
-                $this->CONF = $CONF;
-                $this->lfRegistData();
-
-                // 完了ページに移動させる。
-                SC_Response_Ex::sendRedirect('change_complete.php');
-                exit;
-                break;
-            default:
-                break;
-            }
-        } else {
-            $this->arrForm = $this->lfGetCustomerData();
-            $this->arrForm['password'] = DEFAULT_PASSWORD;
-            $this->arrForm['password02'] = DEFAULT_PASSWORD;
-            $this->arrForm['reminder_answer'] = DEFAULT_PASSWORD;
+            // 完了ページに移動させる。
+            SC_Response_Ex::sendRedirect('change_complete.php');
+            break;
+        case 'return':
+            break;
+        default:
+            $this->arrForm = SC_Helper_Customer_Ex::sfGetCustomerData($customer_id);
+            break;
         }
-        $this->transactionid = SC_Helper_Session_Ex::getToken();
     }
 
     /**
@@ -177,141 +130,19 @@
         parent::destroy();
     }
 
-    /* パラメータ情報の初期化 */
-    function lfInitParam() {
-
-        $this->objFormParam->addParam("お名前(姓)", 'name01', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
-        $this->objFormParam->addParam("お名前(名)", 'name02', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" , "MAX_LENGTH_CHECK"));
-        $this->objFormParam->addParam("お名前(フリガナ・姓)", 'kana01', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK"));
-        $this->objFormParam->addParam("お名前(フリガナ・名)", 'kana02', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK"));
-        $this->objFormParam->addParam("パスワード", 'password', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK"));
-        $this->objFormParam->addParam("パスワード確認用の質問", "reminder", STEXT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK"));
-        $this->objFormParam->addParam("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK"));
-        $this->objFormParam->addParam("郵便番号1", "zip01", ZIP01_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK"));
-        $this->objFormParam->addParam("郵便番号2", "zip02", ZIP02_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK"));
-        $this->objFormParam->addParam("都道府県", 'pref', INT_LEN, "n", array("EXIST_CHECK","NUM_CHECK"));
-        $this->objFormParam->addParam("住所1", "addr01", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
-        $this->objFormParam->addParam("住所2", "addr02", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
-        $this->objFormParam->addParam("お電話番号1", 'tel01', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" ));
-        $this->objFormParam->addParam("お電話番号2", 'tel02', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" ));
-        $this->objFormParam->addParam("お電話番号3", 'tel03', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" ));
-        $this->objFormParam->addParam("性別", "sex", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK"));
-        $this->objFormParam->addParam("職業", "job", INT_LEN, "n", array("NUM_CHECK"));
-        $this->objFormParam->addParam("年", "year", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false);
-        $this->objFormParam->addParam("月", "month", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false);
-        $this->objFormParam->addParam("日", "day", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false);
-        $this->objFormParam->addParam("メールマガジン", "mailmaga_flg", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK"));
-
-        if ($this->isMobile === false){
-            $this->objFormParam->addParam("FAX番号1", 'fax01', TEL_ITEM_LEN, "n", array("SPTAB_CHECK"));
-            $this->objFormParam->addParam("FAX番号2", 'fax02', TEL_ITEM_LEN, "n", array("SPTAB_CHECK"));
-            $this->objFormParam->addParam("FAX番号3", 'fax03', TEL_ITEM_LEN, "n", array("SPTAB_CHECK"));
-            $this->objFormParam->addParam("パスワード(確認)", 'password02', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK"), "", false);
-            $this->objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
-            $this->objFormParam->addParam('メールアドレス(確認)', "email02", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"), "", false);
-            $this->objFormParam->addParam('携帯メールアドレス', "email_mobile", MTEXT_LEN, "a", array("NO_SPTAB", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
-            $this->objFormParam->addParam('携帯メールアドレス(確認)', "email_mobile02", MTEXT_LEN, "a", array("NO_SPTAB", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"), "", false);
-        } else {
-            $this->objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("EXIST_CHECK", "EMAIL_CHECK", "NO_SPTAB" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK","MOBILE_EMAIL_CHECK"));
-        }
-    }
-
-    //---- 入力エラーチェック
-    function lfErrorCheck($array) {
-
-        // 入力データを渡す。
-        $arrRet = $this->objFormParam->getHashArray();
-        $objErr = new SC_CheckError($arrRet);
-        $objErr->arrErr = $this->objFormParam->checkError();
-        if(isset($objErr->arrErr['password']) and $arrRet['password'] == DEFAULT_PASSWORD) {
-            unset($objErr->arrErr['password']);
-            unset($objErr->arrErr['password02']);
-        }
-        if(isset($objErr->arrErr['reminder_answer']) and $arrRet['reminder_answer'] == DEFAULT_PASSWORD) {
-            unset($objErr->arrErr['reminder_answer']);
-        }
-
-        $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03"),array("TEL_CHECK"));
-        $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK"));
-        $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_BIRTHDAY"));
-        if ($this->isMobile === false){
-            if( $arrRet['password'] != DEFAULT_PASSWORD ) {
-                $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"));
-        }
-
-        // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可
-        $register_user_flg = SC_Helper_Customer_Ex::sfCheckRegisterUserFromEmail($arrRet["email"]);
-        switch($register_user_flg) {
-            case 1:
-                $objErr->arrErr["email"] .= "※ すでに会員登録で使用されているメールアドレスです。<br />";
-                break;
-            case 2:
-                $objErr->arrErr["email"] .= "※ 退会から一定期間の間は、同じメールアドレスを使用することはできません。<br />";
-                break;
-            default:
-                break;
-        }
-        return $objErr->arrErr;
-    }
-
-    function lfRegistData() {
-
-        $objQuery = new SC_Query();
-        $objCustomer = new SC_Customer();
-
-        $arrRet = $this->objFormParam->getHashArray();
-
-        // 登録データの作成
-        $sqlval = $this->objFormParam->getDbArray();
-        $sqlval['birth'] = SC_Utils_Ex::sfGetTimestamp($arrRet['year'], $arrRet['month'], $arrRet['day']);
-
-        $objQuery->begin();
-        SC_Helper_Customer_Ex::sfEditCustomerData($sqlval, $objCustomer->getValue('customer_id'));
-        $objQuery->commit();
-    }
-
     /**
-     * 顧客情報の取得
+     *  会員情報を登録する
      *
-     * @return array 顧客情報
+     * @param mixed $objFormParam
+     * @param mixed $customer_id
+     * @access private
+     * @return void
      */
-    function lfGetCustomerData(){
-        $objQuery = new SC_Query();
-        $objCustomer = new SC_Customer();
+    function lfRegistCustomerData(&$objFormParam, $customer_id) {
+        $arrRet             = $objFormParam->getHashArray();
+        $sqlval             = $objFormParam->getDbArray();
+        $sqlval['birth']    = SC_Utils_Ex::sfGetTimestamp($arrRet['year'], $arrRet['month'], $arrRet['day']);
 
-        // 顧客情報DB取得
-        $ret = $objQuery->select("*","dtb_customer","customer_id=?", array($objCustomer->getValue('customer_id')));
-        $arrForm = $ret[0];
-
-        // 確認項目に複製
-        $arrForm['email02'] = $arrForm['email'];
-        $arrForm['email_mobile02'] = $arrForm['email_mobile'];
-
-        // 誕生日を年月日に分ける
-        if (isset($arrForm['birth'])){
-            $birth = split(" ", $arrForm["birth"]);
-            list($arrForm['year'], $arrForm['month'], $arrForm['day']) = split("-",$birth[0]);
-        }
-        return $arrForm;
+        SC_Helper_Customer_Ex::sfEditCustomerData($sqlval, $customer_id);
     }
-
-    //エラー、戻る時にフォームに入力情報を返す
-    function lfFormReturn($array, &$objPage){
-        foreach($array as $key => $val){
-            switch ($key){
-            case 'password':
-            case 'password02':
-                $objPage->$key = $val;
-                break;
-            default:
-                $array[ $key ] = $val;
-                break;
-            }
-        }
-    }
-
 }
-?>

変更: branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_ChangeComplete.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_ChangeComplete.php	2011-02-11 09:57:46 UTC (rev 20146)
+++ branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_ChangeComplete.php	2011-02-11 09:57:52 UTC (rev 20147)
@@ -22,7 +22,7 @@
  */
 
 // {{{ requires
-require_once(CLASS_REALDIR . "pages/LC_Page.php");
+require_once(CLASS_REALDIR . "pages/mypage/LC_Page_AbstractMypage.php");
 
 /**
  * 登録内容変更完了 のページクラス.
@@ -31,7 +31,7 @@
  * @author LOCKON CO.,LTD.
  * @version $Id$
  */
-class LC_Page_Mypage_ChangeComplete extends LC_Page {
+class LC_Page_Mypage_ChangeComplete extends LC_Page_AbstractMypage {
 
     // }}}
     // {{{ functions
@@ -43,9 +43,7 @@
      */
     function init() {
         parent::init();
-        $this->tpl_title = 'MYページ';
         $this->tpl_subtitle = '会員登録内容変更(完了ページ)';
-        $this->tpl_navi = TEMPLATE_REALDIR . 'mypage/navi.tpl';
         $this->tpl_mypageno = 'change';
     }
 
@@ -56,8 +54,6 @@
      */
     function process() {
         parent::process();
-        $this->action();
-        $this->sendResponse();
     }
 
     /**
@@ -67,20 +63,8 @@
      */
     function action() {
         $objCustomer = new SC_Customer();
-
         //セッション情報を最新の状態に更新する
         $objCustomer->updateSession();
-
-        //ログイン判定
-        if (!$objCustomer->isLoginSuccess(true)){
-            SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
-        }else {
-            //マイページトップ顧客情報表示用
-            $this->tpl_login = true;
-            $this->CustomerName1 = $objCustomer->getvalue('name01');
-            $this->CustomerName2 = $objCustomer->getvalue('name02');
-            $this->CustomerPoint = $objCustomer->getvalue('point');
-        }
     }
 
     /**

変更: branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Delivery.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Delivery.php	2011-02-11 09:57:46 UTC (rev 20146)
+++ branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Delivery.php	2011-02-11 09:57:52 UTC (rev 20147)
@@ -22,7 +22,7 @@
  */
 
 // {{{ requires
-require_once(CLASS_REALDIR . "pages/LC_Page.php");
+require_once(CLASS_REALDIR . "pages/mypage/LC_Page_AbstractMypage.php");
 
 /**
  * お届け先編集 のページクラス.
@@ -31,7 +31,7 @@
  * @author LOCKON CO.,LTD.
  * @version $Id$
  */
-class LC_Page_Mypage_Delivery extends LC_Page {
+class LC_Page_Mypage_Delivery extends LC_Page_AbstractMypage {
 
     // }}}
     // {{{ functions
@@ -43,13 +43,10 @@
      */
     function init() {
         parent::init();
-        $this->tpl_title = 'MYページ';
         $this->tpl_subtitle = 'お届け先追加・変更';
-        $this->tpl_navi = TEMPLATE_REALDIR . 'mypage/navi.tpl';
-        $this->tpl_mainno = 'mypage';
         $this->tpl_mypageno = 'delivery';
-        $masterData = new SC_DB_MasterData_Ex();
-        $this->arrPref= $masterData->getMasterData('mtb_pref');
+        $masterData         = new SC_DB_MasterData_Ex();
+        $this->arrPref      = $masterData->getMasterData('mtb_pref');
         $this->httpCacheControl('nocache');
     }
 
@@ -60,8 +57,6 @@
      */
     function process() {
         parent::process();
-        $this->action();
-        $this->sendResponse();
     }
 
     /**
@@ -70,38 +65,24 @@
      * @return void
      */
     function action() {
-        //$objView = new SC_SiteView();
-        $objCustomer = new SC_Customer();
+        $objCustomer    = new SC_Customer();
+        $customer_id    = $objCustomer->getValue('customer_id');
+        $objFormParam   = new SC_FormParam();
 
-        // 退会判定用情報の取得
-        $this->tpl_login = $objCustomer->isLoginSuccess();
+        $this->lfInitParam($objFormParam);
+        $objFormParam->setParam($_POST);
+        $objFormParam->convParam();
 
-        // ポップアップを開けたまま退会された状態でポップアップが閉じた場合のエラー画面の抑止。
-        // コメントアウトした「ログイン判定」は他の「Mypage」内に施した退会時処理で補間。
-
-        // XXX コメントアウトによる問題が確認された場合はコメントアウトを外し、エラー画面が出る様に戻す。
-        ////ログイン判定
-        // if(!$objCustomer->isLoginSuccess()) {
-        //     SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
-        // }else {
-            //マイページトップ顧客情報表示用
-            $this->CustomerName1 = $objCustomer->getvalue('name01');
-            $this->CustomerName2 = $objCustomer->getvalue('name02');
-            $this->CustomerPoint = $objCustomer->getvalue('point');
-        //}
-
-        $customerId = $objCustomer->getValue('customer_id');
         switch($this->getMode()) {
 
         // お届け先の削除
         case 'delete':
-            $objForm = $this->initParam();
-            if ($objForm->checkError()) {
+            if ($objFormParam->checkError()) {
                 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
                 exit;
             }
 
-            $this->deleteOtherDeliv($customerId, $objForm->getValue('other_deliv_id'));
+            $this->deleteOtherDeliv($customer_id, $objFormParam->getValue('other_deliv_id'));
             break;
 
         // お届け先の表示
@@ -110,13 +91,10 @@
         }
 
         //別のお届け先情報
-        $this->arrOtherDeliv = $this->getOtherDeliv($customerId);
+        $this->arrOtherDeliv = $this->getOtherDeliv($customer_id);
 
         //お届け先登録数
-        $this->tpl_linemax = count($this->arrOtherDeliv);;
-
-        //$objView->assignobj($this);
-        //$objView->display(SITE_FRAME);
+        $this->tpl_linemax = count($this->arrOtherDeliv);
     }
 
     /**
@@ -133,12 +111,8 @@
      *
      * @return SC_FormParam
      */
-    function initParam() {
-        $objForm = new SC_FormParam();
-        $objForm->addParam('お届け先ID', 'other_deliv_id', INT_LEN, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
-        $objForm->setParam($_POST);
-        $objForm->convParam();
-        return $objForm;
+    function lfInitParam(&$objFormParam) {
+        $objFormParam->addParam('お届け先ID', 'other_deliv_id', INT_LEN, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     }
 
     /**
@@ -147,11 +121,10 @@
      * @param integer $customerId
      * @return array
      */
-    function getOtherDeliv($customerId) {
-        $objQuery = new SC_Query;
+    function getOtherDeliv($customer_id) {
+        $objQuery   =& SC_Query::getSingletonInstance();
         $objQuery->setOrder('other_deliv_id DESC');
-        $arrRet = $objQuery->select('*', 'dtb_other_deliv', 'customer_id = ?', array($customerId));
-        return empty($arrRet) ? array() : $arrRet;
+        return $objQuery->select('*', 'dtb_other_deliv', 'customer_id = ?', array($customer_id));
     }
 
     /**
@@ -160,10 +133,9 @@
      * @param integer $customerId
      * @param integer $delivId
      */
-    function deleteOtherDeliv($customerId, $delivId) {
-        $where = 'customer_id = ? AND other_deliv_id = ?';
-        $objQuery = new SC_Query;
-        $objQuery->delete("dtb_other_deliv", $where, array($customerId, $delivId));
+    function deleteOtherDeliv($customer_id, $deliv_id) {
+        $where      = 'customer_id = ? AND other_deliv_id = ?';
+        $objQuery   =& SC_Query::getSingletonInstance();
+        $objQuery->delete("dtb_other_deliv", $where, array($customer_id, $deliv_id));
     }
 }
-?>




Svn-src-all メーリングリストの案内