You are here

views_litepager.module in Views Litepager 6.3

Same filename and directory in other branches
  1. 6.2 views_litepager.module
  2. 7.3 views_litepager.module

File

views_litepager.module
View source
<?php

/**
 * Views Litepager module
 */

/**
 * Implements hook_views_api().
 */
function views_litepager_views_api() {
  return array(
    'api' => 3.0,
  );
}

/**
 * Implements hook_theme().
 */
function views_litepager_theme() {
  return array(
    'pager_lite' => array(
      'arguments' => array(
        'tags' => array(),
        'limit' => 10,
        'element' => 0,
        'parameters' => array(),
      ),
    ),
    'pager_lite_next' => array(
      'arguments' => array(
        'text' => NULL,
        'limit' => NULL,
        'element' => 0,
        'interval' => 1,
        'parameters' => array(),
      ),
    ),
  );
}
function theme_pager_lite($tags = array(), $limit = 10, $element = 0, $parameters = array(), $quantity = 9, $pager = NULL) {
  global $pager_page_array, $pager_total;

  // current is the page we are currently paged to
  $pager_current = $pager_page_array[$element] + 1;
  $li_previous = theme('pager_previous', isset($tags[1]) ? $tags[1] : t('‹‹'), $limit, $element, 1, $parameters);
  if (empty($li_previous)) {
    $li_previous = "&nbsp;";
  }
  $li_next = theme('pager_lite_next', isset($tags[3]) ? $tags[3] : t('››'), $limit, $element, 1, $parameters);
  if (empty($li_next)) {
    $li_next = "&nbsp;";
  }
  $items[] = array(
    'class' => 'pager-previous',
    'data' => $li_previous,
  );
  $items[] = array(
    'class' => 'pager-current',
    'data' => format_plural($pager_current, 'Page 1', 'Page @count'),
  );
  $items[] = array(
    'class' => 'pager-next',
    'data' => $li_next,
  );
  return theme('item_list', $items, NULL, 'ul', array(
    'class' => 'pager',
  ));
}
function theme_pager_lite_next($text, $limit, $element = 0, $interval = 1, $parameters = array()) {
  global $pager_page_array, $pager_total;
  $output = '';

  // If we are anywhere but the last page
  if ($pager_page_array[$element] <= $pager_total[$element] - 1 || $pager_page_array[$element] == 0) {
    $page_new = pager_load_array($pager_page_array[$element] + $interval, $element, $pager_page_array);

    // If the next page is the last page, mark the link as such.
    if ($pager_page_array[$element] == $pager_total[$element]) {
      $output = theme('pager_last', $text, $limit, $element, $parameters);
    }
    else {
      $output = theme('pager_link', $text, $page_new, $element, $parameters);
    }
  }
  return $output;
}