CVS update: php3/functions
| From: | jim | Date: | Sun, 20 Jun 1999 17:14:05 +0000 |
| Subject: | CVS update: php3/functions | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-7252@lists.php.net to get a copy of this message | ||
Date: Sunday June 20, 1999 @ 13:14
Author: jim
Update of /repository/php3/functions
In directory php:/tmp/cvs-serv3187/functions
Modified Files:
datetime.c datetime.h
Log Message:
Move easter_date() and easter_days() to the calendar extension.
Index: php3/functions/datetime.c
diff -u php3/functions/datetime.c:1.63 php3/functions/datetime.c:1.64
--- php3/functions/datetime.c:1.63 Tue Jun 15 13:09:36 1999
+++ php3/functions/datetime.c Sun Jun 20 13:14:05 1999
@@ -30,7 +30,7 @@
*/
-/* $Id: datetime.c,v 1.63 1999/06/15 17:09:36 fmk Exp $ */
+/* $Id: datetime.c,v 1.64 1999/06/20 17:14:05 jim Exp $ */
#ifdef THREAD_SAFE
@@ -169,117 +169,6 @@
void php3_gmmktime(INTERNAL_FUNCTION_PARAMETERS)
{
_php3_mktime(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1);
-}
-/* }}} */
-
-
-void _php3_easter(INTERNAL_FUNCTION_PARAMETERS, int gm)
-{
-
- /* based on code by Simon Kershaw, <webmaster@ely.anglican.org> */
-
- pval *year_arg;
- struct tm *ta, te;
- time_t the_time;
- int year, golden, solar, lunar, pfm, dom, tmp, easter;
-
- switch(ARG_COUNT(ht)) {
- case 0:
- the_time = time(NULL);
- ta = localtime(&the_time);
- year = ta->tm_year + 1900;
- break;
- case 1:
- if (getParameters(ht, 1, &year_arg) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
- convert_to_long(year_arg);
- year = year_arg->value.lval;
- break;
- default:
- WRONG_PARAM_COUNT;
- }
-
- if (gm && (year<1970 || year>2037)) { /* out of range for timestamps */
- php3_error(E_WARNING, "easter_date() is only valid for years between 1970 and 2037
inclusive");
- RETURN_FALSE;
- }
-
- golden = (year % 19) + 1; /* the Golden number */
-
- if ( year <= 1752 ) { /* JULIAN CALENDAR */
- dom = (year + (year/4) + 5) % 7; /* the "Dominical number" - finding a Sunday */
- if (dom < 0) {
- dom += 7;
- }
-
- pfm = (3 - (11*golden) - 7) % 30; /* uncorrected date of the Paschal full moon */
- if (pfm < 0) {
- pfm += 30;
- }
- } else { /* GREGORIAN CALENDAR */
- dom = (year + (year/4) - (year/100) + (year/400)) % 7; /* the "Domincal number" */
- if (dom < 0) {
- dom += 7;
- }
-
- solar = (year-1600)/100 - (year-1600)/400; /* the solar and lunar corrections */
- lunar = (((year-1400) / 100) * 8) / 25;
-
- pfm = (3 - (11*golden) + solar - lunar) % 30; /* uncorrected date of the Paschal full moon */
- if (pfm < 0) {
- pfm += 30;
- }
- }
-
- if ((pfm == 29) || (pfm == 28 && golden > 11)) { /* corrected date of the Paschal full
moon */
- pfm--; /* - days after 21st March */
- }
-
- tmp = (4-pfm-dom) % 7;
- if (tmp < 0) {
- tmp += 7;
- }
-
- easter = pfm + tmp + 1; /* Easter as the number of days after 21st March */
-
- if (gm) { /* return a timestamp */
- te.tm_isdst = -1;
- te.tm_year = year-1900;
- te.tm_sec = 0;
- te.tm_min = 0;
- te.tm_hour = 0;
-
- if (easter < 11) {
- te.tm_mon = 2; /* March */
- te.tm_mday = easter+21;
- } else {
- te.tm_mon = 3; /* April */
- te.tm_mday = easter-10;
- }
-
- return_value->value.lval = mktime(&te);
- } else { /* return the days after March 21 */
- return_value->value.lval = easter;
- }
-
- return_value->type = IS_LONG;
-
-}
-
-/* {{{ proto int easter_date([int year])
- Return the timestamp of midnight on Easter of a given year (defaults to current year) */
-void php3_easter_date(INTERNAL_FUNCTION_PARAMETERS)
-{
- _php3_easter(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1);
-}
-/* }}} */
-
-/* {{{ proto int easter_days([int year])
- Return the number of days after March 21 that Easter falls on for a given year (defaults to
current year) */
-void php3_easter_days(INTERNAL_FUNCTION_PARAMETERS)
-{
- _php3_easter(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0);
}
/* }}} */
Index: php3/functions/datetime.h
diff -u php3/functions/datetime.h:1.13 php3/functions/datetime.h:1.14
--- php3/functions/datetime.h:1.13 Wed Jun 2 19:53:17 1999
+++ php3/functions/datetime.h Sun Jun 20 13:14:05 1999
@@ -29,15 +29,13 @@
*/
-/* $Id: datetime.h,v 1.13 1999/06/02 23:53:17 cmv Exp $ */
+/* $Id: datetime.h,v 1.14 1999/06/20 17:14:05 jim Exp $ */
#ifndef _DATETIME_H
#define _DATETIME_H
extern void php3_time(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mktime(INTERNAL_FUNCTION_PARAMETERS);
-extern void php3_easter_date(INTERNAL_FUNCTION_PARAMETERS);
-extern void php3_easter_days(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_gmmktime(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_date(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_gmdate(INTERNAL_FUNCTION_PARAMETERS);