namespace Friendica\Content;
+use Friendica\Core\L10n;
use Friendica\Core\Renderer;
-use Friendica\DI;
use Friendica\Util\Strings;
/**
*/
class Pager
{
- /**
- * @var integer
- */
- private $page = 1;
- /**
- * @var integer
- */
- protected $itemsPerPage = 50;
+ /** @var int Default count of items per page */
+ const ITEMS_PER_PAGE = 50;
- /**
- * @var string
- */
+ /** @var integer */
+ private $page = 1;
+ /** @var integer */
+ protected $itemsPerPage = self::ITEMS_PER_PAGE;
+ /** @var string */
protected $baseQueryString = '';
+ /** @var L10n */
+ protected $l10n;
+
/**
* Instantiates a new Pager with the base parameters.
*
* Guesses the page number from the GET parameter 'page'.
*
+ * @param L10n $l10n
* @param string $queryString The query string of the current page
* @param integer $itemsPerPage An optional number of items per page to override the default value
*/
- public function __construct($queryString, $itemsPerPage = 50)
+ public function __construct(L10n $l10n, $queryString, $itemsPerPage = 50)
{
+ $this->l10n = $l10n;
+
$this->setQueryString($queryString);
$this->setItemsPerPage($itemsPerPage);
$this->setPage(($_GET['page'] ?? 0) ?: 1);
/**
* Sets the base query string from a full query string.
*
- * Strips the 'page' parameter, and remove the 'q=' string for some reason.
+ * Strips the 'page' parameter
*
* @param string $queryString
*/
'class' => 'pager',
'prev' => [
'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() - 1)),
- 'text' => DI::l10n()->t('newer'),
+ 'text' => $this->l10n->t('newer'),
'class' => 'previous' . ($this->getPage() == 1 ? ' disabled' : '')
],
'next' => [
'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() + 1)),
- 'text' => DI::l10n()->t('older'),
+ 'text' => $this->l10n->t('older'),
'class' => 'next' . ($displayedItemCount < $this->getItemsPerPage() ? ' disabled' : '')
]
];
if ($totalItemCount > $this->getItemsPerPage()) {
$data['first'] = [
'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=1'),
- 'text' => DI::l10n()->t('first'),
+ 'text' => $this->l10n->t('first'),
'class' => $this->getPage() == 1 ? 'disabled' : ''
];
$data['prev'] = [
'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() - 1)),
- 'text' => DI::l10n()->t('prev'),
+ 'text' => $this->l10n->t('prev'),
'class' => $this->getPage() == 1 ? 'disabled' : ''
];
$data['next'] = [
'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() + 1)),
- 'text' => DI::l10n()->t('next'),
+ 'text' => $this->l10n->t('next'),
'class' => $this->getPage() == $lastpage ? 'disabled' : ''
];
$data['last'] = [
'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . $lastpage),
- 'text' => DI::l10n()->t('last'),
+ 'text' => $this->l10n->t('last'),
'class' => $this->getPage() == $lastpage ? 'disabled' : ''
];
}