Ignore:
Timestamp:
2009/03/20 16:01:20 (15 years ago)
Author:
Seasoft
Message:

新着情報に関する改修
・初期登録データの日付を時刻切捨て(管理機能の仕様に合わせた)
・RSS 出力に関わる不具合修正

 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=3172&forum=8

※ DBバージョン依存に不安あり。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/comu-ver2/data/class/pages/rss/LC_Page_Rss.php

    r17674 r17921  
    6060        //新着情報を取得 
    6161        $arrNews = $this->lfGetNews($objQuery); 
    62  
     62         
    6363        //キャッシュしない(念のため) 
    6464        header("pragma: no-cache"); 
     
    6969        //新着情報をセット 
    7070        $this->arrNews = $arrNews; 
    71         $this->timestamp = SC_Utils_Ex::sf_mktime("r", $arrNews[0]['hour'], $arrNews[0]['minute'], $arrNews[0]['second'], $arrNews[0]['month'], $arrNews[0]['day'], $arrNews[0]['year']); 
    7271 
    7372        //店名をセット 
     
    101100    function lfGetNews(&$objQuery){ 
    102101        $col = ""; 
    103         $col .= "     news_id ";                                //新着情報ID 
    104         $col .= "     ,news_title ";                            //新着情報タイトル 
    105         $col .= "     ,news_comment ";                          //新着情報本文 
    106  
    107         if (DB_TYPE == "pgsql") { 
    108             $col .= "     ,to_char(news_date, 'YYYY') AS YEAR ";    //日付(年) 
    109             $col .= "     ,to_char(news_date, 'MM') AS MONTH ";     //日付(月) 
    110             $col .= "     ,to_char(news_date, 'DD') AS DAY ";       //日付(日) 
    111             $col .= "     ,to_char(news_date, 'HH24') AS HOUR ";    //日付(時間) 
    112             $col .= "     ,to_char(news_date, 'MI') AS MINUTE ";    //日付(分) 
    113             $col .= "     ,to_char(news_date, 'SS') AS SECOND ";    //日付(秒) 
    114         }else if (DB_TYPE == "mysql") { 
    115             $col .= "     ,DATE_FORMAT(news_date, '%Y') AS YEAR ";      //日付(年) 
    116             $col .= "     ,DATE_FORMAT(news_date, '%m') AS MONTH ";     //日付(月) 
    117             $col .= "     ,DATE_FORMAT(news_date, '%d') AS DAY ";       //日付(日) 
    118             $col .= "     ,DATE_FORMAT(news_date, '%H') AS HOUR ";      //日付(時間) 
    119             $col .= "     ,DATE_FORMAT(news_date, '%i') AS MINUTE ";    //日付(分) 
    120             $col .= "     ,DATE_FORMAT(news_date, '%s') AS SECOND ";    //日付(秒) 
    121         } 
    122         $col .= "     ,news_url ";                              //新着情報URL 
    123         $col .= "     ,news_select ";                           //新着情報の区分(1:URL、2:本文) 
    124         $col .= "     ,(SELECT shop_name FROM dtb_baseinfo limit 1) AS shop_name  ";    //店名 
    125         $col .= "     ,(SELECT email04 FROM dtb_baseinfo limit 1) AS email ";           //代表Emailアドレス 
     102        $col .= "news_id ";        // 新着情報ID 
     103        $col .= ",news_title ";    // 新着情報タイトル 
     104        $col .= ",news_comment ";  // 新着情報本文 
     105        $col .= ",news_date ";     // 日付 
     106        $col .= ",news_url ";      // 新着情報URL 
     107        $col .= ",news_select ";   // 新着情報の区分(1:URL、2:本文) 
     108        $col .= ",(SELECT shop_name FROM dtb_baseinfo limit 1) AS shop_name  ";    // 店名 
     109        $col .= ",(SELECT email04 FROM dtb_baseinfo limit 1) AS email ";           // 代表Emailアドレス 
    126110        $from = "dtb_news"; 
    127111        $where = "del_flg = '0'"; 
     
    129113        $objQuery->setorder($order); 
    130114        $arrNews = $objQuery->select($col,$from,$where); 
     115         
     116        // RSS用に変換 
     117        foreach (array_keys($arrNews) as $key) { 
     118            $row =& $arrNews[$key]; 
     119            // 日付 
     120            $row['news_date'] = date('r', strtotime($row['news_date'])); 
     121        } 
     122         
    131123        return $arrNews; 
    132124    } 
Note: See TracChangeset for help on using the changeset viewer.