]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Contact.php
Merge remote-tracking branch 'upstream/develop' into contact-tabs
[friendica.git] / src / Model / Contact.php
index 3bd826945f87815cda558976612b6e8ae3b23c96..12ec06012d038bc50c4ba9c48c43cc7498d4dda7 100644 (file)
@@ -3056,6 +3056,40 @@ class Contact
                return array_slice($contacts, $start, $limit);
        }
 
+       /**
+        * Returns a list of all common friends between two given public contact ids.
+        *
+        * @param int $cid1  first public contact id
+        * @param int $cid2  second public contact id
+        * @return int
+        */
+       public static function countContactsOfContact(int $cid)
+       {
+               return DBA::count('contact',
+                       ["`id` IN (SELECT `cid` FROM `contact-relation` WHERE `relation-cid` = ?)
+                       OR `id` IN (SELECT `relation-cid` FROM `contact-relation` WHERE `cid` = ?)",
+                       $cid, $cid]
+               );
+       }
+
+       /**
+        * Returns a list of all contacts of a given public contact id.
+        *
+        * @param int $cid   public contact id
+        * @param int $start optional, default 0
+        * @param int $limit optional, default 80
+        * @return array
+        */
+       public static function getContactsOfContact(int $cid, int $start = 0, int $limit = 80)
+       {
+               return DBA::selectToArray('contact', [],
+                       ["`id` IN (SELECT `cid` FROM `contact-relation` WHERE `relation-cid` = ?)
+                       OR `id` IN (SELECT `relation-cid` FROM `contact-relation` WHERE `cid` = ?)",
+                       $cid, $cid],
+                       ['limit' => [$start, $limit]]
+               );
+       }
+
        /**
         * Add public contacts from an array
         *