]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Contact.php
Use getByNickname as suggested in code review.
[friendica.git] / src / Model / Contact.php
index f75cffadacd08ed5e5a2edbdca4c03c6f69a1589..89325e0939fedcd860b0d8d21c27e2849386f590 100644 (file)
@@ -2409,6 +2409,50 @@ class Contact
                return $contact;
        }
 
+       /**
+        * Follow a contact
+        *
+        * @param int $cid Public contact id
+        * @param int $uid  User ID
+        *
+        * @return bool "true" if following had been successful
+        */
+       public static function follow(int $cid, int $uid)
+       {
+               $user = User::getById($uid);
+               if (empty($user)) {
+                       return false;
+               }
+
+               $contact = self::getById($cid, ['url']);
+
+               $result = self::createFromProbe($user, $contact['url'], false);
+
+               return $result['cid'];
+       }
+
+       /**
+        * Unfollow a contact
+        *
+        * @param int $cid Public contact id
+        * @param int $uid  User ID
+        *
+        * @return bool "true" if unfollowing had been successful
+        */
+       public static function unfollow(int $cid, int $uid)
+       {
+               $cdata = self::getPublicAndUserContacID($cid, $uid);
+               if (empty($cdata['user'])) {
+                       return false;
+               }
+
+               $contact = self::getById($cdata['user']);
+
+               self::removeSharer([], $contact);
+
+               return true;
+       }
+
        /**
         * @param array  $importer Owner (local user) data
         * @param array  $contact  Existing owner-specific contact data we want to expand the relationship with. Optional.
@@ -2554,7 +2598,7 @@ class Contact
                return null;
        }
 
-       public static function removeFollower($importer, $contact, array $datarray = [], $item = "")
+       public static function removeFollower($importer, $contact)
        {
                if (($contact['rel'] == self::FRIEND) || ($contact['rel'] == self::SHARING)) {
                        DBA::update('contact', ['rel' => self::SHARING], ['id' => $contact['id']]);
@@ -2563,7 +2607,7 @@ class Contact
                }
        }
 
-       public static function removeSharer($importer, $contact, array $datarray = [], $item = "")
+       public static function removeSharer($importer, $contact)
        {
                if (($contact['rel'] == self::FRIEND) || ($contact['rel'] == self::FOLLOWER)) {
                        DBA::update('contact', ['rel' => self::FOLLOWER], ['id' => $contact['id']]);