Ok, I searched the other site and found out that Im the only one with this problem.
While it appears Toast found the cause, it doesnt look like anyone produced a fix yet.
[url=http]
Here is the link to the topic.[/url]
Here is what Toast came up with as the cause]thanks for the kind words, Dave. since getting the code and looking at the database structure last night, I've been able to get a better idea of what's going on here.
Here's the problem. Birthdays are stored in the database as simply a date. Displaying birthdays, however uses timestamps. translating from a date to a timestamp sets the persons birthday time to be 00:00, midnight, of their birthday.
in calendar_scheduler.php
- Code: Select all
$template->assign_block_vars('hour', array( 'CLASS' => $color, 'HOUR' => $l_hour, 'U_HOUR' => append_sid("./calendar_scheduler.$phpEx?" . (($i==0) ? '' ]
In this particular case, the server time, which is used to calculate current time, is set to GMT -5. However, event display is tied to a user's timezone.
in functions_calendar.php inside the display_calendar function
[code]$format = ( intval(date('Ymd', $offset_date)) == intval(date('Ymd', cal_date(time(),$board_config['board_timezone']))) ) ? '<b>%s</b>' ], $offset_date)), 'U_DATE' => append_sid($phpbb_root_path . "./calendar_scheduler.$phpEx?d=" . $offset_date . "&fid=$fid"), ) );
so, as you can see, in cases where the user's timezone is earlier than the server's time, events timestamped less than the timezone difference will be displayed incorrectly.
One solution could be removing the call to cal_date in events display. Another would be to break birthdays out with separate formatting than other events.[/quote]
Does anyone know how to fix this???