Changeset 22097


Ignore:
Timestamp:
2012/11/13 06:08:51 (8 years ago)
Author:
Seasoft
Message:

#1964 (LC_Page_FrontParts_Bloc_Calendar#lfGetCalendar 月の算出に誤り)
#1669 (変数の初期化漏れ)
#1905 (typo修正・ソース整形・ソースコメントの改善)
#1684 (PHPの言語特性に合わせた簡素な実装に改善する)

File:
1 edited

Legend:

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

    r21867 r22097  
    8787     * 
    8888     * @param integer $disp_month 表示する月数 
    89      * @return array $arrCalendar カレンダー情報の配列を返す 
     89     * @return array カレンダー情報の配列を返す 
    9090     */ 
    9191    function lfGetCalendar($disp_month = 1) { 
     92        $arrCalendar = array(); 
     93        $today = date('Y/m/d'); 
    9294 
    93         $today = date('Y/m/d'); 
    94         for ($j = 0; $j <= $disp_month-1; ++$j) { 
    95             $year = date('Y'); 
    96             $month = date('n') + $j; 
    97             if ($month > 12) { 
    98                 $month = $month%12; 
    99                 $year = $year + $month%12; 
    100             } 
     95        for ($j = 0; $j <= $disp_month - 1; $j++) { 
     96            $time = mktime(0, 0, 0, date('n') + $j, 1); 
     97            $year = date('Y', $time); 
     98            $month = date('n', $time); 
    10199 
    102100            $objMonth = new Calendar_Month_Weekdays($year, $month, 0); 
     
    104102            $i = 0; 
    105103            while ($objDay = $objMonth->fetch()) { 
    106                 if ($month == $objDay->month) { 
    107                     $arrCalendar[$j][$i]['in_month'] = true; 
    108                 } else { 
    109                     $arrCalendar[$j][$i]['in_month'] = false; 
    110                 } 
    111                 $arrCalendar[$j][$i]['first'] = $objDay->first; 
    112                 $arrCalendar[$j][$i]['last'] = $objDay->last; 
    113                 $arrCalendar[$j][$i]['empty'] = $objDay->empty; 
    114                 $arrCalendar[$j][$i]['year'] = $year; 
    115                 $arrCalendar[$j][$i]['month'] = $month; 
    116                 $arrCalendar[$j][$i]['day'] = $objDay->day; 
    117                 if ($this->lfCheckHoliday($year, $month, $objDay->day)) { 
    118                     $arrCalendar[$j][$i]['holiday'] = true; 
    119                 } else { 
    120                     $arrCalendar[$j][$i]['holiday'] = false; 
    121                 } 
     104                $arrCalendar[$j][$i]['in_month']    = $month == $objDay->month; 
     105                $arrCalendar[$j][$i]['first']       = $objDay->first; 
     106                $arrCalendar[$j][$i]['last']        = $objDay->last; 
     107                $arrCalendar[$j][$i]['empty']       = $objDay->empty; 
     108                $arrCalendar[$j][$i]['year']        = $year; 
     109                $arrCalendar[$j][$i]['month']       = $month; 
     110                $arrCalendar[$j][$i]['day']         = $objDay->day; 
     111                $arrCalendar[$j][$i]['holiday']     = $this->lfCheckHoliday($year, $month, $objDay->day); 
     112                $arrCalendar[$j][$i]['today']       = $today === sprintf('%04d/%02d/%02d', $year, $month, $objDay->day); 
    122113 
    123                 if ($today === sprintf('%04d/%02d/%02d', $year, $month, $objDay->day)) { 
    124                     $arrCalendar[$j][$i]['today'] = true; 
    125                 } 
    126  
    127                 ++$i; 
     114                $i++; 
    128115            } 
    129116        } 
Note: See TracChangeset for help on using the changeset viewer.