You are here

function date_views_browser_navigation in Date 5.2

Same name and namespace in other branches
  1. 5 date_views.inc \date_views_browser_navigation()

Navigation links for the full view

1 call to date_views_browser_navigation()
theme_date_views_browser_full_view in date/date.theme
View, themed so it can be overridden

File

date/date_views.inc, line 718

Code

function date_views_browser_navigation($view, $period) {
  $arg = NULL;
  foreach ($view->argument as $pos => $argument) {
    if ($argument['options'] == $period) {
      $arg = $view->args[$pos];
    }
  }
  if (empty($arg)) {
    $arg = date_views_browser_period_arg(NULL, $view->argument[0]['options']);
  }

  // Create a date object for the beginning of the current range.
  $range = $view->date_handler
    ->arg_range($arg);
  $format = $view->date_handler
    ->views_formats($period, 'sql');
  $date = drupal_clone($range[0]);

  // Move backwards 1 period and create a link to that date.
  date_modify($date, '-1' . $period);
  $prev = $period == 'week' ? date_format($date, 'Y-\\W') . date_week(date_format($date, 'Y-m-d')) : date_format($date, $format);
  $prev = $view->url . '/' . $prev . date_views_browser_period($period);

  // Move forward 2 periods (back to the current period and to the next period)
  // and create a link to that date.
  date_modify($date, '+2 ' . $period);
  $next = $period == 'week' ? date_format($date, 'Y-\\W') . date_week(date_format($date, 'Y-m-d')) : date_format($date, $format);
  $next = $view->url . '/' . $next . date_views_browser_period($period);
  $label = date_views_browser_period_label($arg, $period);
  return theme('date_views_browser_navigation', $label, $period, $prev, $next, $view);
}