--- event.module.orig 2008-10-27 14:37:27.000000000 -0400 +++ event.module 2008-10-27 15:03:20.000000000 -0400 @@ -356,6 +356,11 @@ function event_admin_overview_settings() '#maxlength' => 5, '#size' => 3, '#description' => t('The default number of days to display in the table view. You can specify a different number of days in the url. More info on the event url format !link', array('!link' => l(t('here'), 'admin/help/event#url-format')))); + $form['event_table_hide_empty'] = array( + '#type' => 'checkbox', + '#title' => t('Hide empty rows in table view'), + '#default_value' => variable_get('event_table_hide_empty', ''), + '#description' => t('This option hides all days without events in the table view.')); if (module_exists('taxonomy')) { $form['event_taxonomy_control'] = array( @@ -787,10 +792,14 @@ function event_calendar_table($op, $date $month_name = event_format_date($cur_date, 'custom', 'M'); $dow = _event_day_of_week($cur_date) + 1; - $tbody[][] = array('colspan' => 3, - 'class' => strtolower("$month_name ". (!empty($weekdays[$dow]['day']) ? $weekdays[$dow]['day'] : '') . ($cur_date == $today ? ' today' : '') . ($cur_date['day'] == $date['day'] ? ' selected' : '')), - 'id' => strtolower($month_name . (!empty($cur_date['date']) ? $cur_date['date'] : '')), - 'data' => event_render_day($cur_date, 'table', $types, $terms, $rewrite_parameter)); + /* event_render_day_single() will only return the day of the month if no nodes exist for that day */ + $is_empty_day = is_int(event_render_day_single($cur_date, 'table', $types, $terms, $rewrite_parameter)); + if (!variable_get('event_table_hide_empty', '') || !$is_empty_day) { + $tbody[][] = array('colspan' => 3, + 'class' => strtolower("$month_name ". (!empty($weekdays[$dow]['day']) ? $weekdays[$dow]['day'] : '') . ($cur_date == $today ? ' today' : '') . ($cur_date['day'] == $date['day'] ? ' selected' : '')), + 'id' => strtolower($month_name . (!empty($cur_date['date']) ? $cur_date['date'] : '')), + 'data' => event_render_day($cur_date, 'table', $types, $terms, $rewrite_parameter)); + } $cur_date = event_date_later($cur_date, 1); }