]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Search/Filed.php
Merge pull request #10596 from annando/mark-file-star-for-all
[friendica.git] / src / Module / Search / Filed.php
index 505950f71587097f6e5a2fcab52ffb32588d0f7d..f5ec0d70f16be647f14d0eaaebb446462fb61344 100644 (file)
@@ -10,6 +10,7 @@ use Friendica\Core\Renderer;
 use Friendica\Database\DBA;
 use Friendica\DI;
 use Friendica\Model\Item;
+use Friendica\Model\Post;
 use Friendica\Model\Post\Category;
 use Friendica\Module\BaseSearch;
 use Friendica\Module\Security\Login;
@@ -46,16 +47,23 @@ class Filed extends BaseSearch
                                DI::config()->get('system', 'itemspage_network'));
                }
 
+               $last_uriid = isset($_GET['last_uriid']) ? intval($_GET['last_uriid']) : 0;
+
                $pager = new Pager(DI::l10n(), DI::args()->getQueryString(), $itemspage_network);
 
                $term_condition = ['type' => Category::FILE, 'uid' => local_user()];
                if ($file) {
                        $term_condition['name'] = $file;
                }
+
+               if (!empty($last_uriid)) {
+                       $term_condition = DBA::mergeConditions($term_condition, ["`uri-id` < ?", $last_uriid]);
+               }
+
                $term_params = ['order' => ['uri-id' => true], 'limit' => [$pager->getStart(), $pager->getItemsPerPage()]];
                $result = DBA::select('category-view', ['uri-id'], $term_condition, $term_params);
 
-               $total = DBA::count('category-view', $term_condition);
+               $count = DBA::count('category-view', $term_condition);
 
                $posts = [];
                while ($term = DBA::fetch($result)) {
@@ -66,18 +74,17 @@ class Filed extends BaseSearch
                if (count($posts) == 0) {
                        return '';
                }
-               $item_condition = ['uid' => local_user(), 'uri-id' => $posts];
-               $item_params = ['order' => ['uri-id' => true]];
+               $item_condition = ['uid' => [0, local_user()], 'uri-id' => $posts];
+               $item_params = ['order' => ['uri-id' => true, 'uid' => true]];
 
-               $result = Item::selectForUser(local_user(), [], $item_condition, $item_params);
-               $items = Item::inArray($result);
+               $items = Post::toArray(Post::selectForUser(local_user(), Item::DISPLAY_FIELDLIST, $item_condition, $item_params));
 
                $o .= conversation(DI::app(), $items, 'filed', false, false, '', local_user());
 
                if (DI::pConfig()->get(local_user(), 'system', 'infinite_scroll')) {
                        $o .= HTML::scrollLoader();
                } else {
-                       $o .= $pager->renderFull($total);
+                       $o .= $pager->renderMinimal($count);
                }
 
                return $o;