$pager_max) { // Adjust "center" if at end of query. $i = $i + ($pager_max - $pager_last); $pager_last = $pager_max; } if ($i <= 0) { // Adjust "center" if at start of query. $pager_last = $pager_last + (1 - $i); $i = 1; } // End of generation loop preparation. /* @noinspection PhpUnhandledExceptionInspection */ $li_first = theme('pager_first', array( 'text' => (isset($tags[0]) ? $tags[0] : t('first')), 'element' => $element, 'parameters' => $parameters, )); /* @noinspection PhpUnhandledExceptionInspection */ $li_previous = theme('pager_previous', array( 'text' => (isset($tags[1]) ? $tags[1] : t('previous')), 'element' => $element, 'interval' => 1, 'parameters' => $parameters, )); /* @noinspection PhpUnhandledExceptionInspection */ $li_next = theme('pager_next', array( 'text' => (isset($tags[3]) ? $tags[3] : t('next')), 'element' => $element, 'interval' => 1, 'parameters' => $parameters, )); /* @noinspection PhpUnhandledExceptionInspection */ $li_last = theme('pager_last', array( 'text' => (isset($tags[4]) ? $tags[4] : t('last')), 'element' => $element, 'parameters' => $parameters, )); if ($pager_total[$element] > 1) { // Only show "first" link if set on components' theme setting. if ($li_first && bootstrap_setting('pager_first_and_last')) { $items[] = array( 'class' => array('pager-first'), 'data' => $li_first, ); } if ($li_previous) { $items[] = array( 'class' => array('prev'), 'data' => $li_previous, ); } // When there is more than one page, create the pager list. if ($i != $pager_max) { if ($i > 1) { $items[] = array( 'class' => array('pager-ellipsis', 'disabled'), 'data' => '', ); } // Now generate the actual pager piece. for (; $i <= $pager_last && $i <= $pager_max; $i++) { if ($i < $pager_current) { /* @noinspection PhpUnhandledExceptionInspection */ $items[] = array( // 'class' => array('pager-item'),. 'data' => theme('pager_previous', array( 'text' => $i, 'element' => $element, 'interval' => ($pager_current - $i), 'parameters' => $parameters, )), ); } if ($i == $pager_current) { $items[] = array( // Add the active class. 'class' => array('active'), 'data' => "$i", ); } if ($i > $pager_current) { /* @noinspection PhpUnhandledExceptionInspection */ $items[] = array( 'data' => theme('pager_next', array( 'text' => $i, 'element' => $element, 'interval' => ($i - $pager_current), 'parameters' => $parameters, )), ); } } if ($i < $pager_max) { $items[] = array( 'class' => array('pager-ellipsis', 'disabled'), 'data' => '', ); } } // End generation. if ($li_next) { $items[] = array( 'class' => array('next'), 'data' => $li_next, ); } // // Only show "last" link if set on components' theme setting. if ($li_last && bootstrap_setting('pager_first_and_last')) { $items[] = array( 'class' => array('pager-last'), 'data' => $li_last, ); } $build = array( '#theme_wrappers' => array('container__pager'), '#attributes' => array( 'class' => array( 'text-center', ), ), 'pager' => array( '#theme' => 'item_list', '#items' => $items, '#attributes' => array( 'class' => array('pagination'), ), ), ); return drupal_render($build); } return $output; }