=== modified file 'uc_reports/uc_reports.admin.inc'
--- uc_reports/uc_reports.admin.inc	2008-12-17 08:40:03 +0000
+++ uc_reports/uc_reports.admin.inc	2008-12-18 07:58:20 +0000
@@ -242,15 +242,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;
+  $date_month = date('n', $timezone_offset);
+  $date_year = date('Y', $timezone_offset);
+  
+  $month_start = gmmktime(0, 0, 0, $date_month, 1, $date_year);
+  $month_end = gmmktime(23, 59, 59, $date_month, date('t', $timezone_offset), $date_year);
 
-  $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;
+  $today_start = gmmktime(0, 0, 0, $date_month, date('j', $timezone_offset), $date_year);
+  $today_end = gmmktime(23, 59, 59, $date_month, date('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'));
@@ -375,7 +378,7 @@
 
   // Get the year for the report from the URL.
   if (intval(arg(5)) == 0) {
-    $year = format_date(time(), 'custom', 'Y');
+    $year = format_date(time(), 'custom', 'Y', $timezone_offset);
   }
   else {
     $year = arg(5);
@@ -390,8 +393,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, $i, 1, $year);
+    $month_end = gmmktime(23, 59, 59, $i + 1, 0, $year);
 
     // Get the sales report for the month.
     $month_sales = _uc_reports_get_sales($month_start, 'month');
@@ -422,8 +425,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');
@@ -497,8 +500,8 @@
   // 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,
-      'end_date' => time() - $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,
       'detail' => FALSE,
@@ -513,7 +516,7 @@
       'detail' => arg(9),
     );
   }
-
+  
   // Pull the order statuses into a SQL friendly array.
   if ($args['status'] === FALSE) {
     $order_statuses = _uc_reports_order_statuses();
@@ -540,10 +543,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.
@@ -710,8 +713,8 @@
   $timezone_offset = _uc_reports_timezone_offset();
 
   // Build the start and end dates from the form.
-  $start_date = gmmktime(0, 0, 0, $form_state['values']['start_date']['month'], $form_state['values']['start_date']['day'], $form_state['values']['start_date']['year']) - $timezone_offset;
-  $end_date = gmmktime(23, 59, 59, $form_state['values']['end_date']['month'], $form_state['values']['end_date']['day'], $form_state['values']['end_date']['year']) - $timezone_offset;
+  $start_date = gmmktime(0, 0, 0, $form_state['values']['start_date']['month'], $form_state['values']['start_date']['day'], $form_state['values']['start_date']['year']) + $timezone_offset;
+  $end_date = gmmktime(23, 59, 59, $form_state['values']['end_date']['month'], $form_state['values']['end_date']['day'], $form_state['values']['end_date']['year']) + $timezone_offset;
 
   $args = array(
     $start_date,

