Changeset 23654


Ignore:
Timestamp:
2014/10/14 11:27:26 (9 years ago)
Author:
kim
Message:

#2560 r23461 r23464 をリバート

既存関数の削除が多く、2.13.3では採用を見送ります。
下位互換が担保された場合、2.13.4で採用を検討します。

Location:
branches/version-2_13_3/data
Files:
2 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13_3/data/class/pages/admin/products/LC_Page_Admin_Products_Review.php

    r23546 r23654  
    8686    public function action() 
    8787    { 
    88         $objReview = new SC_Helper_Review_Ex(); 
    8988        // パラメーター管理クラス 
    9089        $objFormParam = new SC_FormParam_Ex(); 
     
    106105        switch ($this->getMode()) { 
    107106            case 'delete': 
    108                 $objReview->delete($this->arrForm['review_id']); 
     107                $this->lfDeleteReview($this->arrForm['review_id']); 
    109108            case 'search': 
    110109            case 'csv': 
    111110 
     111                // 検索条件を取得 
     112                list($where, $arrWhereVal) = $this->lfGetWhere($this->arrForm); 
    112113                // 検索結果を取得 
    113                 $this->arrReview = $this->lfGetReview($objReview); 
     114                $this->arrReview = $this->lfGetReview($this->arrForm, $where, $arrWhereVal); 
    114115 
    115116                //CSVダウンロード 
    116117                if ($this->getMode() == 'csv') { 
    117                     // 検索条件を取得 
    118                     list($where, $arrWhereVal) = $this->lfGetWhere($this->arrForm); 
    119118                    $this->lfDoOutputCsv($where, $arrWhereVal); 
    120119 
     
    159158 
    160159        return $objErr->arrErr; 
     160    } 
     161 
     162    /** 
     163     * 商品レビューの削除 
     164     * 
     165     * @param  integer $review_id 商品レビューのID 
     166     * @return void 
     167     */ 
     168    public function lfDeleteReview($review_id) 
     169    { 
     170        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     171        $sqlval['del_flg'] = 1; 
     172        $objQuery->update('dtb_review', $sqlval, 'review_id = ?', array($review_id)); 
    161173    } 
    162174 
     
    322334     * レビュー検索結果の取得 
    323335     * 
    324      * @param  SC_Helper_Review $objReview 
     336     * @param  array  $arrForm     フォームデータ 
     337     * @param  string $where       WHERE文 
     338     * @param  array  $arrWhereVal WHERE文の判定値 
    325339     * @return array  レビュー一覧 
    326340     */ 
    327     public function lfGetReview(SC_Helper_Review $objReview) 
    328     { 
    329         $arrForm = $this->arrForm; 
    330  
    331         $query = $this->makeQuery($arrForm); 
    332         $linemax = $objReview->count($query); 
    333  
     341    public function lfGetReview($arrForm, $where, $arrWhereVal) 
     342    { 
     343        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     344 
     345        // ページ送りの処理 
     346        $page_max = SC_Utils_Ex::sfGetSearchPageMax($arrForm['search_page_max']); 
     347 
     348        if (!isset($arrWhereVal)) $arrWhereVal = array(); 
     349 
     350        $from = 'dtb_review AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id '; 
     351        $linemax = $objQuery->count($from, $where, $arrWhereVal); 
    334352        $this->tpl_linemax = $linemax; 
     353 
    335354        $this->tpl_pageno = isset($arrForm['search_pageno']) ? $arrForm['search_pageno'] : ''; 
    336355 
    337356        // ページ送りの取得 
    338         $page_max = SC_Utils_Ex::sfGetSearchPageMax($arrForm['search_page_max']); 
    339357        $objNavi = new SC_PageNavi_Ex($this->tpl_pageno, $linemax, $page_max, 
    340358                                      'eccube.moveNaviPage', NAVI_PMAX); 
     
    343361 
    344362        // 取得範囲の指定(開始行番号、行数のセット) 
    345         $params = array( 
    346             'query' => $query, 
    347             'limit' => $page_max, 
    348             'offset' => $startno 
    349         ); 
    350         $arrReview = $objReview->find($params); 
     363        $objQuery->setLimitOffset($page_max, $startno); 
     364 
     365        // 表示順序 
     366        $order = 'A.create_date DESC'; 
     367        $objQuery->setOrder($order); 
     368        //検索結果の取得 
     369        //レビュー情報のカラムの取得 
     370        $col = 'review_id, A.product_id, reviewer_name, sex, recommend_level, '; 
     371        $col .= 'reviewer_url, title, comment, A.status, A.create_date, A.update_date, name'; 
     372        $from = 'dtb_review AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id '; 
     373        $arrReview = $objQuery->select($col, $from, $where, $arrWhereVal); 
    351374 
    352375        return $arrReview; 
    353376    } 
    354  
    355     /** 
    356      * SC_Helper_Reviewインスタンスへ渡す検索条件の配列を作成. 
    357      * 
    358      * @param array $data 
    359      * @return array 
    360      */ 
    361     private function makeQuery($data = array()) { 
    362         $query = array(); 
    363  
    364         foreach ($data AS $key => $val) { 
    365             if (empty($val)) continue; 
    366  
    367             switch ($key) { 
    368                 case 'search_reviewer_name': 
    369                     $query['reviewer_name'] = $val; 
    370                     break; 
    371  
    372                 case 'search_reviewer_url': 
    373                     $query['reviewer_url'] = $val; 
    374                     break; 
    375  
    376                 case 'search_name': 
    377                     $query['product_name'] = $val; 
    378                     break; 
    379  
    380                 case 'search_product_code': 
    381                     $query['product_code'] = $val; 
    382                     break; 
    383  
    384                 case 'search_sex': 
    385                     $query['reviewer_sex'] = $val; 
    386                     break; 
    387  
    388                 case 'search_recommend_level': 
    389                     $query['recommend_level'] = $val; 
    390                     break; 
    391  
    392                 case 'search_startyear': 
    393                     if (isset($_POST['search_startyear']) && isset($_POST['search_startmonth']) && isset($_POST['search_startday'])) { 
    394                         $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_startyear'], $_POST['search_startmonth'], $_POST['search_startday']); 
    395                         $query['date_from'] = $date; 
    396                     } 
    397                     break; 
    398  
    399                 case 'search_endyear': 
    400                     if (isset($_POST['search_startyear']) && isset($_POST['search_startmonth']) && isset($_POST['search_startday'])) { 
    401                         $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_endyear'], $_POST['search_endmonth'], $_POST['search_endday']); 
    402                         $end_date = date('Y/m/d', strtotime('1 day', strtotime($date))); 
    403                         $query['date_to'] = $end_date; 
    404                     } 
    405                     break; 
    406  
    407                 default: 
    408                     break; 
    409             } 
    410  
    411         } 
    412  
    413         return $query; 
    414     } 
    415377} 
  • branches/version-2_13_3/data/class/pages/admin/products/LC_Page_Admin_Products_ReviewEdit.php

    r23546 r23654  
    7272    public function action() 
    7373    { 
    74         $objReview = new SC_Helper_Review_Ex(); 
    7574        // パラメーター情報の初期化 
    7675        $objFormParam = new SC_FormParam_Ex(); 
     
    8988                if (SC_Utils_Ex::isBlank($this->arrErr)) { 
    9089                    // レビュー情報の更新 
    91                     $arrValues = $objFormParam->getDbArray(); 
    92                     $objReview->save($arrValues); 
     90                    $this->lfRegistReviewData($this->arrForm['review_id'], $objFormParam); 
    9391                    // レビュー情報のDB取得 
    94                     $this->arrForm = $objReview->get($this->arrForm['review_id']); 
     92                    $this->arrForm = $this->lfGetReviewData($this->arrForm['review_id']); 
    9593                    $this->tpl_onload = "alert('登録が完了しました。');"; 
    9694                } 
     
    9896            default: 
    9997                // レビュー情報のDB取得 
    100                 $this->arrForm = $objReview->get($this->arrForm['review_id']); 
     98                $this->arrForm = $this->lfGetReviewData($this->arrForm['review_id']); 
    10199                break; 
    102100        } 
     
    127125        $objFormParam->addParam('コメント', 'comment', LTEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    128126    } 
     127 
     128    /** 
     129     * レビュー情報のDB取得 
     130     * 
     131     * @param  integer $review_id レビューID 
     132     * @return array   レビュー情報 
     133     */ 
     134    public function lfGetReviewData($review_id) 
     135    { 
     136        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     137        $select='review_id, A.product_id, reviewer_name, sex, recommend_level, '; 
     138        $select.='reviewer_url, title, comment, A.status, A.create_date, A.update_date, name'; 
     139        $from = 'dtb_review AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id '; 
     140        $where = 'A.del_flg = 0 AND B.del_flg = 0 AND review_id = ? '; 
     141        $arrReview = $objQuery->select($select, $from, $where, array($review_id)); 
     142        if (empty($arrReview)) { 
     143            SC_Utils_Ex::sfDispError(''); 
     144        } 
     145 
     146        return $arrReview[0]; 
     147    } 
     148 
     149    /** 
     150     * レビュー情報の更新 
     151     * 
     152     * @param  integer      $review_id    レビューID 
     153     * @param  SC_FormParam $objFormParam SC_FormParam インスタンス 
     154     * @return void 
     155     */ 
     156    public function lfRegistReviewData($review_id, &$objFormParam) 
     157    { 
     158        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     159        $arrValues = $objFormParam->getDbArray(); 
     160        $arrValues['update_date'] = 'CURRENT_TIMESTAMP'; 
     161        $objQuery->update('dtb_review', $arrValues, 'review_id = ?', array($review_id)); 
     162    } 
    129163} 
  • branches/version-2_13_3/data/class/pages/products/LC_Page_Products_Detail.php

    r23653 r23654  
    300300        $this->subImageFlag = $this->lfSetFile($this->objUpFile, $this->arrProduct, $this->arrFile); 
    301301        //レビュー情報の取得 
    302         $objReview = new SC_Helper_Review_Ex(); 
    303         $this->arrReview = $objReview->getListByProductId($product_id); 
     302        $this->arrReview = $this->lfGetReviewData($product_id); 
    304303 
    305304        //関連商品情報表示 
     
    535534 
    536535    /** 
     536     * 商品ごとのレビュー情報を取得する 
     537     * 
     538     * @param int $product_id 
     539     * @return array 
     540     */ 
     541    public function lfGetReviewData($product_id) 
     542    { 
     543        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     544        //商品ごとのレビュー情報を取得する 
     545        $col = 'create_date, reviewer_url, reviewer_name, recommend_level, title, comment'; 
     546        $from = 'dtb_review'; 
     547        $where = 'del_flg = 0 AND status = 1 AND product_id = ?'; 
     548        $objQuery->setOrder('create_date DESC'); 
     549        $objQuery->setLimit(REVIEW_REGIST_MAX); 
     550        $arrWhereVal = array($product_id); 
     551        $arrReview = $objQuery->select($col, $from, $where, $arrWhereVal); 
     552 
     553        return $arrReview; 
     554    } 
     555 
     556    /** 
    537557     * ファイルの情報をセットする 
    538558     * 
  • branches/version-2_13_3/data/class/pages/products/LC_Page_Products_Review.php

    r23589 r23654  
    176176 
    177177    //登録実行 
    178     public function lfRegistRecommendData(SC_FormParam &$objFormParam) 
     178    public function lfRegistRecommendData(&$objFormParam) 
    179179    { 
     180        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     181        $objCustomer = new SC_Customer_Ex(); 
     182 
    180183        $arrRegist = $objFormParam->getDbArray(); 
    181184 
    182         $objCustomer = new SC_Customer_Ex(); 
     185        $arrRegist['create_date'] = 'CURRENT_TIMESTAMP'; 
     186        $arrRegist['update_date'] = 'CURRENT_TIMESTAMP'; 
     187        $arrRegist['creator_id'] = '0'; 
     188 
    183189        if ($objCustomer->isLoginSuccess(true)) { 
    184190            $arrRegist['customer_id'] = $objCustomer->getValue('customer_id'); 
     
    186192 
    187193        //-- 登録実行 
    188         $objReview = new SC_Helper_Review_Ex(); 
    189         $objReview->save($arrRegist); 
     194        $objQuery->begin(); 
     195        $arrRegist['review_id'] = $objQuery->nextVal('dtb_review_review_id'); 
     196        $objQuery->insert('dtb_review', $arrRegist); 
     197        $objQuery->commit(); 
    190198    } 
    191199} 
Note: See TracChangeset for help on using the changeset viewer.