use Friendica\Core\L10n;
use Friendica\Core\Renderer;
+use Friendica\Util\Strings;
/**
* The Pager has two very different output, Minimal and Full, see renderMinimal() and renderFull() for more details.
*/
public function getBaseQueryString()
{
- return $this->baseQueryString;
+ return Strings::ensureQueryParameter($this->baseQueryString);
}
/**
$this->baseQueryString = $stripped;
}
- /**
- * Ensures the provided URI has its query string punctuation in order.
- *
- * @param string $uri
- * @return string
- */
- private function ensureQueryParameter($uri)
- {
- if (strpos($uri, '?') === false && ($pos = strpos($uri, '&')) !== false) {
- $uri = substr($uri, 0, $pos) . '?' . substr($uri, $pos + 1);
- }
-
- return $uri;
- }
-
/**
* @brief Minimal pager (newer/older)
*
$data = [
'class' => 'pager',
'prev' => [
- 'url' => $this->ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() - 1)),
+ 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() - 1)),
'text' => L10n::t('newer'),
'class' => 'previous' . ($this->getPage() == 1 ? ' disabled' : '')
],
'next' => [
- 'url' => $this->ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() + 1)),
+ 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() + 1)),
'text' => L10n::t('older'),
'class' => 'next' . ($displayedItemCount < $this->getItemsPerPage() ? ' disabled' : '')
]
$data['class'] = 'pagination';
if ($totalItemCount > $this->getItemsPerPage()) {
$data['first'] = [
- 'url' => $this->ensureQueryParameter($this->baseQueryString . '&page=1'),
+ 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=1'),
'text' => L10n::t('first'),
'class' => $this->getPage() == 1 ? 'disabled' : ''
];
$data['prev'] = [
- 'url' => $this->ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() - 1)),
+ 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() - 1)),
'text' => L10n::t('prev'),
'class' => $this->getPage() == 1 ? 'disabled' : ''
];
];
} else {
$pages[$i] = [
- 'url' => $this->ensureQueryParameter($this->baseQueryString . '&page=' . $i),
+ 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . $i),
'text' => $i,
'class' => 'n'
];
];
} else {
$pages[$i] = [
- 'url' => $this->ensureQueryParameter($this->baseQueryString . '&page=' . $i),
+ 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . $i),
'text' => $i,
'class' => 'n'
];
$lastpage = (($numpages > intval($numpages)) ? intval($numpages)+1 : $numpages);
$data['next'] = [
- 'url' => $this->ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() + 1)),
+ 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() + 1)),
'text' => L10n::t('next'),
'class' => $this->getPage() == $lastpage ? 'disabled' : ''
];
$data['last'] = [
- 'url' => $this->ensureQueryParameter($this->baseQueryString . '&page=' . $lastpage),
+ 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . $lastpage),
'text' => L10n::t('last'),
'class' => $this->getPage() == $lastpage ? 'disabled' : ''
];