Ignore:
Timestamp:
2013/08/28 13:26:44 (11 years ago)
Author:
m_uehara
Message:

#2275
影響が大きいため、2.13.0では対応を行わない r23125 r23128 r23133 を差し戻します。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13-dev/data/module/Calendar/Decorator/Weekday.php

    r23125 r23141  
    11<?php 
    22/* vim: set expandtab tabstop=4 shiftwidth=4: */ 
    3  
     3// 
     4// +----------------------------------------------------------------------+ 
     5// | PHP Version 4                                                        | 
     6// +----------------------------------------------------------------------+ 
     7// | Copyright (c) 1997-2002 The PHP Group                                | 
     8// +----------------------------------------------------------------------+ 
     9// | This source file is subject to version 2.02 of the PHP license,      | 
     10// | that is bundled with this package in the file LICENSE, and is        | 
     11// | available at through the world-wide-web at                           | 
     12// | http://www.php.net/license/3_0.txt.                                  | 
     13// | If you did not receive a copy of the PHP license and are unable to   | 
     14// | obtain it through the world-wide-web, please send a note to          | 
     15// | license@php.net so we can mail you a copy immediately.               | 
     16// +----------------------------------------------------------------------+ 
     17// | Authors: Harry Fuecks <hfuecks@phppatterns.com>                      | 
     18// |          Lorenzo Alberton <l dot alberton at quipo dot it>           | 
     19// +----------------------------------------------------------------------+ 
     20// 
     21// $Id: Weekday.php,v 1.3 2004/08/16 12:25:15 hfuecks Exp $ 
     22// 
    423/** 
    5  * Contains the Calendar_Decorator_Weekday class 
    6  * 
    7  * PHP versions 4 and 5 
    8  * 
    9  * LICENSE: Redistribution and use in source and binary forms, with or without 
    10  * modification, are permitted provided that the following conditions are met: 
    11  * 1. Redistributions of source code must retain the above copyright 
    12  *    notice, this list of conditions and the following disclaimer. 
    13  * 2. Redistributions in binary form must reproduce the above copyright 
    14  *    notice, this list of conditions and the following disclaimer in the 
    15  *    documentation and/or other materials provided with the distribution. 
    16  * 3. The name of the author may not be used to endorse or promote products 
    17  *    derived from this software without specific prior written permission. 
    18  * 
    19  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED 
    20  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
    21  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
    22  * IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY 
    23  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
    24  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
    25  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
    26  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
    27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 
    28  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
    29  * 
    30  * @category  Date and Time 
    31  * @package   Calendar 
    32  * @author    Harry Fuecks <hfuecks@phppatterns.com> 
    33  * @author    Lorenzo Alberton <l.alberton@quipo.it> 
    34  * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton 
    35  * @license   http://www.debian.org/misc/bsd.license  BSD License (3 Clause) 
    36  * @version   CVS: $Id: Weekday.php 300729 2010-06-24 12:05:53Z quipo $ 
    37  * @link      http://pear.php.net/package/Calendar 
     24 * @package Calendar 
     25 * @version $Id: Weekday.php,v 1.3 2004/08/16 12:25:15 hfuecks Exp $ 
    3826 */ 
    3927 
     
    5947 * <code> 
    6048 * $Day = new Calendar_Day(2003, 10, 23); 
    61  * $Weekday = new Calendar_Decorator_Weekday($Day); 
     49 * $Weekday = & new Calendar_Decorator_Weekday($Day); 
    6250 * $Weekday->setFirstDay(0); // Set first day of week to Sunday (default Mon) 
    6351 * echo $Weekday->thisWeekDay(); // Displays 5 - fifth day of week relative to Sun 
    6452 * </code> 
    65  * 
    66  * @category  Date and Time 
    67  * @package   Calendar 
    68  * @author    Harry Fuecks <hfuecks@phppatterns.com> 
    69  * @author    Lorenzo Alberton <l.alberton@quipo.it> 
    70  * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton 
    71  * @license   http://www.debian.org/misc/bsd.license  BSD License (3 Clause) 
    72  * @link      http://pear.php.net/package/Calendar 
    73  * @access    public 
     53 * @package Calendar 
     54 * @access public 
    7455 */ 
    7556class Calendar_Decorator_Weekday extends Calendar_Decorator 
     
    8465    /** 
    8566     * Constructs Calendar_Decorator_Weekday 
    86      * 
    87      * @param object &$Calendar subclass of Calendar 
    88      * 
     67     * @param object subclass of Calendar 
    8968     * @access public 
    9069     */ 
    91     function Calendar_Decorator_Weekday(&$Calendar) 
     70    function Calendar_Decorator_Weekday(& $Calendar) 
    9271    { 
    9372        parent::Calendar_Decorator($Calendar); 
     
    9675    /** 
    9776     * Sets the first day of the week (0 = Sunday, 1 = Monday (default) etc) 
    98      * 
    99      * @param int $firstDay first day of week 
    100      * 
     77     * @param int first day of week 
    10178     * @return void 
    10279     * @access public 
    10380     */ 
    104     function setFirstDay($firstDay)  
    105     { 
     81    function setFirstDay($firstDay) { 
    10682        $this->firstDay = (int)$firstDay; 
    10783    } 
     
    10985    /** 
    11086     * Returns the previous weekday 
    111      * 
    112      * @param string $format (default = 'int') return value format 
    113      * 
    114      * @return int $format numeric day of week or timestamp 
     87     * @param string (default = 'int') return value format 
     88     * @return int numeric day of week or timestamp 
    11589     * @access public 
    11690     */ 
    11791    function prevWeekDay($format = 'int') 
    11892    { 
    119         $ts  = $this->calendar->prevDay('timestamp'); 
    120         $Day = new Calendar_Day(2000, 1, 1); 
     93        $ts = $this->calendar->prevDay('timestamp'); 
     94        $Day = new Calendar_Day(2000,1,1); 
    12195        $Day->setTimeStamp($ts); 
    122         $day = $this->calendar->cE->getDayOfWeek( 
    123             $Day->thisYear(), 
    124             $Day->thisMonth(), 
    125             $Day->thisDay() 
    126         ); 
     96        $day = $this->calendar->cE->getDayOfWeek($Day->thisYear(),$Day->thisMonth(),$Day->thisDay()); 
    12797        $day = $this->adjustWeekScale($day); 
    12898        return $this->returnValue('Day', $format, $ts, $day); 
     
    131101    /** 
    132102     * Returns the current weekday 
    133      * 
    134      * @param string $format (default = 'int') return value format 
    135      * 
     103     * @param string (default = 'int') return value format 
    136104     * @return int numeric day of week or timestamp 
    137105     * @access public 
     
    139107    function thisWeekDay($format = 'int') 
    140108    { 
    141         $ts  = $this->calendar->thisDay('timestamp'); 
    142         $day = $this->calendar->cE->getDayOfWeek( 
    143             $this->calendar->year, 
    144             $this->calendar->month, 
    145             $this->calendar->day 
    146         ); 
     109        $ts = $this->calendar->thisDay('timestamp'); 
     110        $day = $this->calendar->cE->getDayOfWeek($this->calendar->year,$this->calendar->month,$this->calendar->day); 
    147111        $day = $this->adjustWeekScale($day); 
    148112        return $this->returnValue('Day', $format, $ts, $day); 
     
    151115    /** 
    152116     * Returns the next weekday 
    153      * 
    154      * @param string $format (default = 'int') return value format 
    155      * 
     117     * @param string (default = 'int') return value format 
    156118     * @return int numeric day of week or timestamp 
    157119     * @access public 
     
    159121    function nextWeekDay($format = 'int') 
    160122    { 
    161         $ts  = $this->calendar->nextDay('timestamp'); 
    162         $Day = new Calendar_Day(2000, 1, 1); 
     123        $ts = $this->calendar->nextDay('timestamp'); 
     124        $Day = new Calendar_Day(2000,1,1); 
    163125        $Day->setTimeStamp($ts); 
    164         $day = $this->calendar->cE->getDayOfWeek( 
    165             $Day->thisYear(), 
    166             $Day->thisMonth(), 
    167             $Day->thisDay() 
    168         ); 
     126        $day = $this->calendar->cE->getDayOfWeek($Day->thisYear(),$Day->thisMonth(),$Day->thisDay()); 
    169127        $day = $this->adjustWeekScale($day); 
    170128        return $this->returnValue('Day', $format, $ts, $day); 
     
    173131    /** 
    174132     * Adjusts the day of the week relative to the first day of the week 
    175      * 
    176      * @param int $dayOfWeek day of week calendar from Calendar_Engine 
    177      * 
     133     * @param int day of week calendar from Calendar_Engine 
    178134     * @return int day of week adjusted to first day 
    179135     * @access private 
    180136     */ 
    181     function adjustWeekScale($dayOfWeek)  
    182     { 
     137    function adjustWeekScale($dayOfWeek) { 
    183138        $dayOfWeek = $dayOfWeek - $this->firstDay; 
    184         if ($dayOfWeek >= 0) { 
     139        if ( $dayOfWeek >= 0 ) { 
    185140            return $dayOfWeek; 
    186141        } else { 
    187142            return $this->calendar->cE->getDaysInWeek( 
    188                 $this->calendar->year, 
    189                 $this->calendar->month, 
    190                 $this->calendar->day 
    191             ) + $dayOfWeek; 
     143                $this->calendar->year,$this->calendar->month,$this->calendar->day 
     144                ) + $dayOfWeek; 
    192145        } 
    193146    } 
Note: See TracChangeset for help on using the changeset viewer.