Changeset 20150


Ignore:
Timestamp:
2011/02/12 11:44:35 (11 years ago)
Author:
miningbrownie
Message:

リファクタリング

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Mail.php

    r20116 r20150  
    7575 
    7676        // 検索パラメータの引き継ぎ 
    77         foreach ($_POST as $key => $val) { 
    78             if (ereg("^search_", $key)) { 
    79                 $this->arrSearchHidden[$key] = $val; 
    80             } 
    81         } 
     77        $this->arrSearchHidden = $this->getSearchParameters($_POST); 
    8278 
     79         
    8380        $this->tpl_order_id = $_POST['order_id']; 
    8481 
     
    9188 
    9289        switch($this->getMode()) { 
    93         case 'pre_edit': 
    94             break; 
    95         case 'return': 
    96             // POST値の取得 
    97             $objFormParam->setParam($_POST); 
    98             break; 
    99         case 'send': 
    100             // POST値の取得 
    101             $objFormParam->setParam($_POST); 
    102             // 入力値の変換 
    103             $objFormParam->convParam(); 
    104             $this->arrErr = $objFormParam->checkerror(); 
    105             // メールの送信 
    106             if (count($this->arrErr) == 0) { 
    107                 // 注文受付メール 
    108                 $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer']); 
    109             } 
    110             SC_Response_Ex::sendRedirect(ADMIN_ORDER_URLPATH); 
    111             exit; 
    112             break; 
    113         case 'confirm': 
    114             // POST値の取得 
    115             $objFormParam->setParam($_POST); 
    116             // 入力値の変換 
    117             $objFormParam->convParam(); 
    118             // 入力値の引き継ぎ 
    119             $this->arrHidden = $objFormParam->getHashArray(); 
    120             $this->arrErr = $objFormParam->checkerror(); 
    121             // メールの送信 
    122             if (count($this->arrErr) == 0) { 
    123                 // 注文受付メール(送信なし) 
    124                 $objSendMail = $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer'], false); 
    125                 // 確認ページの表示 
    126                 $this->tpl_subject = $_POST['subject']; 
    127                 $this->tpl_body = mb_convert_encoding( $objSendMail->body, CHAR_CODE, "auto" ); 
    128                 $this->tpl_to = $objSendMail->tpl_to; 
    129                 $this->tpl_mainpage = 'order/mail_confirm.tpl'; 
    130                 return; 
    131             } 
    132             break; 
    133         case 'change': 
    134             // POST値の取得 
    135             $objFormParam->setValue('template_id', $_POST['template_id']); 
    136             if(SC_Utils_Ex::sfIsInt($_POST['template_id'])) { 
    137                 $objQuery = new SC_Query(); 
    138                 $where = "template_id = ?"; 
    139                 $arrRet = $objQuery->select("subject, header, footer", "dtb_mailtemplate", $where, array($_POST['template_id'])); 
    140                 $objFormParam->setParam($arrRet[0]); 
    141             } 
    142             break; 
     90            case 'pre_edit': 
     91                break; 
     92            case 'return': 
     93                // POST値の取得 
     94                $objFormParam->setParam($_POST); 
     95                break; 
     96            case 'send': 
     97                // POST値の取得 
     98                $objFormParam->setParam($_POST); 
     99                // 入力値の変換 
     100                $objFormParam->convParam(); 
     101                $this->arrErr = $objFormParam->checkerror(); 
     102                // メールの送信 
     103                if (count($this->arrErr) == 0) { 
     104                    // 注文受付メール 
     105                    $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer']); 
     106                } 
     107                SC_Response_Ex::sendRedirect(ADMIN_ORDER_URLPATH); 
     108                exit; 
     109                break; 
     110            case 'confirm': 
     111                // POST値の取得 
     112                $objFormParam->setParam($_POST); 
     113                // 入力値の変換 
     114                $objFormParam->convParam(); 
     115                // 入力値の引き継ぎ 
     116                $this->arrHidden = $objFormParam->getHashArray(); 
     117                $this->arrErr = $objFormParam->checkerror(); 
     118                // メールの送信 
     119                if (count($this->arrErr) == 0) { 
     120                    // 注文受付メール(送信なし) 
     121                    $objSendMail = $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer'], false); 
     122                    // 確認ページの表示 
     123                    $this->tpl_subject = $_POST['subject']; 
     124                    $this->tpl_body = mb_convert_encoding( $objSendMail->body, CHAR_CODE, "auto" ); 
     125                    $this->tpl_to = $objSendMail->tpl_to; 
     126                    $this->tpl_mainpage = 'order/mail_confirm.tpl'; 
     127                    return; 
     128                } 
     129                break; 
     130            case 'change': 
     131                // POST値の取得 
     132                $objFormParam->setValue('template_id', $_POST['template_id']); 
     133                if(SC_Utils_Ex::sfIsInt($_POST['template_id'])) { 
     134                    $objQuery = new SC_Query(); 
     135                    $where = "template_id = ?"; 
     136                    $arrRet = $objQuery->select("subject, header, footer", "dtb_mailtemplate", $where, array($_POST['template_id'])); 
     137                    $objFormParam->setParam($arrRet[0]); 
     138                } 
     139                break; 
    143140        } 
    144141 
    145         $objQuery = new SC_Query(); 
     142        $objQuery =& SC_Query::getSingletonInstance(); 
    146143        $col = "send_date, subject, template_id, send_id"; 
    147144        $where = "order_id = ?"; 
     
    154151        $this->arrForm = $objFormParam->getFormParamList(); 
    155152    } 
     153 
     154    /** 
     155     * TODO これ色々なところでやっていそうなので、どこかに共通化した方がよいんちゃうかな 
     156     * 検索パラメータを配列で返す 
     157     *  
     158     */ 
     159    function getSearchParameters($post){ 
     160        // 検索パラメータの引き継ぎ 
     161        $searchHiddenParams = array(); 
     162        foreach ($post as $key => $val) { 
     163            if (preg_match("/^search_/", $key)) { 
     164                $searchHiddenParams[$key] = $val; 
     165            } 
     166        } 
     167    } 
     168 
    156169 
    157170    /** 
     
    174187    } 
    175188} 
    176 ?> 
Note: See TracChangeset for help on using the changeset viewer.