]> git.mxchange.org Git - friendica.git/blobdiff - include/text.php
Move $pager and $page_offset out of App
[friendica.git] / include / text.php
index 5a18529d93ab68837560d1cb927fcbc131ff2bb7..2d497bd58bc7d2d0a79a71553b5f64a750fe5db5 100644 (file)
@@ -262,132 +262,6 @@ function unxmlify($s) {
        return $ret;
 }
 
-
-/**
- * @brief Paginator function. Pushes relevant links in a pager array structure.
- *
- * Links are generated depending on the current page and the total number of items.
- * Inactive links (like "first" and "prev" on page 1) are given the "disabled" class.
- * Current page link is given the "active" CSS class
- *
- * @param App $a App instance
- * @param int $count [optional] item count (used with minimal pager)
- * @return Array data for pagination template
- */
-function paginate_data(App $a, $count = null) {
-       $stripped = preg_replace('/([&?]page=[0-9]*)/', '', $a->query_string);
-
-       $stripped = str_replace('q=', '', $stripped);
-       $stripped = trim($stripped, '/');
-       $pagenum = $a->pager['page'];
-
-       if (($a->page_offset != '') && !preg_match('/[?&].offset=/', $stripped)) {
-               $stripped .= '&offset=' . urlencode($a->page_offset);
-       }
-
-       $url = $stripped;
-       $data = [];
-
-       function _l(&$d, $name, $url, $text, $class = '') {
-               if (strpos($url, '?') === false && ($pos = strpos($url, '&')) !== false) {
-                       $url = substr($url, 0, $pos) . '?' . substr($url, $pos + 1);
-               }
-
-               $d[$name] = ['url' => $url, 'text' => $text, 'class' => $class];
-       }
-
-       if (!is_null($count)) {
-               // minimal pager (newer / older)
-               $data['class'] = 'pager';
-               _l($data, 'prev', $url . '&page=' . ($a->pager['page'] - 1), L10n::t('newer'), 'previous' . ($a->pager['page'] == 1 ? ' disabled' : ''));
-               _l($data, 'next', $url . '&page=' . ($a->pager['page'] + 1), L10n::t('older'), 'next' . ($count <= 0 ? ' disabled' : ''));
-       } else {
-               // full pager (first / prev / 1 / 2 / ... / 14 / 15 / next / last)
-               $data['class'] = 'pagination';
-               if ($a->pager['total'] > $a->pager['itemspage']) {
-                       _l($data, 'first', $url . '&page=1', L10n::t('first'), $a->pager['page'] == 1 ? 'disabled' : '');
-                       _l($data, 'prev', $url . '&page=' . ($a->pager['page'] - 1), L10n::t('prev'), $a->pager['page'] == 1 ? 'disabled' : '');
-
-                       $numpages = $a->pager['total'] / $a->pager['itemspage'];
-
-                       $numstart = 1;
-                       $numstop = $numpages;
-
-                       // Limit the number of displayed page number buttons.
-                       if ($numpages > 8) {
-                               $numstart = (($pagenum > 4) ? ($pagenum - 4) : 1);
-                               $numstop = (($pagenum > ($numpages - 7)) ? $numpages : ($numstart + 8));
-                       }
-
-                       $pages = [];
-
-                       for ($i = $numstart; $i <= $numstop; $i++) {
-                               if ($i == $a->pager['page']) {
-                                       _l($pages, $i, '#',  $i, 'current active');
-                               } else {
-                                       _l($pages, $i, $url . '&page='. $i, $i, 'n');
-                               }
-                       }
-
-                       if (($a->pager['total'] % $a->pager['itemspage']) != 0) {
-                               if ($i == $a->pager['page']) {
-                                       _l($pages, $i, '#',  $i, 'current active');
-                               } else {
-                                       _l($pages, $i, $url . '&page=' . $i, $i, 'n');
-                               }
-                       }
-
-                       $data['pages'] = $pages;
-
-                       $lastpage = (($numpages > intval($numpages)) ? intval($numpages)+1 : $numpages);
-                       _l($data, 'next', $url . '&page=' . ($a->pager['page'] + 1), L10n::t('next'), $a->pager['page'] == $lastpage ? 'disabled' : '');
-                       _l($data, 'last', $url . '&page=' . $lastpage, L10n::t('last'), $a->pager['page'] == $lastpage ? 'disabled' : '');
-               }
-       }
-
-       return $data;
-}
-
-
-/**
- * Automatic pagination.
- *
- *  To use, get the count of total items.
- * Then call $a->set_pager_total($number_items);
- * Optionally call $a->set_pager_itemspage($n) to the number of items to display on each page
- * Then call paginate($a) after the end of the display loop to insert the pager block on the page
- * (assuming there are enough items to paginate).
- * When using with SQL, the setting LIMIT %d, %d => $a->pager['start'],$a->pager['itemspage']
- * will limit the results to the correct items for the current page.
- * The actual page handling is then accomplished at the application layer.
- *
- * @param App $a App instance
- * @return string html for pagination #FIXME remove html
- */
-function paginate(App $a) {
-
-       $data = paginate_data($a);
-       $tpl = get_markup_template("paginate.tpl");
-       return replace_macros($tpl, ["pager" => $data]);
-
-}
-
-
-/**
- * Alternative pager
- * @param App $a App instance
- * @param int $i
- * @return string html for pagination #FIXME remove html
- */
-function alt_pager(App $a, $i) {
-
-       $data = paginate_data($a, $i);
-       $tpl = get_markup_template("paginate.tpl");
-       return replace_macros($tpl, ['pager' => $data]);
-
-}
-
-
 /**
  * Loader for infinite scrolling
  * @return string html for loader