CVS update: php3/functions

From: 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);

« previous php.dev (#7252) next »