Ignore:
Timestamp:
2013/08/28 13:55:43 (7 years ago)
Author:
m_uehara
Message:

#2348 r23140 をマージ

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13_0/data/module/Calendar/Decorator.php

    r23126 r23143  
    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// +----------------------------------------------------------------------+ 
     19// 
     20// $Id: Decorator.php,v 1.3 2005/10/22 10:29:46 quipo Exp $ 
     21// 
    422/** 
    5  * Contains the Calendar_Decorator 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  * @copyright 2003-2007 Harry Fuecks 
    34  * @license   http://www.debian.org/misc/bsd.license  BSD License (3 Clause) 
    35  * @version   CVS: $Id: Decorator.php 300729 2010-06-24 12:05:53Z quipo $ 
    36  * @link      http://pear.php.net/package/Calendar 
     23 * @package Calendar 
     24 * @version $Id: Decorator.php,v 1.3 2005/10/22 10:29:46 quipo Exp $ 
    3725 */ 
    38  
    3926/** 
    4027 * Decorates any calendar class. 
     
    5037 *     } 
    5138 * } 
    52  * $Day = new Calendar_Day(2003, 10, 25); 
    53  * $DayDecorator = new DayDecorator($Day); 
     39 * $Day = & new Calendar_Day(2003, 10, 25); 
     40 * $DayDecorator = & new DayDecorator($Day); 
    5441 * echo $DayDecorator->thisDay(); // Outputs "Sat" 
    5542 * </code> 
    56  * 
    57  * @category  Date and Time 
    58  * @package   Calendar 
    59  * @author    Harry Fuecks <hfuecks@phppatterns.com> 
    60  * @copyright 2003-2007 Harry Fuecks 
    61  * @license   http://www.debian.org/misc/bsd.license  BSD License (3 Clause) 
    62  * @link      http://pear.php.net/package/Calendar 
    6343 * @abstract 
     44 * @package Calendar 
    6445 */ 
    6546class Calendar_Decorator 
     
    7455    /** 
    7556     * Constructs the Calendar_Decorator 
    76      * 
    77      * @param object &$calendar subclass to Calendar to decorate 
    78      */ 
    79     function Calendar_Decorator(&$calendar) 
     57     * @param object subclass to Calendar to decorate 
     58     */ 
     59    function Calendar_Decorator(& $calendar) 
    8060    { 
    8161        $this->calendar = & $calendar; 
     
    8565     * Defines the calendar by a Unix timestamp, replacing values 
    8666     * passed to the constructor 
    87      * 
    88      * @param int $ts Unix timestamp 
    89      * 
     67     * @param int Unix timestamp 
    9068     * @return void 
    9169     * @access public 
     
    9977     * Returns a timestamp from the current date / time values. Format of 
    10078     * timestamp depends on Calendar_Engine implementation being used 
    101      * 
    102      * @return int $ts timestamp 
     79     * @return int timestamp 
    10380     * @access public 
    10481     */ 
     
    11087    /** 
    11188     * Defines calendar object as selected (e.g. for today) 
    112      * 
    113      * @param boolean $state whether Calendar subclass must be selected 
    114      * 
     89     * @param boolean state whether Calendar subclass 
    11590     * @return void 
    11691     * @access public 
     
    12398    /** 
    12499     * True if the calendar subclass object is selected (e.g. today) 
    125      * 
    126100     * @return boolean 
    127101     * @access public 
     
    134108    /** 
    135109     * Adjusts the date (helper method) 
    136      * 
    137110     * @return void 
    138111     * @access public 
     
    145118    /** 
    146119     * Returns the date as an associative array (helper method) 
    147      * 
    148      * @param mixed $stamp timestamp (leave empty for current timestamp) 
    149      * 
     120     * @param mixed timestamp (leave empty for current timestamp) 
    150121     * @return array 
    151122     * @access public 
    152123     */ 
    153     function toArray($stamp = null) 
     124    function toArray($stamp=null) 
    154125    { 
    155126        return $this->calendar->toArray($stamp); 
     
    158129    /** 
    159130     * Returns the value as an associative array (helper method) 
    160      * 
    161      * @param string  $returnType type of date object that return value represents 
    162      * @param string  $format     ['int'|'timestamp'|'object'|'array'] 
    163      * @param mixed   $stamp      timestamp (depending on Calendar engine being used) 
    164      * @param integer $default    default value (i.e. give me the answer quick) 
    165      * 
     131     * @param string type of date object that return value represents 
     132     * @param string $format ['int' | 'array' | 'timestamp' | 'object'] 
     133     * @param mixed timestamp (depending on Calendar engine being used) 
     134     * @param int integer default value (i.e. give me the answer quick) 
    166135     * @return mixed 
    167136     * @access private 
     
    175144     * Defines Day object as first in a week 
    176145     * Only used by Calendar_Month_Weekdays::build() 
    177      * 
    178      * @param boolean $state whether it's first or not 
    179      * 
     146     * @param boolean state 
    180147     * @return void 
    181148     * @access private 
    182149     */ 
    183     function setFirst($state = true) 
    184     { 
    185         if (method_exists($this->calendar, 'setFirst')) { 
     150    function setFirst ($state = true) 
     151    { 
     152        if ( method_exists($this->calendar,'setFirst') ) { 
    186153            $this->calendar->setFirst($state); 
    187154        } 
     
    191158     * Defines Day object as last in a week 
    192159     * Used only following Calendar_Month_Weekdays::build() 
    193      * 
    194      * @param boolean $state whether it's last or not 
    195      * 
     160     * @param boolean state 
    196161     * @return void 
    197162     * @access private 
     
    199164    function setLast($state = true) 
    200165    { 
    201         if (method_exists($this->calendar, 'setLast')) { 
     166        if ( method_exists($this->calendar,'setLast') ) { 
    202167            $this->calendar->setLast($state); 
    203168        } 
     
    207172     * Returns true if Day object is first in a Week 
    208173     * Only relevant when Day is created by Calendar_Month_Weekdays::build() 
    209      * 
    210174     * @return boolean 
    211175     * @access public 
    212176     */ 
    213     function isFirst() 
    214     { 
    215         if (method_exists($this->calendar, 'isFirst')) { 
     177    function isFirst() { 
     178        if ( method_exists($this->calendar,'isFirst') ) { 
    216179            return $this->calendar->isFirst(); 
    217180        } 
     
    221184     * Returns true if Day object is last in a Week 
    222185     * Only relevant when Day is created by Calendar_Month_Weekdays::build() 
    223      * 
    224186     * @return boolean 
    225187     * @access public 
     
    227189    function isLast() 
    228190    { 
    229         if (method_exists($this->calendar, 'isLast')) { 
     191        if ( method_exists($this->calendar,'isLast') ) { 
    230192            return $this->calendar->isLast(); 
    231193        } 
     
    235197     * Defines Day object as empty 
    236198     * Only used by Calendar_Month_Weekdays::build() 
    237      * 
    238      * @param boolean $state whether it's empty or not 
    239      * 
     199     * @param boolean state 
    240200     * @return void 
    241201     * @access private 
     
    243203    function setEmpty ($state = true) 
    244204    { 
    245         if (method_exists($this->calendar, 'setEmpty')) { 
     205        if ( method_exists($this->calendar,'setEmpty') ) { 
    246206            $this->calendar->setEmpty($state); 
    247207        } 
     
    249209 
    250210    /** 
    251      * Check if the current object is empty 
    252      * 
    253211     * @return boolean 
    254212     * @access public 
     
    256214    function isEmpty() 
    257215    { 
    258         if (method_exists($this->calendar, 'isEmpty')) { 
     216        if ( method_exists($this->calendar,'isEmpty') ) { 
    259217            return $this->calendar->isEmpty(); 
    260218        } 
     
    263221    /** 
    264222     * Build the children 
    265      * 
    266      * @param array $sDates array containing Calendar objects to select (optional) 
    267      * 
     223     * @param array containing Calendar objects to select (optional) 
    268224     * @return boolean 
    269225     * @access public 
     
    280236     * the collection, returns false and resets the collection for 
    281237     * further iteratations. 
    282      * 
    283238     * @return mixed either an object subclass of Calendar or false 
    284239     * @access public 
     
    291246    /** 
    292247     * Fetches all child from the current collection of children 
    293      * 
    294248     * @return array 
    295249     * @access public 
     
    301255 
    302256    /** 
    303      * Get the number Calendar subclass objects stored in the internal collection 
    304      * 
     257     * Get the number Calendar subclass objects stored in the internal 
     258     * collection. 
    305259     * @return int 
    306260     * @access public 
     
    313267    /** 
    314268     * Determine whether this date is valid, with the bounds determined by 
    315      * the Calendar_Engine. The call is passed on to Calendar_Validator::isValid 
    316      * 
     269     * the Calendar_Engine. The call is passed on to 
     270     * Calendar_Validator::isValid 
    317271     * @return boolean 
    318272     * @access public 
     
    325279    /** 
    326280     * Returns an instance of Calendar_Validator 
    327      * 
    328281     * @return Calendar_Validator 
    329282     * @access public 
     
    338291     * Returns a reference to the current Calendar_Engine being used. Useful 
    339292     * for Calendar_Table_Helper and Calendar_Validator 
    340      * 
    341293     * @return object implementing Calendar_Engine_Inteface 
    342294     * @access private 
     
    344296    function & getEngine() 
    345297    { 
    346         $engine = $this->calendar->getEngine(); 
    347         return $engine; 
     298        return $this->calendar->getEngine(); 
    348299    } 
    349300 
    350301    /** 
    351302     * Returns the value for the previous year 
    352      * 
    353      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    354      * 
     303     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    355304     * @return int e.g. 2002 or timestamp 
    356305     * @access public 
     
    363312    /** 
    364313     * Returns the value for this year 
    365      * 
    366      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    367      * 
     314     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    368315     * @return int e.g. 2003 or timestamp 
    369316     * @access public 
     
    376323    /** 
    377324     * Returns the value for next year 
    378      * 
    379      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    380      * 
     325     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    381326     * @return int e.g. 2004 or timestamp 
    382327     * @access public 
     
    389334    /** 
    390335     * Returns the value for the previous month 
    391      * 
    392      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    393      * 
     336     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    394337     * @return int e.g. 4 or Unix timestamp 
    395338     * @access public 
     
    402345    /** 
    403346     * Returns the value for this month 
    404      * 
    405      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    406      * 
     347     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    407348     * @return int e.g. 5 or timestamp 
    408349     * @access public 
     
    415356    /** 
    416357     * Returns the value for next month 
    417      * 
    418      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    419      * 
     358     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    420359     * @return int e.g. 6 or timestamp 
    421360     * @access public 
     
    428367    /** 
    429368     * Returns the value for the previous week 
    430      * 
    431      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    432      * 
     369     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    433370     * @return int e.g. 4 or Unix timestamp 
    434371     * @access public 
     
    436373    function prevWeek($format = 'n_in_month') 
    437374    { 
    438         if ( method_exists($this->calendar, 'prevWeek')) { 
     375        if ( method_exists($this->calendar,'prevWeek') ) { 
    439376            return $this->calendar->prevWeek($format); 
    440377        } else { 
    441             include_once 'PEAR.php'; 
     378            require_once 'PEAR.php'; 
    442379            PEAR::raiseError( 
    443380                'Cannot call prevWeek on Calendar object of type: '. 
     
    450387    /** 
    451388     * Returns the value for this week 
    452      * 
    453      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    454      * 
     389     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    455390     * @return int e.g. 5 or timestamp 
    456391     * @access public 
     
    458393    function thisWeek($format = 'n_in_month') 
    459394    { 
    460         if ( method_exists($this->calendar, 'thisWeek')) { 
     395        if ( method_exists($this->calendar,'thisWeek') ) { 
    461396            return $this->calendar->thisWeek($format); 
    462397        } else { 
    463             include_once 'PEAR.php'; 
     398            require_once 'PEAR.php'; 
    464399            PEAR::raiseError( 
    465400                'Cannot call thisWeek on Calendar object of type: '. 
     
    472407    /** 
    473408     * Returns the value for next week 
    474      * 
    475      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    476      * 
     409     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    477410     * @return int e.g. 6 or timestamp 
    478411     * @access public 
     
    480413    function nextWeek($format = 'n_in_month') 
    481414    { 
    482         if ( method_exists($this->calendar, 'nextWeek')) { 
     415        if ( method_exists($this->calendar,'nextWeek') ) { 
    483416            return $this->calendar->nextWeek($format); 
    484417        } else { 
    485             include_once 'PEAR.php'; 
     418            require_once 'PEAR.php'; 
    486419            PEAR::raiseError( 
    487420                'Cannot call thisWeek on Calendar object of type: '. 
     
    494427    /** 
    495428     * Returns the value for the previous day 
    496      * 
    497      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    498      * 
     429     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    499430     * @return int e.g. 10 or timestamp 
    500431     * @access public 
    501432     */ 
    502     function prevDay($format = 'int') 
    503     { 
     433    function prevDay($format = 'int') { 
    504434        return $this->calendar->prevDay($format); 
    505435    } 
     
    507437    /** 
    508438     * Returns the value for this day 
    509      * 
    510      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    511      * 
     439     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    512440     * @return int e.g. 11 or timestamp 
    513441     * @access public 
     
    520448    /** 
    521449     * Returns the value for the next day 
    522      * 
    523      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    524      * 
     450     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    525451     * @return int e.g. 12 or timestamp 
    526452     * @access public 
     
    533459    /** 
    534460     * Returns the value for the previous hour 
    535      * 
    536      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    537      * 
     461     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    538462     * @return int e.g. 13 or timestamp 
    539463     * @access public 
     
    546470    /** 
    547471     * Returns the value for this hour 
    548      * 
    549      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    550      * 
     472     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    551473     * @return int e.g. 14 or timestamp 
    552474     * @access public 
     
    559481    /** 
    560482     * Returns the value for the next hour 
    561      * 
    562      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    563      * 
     483     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    564484     * @return int e.g. 14 or timestamp 
    565485     * @access public 
     
    572492    /** 
    573493     * Returns the value for the previous minute 
    574      * 
    575      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    576      * 
     494     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    577495     * @return int e.g. 23 or timestamp 
    578496     * @access public 
     
    585503    /** 
    586504     * Returns the value for this minute 
    587      * 
    588      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    589      * 
     505     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    590506     * @return int e.g. 24 or timestamp 
    591507     * @access public 
     
    598514    /** 
    599515     * Returns the value for the next minute 
    600      * 
    601      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    602      * 
     516     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    603517     * @return int e.g. 25 or timestamp 
    604518     * @access public 
    605519     */ 
    606     function nextMinute($format = 'int') 
     520   function nextMinute($format = 'int') 
    607521    { 
    608522        return $this->calendar->nextMinute($format); 
     
    611525    /** 
    612526     * Returns the value for the previous second 
    613      * 
    614      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    615      * 
     527     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    616528     * @return int e.g. 43 or timestamp 
    617529     * @access public 
     
    624536    /** 
    625537     * Returns the value for this second 
    626      * 
    627      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    628      * 
     538     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    629539     * @return int e.g. 44 or timestamp 
    630540     * @access public 
     
    637547    /** 
    638548     * Returns the value for the next second 
    639      * 
    640      * @param string $format return value format ['int'|'timestamp'|'object'|'array'] 
    641      * 
     549     * @param string return value format ['int' | 'timestamp' | 'object' | 'array'] 
    642550     * @return int e.g. 45 or timestamp 
    643551     * @access public 
Note: See TracChangeset for help on using the changeset viewer.