links.php
2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('JPATH_BASE') or die;
use Joomla\Registry\Registry;
$list = $displayData['list'];
$pages = $list['pages'];
$options = new Registry($displayData['options']);
$showLimitBox = $options->get('showLimitBox', true);
$showPagesLinks = $options->get('showPagesLinks', true);
$showLimitStart = $options->get('showLimitStart', true);
// Calculate to display range of pages
$currentPage = 1;
$range = 1;
$step = 5;
if (!empty($pages['pages']))
{
foreach ($pages['pages'] as $k => $page)
{
if (!$page['active'])
{
$currentPage = $k;
}
}
}
if ($currentPage >= $step)
{
if ($currentPage % $step === 0)
{
$range = ceil($currentPage / $step) + 1;
}
else
{
$range = ceil($currentPage / $step);
}
}
?>
<div class="pagination pagination-toolbar clearfix" style="text-align: center;">
<?php if ($showLimitBox) : ?>
<div class="limit pull-right">
<?php echo JText::_('JGLOBAL_DISPLAY_NUM') . $list['limitfield']; ?>
</div>
<?php endif; ?>
<?php if ($showPagesLinks && (!empty($pages))) : ?>
<ul class="pagination-list">
<?php
echo JLayoutHelper::render('joomla.pagination.link', $pages['start']);
echo JLayoutHelper::render('joomla.pagination.link', $pages['previous']); ?>
<?php foreach ($pages['pages'] as $k => $page) : ?>
<?php $output = JLayoutHelper::render('joomla.pagination.link', $page); ?>
<?php if (in_array($k, range($range * $step - ($step + 1), $range * $step), true)) : ?>
<?php if (($k % $step === 0 || $k === $range * $step - ($step + 1)) && $k !== $currentPage && $k !== $range * $step - $step) : ?>
<?php $output = preg_replace('#(<a.*?>).*?(</a>)#', '$1...$2', $output); ?>
<?php endif; ?>
<?php endif; ?>
<?php echo $output; ?>
<?php endforeach; ?>
<?php
echo JLayoutHelper::render('joomla.pagination.link', $pages['next']);
echo JLayoutHelper::render('joomla.pagination.link', $pages['end']); ?>
</ul>
<?php endif; ?>
<?php if ($showLimitStart) : ?>
<input type="hidden" name="<?php echo $list['prefix']; ?>limitstart" value="<?php echo $list['limitstart']; ?>" />
<?php endif; ?>
</div>