From 3a959a8d15b3d8e2fde4a0a4553380f88f9fc756 Mon Sep 17 00:00:00 2001 From: ruan Date: Sun, 21 Jun 2020 16:49:13 +0200 Subject: [PATCH] Fixed pager with simple_urls disabled --- inc/page.php | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/inc/page.php b/inc/page.php index e516983..a3c6408 100644 --- a/inc/page.php +++ b/inc/page.php @@ -82,7 +82,7 @@ class Page { $page = $_GET['page']; // user input } else { if ($argc > 1) { - $page = $this->args[$argc-2]; + $page = $this->args[$argc - 2]; } } if (filter_var($page, FILTER_VALIDATE_INT)) { @@ -552,7 +552,7 @@ class Page { '; } - function print_pager($total = -1, $args = "", $prevargs = "", $page = null, $simple=true) { + function print_pager($total = -1, $args = "", $prevargs = "", $page = null, $simple = true) { if (!$this->settings->show_pager) return; $table = $this->table; if ($page === null) { @@ -585,11 +585,11 @@ class Page { $pager_next = "
ยป
"; if ($simple) { - $pager_prev_href = $this->link("$page{$prevargs}&page={$prev}"); - $pager_next_href = $this->link("$page{$args}&page={$next}"); + $pager_prev_href = $this->append_param($this->link("$page{$prevargs}"), "page={$prev}"); + $pager_next_href = $this->append_param($this->link("$page{$args}"), "page={$next}"); } else { - $pager_prev_href = $this->link("$page") . "{$prevargs}&page={$prev}"; - $pager_next_href = $this->link("$page") . "{$args}&page={$next}"; + $pager_prev_href = $this->append_param(($this->link("$page") . "{$prevargs}"), "page={$prev}"); + $pager_next_href = $this->append_param(($this->link("$page") . "{$args}"), "page={$next}"); } if ($prev_active) { @@ -612,6 +612,13 @@ class Page { include_once './inc/footer.php'; } + function append_param($url, $param) { + if (preg_match("/\?[a-z]+=/", $url)) { + return "${url}&${param}"; + } + return "${url}?${param}"; + } + function link($url) { if ($this->settings->simple_urls && $this->is_index) { $url = preg_replace("/\.php/", "", $url, 1);