From b798ad126adf93758ad44ea6eab8397c3032114a Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sat, 7 Apr 2018 02:42:42 -0400 Subject: [PATCH 1/5] Hide posts from recently ignored or unfollowed contact in mod/network --- mod/network.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mod/network.php b/mod/network.php index 4ab773bd3..af4195cbc 100644 --- a/mod/network.php +++ b/mod/network.php @@ -771,6 +771,7 @@ function networkThreadedView(App $a, $update, $parent) FROM `item` $sql_post_table STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND (NOT `contact`.`blocked` OR `contact`.`pending`) + AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` < 2 OR `contact`.`readonly`)) WHERE `item`.`uid` = %d AND `item`.`visible` AND NOT `item`.`deleted` AND NOT `item`.`moderated` AND $sql_extra4 $sql_extra3 $sql_extra $sql_range $sql_nets @@ -783,6 +784,7 @@ function networkThreadedView(App $a, $update, $parent) STRAIGHT_JOIN `contact` ON `contact`.`id` = `thread`.`contact-id` AND (NOT `contact`.`blocked` OR `contact`.`pending`) STRAIGHT_JOIN `item` ON `item`.`id` = `thread`.`iid` + AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` < 2 OR `contact`.`readonly`)) WHERE `thread`.`uid` = %d AND `thread`.`visible` AND NOT `thread`.`deleted` AND NOT `thread`.`moderated` $sql_extra2 $sql_extra3 $sql_range $sql_extra $sql_nets @@ -827,6 +829,7 @@ function networkThreadedView(App $a, $update, $parent) (SELECT SUBSTR(`term`, 2) FROM `search` WHERE `uid` = ? AND `term` LIKE '#%') AND `otype` = ? AND `type` = ? AND `uid` = 0) AS `term` ON `item`.`id` = `term`.`oid` STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`author-id` + AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` < 2 OR `contact`.`readonly`)) WHERE `item`.`uid` = 0 AND `item`.$ordering < ? AND `item`.$ordering > ? AND NOT `contact`.`hidden` AND NOT `contact`.`blocked`" . $sql_tag_nets, local_user(), TERM_OBJ_POST, TERM_HASHTAG, $top_limit, $bottom_limit); From c8b0520144a36bd0b7c188cf7f5a0b55400cddc3 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sat, 7 Apr 2018 08:09:13 -0400 Subject: [PATCH 2/5] Use CONTACT_IS_SHARING constant instead of `rel` value --- mod/network.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mod/network.php b/mod/network.php index af4195cbc..613ad8603 100644 --- a/mod/network.php +++ b/mod/network.php @@ -771,11 +771,12 @@ function networkThreadedView(App $a, $update, $parent) FROM `item` $sql_post_table STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND (NOT `contact`.`blocked` OR `contact`.`pending`) - AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` < 2 OR `contact`.`readonly`)) + AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` < %d OR `contact`.`readonly`)) WHERE `item`.`uid` = %d AND `item`.`visible` AND NOT `item`.`deleted` AND NOT `item`.`moderated` AND $sql_extra4 $sql_extra3 $sql_extra $sql_range $sql_nets ORDER BY `order_date` DESC LIMIT 100", + intval(CONTACT_IS_SHARING), intval(local_user()) ); } else { @@ -784,11 +785,12 @@ function networkThreadedView(App $a, $update, $parent) STRAIGHT_JOIN `contact` ON `contact`.`id` = `thread`.`contact-id` AND (NOT `contact`.`blocked` OR `contact`.`pending`) STRAIGHT_JOIN `item` ON `item`.`id` = `thread`.`iid` - AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` < 2 OR `contact`.`readonly`)) + AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` < %d OR `contact`.`readonly`)) WHERE `thread`.`uid` = %d AND `thread`.`visible` AND NOT `thread`.`deleted` AND NOT `thread`.`moderated` $sql_extra2 $sql_extra3 $sql_range $sql_extra $sql_nets ORDER BY `order_date` DESC $pager_sql", + intval(CONTACT_IS_SHARING), intval(local_user()) ); } @@ -829,10 +831,10 @@ function networkThreadedView(App $a, $update, $parent) (SELECT SUBSTR(`term`, 2) FROM `search` WHERE `uid` = ? AND `term` LIKE '#%') AND `otype` = ? AND `type` = ? AND `uid` = 0) AS `term` ON `item`.`id` = `term`.`oid` STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`author-id` - AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` < 2 OR `contact`.`readonly`)) + AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` < ? OR `contact`.`readonly`)) WHERE `item`.`uid` = 0 AND `item`.$ordering < ? AND `item`.$ordering > ? AND NOT `contact`.`hidden` AND NOT `contact`.`blocked`" . $sql_tag_nets, - local_user(), TERM_OBJ_POST, TERM_HASHTAG, $top_limit, $bottom_limit); + local_user(), TERM_OBJ_POST, TERM_HASHTAG, intval(CONTACT_IS_SHARING), $top_limit, $bottom_limit); $data = dba::inArray($items); From b28fd98acd2754a11d8e8438684d29cad7f55be6 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sun, 8 Apr 2018 09:59:43 -0400 Subject: [PATCH 3/5] Replaced < comparison with IN for contact.rel in mod/network --- mod/network.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mod/network.php b/mod/network.php index 613ad8603..940787240 100644 --- a/mod/network.php +++ b/mod/network.php @@ -771,12 +771,12 @@ function networkThreadedView(App $a, $update, $parent) FROM `item` $sql_post_table STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND (NOT `contact`.`blocked` OR `contact`.`pending`) - AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` < %d OR `contact`.`readonly`)) + AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` IN (0, %d) OR `contact`.`readonly`)) WHERE `item`.`uid` = %d AND `item`.`visible` AND NOT `item`.`deleted` AND NOT `item`.`moderated` AND $sql_extra4 $sql_extra3 $sql_extra $sql_range $sql_nets ORDER BY `order_date` DESC LIMIT 100", - intval(CONTACT_IS_SHARING), + intval(CONTACT_IS_FOLLOWER), intval(local_user()) ); } else { @@ -785,12 +785,12 @@ function networkThreadedView(App $a, $update, $parent) STRAIGHT_JOIN `contact` ON `contact`.`id` = `thread`.`contact-id` AND (NOT `contact`.`blocked` OR `contact`.`pending`) STRAIGHT_JOIN `item` ON `item`.`id` = `thread`.`iid` - AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` < %d OR `contact`.`readonly`)) + AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` IN (0, %d) OR `contact`.`readonly`)) WHERE `thread`.`uid` = %d AND `thread`.`visible` AND NOT `thread`.`deleted` AND NOT `thread`.`moderated` $sql_extra2 $sql_extra3 $sql_range $sql_extra $sql_nets ORDER BY `order_date` DESC $pager_sql", - intval(CONTACT_IS_SHARING), + intval(CONTACT_IS_FOLLOWER), intval(local_user()) ); } @@ -831,10 +831,10 @@ function networkThreadedView(App $a, $update, $parent) (SELECT SUBSTR(`term`, 2) FROM `search` WHERE `uid` = ? AND `term` LIKE '#%') AND `otype` = ? AND `type` = ? AND `uid` = 0) AS `term` ON `item`.`id` = `term`.`oid` STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`author-id` - AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` < ? OR `contact`.`readonly`)) + AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` IN (0, %d) OR `contact`.`readonly`)) WHERE `item`.`uid` = 0 AND `item`.$ordering < ? AND `item`.$ordering > ? AND NOT `contact`.`hidden` AND NOT `contact`.`blocked`" . $sql_tag_nets, - local_user(), TERM_OBJ_POST, TERM_HASHTAG, intval(CONTACT_IS_SHARING), $top_limit, $bottom_limit); + local_user(), TERM_OBJ_POST, TERM_HASHTAG, intval(CONTACT_IS_FOLLOWER), $top_limit, $bottom_limit); $data = dba::inArray($items); From 7563adcc7df0a3a6a7b4d3865f7293abd4211c1a Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sun, 8 Apr 2018 20:47:16 -0400 Subject: [PATCH 4/5] Use positive form for relationship check in mod/network --- mod/network.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/mod/network.php b/mod/network.php index 940787240..c8a21aecb 100644 --- a/mod/network.php +++ b/mod/network.php @@ -771,12 +771,13 @@ function networkThreadedView(App $a, $update, $parent) FROM `item` $sql_post_table STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND (NOT `contact`.`blocked` OR `contact`.`pending`) - AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` IN (0, %d) OR `contact`.`readonly`)) + AND (`item`.`parent-uri` != `item`.`uri` OR `contact`.`rel` IN (%d, %d) AND NOT `contact`.`readonly`) WHERE `item`.`uid` = %d AND `item`.`visible` AND NOT `item`.`deleted` AND NOT `item`.`moderated` AND $sql_extra4 $sql_extra3 $sql_extra $sql_range $sql_nets ORDER BY `order_date` DESC LIMIT 100", - intval(CONTACT_IS_FOLLOWER), + intval(CONTACT_IS_SHARING), + intval(CONTACT_IS_FRIEND), intval(local_user()) ); } else { @@ -785,12 +786,13 @@ function networkThreadedView(App $a, $update, $parent) STRAIGHT_JOIN `contact` ON `contact`.`id` = `thread`.`contact-id` AND (NOT `contact`.`blocked` OR `contact`.`pending`) STRAIGHT_JOIN `item` ON `item`.`id` = `thread`.`iid` - AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` IN (0, %d) OR `contact`.`readonly`)) + AND (`item`.`parent-uri` != `item`.`uri` OR `contact`.`rel` IN (%d, %d) AND NOT `contact`.`readonly`) WHERE `thread`.`uid` = %d AND `thread`.`visible` AND NOT `thread`.`deleted` AND NOT `thread`.`moderated` $sql_extra2 $sql_extra3 $sql_range $sql_extra $sql_nets ORDER BY `order_date` DESC $pager_sql", - intval(CONTACT_IS_FOLLOWER), + intval(CONTACT_IS_SHARING), + intval(CONTACT_IS_FRIEND), intval(local_user()) ); } @@ -831,10 +833,12 @@ function networkThreadedView(App $a, $update, $parent) (SELECT SUBSTR(`term`, 2) FROM `search` WHERE `uid` = ? AND `term` LIKE '#%') AND `otype` = ? AND `type` = ? AND `uid` = 0) AS `term` ON `item`.`id` = `term`.`oid` STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`author-id` - AND (`item`.`parent-uri` != `item`.`uri` OR NOT (`contact`.`rel` IN (0, %d) OR `contact`.`readonly`)) + AND (`item`.`parent-uri` != `item`.`uri` OR `contact`.`rel` IN (?, ?) AND NOT `contact`.`readonly`) WHERE `item`.`uid` = 0 AND `item`.$ordering < ? AND `item`.$ordering > ? AND NOT `contact`.`hidden` AND NOT `contact`.`blocked`" . $sql_tag_nets, - local_user(), TERM_OBJ_POST, TERM_HASHTAG, intval(CONTACT_IS_FOLLOWER), $top_limit, $bottom_limit); + local_user(), TERM_OBJ_POST, TERM_HASHTAG, + intval(CONTACT_IS_SHARING), intval(CONTACT_IS_FRIEND), + $top_limit, $bottom_limit); $data = dba::inArray($items); From 99b446eccc2811cd4a9cfd4d06883732b9a5a344 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Mon, 9 Apr 2018 09:19:49 -0400 Subject: [PATCH 5/5] Remove useless intval() calls in mod/network --- mod/network.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/network.php b/mod/network.php index c8a21aecb..26645eefd 100644 --- a/mod/network.php +++ b/mod/network.php @@ -837,7 +837,7 @@ function networkThreadedView(App $a, $update, $parent) WHERE `item`.`uid` = 0 AND `item`.$ordering < ? AND `item`.$ordering > ? AND NOT `contact`.`hidden` AND NOT `contact`.`blocked`" . $sql_tag_nets, local_user(), TERM_OBJ_POST, TERM_HASHTAG, - intval(CONTACT_IS_SHARING), intval(CONTACT_IS_FRIEND), + CONTACT_IS_SHARING, CONTACT_IS_FRIEND, $top_limit, $bottom_limit); $data = dba::inArray($items);