Ignore:
Timestamp:
2011/02/21 06:17:20 (13 years ago)
Author:
AMUAMU
Message:

#965 (リファクタリング [管理画面]顧客管理)に関する修正 LC_Page_Admin_Customer.php LC_Page_Admin_Customer_Edit.php
#963 (リファクタリング [管理画面]メルマガ管理)の検索処理共通化修正で正常に動くように動作を合わせた。
SC_Helper_Customer_Ex::sfGetSearchData()を追加。
顧客一覧検索系はSC_Customer_Helperに共通機能多数なので利用を。
検索処理の共通化にあわせて LC_Page_Admin_Mail.php側も修正。

#850 (顧客CSV 列追加時にロジックの変更を不要に)の修正
#870 (CSVアップロードにおいて、CSV項目の種類・数を自由に変更出来る機能)に関連した修正
#657 (CSVダウンロードの改善)に関連した修正
#1024 (「顧客検索→編集→完了→続けて登録→検索に戻る」と遷移した場合に検索条件を引き継がない問題)の改修

予定より時間かかった・・・

File:
1 edited

Legend:

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

    r20232 r20285  
    9494 
    9595        // 不正アクセスチェック  
     96        // FIXME: nanasessさんが作り変えて共通化しているようなので暫定で isValidToken(false) 
    9697        if ($_SERVER["REQUEST_METHOD"] == "POST") { 
    97             if (!SC_Helper_Session_Ex::isValidToken()) { 
     98            if (!SC_Helper_Session_Ex::isValidToken(false)) { 
    9899                SC_Utils_Ex::sfDispError(INVALID_MOVE_ERRORR); 
    99100            } 
     
    109110        $objFormParam->convParam(); 
    110111        // パラメーター読み込み 
    111         $this->arrForm = $this->lfGetFormParam($objFormParam); 
     112        $this->arrForm = $objFormParam->getFormParamList(); 
    112113        // 検索ワードの引き継ぎ 
    113         $this->arrHidden = $this->lfGetSearchWords($objFormParam); 
     114        $this->arrHidden = $objFormParam->getSearchArray(); 
     115 
    114116        // 入力パラメーターチェック 
    115117        $this->arrErr = $this->lfCheckError($objFormParam); 
     
    122124        case 'delete': 
    123125            $this->is_delete = $this->lfDoDeleteCustomer($objFormParam->getValue('edit_customer_id')); 
    124             list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($this->arrForm); 
     126            list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($objFormParam->getHashArray()); 
    125127            $this->arrPagenavi = $this->objNavi->arrPagenavi; 
    126128            break; 
    127129        case 'resend_mail': 
    128130            $this->is_resendmail = $this->lfDoResendMail($objFormParam->getValue('edit_customer_id')); 
    129             list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($this->arrForm); 
     131            list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($objFormParam->getHashArray()); 
    130132            $this->arrPagenavi = $this->objNavi->arrPagenavi; 
    131133            break; 
    132134        case 'search': 
    133             list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($this->arrForm); 
     135            list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($objFormParam->getHashArray()); 
    134136            $this->arrPagenavi = $this->objNavi->arrPagenavi; 
    135137            break; 
    136138        case 'csv': 
    137             $this->lfDoCSV($this->arrForm); 
     139            $this->lfDoCSV($objFormParam->getHashArray()); 
    138140            exit; 
    139141            break; 
     
    160162    function lfInitParam(&$objFormParam) { 
    161163        SC_Helper_Customer_Ex::sfSetSearchParam($objFormParam); 
     164        $objFormParam->addParam('編集対象顧客ID', 'edit_customer_id', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 
    162165    } 
    163166 
     
    216219     */ 
    217220    function lfDoSearch($arrParam) { 
    218         $objQuery =& SC_Query::getSingletonInstance(); 
    219         $objSelect = new SC_CustomerList($arrParam, "customer"); 
    220         $page_rows = $arrParam['page_rows']; 
    221         if(SC_Utils_Ex::sfIsInt($page_rows)) { 
    222             $page_max = $page_rows; 
    223         }else{ 
    224             $page_max = SEARCH_PMAX; 
    225         } 
    226         $disp_pageno = $arrParam['search_pageno']; 
    227         if($disp_pageno == 0) { 
    228             $disp_pageno = 1; 
    229         } 
    230         $offset = $page_max * ($disp_pageno - 1); 
    231         $objSelect->setLimitOffset($page_max, $offset); 
    232         $arrData = $objQuery->getAll($objSelect->getList(), $objSelect->arrVal); 
    233          
    234         // 該当全体件数の取得 
    235         $linemax = $objQuery->getOne($objSelect->getListCount(), $objSelect->arrVal); 
    236         // ページ送りの取得 
    237         $objNavi = new SC_PageNavi($arrParam['search_pageno'], 
    238                                     $linemax, 
    239                                     $page_max, 
    240                                     "fnCustomerPage", 
    241                                     NAVI_PMAX); 
    242         return array($linemax, $arrData, $objNavi); 
     221        return SC_Helper_Customer_Ex::sfGetSearchData($arrParam); 
    243222    } 
    244223 
     
    252231        $objSelect = new SC_CustomerList($arrParam, "customer"); 
    253232        $order = "update_date DESC, customer_id DESC"; 
     233         
    254234        require_once(CLASS_EX_REALDIR . "helper_extends/SC_Helper_CSV_Ex.php"); 
    255235        $objCSV = new SC_Helper_CSV_Ex(); 
    256236        list($where, $arrVal) = $objSelect->getWhere(); 
    257         $objCSV->sfDownloadCsv('2', $where, $arrVal); 
    258     } 
    259  
    260     /** 
    261      * 検索パラメーター引継ぎ用展開 
    262      * 
    263      * @param array $objFormParam フォームパラメータークラス 
    264      * @return array 引き継ぎ用連想配列 
    265      */ 
    266     function lfGetSearchWords(&$objFormParam) { 
    267         $arrData = $objFormParam->getSearchArray("search_"); 
    268         $arrData['sex'] = SC_Utils_Ex::sfMergeParamCheckBoxes($objFormParam->getValue('sex')); 
    269         $arrData['status'] = SC_Utils_Ex::sfMergeParamCheckBoxes($objFormParam->getValue('status')); 
    270         $arrData['job'] = SC_Utils_Ex::sfMergeParamCheckBoxes($objFormParam->getValue('job')); 
    271     } 
    272  
    273     /** 
    274      * 表示用パラメーター値取得処理 
    275      * 
    276      * @param array $objFormParam フォームパラメータークラス 
    277      * @return array 表示用連想配列 
    278      */ 
    279     function lfGetFormParam(&$objFormParam) { 
    280         $arrForm = $objFormParam->getHashArray(); 
    281         // 配列形式のデータの展開処理 
    282         $val_sex = $objFormParam->getValue('sex'); 
    283         if(!is_array($val_sex) and !SC_Utils_Ex::isBlank($val_sex)) { 
    284             $arrForm['sex'] = explode("-", $val_sex); 
    285         } 
    286         $val_status = $objFormParam->getValue('status'); 
    287         if(!is_array($val_status) and !SC_Utils_Ex::isBlank($val_status)) { 
    288             $arrForm['status'] = explode("-", $val_status); 
    289         } 
    290         $val_job = $objFormParam->getValue('job'); 
    291         if(!is_array($val_job) and !SC_Utils_Ex::isBlank($val_job)) { 
    292             $arrForm['job'] = explode("-", $val_job); 
    293         } 
    294         return $arrForm; 
    295     } 
    296  
     237        return $objCSV->sfDownloadCsv('2', $where, $arrVal, $order, true); 
     238    } 
    297239} 
    298240?> 
Note: See TracChangeset for help on using the changeset viewer.