Your IP : 216.73.216.240


Current Path : /home/juvelize/saulnois/tmp/install_695d2cf0b4957/src/View/Sky/
Upload File :
Current File : /home/juvelize/saulnois/tmp/install_695d2cf0b4957/src/View/Sky/Pagination.php

<?php
/*
* @package		Tech Fry Library
* @license		https://www.gnu.org/licenses/gpl-3.0.en.html
*/

namespace TechFry\Library\View\Sky;

defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;

class Pagination extends Bootstrap
{
    public function display()
    {
        // $this->data - Joomla Pagination object

        if (get_class($this->data) == 'Joomla\CMS\Pagination\Pagination')
        {
            $output = $this->get_pagination($this->data);
        }

        return $output;
    }

    // Joomla Pagination
    public function get_pagination($pagination)
    {
        // $pagination - Joomla pagination (Joomla\CMS\Pagination\Pagination)
        // pagesTotal, pagesCurrent, total, limit, limitstart, pagesStart, pagesStop
        // setAdditionalUrlParam(), getAdditionalUrlParam(), getPagesLinks(), getPagesCounter(), getResultsCounter(), getLimitBox()

        if ($pagination->pagesTotal < 2)
        {
            return;
        }

        $show_pagination_results = $this->config['show_pagination_results'] ?? 1;
        
        $output = '<div class="d-flex align-items-center justify-content-between">';
            $output .= $pagination->getPagesLinks();
            if ($show_pagination_results)
            {
                $output .= '<div>' . $pagination->getPagesCounter() . '</div>';
            }
        $output .= '</div>';

        return $output;
    }

    // Page Navigation - Previous / Next
    public function get_pagenavigation()
    {
        // $nav - prev, next, prev_label, next_label
        $nav = (array) $this->data;

        $output = '';

        $output .= '<nav class="pagination justify-content-end" aria-label="' . Text::_('PLG_PAGENAVIGATION_ARIA_LABEL') . '">';
        
        if (isset($nav['prev']) && $nav['prev'])
        {
            $prev_label = $nav['prev_label'] ?? Text::_('JPREVIOUS');
            $prev_url = Route::_($nav['prev']);
            
            $output .= '<div class="page-item"><a class="page-link" href="' . $prev_url . '" rel="prev"><span class="icon-chevron-left" aria-hidden="true"></span> ' . $prev_label . '</a></div>';
        }

        if (isset($nav['next']) && $nav['next'])
        {
            $next_label = $nav['next_label'] ?? Text::_('JNEXT');
            $next_url = Route::_($nav['next']);
            
            $output .= '<div class="page-item"><a class="page-link" href="' . $next_url . '" rel="next">' . $next_label . ' <span class="icon-chevron-right" aria-hidden="true"></span></a></div>';
        }

        $output .= '</nav>';

        return $output;
    }
}