=== modified file 'uc_reports/uc_reports.admin.inc'
--- uc_reports/uc_reports.admin.inc	2008-12-17 22:37:57 +0000
+++ uc_reports/uc_reports.admin.inc	2008-12-18 17:03:26 +0000
@@ -250,15 +250,18 @@
 
 // Displays the sales summary report.
 function uc_reports_sales_summary() {
-  $timezone_offset = _uc_reports_timezone_offset();
+  $timezone_offset = time() - _uc_reports_timezone_offset();
   $order_statuses = _uc_reports_order_statuses();
   $format = variable_get('uc_date_format_default', 'm/d/Y');
 
-  $month_start = gmmktime(0, 0, 0, date('n'), 1, date('Y')) - $timezone_offset;
-  $month_end = gmmktime(23, 59, 59, date('n'), date('t'), date('Y')) - $timezone_offset;
-
-  $today_start = gmmktime(0, 0, 0, date('n'), date('j'), date('Y')) - $timezone_offset;
-  $today_end = gmmktime(23, 59, 59, date('n'), date('j'), date('Y')) - $timezone_offset;
+  $date_month = gmdate('n', $timezone_offset);
+  $date_year = gmdate('Y', $timezone_offset);
+
+  $month_start = gmmktime(0, 0, 0, $date_month, 1, $date_year);
+  $month_end = gmmktime(23, 59, 59, $date_month, gmdate('t', $timezone_offset), $date_year);
+
+  $today_start = gmmktime(0, 0, 0, $date_month, gmdate('j', $timezone_offset), $date_year);
+  $today_end = gmmktime(23, 59, 59, $date_month, gmdate('j', $timezone_offset), $date_year);
 
   // Build the report table header.
   $header = array(t('Sales data'), t('Number of orders'), t('Total revenue'), t('Average order'));
@@ -398,8 +401,8 @@
   // For each month of the year...
   for ($i = 1; $i <= 12; $i++) {
     // Calculate the start and end timestamps for the month in local time.
-    $month_start = gmmktime(0, 0, 0, $i, 1, $year) - $timezone_offset;
-    $month_end = gmmktime(23, 59, 59, $i + 1, 0, $year) - $timezone_offset;
+    $month_start = gmmktime(0, 0, 0 - $timezone_offset, $i, 1, $year);
+    $month_end = gmmktime(23, 59, 59 - $timezone_offset, $i + 1, 0, $year);
 
     // Get the sales report for the month.
     $month_sales = _uc_reports_get_sales($month_start, 'month');
@@ -430,8 +433,8 @@
   }
 
   // Calculate the start and end timestamps for the year in local time.
-  $year_start = gmmktime(0, 0, 0, 1, 1, $year) - $timezone_offset;
-  $year_end = gmmktime(23, 59, 59, 1, 0, $year + 1) - $timezone_offset;
+  $year_start = gmmktime(0, 0, 0, 1, 1, $year);
+  $year_end = gmmktime(23, 59, 59, 1, 0, $year + 1);
 
   // Get the sales report for the year.
   $year_sales = _uc_reports_get_sales($year_start, 'year');
@@ -505,7 +508,7 @@
   // Use default report parameters if we don't detect values in the URL.
   if (arg(5) == '') {
     $args = array(
-      'start_date' => gmmktime(0, 0, 0, format_date(time(), 'custom', 'n'), 1, format_date(time(), 'custom', 'Y') - 1) - $timezone_offset,
+      'start_date' => gmmktime(0, 0, 0, format_date(time(), 'custom', 'n', $timezone_offset), 1, format_date(time(), 'custom', 'Y', $timezone_offset) - 1),
       'end_date' => time() - $timezone_offset,
       'length' => 'month',
       'status' => FALSE,
@@ -548,10 +551,10 @@
 
     // Create the date title for the subreport.
     if ($args['length'] == 'day') {
-      $date = format_date($subreport['start'] - $timezone_offset, 'custom', $format .' - D');
+      $date = format_date($subreport['start'], 'custom', $format .' - D', $timezone_offset);
     }
     else {
-      $date = format_date($subreport['start'] - $timezone_offset, 'custom', $format) .' - '. format_date($subreport['end'], 'custom', $format);
+      $date = format_date($subreport['start'], 'custom', $format, $timezone_offset) .' - '. format_date($subreport['end'], 'custom', $format);
     }
 
     // Build the order data for the subreport.

