diff --git a/calendar.module b/calendar.module index 5bb9ff7..dec9808 100644 --- a/calendar.module +++ b/calendar.module @@ -356,6 +356,12 @@ function calendar_week_header($view) { $len = isset($view->date_info->style_name_size) ? $view->date_info->style_name_size : (!empty($view->date_info->mini) ? 1 : 3); $with_week = !empty($view->date_info->style_with_weekno); + //Get the relevant info from the url (week and year). + $period = $view->style_options['calendar_type']; + $dateurl = explode('-W', $view->args[0]); + + //If there is no week or year specified in the url, get the current date. + // create week header $untranslated_days = calendar_untranslated_days(); $full_translated_days = date_week_days_ordered(date_week_days(TRUE)); @@ -370,7 +376,41 @@ function calendar_week_header($view) { } foreach ($untranslated_days as $delta => $day) { $label = $len < 3 ? drupal_substr($translated_days[$delta], 0 , $len) : $translated_days[$delta]; - $row[] = array('header' => TRUE, 'class' => "days " . $day, 'data' => $label, 'header_id' => $full_translated_days[$delta]); + if ($period == 'week') { + //Get the date from the weekday. + switch ($day) { + case 'mon': + $weekdate = date( "d", strtotime($dateurl[0]."W".$dateurl[1]."1") ); + break; + + case 'tue': + $weekdate = date( "d", strtotime($dateurl[0]."W".$dateurl[1]."2") ); + break; + + case 'wed': + $weekdate = date( "d", strtotime($dateurl[0]."W".$dateurl[1]."3") ); + break; + + case 'thu': + $weekdate = date( "d", strtotime($dateurl[0]."W".$dateurl[1]."4") ); + break; + + case 'fri': + $weekdate = date( "d", strtotime($dateurl[0]."W".$dateurl[1]."5") ); + break; + + case 'sat': + $weekdate = date( "d", strtotime($dateurl[0]."W".$dateurl[1]."6") ); + break; + + case 'sun': + $weekdate = date( "d", strtotime($dateurl[0]."W".$dateurl[1]."7") ); + break; + } + $row[] = array('header' => TRUE, 'class' => "days " . $day, 'data' => $label . " " . $weekdate, 'header_id' => $full_translated_days[$delta]); + } else { + $row[] = array('header' => TRUE, 'class' => "days " . $day, 'data' => $label, 'header_id' => $full_translated_days[$delta]); + } } return $row; }