source: branches/version-2_13_0/data/module/Calendar/Engine/Interface.php @ 23126

Revision 23126, 9.5 KB checked in by m_uehara, 11 years ago (diff)

#2348 r23116 - r23125 をマージ

  • Property svn:eol-style set to LF
  • Property svn:mime-type set to text/x-httpd-php; charset=UTF-8
Line 
1<?php
2/* vim: set expandtab tabstop=4 shiftwidth=4: */
3
4/**
5 * Contains the Calendar_Engine_Interface class (interface)
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: Interface.php 269074 2008-11-15 21:21:42Z quipo $
37 * @link      http://pear.php.net/package/Calendar
38 */
39
40/**
41 * The methods the classes implementing the Calendar_Engine must implement.
42 * Note this class is not used but simply to help development
43 *
44 * @category  Date and Time
45 * @package   Calendar
46 * @author    Harry Fuecks <hfuecks@phppatterns.com>
47 * @author    Lorenzo Alberton <l.alberton@quipo.it>
48 * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
49 * @license   http://www.debian.org/misc/bsd.license  BSD License (3 Clause)
50 * @link      http://pear.php.net/package/Calendar
51 * @access protected
52 */
53class Calendar_Engine_Interface
54{
55    /**
56     * Provides a mechansim to make sure parsing of timestamps
57     * into human dates is only performed once per timestamp.
58     * Typically called "internally" by methods like stampToYear.
59     * Return value can vary, depending on the specific implementation
60     *
61     * @param int $stamp timestamp (depending on implementation)
62     *
63     * @return mixed
64     * @access protected
65     */
66    function stampCollection($stamp)
67    {
68    }
69
70    /**
71     * Returns a numeric year given a timestamp
72     *
73     * @param int $stamp timestamp (depending on implementation)
74     *
75     * @return int year (e.g. 2003)
76     * @access protected
77     */
78    function stampToYear($stamp)
79    {
80    }
81
82    /**
83     * Returns a numeric month given a timestamp
84     *
85     * @param int $stamp timestamp (depending on implementation)
86     *
87     * @return int month (e.g. 9)
88     * @access protected
89     */
90    function stampToMonth($stamp)
91    {
92    }
93
94    /**
95     * Returns a numeric day given a timestamp
96     *
97     * @param int $stamp timestamp (depending on implementation)
98     *
99     * @return int day (e.g. 15)
100     * @access protected
101     */
102    function stampToDay($stamp)
103    {
104    }
105
106    /**
107     * Returns a numeric hour given a timestamp
108     *
109     * @param int $stamp timestamp (depending on implementation)
110     *
111     * @return int hour (e.g. 13)
112     * @access protected
113     */
114    function stampToHour($stamp)
115    {
116    }
117
118    /**
119     * Returns a numeric minute given a timestamp
120     *
121     * @param int $stamp timestamp (depending on implementation)
122     *
123     * @return int minute (e.g. 34)
124     * @access protected
125     */
126    function stampToMinute($stamp)
127    {
128    }
129
130    /**
131     * Returns a numeric second given a timestamp
132     *
133     * @param int $stamp timestamp (depending on implementation)
134     *
135     * @return int second (e.g. 51)
136     * @access protected
137     */
138    function stampToSecond($stamp)
139    {
140    }
141
142    /**
143     * Returns a timestamp. Can be worth "caching" generated timestamps in a
144     * static variable, identified by the params this method accepts,
145     * to timestamp will only be calculated once.
146     *
147     * @param int $y year (e.g. 2003)
148     * @param int $m month (e.g. 9)
149     * @param int $d day (e.g. 13)
150     * @param int $h hour (e.g. 13)
151     * @param int $i minute (e.g. 34)
152     * @param int $s second (e.g. 53)
153     *
154     * @return int (depends on implementation)
155     * @access protected
156     */
157    function dateToStamp($y, $m, $d, $h, $i, $s)
158    {
159    }
160
161    /**
162     * The upper limit on years that the Calendar Engine can work with
163     *
164     * @return int (e.g. 2037)
165     * @access protected
166     */
167    function getMaxYears()
168    {
169    }
170
171    /**
172     * The lower limit on years that the Calendar Engine can work with
173     *
174     * @return int (e.g 1902)
175     * @access protected
176     */
177    function getMinYears()
178    {
179    }
180
181    /**
182     * Returns the number of months in a year
183     *
184     * @param int $y (optional) year to get months for
185     *
186     * @return int (e.g. 12)
187     * @access protected
188     */
189    function getMonthsInYear($y=null)
190    {
191    }
192
193    /**
194     * Returns the number of days in a month, given year and month
195     *
196     * @param int $y year (e.g. 2003)
197     * @param int $m month (e.g. 9)
198     *
199     * @return int days in month
200     * @access protected
201     */
202    function getDaysInMonth($y, $m)
203    {
204    }
205
206    /**
207     * Returns numeric representation of the day of the week in a month,
208     * given year and month
209     *
210     * @param int $y year (e.g. 2003)
211     * @param int $m month (e.g. 9)
212     *
213     * @return int
214     * @access protected
215     */
216    function getFirstDayInMonth ($y, $m)
217    {
218    }
219
220    /**
221     * Returns the number of days in a week
222     *
223     * @param int $y year (2003)
224     * @param int $m month (9)
225     * @param int $d day (4)
226     *
227     * @return int (e.g. 7)
228     * @access protected
229     */
230    function getDaysInWeek($y=null, $m=null, $d=null)
231    {
232    }
233
234    /**
235     * Returns the number of the week in the year (ISO-8601), given a date
236     *
237     * @param int $y year (2003)
238     * @param int $m month (9)
239     * @param int $d day (4)
240     *
241     * @return int week number
242     * @access protected
243     */
244    function getWeekNInYear($y, $m, $d)
245    {
246    }
247
248    /**
249     * Returns the number of the week in the month, given a date
250     *
251     * @param int $y        year (2003)
252     * @param int $m        month (9)
253     * @param int $d        day (4)
254     * @param int $firstDay first day of the week (default: 1 - monday)
255     *
256     * @return int week number
257     * @access protected
258     */
259    function getWeekNInMonth($y, $m, $d, $firstDay=1)
260    {
261    }
262
263    /**
264     * Returns the number of weeks in the month
265     *
266     * @param int $y year (2003)
267     * @param int $m month (9)
268     *
269     * @return int weeks number
270     * @access protected
271     */
272    function getWeeksInMonth($y, $m)
273    {
274    }
275
276    /**
277     * Returns the number of the day of the week (0=sunday, 1=monday...)
278     *
279     * @param int $y year (2003)
280     * @param int $m month (9)
281     * @param int $d day (4)
282     *
283     * @return int weekday number
284     * @access protected
285     */
286    function getDayOfWeek($y, $m, $d)
287    {
288    }
289
290    /**
291     * Returns the numeric values of the days of the week.
292     *
293     * @param int $y year (2003)
294     * @param int $m month (9)
295     * @param int $d day (4)
296     *
297     * @return array list of numeric values of days in week, beginning 0
298     * @access protected
299     */
300    function getWeekDays($y=null, $m=null, $d=null)
301    {
302    }
303
304    /**
305     * Returns the default first day of the week as an integer. Must be a
306     * member of the array returned from getWeekDays
307     *
308     * @param int $y year (2003)
309     * @param int $m month (9)
310     * @param int $d day (4)
311     *
312     * @return int (e.g. 1 for Monday)
313     * @see getWeekDays
314     * @access protected
315     */
316    function getFirstDayOfWeek($y=null, $m=null, $d=null)
317    {
318    }
319
320    /**
321     * Returns the number of hours in a day
322     *
323     * @param int $y year (2003)
324     * @param int $m month (9)
325     * @param int $d day (4)
326     *
327     * @return int (e.g. 24)
328     * @access protected
329     */
330    function getHoursInDay($y=null,$m=null,$d=null)
331    {
332    }
333
334    /**
335     * Returns the number of minutes in an hour
336     *
337     * @param int $y year (2003)
338     * @param int $m month (9)
339     * @param int $d day (4)
340     * @param int $h hour
341     *
342     * @return int
343     * @access protected
344     */
345    function getMinutesInHour($y=null,$m=null,$d=null,$h=null)
346    {
347    }
348
349    /**
350     * Returns the number of seconds in a minutes
351     *
352     * @param int $y year (2003)
353     * @param int $m month (9)
354     * @param int $d day (4)
355     * @param int $h hour
356     * @param int $i minute
357     *
358     * @return int
359     * @access protected
360     */
361    function getSecondsInMinute($y=null,$m=null,$d=null,$h=null,$i=null)
362    {
363    }
364
365    /**
366     * Checks if the given day is the current day
367     *
368     * @param int timestamp (depending on implementation)
369     *
370     * @return boolean
371     * @access protected
372     */
373    function isToday($stamp)
374    {
375    }
376}
377?>
Note: See TracBrowser for help on using the repository browser.