From accf09393506b66050329dd020f8349488023844 Mon Sep 17 00:00:00 2001 From: Aaron van Geffen Date: Mon, 15 Jan 2024 00:51:06 +0100 Subject: [PATCH] PageIndex: rewrite getLink to be way less messy --- models/PageIndex.php | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/models/PageIndex.php b/models/PageIndex.php index 0c988cc..b120681 100644 --- a/models/PageIndex.php +++ b/models/PageIndex.php @@ -155,24 +155,20 @@ class PageIndex public function getLink($start = null, $order = null, $dir = null) { - $url = $this->base_url; - $amp = strpos($this->base_url, '?') ? '&' : '?'; + $page = !is_string($start) ? ($start / $this->items_per_page) + 1 : $start; + $url = $this->base_url . str_replace('%PAGE%', $page, $this->page_slug); - if (!empty($start)) - { - $page = $start !== '%d' ? ($start / $this->items_per_page) + 1 : $start; - $url .= strtr($this->page_slug, ['%PAGE%' => $page, '%AMP%' => $amp]); - $amp = '&'; - } + $urlParams = []; if (!empty($order)) - { - $url .= $amp . 'order=' . $order; - $amp = '&'; - } + $urlParams['order'] = $order; if (!empty($dir)) + $urlParams['dir'] = $dir; + + if (!empty($urlParams)) { - $url .= $amp . 'dir=' . $dir; - $amp = '&'; + $queryString = (strpos($uri, '?') !== false ? '&' : '?'); + $queryString .= http_build_query($urlParams); + $url .= $queryString; } return $url;