Your IP : 216.73.216.108


Current Path : /home/eolienneia/www/tmp/install_5f87fb1a1c79c/packages/install_5f87fb1df0fcd/html/
Upload File :
Current File : /home/eolienneia/www/tmp/install_5f87fb1a1c79c/packages/install_5f87fb1df0fcd/html/pagination.php

<?php

defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;
use function YOOtheme\app;
use YOOtheme\Config;
use YOOtheme\Path;

// prefer child theme's pagination
if (Path::get(__FILE__) !== $file = Path::get('~theme/html/pagination.php')) {
    return include $file;
}

function pagination_list_render($list) {

    $config = app(Config::class);
    if (!$config('~theme.blog.pagination_startend')) {
        $list['start']['active'] = false;
        $list['end']['active'] = false;
    }

    // find out the id of the page, that is the current page
    $currentId = 0;

    foreach ($list['pages'] as $id => $page) {
        if (!$page['active']) {
            $currentId = $id;
        }
    }

    // set the range for the inner pages that should be displayed
    // this displays + - $range page-buttons around the current page
    // due to joomla-restrictions there won't be displayed more than -5 and +4 buttons.
    $range = 3;

    // start building pagination-list
    $html = ['<ul class="uk-pagination uk-margin-large uk-flex-center">'];

    // add first-button
    if ($list['start']['active'] == 1) {
        $html[] = $list['start']['data'];
    }

    // add previous-button
    if ($list['previous']['active'] == 1) {
        $html[] = $list['previous']['data'];
    }

    // add buttons for surrounding pages
    foreach ($list['pages'] as $id => $page) {
        // only show the buttons that are within the range
        if ($id <= $currentId + $range && $id >= $currentId - $range) {
            $html[] = $page['data'];
        }
    }

    // add next-button
    if ($list['next']['active'] == 1) {
        $html[] = $list['next']['data'];
    }

    // add last-button
    if ($list['end']['active'] == 1) {
        $html[] = $list['end']['data'];
    }

    // close pagination-list
    $html[] = '</ul>';

    return implode("\n", $html);
}

function pagination_item_active($item) {
    $cls = '';
    $title = '';

    if ($item->text == Text::_('JNEXT')) {
        $title = $item->text;
        $item->text = '<span uk-pagination-next></span>';
        $cls = 'next';
    } elseif ($item->text == Text::_('JPREV')) {
        $title = $item->text;
        $item->text = '<span uk-pagination-previous></span>';
        $cls = 'previous';
    } elseif ($item->text == Text::_('JLIB_HTML_START')) {
        $cls = 'first';
    } elseif ($item->text == Text::_('JLIB_HTML_END')) {
        $cls = 'last';
    }

    return "<li><a class=\"{$cls}\" href=\"{$item->link}\" title=\"{$title}\">{$item->text}</a></li>";
}

function pagination_item_inactive($item) {
    return "<li class=\"uk-active\"><span>{$item->text}</span></li>";
}