PageIndex: rewrite getLink to be way less messy

This commit is contained in:
Aaron van Geffen 2024-01-15 00:51:06 +01:00
parent d8c3e76df6
commit accf093935
1 changed files with 10 additions and 14 deletions

View File

@ -155,24 +155,20 @@ class PageIndex
public function getLink($start = null, $order = null, $dir = null) public function getLink($start = null, $order = null, $dir = null)
{ {
$url = $this->base_url; $page = !is_string($start) ? ($start / $this->items_per_page) + 1 : $start;
$amp = strpos($this->base_url, '?') ? '&' : '?'; $url = $this->base_url . str_replace('%PAGE%', $page, $this->page_slug);
if (!empty($start)) $urlParams = [];
{
$page = $start !== '%d' ? ($start / $this->items_per_page) + 1 : $start;
$url .= strtr($this->page_slug, ['%PAGE%' => $page, '%AMP%' => $amp]);
$amp = '&';
}
if (!empty($order)) if (!empty($order))
{ $urlParams['order'] = $order;
$url .= $amp . 'order=' . $order;
$amp = '&';
}
if (!empty($dir)) if (!empty($dir))
$urlParams['dir'] = $dir;
if (!empty($urlParams))
{ {
$url .= $amp . 'dir=' . $dir; $queryString = (strpos($uri, '?') !== false ? '&' : '?');
$amp = '&'; $queryString .= http_build_query($urlParams);
$url .= $queryString;
} }
return $url; return $url;