Pods::pagination PHP Method

pagination() public method

Display the pagination controls, types supported by default are simple, paginate and advanced. The base and format parameters are used only for the paginate view.
Since: 2.0
public pagination ( $params = null ) : string
return string Pagination HTML
    public function pagination($params = null)
    {
        if (empty($params)) {
            $params = array();
        } elseif (!is_array($params)) {
            $params = array('label' => $params);
        }
        $this->page_var = pods_var_raw('page_var', $params, $this->page_var);
        $url = pods_query_arg(null, null, $this->page_var);
        $append = '?';
        if (false !== strpos($url, '?')) {
            $append = '&';
        }
        $defaults = array('type' => 'advanced', 'label' => __('Go to page:', 'pods'), 'show_label' => true, 'first_text' => __('« First', 'pods'), 'prev_text' => __('‹ Previous', 'pods'), 'next_text' => __('Next ›', 'pods'), 'last_text' => __('Last »', 'pods'), 'prev_next' => true, 'first_last' => true, 'limit' => (int) $this->limit, 'offset' => (int) $this->offset, 'page' => max(1, (int) $this->page), 'mid_size' => 2, 'end_size' => 1, 'total_found' => $this->total_found(), 'page_var' => $this->page_var, 'base' => "{$url}{$append}%_%", 'format' => "{$this->page_var}=%#%", 'class' => '', 'link_class' => '');
        $params = (object) array_merge($defaults, $params);
        $params->total = $this->total_pages($params->limit, $params->offset, $params->total_found);
        if ($params->limit < 1 || $params->total_found < 1 || 1 == $params->total || $params->total_found <= $params->offset) {
            return $this->do_hook('pagination', $this->do_hook('pagination_' . $params->type, '', $params), $params);
        }
        $pagination = $params->type;
        if (!in_array($params->type, array('simple', 'advanced', 'paginate', 'list'))) {
            $pagination = 'advanced';
        }
        ob_start();
        pods_view(PODS_DIR . 'ui/front/pagination/' . $pagination . '.php', compact(array_keys(get_defined_vars())));
        $output = ob_get_clean();
        return $this->do_hook('pagination', $this->do_hook('pagination_' . $params->type, $output, $params), $params);
    }