Index: archive.module =================================================================== RCS file: /cvs/drupal/drupal/modules/archive.module,v retrieving revision 1.89 diff -u -r1.89 archive.module --- archive.module 5 Jun 2006 09:32:46 -0000 1.89 +++ archive.module 12 Jul 2006 05:24:35 -0000 @@ -67,9 +67,10 @@ function archive_calendar() { global $user; + $user_time = time() + $user->timezone; // Extract today's date: - $start_of_today = mktime(0, 0, 0, date('n', time()), date('d', time()), date('Y', time())) + $user->timezone; - $end_of_today = mktime(23, 59, 59, date('n', time()), date('d', time()), date('Y', time())) + $user->timezone; + $start_of_today = gmmktime(0, 0, 0, gmdate('n', $user_time), gmdate('d', $user_time), gmdate('Y', $user_time)) - $user->timezone; + $end_of_today = gmmktime(23, 59, 59, gmdate('n', $user_time), gmdate('d', $user_time), gmdate('Y', $user_time)) - $user->timezone; // Extract the requested date: if (arg(0) == 'archive' && arg(3)) { @@ -77,25 +78,25 @@ $month = arg(2); $day = arg(3); - $requested = mktime(0, 0, 0, $month, $day, $year) + $user->timezone; + $requested = gmmktime(0, 0, 0, $month, $day, $year) - $user->timezone; } else { - $year = date('Y', time()); - $month = date('n', time()); - $day = date('d', time()); + $year = gmdate('Y', $user_time); + $month = gmdate('n', $user_time); + $day = gmdate('d', $user_time); - $requested = $end_of_today + $user->timezone; + $requested = $end_of_today; } - $start_of_month = mktime(0, 0, 0, $month, 1, $year); + $start_of_month = gmmktime(0, 0, 0, $month, 1, $year) - $user->timezone; // Extract first day of the month: - $first = date('w', $start_of_month); + $first = gmdate('w', $start_of_month + $user->timezone); // Extract last day of the month: - $last = date('t', $start_of_month); + $last = gmdate('t', $start_of_month + $user->timezone); - $end_of_month = mktime(23, 59, 59, $month, $last, $year); + $end_of_month = gmmktime(23, 59, 59, $month, $last, $year) - $user->timezone; $cache = cache_get("archive:calendar:$day-$month-$year"); @@ -104,10 +105,10 @@ } // Calculate previous and next months dates and check for shorter months (28/30 days) - $prevmonth = mktime(23, 59, 59, $month - 1, 1, $year); - $prev = mktime(23, 59, 59, $month - 1, min(date('t', $prevmonth), $day), $year); - $nextmonth = mktime(23, 59, 59, $month + 1, 1, $year); - $next = mktime(23, 59, 59, $month + 1, min(date('t', $nextmonth), $day), $year); + $prevmonth = gmmktime(23, 59, 59, $month - 1, 1, $year) - $user->timezone; + $prev = gmmktime(23, 59, 59, $month - 1, min(gmdate('t', $prevmonth + $user->timezone), $day), $year) - $user->timezone; + $nextmonth = gmmktime(23, 59, 59, $month + 1, 1, $year) - $user->timezone; + $next = gmmktime(23, 59, 59, $month + 1, min(gmdate('t', $nextmonth + $user->timezone), $day), $year); $sql = 'SELECT n.nid, n.created FROM {node} n WHERE n.status = 1 AND n.created > %d AND n.created < %d ORDER BY n.created'; $sql = db_rewrite_sql($sql); @@ -115,7 +116,7 @@ $days_with_posts = array(); while ($day_with_post = db_fetch_object($result)) { - $daynum = date('j', $day_with_post->created + $user->timezone); + $daynum = gmdate('j', $day_with_post->created + $user->timezone); if (isset($days_with_posts[$daynum])) { $days_with_posts[$daynum]++; } @@ -128,7 +129,7 @@ $output .= "\n\n"; $output .= '