]> git.mxchange.org Git - friendica.git/commitdiff
Avoid duplicates in post-view
authorMichael <heluecht@pirati.ca>
Mon, 18 Jan 2021 22:26:17 +0000 (22:26 +0000)
committerMichael <heluecht@pirati.ca>
Mon, 18 Jan 2021 22:26:17 +0000 (22:26 +0000)
database.sql
include/api.php
static/dbstructure.config.php
static/dbview.config.php

index a0cc74d591fc70f623636e3532784e04d0a49515..027242b609d75ae7bf59ef2afcee737b6438ea75 100644 (file)
@@ -1,6 +1,6 @@
 -- ------------------------------------------
 -- Friendica 2021.03-dev (Red Hot Poker)
--- DB_UPDATE_VERSION 1390
+-- DB_UPDATE_VERSION 1391
 -- ------------------------------------------
 
 
@@ -1577,7 +1577,6 @@ CREATE VIEW `post-view` AS SELECT
        `contact`.`avatar-date` AS `avatar-date`,
        `contact`.`thumb` AS `thumb`,
        `contact`.`dfrn-id` AS `dfrn-id`,
-       `group_member`.`gid` AS `group-id`,
        `item`.`author-id` AS `author-id`,
        `author`.`url` AS `author-link`,
        `author`.`addr` AS `author-addr`,
@@ -1639,7 +1638,6 @@ CREATE VIEW `post-view` AS SELECT
                        STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `item`.`author-id`
                        STRAIGHT_JOIN `contact` AS `owner` ON `owner`.`id` = `item`.`owner-id`
                        STRAIGHT_JOIN `contact` AS `causer` ON `causer`.`id` = `item`.`causer-id`
-                       LEFT JOIN `group_member` ON `group_member`.`contact-id` = `item`.`contact-id`
                        LEFT JOIN `verb` ON `verb`.`id` = `item`.`vid`
                        LEFT JOIN `event` ON `event`.`id` = `item`.`event-id`
                        LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `item`.`uri-id`
@@ -1740,7 +1738,6 @@ CREATE VIEW `post-thread-view` AS SELECT
        `contact`.`avatar-date` AS `avatar-date`,
        `contact`.`thumb` AS `thumb`,
        `contact`.`dfrn-id` AS `dfrn-id`,
-       `group_member`.`gid` AS `group-id`,
        `thread`.`author-id` AS `author-id`,
        `author`.`url` AS `author-link`,
        `author`.`addr` AS `author-addr`,
@@ -1803,7 +1800,6 @@ CREATE VIEW `post-thread-view` AS SELECT
                        STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `thread`.`author-id`
                        STRAIGHT_JOIN `contact` AS `owner` ON `owner`.`id` = `thread`.`owner-id`
                        STRAIGHT_JOIN `contact` AS `causer` ON `causer`.`id` = `item`.`causer-id`
-                       LEFT JOIN `group_member` ON `group_member`.`contact-id` = `thread`.`contact-id`
                        LEFT JOIN `verb` ON `verb`.`id` = `item`.`vid`
                        LEFT JOIN `event` ON `event`.`id` = `item`.`event-id`
                        LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `thread`.`uri-id`
index 4aa4b21e29199e4a0c339cb884d94b251f2062fd..bafdb5f5159557ef9318240c2f58ddc970e6f64d 100644 (file)
@@ -3297,8 +3297,10 @@ function api_lists_statuses($type)
 
        $start = max(0, ($page - 1) * $count);
 
-       $condition = ["`uid` = ? AND `gravity` IN (?, ?) AND `id` > ? AND `group-id` = ?",
-               api_user(), GRAVITY_PARENT, GRAVITY_COMMENT, $since_id, $_REQUEST['list_id']];
+       $groups = DBA::selectToArray('group_member', ['contact-id'], ['gid' => 1]);
+       $gids = array_column($groups, 'contact-id');
+       $condition = ['uid' => api_user(), 'gravity' => [GRAVITY_PARENT, GRAVITY_COMMENT], 'group-id' => $gids];
+       $condition = DBA::mergeConditions($condition, ["`id` > ?", $since_id]);
 
        if ($max_id > 0) {
                $condition[0] .= " AND `id` <= ?";
index 77b57bfb95d45acb3def8a2c9ade8d1ea50578db..18099826ec25c02b34a4193d261573aeefd5ef28 100644 (file)
@@ -55,7 +55,7 @@
 use Friendica\Database\DBA;
 
 if (!defined('DB_UPDATE_VERSION')) {
-       define('DB_UPDATE_VERSION', 1390);
+       define('DB_UPDATE_VERSION', 1391);
 }
 
 return [
index 7ef080780350a6496da808865770d9888fc73c10..11ebc2b46bb6f59546564c7d903b077fafa94a33 100644 (file)
                        "avatar-date" => ["contact", "avatar-date"],
                        "thumb" => ["contact", "thumb"],
                        "dfrn-id" => ["contact", "dfrn-id"],
-                       "group-id" => ["group_member", "gid"],
                        "author-id" => ["item", "author-id"],
                        "author-link" => ["author", "url"],
                        "author-addr" => ["author", "addr"],
                        STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `item`.`author-id`
                        STRAIGHT_JOIN `contact` AS `owner` ON `owner`.`id` = `item`.`owner-id`
                        STRAIGHT_JOIN `contact` AS `causer` ON `causer`.`id` = `item`.`causer-id`
-                       LEFT JOIN `group_member` ON `group_member`.`contact-id` = `item`.`contact-id`
                        LEFT JOIN `verb` ON `verb`.`id` = `item`.`vid`
                        LEFT JOIN `event` ON `event`.`id` = `item`.`event-id`
                        LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `item`.`uri-id`
                        "avatar-date" => ["contact", "avatar-date"],
                        "thumb" => ["contact", "thumb"],
                        "dfrn-id" => ["contact", "dfrn-id"],
-                       "group-id" => ["group_member", "gid"],
                        "author-id" => ["thread", "author-id"],
                        "author-link" => ["author", "url"],
                        "author-addr" => ["author", "addr"],
                        STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `thread`.`author-id`
                        STRAIGHT_JOIN `contact` AS `owner` ON `owner`.`id` = `thread`.`owner-id`
                        STRAIGHT_JOIN `contact` AS `causer` ON `causer`.`id` = `item`.`causer-id`
-                       LEFT JOIN `group_member` ON `group_member`.`contact-id` = `thread`.`contact-id`
                        LEFT JOIN `verb` ON `verb`.`id` = `item`.`vid`
                        LEFT JOIN `event` ON `event`.`id` = `item`.`event-id`
                        LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `thread`.`uri-id`