3 namespace Friendica\Api\Mastodon;
5 use Friendica\Model\Contact;
6 use Friendica\Util\Network;
11 * @see https://docs.joinmastodon.org/api/entities/#relationship
18 var $following = false;
20 var $followed_by = false;
22 var $blocking = false;
26 var $muting_notifications = false;
28 var $requested = false;
30 var $domain_blocking = false;
32 var $showing_reblogs = false;
34 var $endorsed = false;
37 * @param array $contact Full Contact table record
38 * @return Relationship
40 public static function createFromContact(array $contact)
42 $relationship = new self();
44 $relationship->id = $contact['id'];
45 $relationship->following = in_array($contact['rel'], [Contact::SHARING, Contact::FRIEND]);
46 $relationship->followed_by = in_array($contact['rel'], [Contact::FOLLOWER, Contact::FRIEND]);
47 $relationship->blocking = (bool)$contact['blocked'];
48 $relationship->muting = (bool)$contact['readonly'];
49 $relationship->muting_notifications = (bool)$contact['readonly'];
50 $relationship->requested = (bool)$contact['pending'];
51 $relationship->domain_blocking = Network::isUrlBlocked($contact['url']);
53 $relationship->showing_reblogs = true;
55 $relationship->endorsed = false;