]> git.mxchange.org Git - friendica.git/commitdiff
Issue 2772: Pending contacts should now be displayed
authorMichael <heluecht@pirati.ca>
Mon, 28 Nov 2016 22:11:13 +0000 (22:11 +0000)
committerMichael <heluecht@pirati.ca>
Mon, 28 Nov 2016 22:11:13 +0000 (22:11 +0000)
include/api.php
include/conversation.php
include/dfrn.php
include/identity.php
include/text.php
mod/network.php
mod/viewcontacts.php

index 7518d4c0c4ebbb0b34f61506787e3e34e6215746..9892fef26a9d459a6c6ccc1498666aa2b57f97bf 100644 (file)
                // count friends
                $r = q("SELECT count(*) as `count` FROM `contact`
                                WHERE  `uid` = %d AND `rel` IN ( %d, %d )
-                               AND `self`=0 AND `blocked`=0 AND `hidden`=0",
+                               AND `self`=0 AND (NOT `blocked` OR `pending`) AND `hidden`=0",
                                intval($uinfo[0]['uid']),
                                intval(CONTACT_IS_SHARING),
                                intval(CONTACT_IS_FRIEND)
 
                $r = q("SELECT count(*) as `count` FROM `contact`
                                WHERE  `uid` = %d AND `rel` IN ( %d, %d )
-                               AND `self`=0 AND `blocked`=0 AND `hidden`=0",
+                               AND `self`=0 AND (NOT `blocked` OR `pending`) AND `hidden`=0",
                                intval($uinfo[0]['uid']),
                                intval(CONTACT_IS_FOLLOWER),
                                intval(CONTACT_IS_FRIEND)
                        `contact`.`id` AS `cid`
                        FROM `item`
                        STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid`
-                               AND NOT `contact`.`blocked`
+                               AND (NOT `contact`.`blocked` OR `contact`.`pending`)
                        WHERE `item`.`uid` = %d AND `verb` = '%s'
                        AND `item`.`visible` AND NOT `item`.`moderated` AND NOT `item`.`deleted`
                        $sql_extra
                        `user`.`nickname`, `user`.`hidewall`
                        FROM `item`
                        STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid`
-                               AND NOT `contact`.`blocked`
+                               AND (NOT `contact`.`blocked` OR `contact`.`pending`)
                        STRAIGHT_JOIN `user` ON `user`.`uid` = `item`.`uid`
                                AND NOT `user`.`hidewall`
                        WHERE `verb` = '%s' AND `item`.`visible` AND NOT `item`.`deleted` AND NOT `item`.`moderated`
                        `contact`.`id` AS `cid`
                        FROM `item`
                        INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid`
-                               AND NOT `contact`.`blocked`
+                               AND (NOT `contact`.`blocked` OR `contact`.`pending`)
                        WHERE `item`.`visible` AND NOT `item`.`moderated` AND NOT `item`.`deleted`
                        AND `item`.`uid` = %d AND `item`.`verb` = '%s'
                        $sql_extra",
                        `contact`.`id` AS `cid`
                        FROM `item`
                        STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid`
-                               AND NOT `contact`.`blocked`
+                               AND (NOT `contact`.`blocked` OR `contact`.`pending`)
                        WHERE `item`.`parent` = %d AND `item`.`visible`
                        AND NOT `item`.`moderated` AND NOT `item`.`deleted`
                        AND `item`.`uid` = %d AND `item`.`verb` = '%s'
                        `contact`.`id` AS `cid`
                        FROM `item`
                        INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid`
-                               AND NOT `contact`.`blocked`
+                               AND (NOT `contact`.`blocked` OR `contact`.`pending`)
                        WHERE `item`.`visible` AND NOT `item`.`moderated` AND NOT `item`.`deleted`
                        AND NOT `item`.`private` AND `item`.`allow_cid` = '' AND `item`.`allow`.`gid` = ''
                        AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = ''
                        `contact`.`id` AS `cid`
                        FROM `item` FORCE INDEX (`uid_id`)
                        STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid`
-                               AND NOT `contact`.`blocked`
+                               AND (NOT `contact`.`blocked` OR `contact`.`pending`)
                        WHERE `item`.`uid` = %d AND `verb` = '%s'
                        AND NOT (`item`.`author-link` IN ('https://%s', 'http://%s'))
                        AND `item`.`visible` AND NOT `item`.`moderated` AND NOT `item`.`deleted`
                        `contact`.`id` AS `cid`
                        FROM `item` FORCE INDEX (`uid_contactid_id`)
                        STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid`
-                               AND NOT `contact`.`blocked`
+                               AND (NOT `contact`.`blocked` OR `contact`.`pending`)
                        WHERE `item`.`uid` = %d AND `verb` = '%s'
                        AND `item`.`contact-id` = %d
                        AND `item`.`visible` AND NOT `item`.`moderated` AND NOT `item`.`deleted`
                                AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`deleted` = 0
                                AND `item`.`starred` = 1
                                AND `contact`.`id` = `item`.`contact-id`
-                               AND NOT `contact`.`blocked`
+                               AND (NOT `contact`.`blocked` OR `contact`.`pending`)
                                $sql_extra
                                AND `item`.`id`>%d
                                ORDER BY `item`.`id` DESC LIMIT %d ,%d ",
                if ($user_info['self'] == 0)
                        $sql_extra = " AND false ";
 
-               $r = q("SELECT `nurl` FROM `contact` WHERE `uid` = %d AND NOT `self` AND NOT `blocked` $sql_extra",
+               $r = q("SELECT `nurl` FROM `contact` WHERE `uid` = %d AND NOT `self` AND (NOT `blocked` OR `pending`) $sql_extra",
                        intval(api_user())
                );
 
index 434a2eb858c1c283185ae25692965e5042291acc..c073117efd9c47b9e5bfd853c6184a05fa7c47c6 100644 (file)
@@ -439,7 +439,7 @@ These Fields are not added below (yet). They are here to for bug search.
 function item_joins() {
 
        return "STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND
-               NOT `contact`.`blocked`
+               (NOT `contact`.`blocked` OR `contact`.`pending`)
                LEFT JOIN `contact` AS `author` ON `author`.`id`=`item`.`author-id`
                LEFT JOIN `contact` AS `owner` ON `owner`.`id`=`item`.`owner-id`";
 }
index 67cef59d956ccbe037a060e272ba9f83a1439c97..8c03b658227dfc0f92c65ab7f0409ee344fa8a80 100644 (file)
@@ -134,7 +134,7 @@ class dfrn {
                                        break; // NOTREACHED
                        }
 
-                       $r = q("SELECT * FROM `contact` WHERE NOT `blocked` AND `contact`.`uid` = %d $sql_extra LIMIT 1",
+                       $r = q("SELECT * FROM `contact` WHERE (NOT `blocked` OR `pending`) AND `contact`.`uid` = %d $sql_extra LIMIT 1",
                                intval($owner_id)
                        );
 
@@ -193,7 +193,7 @@ class dfrn {
                        `sign`.`signed_text`, `sign`.`signature`, `sign`.`signer`
                        FROM `item` USE INDEX (`uid_wall_changed`, `uid_type_changed`) $sql_post_table
                        STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
-                       AND NOT `contact`.`blocked`
+                       AND (NOT `contact`.`blocked` OR `contact`.`pending`)
                        LEFT JOIN `sign` ON `sign`.`iid` = `item`.`id`
                        WHERE `item`.`uid` = %d AND `item`.`visible` AND NOT `item`.`moderated` AND `item`.`parent` != 0
                        AND `item`.`wall` AND `item`.`changed` > '%s'
index 288f93aaf97e0aa54875a9b73977a89e063d9e2f..133a12a13f58e80df6945021960dc55728dee0c4 100644 (file)
@@ -371,7 +371,7 @@ function profile_sidebar($profile, $block = 0) {
                        if(count($r))
                                $updated =  date("c", strtotime($r[0]['updated']));
 
-                       $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `hidden` AND NOT `archive`
+                       $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND NOT `self` AND (NOT `blocked` OR `pending`) AND NOT `hidden` AND NOT `archive`
                                        AND `network` IN ('%s', '%s', '%s', '')",
                                intval($profile['uid']),
                                dbesc(NETWORK_DFRN),
index 63e583d69f8c539b8d1c3cd5c49f1fec6cb8928c..154e4e235fa8a824b79a75500f2da308518d5659 100644 (file)
@@ -874,7 +874,7 @@ function contact_block() {
        if((! is_array($a->profile)) || ($a->profile['hide-friends']))
                return $o;
        $r = q("SELECT COUNT(*) AS `total` FROM `contact`
-                       WHERE `uid` = %d AND NOT `self` AND NOT `blocked`
+                       WHERE `uid` = %d AND NOT `self` AND (NOT `blocked` OR `pending`)
                                AND NOT `hidden` AND NOT `archive`
                                AND `network` IN ('%s', '%s', '%s')",
                        intval($a->profile['uid']),
@@ -892,7 +892,7 @@ function contact_block() {
        } else {
                // Splitting the query in two parts makes it much faster
                $r = q("SELECT `id` FROM `contact`
-                               WHERE `uid` = %d AND NOT `self` AND NOT `blocked`
+                               WHERE `uid` = %d AND NOT `self` AND (NOT `blocked` OR `pending`)
                                        AND NOT `hidden` AND NOT `archive`
                                AND `network` IN ('%s', '%s', '%s') ORDER BY RAND() LIMIT %d",
                                intval($a->profile['uid']),
index d522598f5af80bfc354c2b6ffec0581d136c3448..94a6e81b8cfdae2e6dd448fdb877b643a192962c 100644 (file)
@@ -504,7 +504,7 @@ function network_content(&$a, $update = 0) {
        elseif($cid) {
 
                $r = qu("SELECT `id`,`name`,`network`,`writable`,`nurl`, `forum`, `prv`, `contact-type`, `addr`, `thumb`, `location` FROM `contact` WHERE `id` = %d
-                               AND NOT `blocked` LIMIT 1",
+                               AND (NOT `blocked` OR `pending`) LIMIT 1",
                        intval($cid)
                );
                if(count($r)) {
@@ -603,7 +603,7 @@ function network_content(&$a, $update = 0) {
                if(get_config('system', 'old_pager')) {
                        $r = qu("SELECT COUNT(*) AS `total`
                                FROM $sql_table $sql_post_table INNER JOIN `contact` ON `contact`.`id` = $sql_table.`contact-id`
-                               AND NOT `contact`.`blocked`
+                               AND (NOT `contact`.`blocked` OR `contact`.`pending`)
                                WHERE $sql_table.`uid` = %d AND $sql_table.`visible` AND NOT $sql_table.`deleted`
                                $sql_extra2 $sql_extra3
                                $sql_extra $sql_nets ",
@@ -681,7 +681,7 @@ function network_content(&$a, $update = 0) {
 
                        $r = qu("SELECT `item`.`parent` AS `item_id`, `item`.`network` AS `item_network`, `contact`.`uid` AS `contact_uid`
                                FROM $sql_table $sql_post_table INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
-                               AND NOT `contact`.`blocked`
+                               AND (NOT `contact`.`blocked` OR `contact`.`pending`)
                                WHERE `item`.`uid` = %d AND `item`.`visible` AND NOT `item`.`deleted` $sql_extra4
                                AND NOT `item`.`moderated` AND `item`.`unseen`
                                $sql_extra3 $sql_extra $sql_nets
@@ -691,7 +691,7 @@ function network_content(&$a, $update = 0) {
                } else {
                        $r = qu("SELECT `thread`.`iid` AS `item_id`, `thread`.`network` AS `item_network`, `contact`.`uid` AS `contact_uid`
                                FROM $sql_table $sql_post_table STRAIGHT_JOIN `contact` ON `contact`.`id` = `thread`.`contact-id`
-                               AND NOT `contact`.`blocked`
+                               AND (NOT `contact`.`blocked` OR `contact`.`pending`)
                                WHERE `thread`.`uid` = %d AND `thread`.`visible` AND NOT `thread`.`deleted`
                                AND NOT `thread`.`moderated`
                                $sql_extra2 $sql_extra3 $sql_extra $sql_nets
index 6fb3b37fd5dc5be9618d25a7cbcf9eca31717081..6be1f16de0298fcd589dc49353b436db9aa99858 100644 (file)
@@ -47,7 +47,7 @@ function viewcontacts_content(&$a) {
        }
 
        $r = q("SELECT COUNT(*) AS `total` FROM `contact`
-               WHERE `uid` = %d AND NOT `blocked` AND NOT `hidden` AND NOT `archive`
+               WHERE `uid` = %d AND (NOT `blocked` OR `pending`) AND NOT `hidden` AND NOT `archive`
                        AND `network` IN ('%s', '%s', '%s')",
                intval($a->profile['uid']),
                dbesc(NETWORK_DFRN),
@@ -58,7 +58,7 @@ function viewcontacts_content(&$a) {
                $a->set_pager_total($r[0]['total']);
 
        $r = q("SELECT * FROM `contact`
-               WHERE `uid` = %d AND NOT `blocked` AND NOT `hidden` AND NOT `archive`
+               WHERE `uid` = %d AND (NOT `blocked` OR `pending`) AND NOT `hidden` AND NOT `archive`
                        AND `network` IN ('%s', '%s', '%s')
                ORDER BY `name` ASC LIMIT %d, %d",
                intval($a->profile['uid']),