Ignore:
Timestamp:
2013/05/02 18:11:36 (8 years ago)
Author:
h_yoshimoto
Message:

#2236 2.12.3リリース以降の2.12-devへのコミット差し戻し

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_News.php

    r22581 r22796  
    3232 * @version $Id$ 
    3333 */ 
    34 class LC_Page_FrontParts_Bloc_News extends LC_Page_FrontParts_Bloc_Ex  
    35 { 
     34class LC_Page_FrontParts_Bloc_News extends LC_Page_FrontParts_Bloc_Ex { 
    3635 
    3736    // }}} 
     
    4342     * @return void 
    4443     */ 
    45     function init() 
    46     { 
     44    function init() { 
    4745        parent::init(); 
    4846    } 
     
    5351     * @return void 
    5452     */ 
    55     function process() 
    56     { 
     53    function process() { 
    5754        $this->action(); 
    5855        $this->sendResponse(); 
     
    6461     * @return void 
    6562     */ 
    66     function action() 
    67     { 
    68  
    69         $objNews = new SC_Helper_News_Ex(); 
     63    function action() { 
     64 
    7065        $objFormParam = new SC_FormParam_Ex(); 
    7166        switch ($this->getMode()) { 
     
    7671                $this->arrErr = $objFormParam->checkError(false); 
    7772                if (empty($this->arrErr)) { 
    78                     $arrData = $objFormParam->getHashArray(); 
    79                     $json = $this->lfGetNewsForJson($arrData, $objNews); 
     73 
     74                    $json = $this->lfGetNewsForJson($objFormParam); 
    8075                    echo $json; 
    8176                    SC_Response_Ex::actionExit(); 
     
    9186                $this->arrErr = $objFormParam->checkError(false); 
    9287                if (empty($this->arrErr)) { 
    93                     $arrData = $objFormParam->getHashArray(); 
    94                     $json = $this->lfGetNewsDetailForJson($arrData, $objNews); 
     88 
     89                    $json = $this->lfGetNewsDetailForJson($objFormParam); 
    9590                    echo $json; 
    9691                    SC_Response_Ex::actionExit(); 
     
    10196                break; 
    10297            default: 
    103                 $this->arrNews = $objNews->getList(); 
    104                 $this->newsCount = $objNews->getCount(); 
     98                $this->newsCount = $this->lfGetNewsCount(); 
     99                $this->arrNews = $this->lfGetNews(SC_Query_Ex::getSingletonInstance()); 
    105100                break; 
    106101        } 
     
    113108     * @return void 
    114109     */ 
    115     function destroy() 
    116     { 
     110    function destroy() { 
    117111        parent::destroy(); 
    118112    } 
     
    124118     * @return void 
    125119     */ 
    126     function lfInitNewsParam(&$objFormParam) 
    127     { 
     120    function lfInitNewsParam(&$objFormParam) { 
    128121        $objFormParam->addParam('現在ページ', 'pageno', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'), '', false); 
    129122        $objFormParam->addParam('表示件数', 'disp_number', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'), '', false); 
     
    136129     * @return array $arrNewsList 新着情報の配列を返す 
    137130     */ 
    138     function lfGetNews($dispNumber, $pageNo, SC_Helper_News_Ex $objNews) 
    139     { 
    140         $arrNewsList = $objNews->getList($dispNumber, $pageNo); 
     131    function lfGetNews(&$objQuery) { 
     132        $objQuery->setOrder('rank DESC '); 
     133        $arrNewsList = $objQuery->select('* , cast(news_date as date) as news_date_disp', 'dtb_news' ,'del_flg = 0'); 
    141134 
    142135        // モバイルサイトのセッション保持 (#797) 
     
    159152     * (ページと表示件数を指定) 
    160153     * 
    161      * @param array $arrData フォーム入力値 
    162      * @param object $objNews 
     154     * @param array $objFormParam フォームパラメータークラス 
    163155     * @return String $json 新着情報のJSONを返す 
    164156     */ 
    165     function lfGetNewsForJson($arrData, SC_Helper_News_Ex $objNews) 
    166     { 
     157    function lfGetNewsForJson(&$objFormParam) { 
     158 
     159        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     160        $arrData = $objFormParam->getHashArray(); 
    167161 
    168162        $dispNumber = $arrData['disp_number']; 
    169163        $pageNo = $arrData['pageno']; 
    170         $arrNewsList = $this->lfGetNews($dispNumber, $pageNo, $objNews); 
     164        if (!empty($dispNumber) && !empty($pageNo)) { 
     165            $objQuery->setLimitOffset($dispNumber, (($pageNo - 1) * $dispNumber)); 
     166        } 
     167 
     168        $arrNewsList = $this->lfGetNews($objQuery); 
    171169 
    172170        //新着情報の最大ページ数をセット 
    173         $newsCount = $objNews->getCount(); 
     171        $newsCount = $this->lfGetNewsCount(); 
    174172        $arrNewsList['news_page_count'] = ceil($newsCount / 3); 
    175173 
     
    183181     * (news_idを指定) 
    184182     * 
    185      * @param array $arrData フォーム入力値 
    186      * @param object $objNews 
     183     * @param array $objFormParam フォームパラメータークラス 
    187184     * @return String $json 新着情報1件分のJSONを返す 
    188185     */ 
    189     function lfGetNewsDetailForJson($arrData, SC_Helper_News_Ex $objNews) 
    190     { 
    191  
    192         $arrNewsList = $objNews->get($arrData['news_id']); 
     186    function lfGetNewsDetailForJson(&$objFormParam) { 
     187 
     188        $objQuery = SC_Query_Ex::getSingletonInstance(); 
     189        $arrData = $objFormParam->getHashArray(); 
     190        $newsId = $arrData['news_id']; 
     191        $arrNewsList = $objQuery->select(' * , cast(news_date as date) as news_date_disp ',' dtb_news '," del_flg = '0' AND news_id = ? ", array($newsId)); 
     192 
    193193        $json =  SC_Utils_Ex::jsonEncode($arrNewsList);    //JSON形式 
    194194 
    195195        return $json; 
     196    } 
     197 
     198    /** 
     199     * 新着情報の件数を取得する 
     200     * 
     201     * @return Integer $count 新着情報の件数を返す 
     202     */ 
     203    function lfGetNewsCount() { 
     204 
     205        $count = 0; 
     206 
     207        $objQuery = SC_Query_Ex::getSingletonInstance(); 
     208        $count = $objQuery->count('dtb_news', "del_flg = '0'"); 
     209 
     210        return $count; 
    196211    } 
    197212 
     
    202217     * @return string JSON 形式のエラーメッセージ 
    203218     */ 
    204     function lfGetErrors($arrErr) 
    205     { 
     219    function lfGetErrors($arrErr) { 
    206220        $messages = ''; 
    207221        foreach ($arrErr as $val) { 
Note: See TracChangeset for help on using the changeset viewer.