[Svn-src-all:1261] [version-2_5-dev 20150] リファクタリング

miningbrownie admin @ mail.ec-cube.net
2011年 2月 12日 (土) 11:44:35 JST


Subversion committed to /home/svn/open 20150
http://svn.ec-cube.net/open_trac/changeset/20150
┌────────────────────────────┐
│更新者 :  miningbrownie                                │
│更新日時:  2011-02-12 11:44:35 +0900 (土, 12  2月 2011)│
└────────────────────────────┘

Log:
--------------------------------------------------------
リファクタリング

Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Mail.php

変更: branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Mail.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Mail.php	2011-02-11 09:58:01 UTC (rev 20149)
+++ branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Mail.php	2011-02-12 02:44:35 UTC (rev 20150)
@@ -74,12 +74,9 @@
         SC_Utils_Ex::sfIsSuccess($objSess);
 
         // 検索パラメータの引き継ぎ
-        foreach ($_POST as $key => $val) {
-            if (ereg("^search_", $key)) {
-                $this->arrSearchHidden[$key] = $val;
-            }
-        }
+        $this->arrSearchHidden = $this->getSearchParameters($_POST);
 
+        
         $this->tpl_order_id = $_POST['order_id'];
 
         // パラメータ管理クラス
@@ -90,59 +87,59 @@
         $objMail = new SC_Helper_Mail_Ex();
 
         switch($this->getMode()) {
-        case 'pre_edit':
-            break;
-        case 'return':
-            // POST値の取得
-            $objFormParam->setParam($_POST);
-            break;
-        case 'send':
-            // POST値の取得
-            $objFormParam->setParam($_POST);
-            // 入力値の変換
-            $objFormParam->convParam();
-            $this->arrErr = $objFormParam->checkerror();
-            // メールの送信
-            if (count($this->arrErr) == 0) {
-                // 注文受付メール
-                $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer']);
-            }
-            SC_Response_Ex::sendRedirect(ADMIN_ORDER_URLPATH);
-            exit;
-            break;
-        case 'confirm':
-            // POST値の取得
-            $objFormParam->setParam($_POST);
-            // 入力値の変換
-            $objFormParam->convParam();
-            // 入力値の引き継ぎ
-            $this->arrHidden = $objFormParam->getHashArray();
-            $this->arrErr = $objFormParam->checkerror();
-            // メールの送信
-            if (count($this->arrErr) == 0) {
-                // 注文受付メール(送信なし)
-                $objSendMail = $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer'], false);
-                // 確認ページの表示
-                $this->tpl_subject = $_POST['subject'];
-                $this->tpl_body = mb_convert_encoding( $objSendMail->body, CHAR_CODE, "auto" );
-                $this->tpl_to = $objSendMail->tpl_to;
-                $this->tpl_mainpage = 'order/mail_confirm.tpl';
-                return;
-            }
-            break;
-        case 'change':
-            // POST値の取得
-            $objFormParam->setValue('template_id', $_POST['template_id']);
-            if(SC_Utils_Ex::sfIsInt($_POST['template_id'])) {
-                $objQuery = new SC_Query();
-                $where = "template_id = ?";
-                $arrRet = $objQuery->select("subject, header, footer", "dtb_mailtemplate", $where, array($_POST['template_id']));
-                $objFormParam->setParam($arrRet[0]);
-            }
-            break;
+            case 'pre_edit':
+                break;
+            case 'return':
+                // POST値の取得
+                $objFormParam->setParam($_POST);
+                break;
+            case 'send':
+                // POST値の取得
+                $objFormParam->setParam($_POST);
+                // 入力値の変換
+                $objFormParam->convParam();
+                $this->arrErr = $objFormParam->checkerror();
+                // メールの送信
+                if (count($this->arrErr) == 0) {
+                    // 注文受付メール
+                    $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer']);
+                }
+                SC_Response_Ex::sendRedirect(ADMIN_ORDER_URLPATH);
+                exit;
+                break;
+            case 'confirm':
+                // POST値の取得
+                $objFormParam->setParam($_POST);
+                // 入力値の変換
+                $objFormParam->convParam();
+                // 入力値の引き継ぎ
+                $this->arrHidden = $objFormParam->getHashArray();
+                $this->arrErr = $objFormParam->checkerror();
+                // メールの送信
+                if (count($this->arrErr) == 0) {
+                    // 注文受付メール(送信なし)
+                    $objSendMail = $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer'], false);
+                    // 確認ページの表示
+                    $this->tpl_subject = $_POST['subject'];
+                    $this->tpl_body = mb_convert_encoding( $objSendMail->body, CHAR_CODE, "auto" );
+                    $this->tpl_to = $objSendMail->tpl_to;
+                    $this->tpl_mainpage = 'order/mail_confirm.tpl';
+                    return;
+                }
+                break;
+            case 'change':
+                // POST値の取得
+                $objFormParam->setValue('template_id', $_POST['template_id']);
+                if(SC_Utils_Ex::sfIsInt($_POST['template_id'])) {
+                    $objQuery = new SC_Query();
+                    $where = "template_id = ?";
+                    $arrRet = $objQuery->select("subject, header, footer", "dtb_mailtemplate", $where, array($_POST['template_id']));
+                    $objFormParam->setParam($arrRet[0]);
+                }
+                break;
         }
 
-        $objQuery = new SC_Query();
+        $objQuery =& SC_Query::getSingletonInstance();
         $col = "send_date, subject, template_id, send_id";
         $where = "order_id = ?";
         $objQuery->setOrder("send_date DESC");
@@ -155,6 +152,22 @@
     }
 
     /**
+     * TODO これ色々なところでやっていそうなので、どこかに共通化した方がよいんちゃうかな
+     * 検索パラメータを配列で返す
+     * 
+     */
+    function getSearchParameters($post){
+        // 検索パラメータの引き継ぎ
+        $searchHiddenParams = array();
+        foreach ($post as $key => $val) {
+            if (preg_match("/^search_/", $key)) {
+                $searchHiddenParams[$key] = $val;
+            }
+        }
+    }
+
+
+    /**
      * デストラクタ.
      *
      * @return void
@@ -173,4 +186,3 @@
         $objFormParam->addParam("フッター", "footer", LTEXT_LEN, "KVa", array("MAX_LENGTH_CHECK", "SPTAB_CHECK"));
     }
 }
-?>




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