| Current Path : /home/juvelize/saulnois/tmp/install_695d2cf0b4957/src/View/Sky/ |
| 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;
}
}