Index: branches/RC/core/kernel/globals.php =================================================================== diff -u -r8929 -r9558 --- branches/RC/core/kernel/globals.php (.../globals.php) (revision 8929) +++ branches/RC/core/kernel/globals.php (.../globals.php) (revision 9558) @@ -575,4 +575,34 @@ return $headers; } + + if (!function_exists('easter_date')) { + // calculates easter date, when calendar extension not installed in php + // see also: http://php.prod.intechnic.lv/manual/en/function.easter-date.php + function easter_date ($Year) { + /* + G is the Golden Number-1 + H is 23-Epact (modulo 30) + I is the number of days from 21 March to the Paschal full moon + J is the weekday for the Paschal full moon (0=Sunday, + 1=Monday, etc.) + L is the number of days from 21 March to the Sunday on or before + the Paschal full moon (a number between -6 and 28) + */ + + + $G = $Year % 19; + $C = (int)($Year / 100); + $H = (int)($C - ($C / 4) - ((8*$C+13) / 25) + 19*$G + 15) % 30; + $I = (int)$H - (int)($H / 28)*(1 - (int)($H / 28)*(int)(29 / ($H + 1))*((int)(21 - $G) / 11)); + $J = ($Year + (int)($Year/4) + $I + 2 - $C + (int)($C/4)) % 7; + $L = $I - $J; + $m = 3 + (int)(($L + 40) / 44); + $d = $L + 28 - 31 * ((int)($m / 4)); + $y = $Year; + $E = mktime(0,0,0, $m, $d, $y); + + return $E; + } + } ?> \ No newline at end of file