? 686394-2.diff ? 686394-3.diff Index: date_api_argument_handler.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/date/includes/date_api_argument_handler.inc,v retrieving revision 1.1.2.47 diff -u -r1.1.2.47 date_api_argument_handler.inc --- date_api_argument_handler.inc 28 Dec 2010 15:32:56 -0000 1.1.2.47 +++ date_api_argument_handler.inc 2 Jan 2011 00:38:47 -0000 @@ -153,7 +153,28 @@ */ function get_default_argument($raw = FALSE) { if (!$raw && $this->options['default_argument_type'] == 'date') { - return date($this->format(), time()); + $arg = date($this->format(), time()); + + $parts = $this->date_handler->arg_parts($arg); + + if($parts[0]['date']['week'] ){ + $yday = date('z'); + $wday = date('w'); + $date = date('Y-m-d'); + $week = date_week($date); + $year = date("Y"); + $iso_week_start_wday = (variable_get('date_first_day', 1)) ; + $day_diff = $wday >= $iso_week_start_wday ? $iso_week_start_wday + 7 - $wday : $iso_week_start_wday - $wday; + dpm($day_diff); + if($yday + $day_diff < 7){ + $year--; + if(!(variable_get('date_api_use_iso8601', FALSE)) ){ + $week = date_weeks_in_year($year); + } + } + $arg = sprintf('%u-W%02u',$year,$week); + } + return $arg; } else { return parent::get_default_argument($raw);