]> git.mxchange.org Git - friendica.git/blobdiff - src/Content/Pager.php
Merge pull request #11545 from annando/url-tag
[friendica.git] / src / Content / Pager.php
index a7d7fe8f78461cac78b65ddbe3fe5ed78d540f3c..bf5a5f691442032346a97ee0e9eda73efcb70375 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2022, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -21,8 +21,8 @@
 
 namespace Friendica\Content;
 
+use Friendica\Core\L10n;
 use Friendica\Core\Renderer;
-use Friendica\DI;
 use Friendica\Util\Strings;
 
 /**
@@ -30,30 +30,32 @@ 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);
@@ -126,7 +128,7 @@ class Pager
        /**
         * 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
         */
@@ -166,12 +168,12 @@ class Pager
                        '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' : '')
                        ]
                ];
@@ -211,12 +213,12 @@ class Pager
                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' : ''
                        ];
 
@@ -271,12 +273,12 @@ class Pager
 
                        $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' : ''
                        ];
                }