- // send notification
-
- $r = q(
- "SELECT `hide-friends` FROM `profile` WHERE `uid` = %d AND `is-default` = 1 LIMIT 1",
- intval($importer["uid"])
- );
-
- if ($r && !$r[0]["hide-friends"] && !$contact["hidden"] && intval(PConfig::get($importer["uid"], "system", "post_newfriend"))) {
- $self = q(
- "SELECT * FROM `contact` WHERE `self` AND `uid` = %d LIMIT 1",
- intval($importer["uid"])
- );
-
- // they are not CONTACT_IS_FOLLOWER anymore but that's what we have in the array
-
- if ($self && $contact["rel"] == CONTACT_IS_FOLLOWER) {
- $arr = [];
- $arr["protocol"] = PROTOCOL_DIASPORA;
- $arr["uri"] = $arr["parent-uri"] = item_new_uri($a->get_hostname(), $importer["uid"]);
- $arr["uid"] = $importer["uid"];
- $arr["contact-id"] = $self[0]["id"];
- $arr["wall"] = 1;
- $arr["type"] = 'wall';
- $arr["gravity"] = 0;
- $arr["origin"] = 1;
- $arr["author-name"] = $arr["owner-name"] = $self[0]["name"];
- $arr["author-link"] = $arr["owner-link"] = $self[0]["url"];
- $arr["author-avatar"] = $arr["owner-avatar"] = $self[0]["thumb"];
- $arr["verb"] = ACTIVITY_FRIEND;
- $arr["object-type"] = ACTIVITY_OBJ_PERSON;
-
- $A = "[url=".$self[0]["url"]."]".$self[0]["name"]."[/url]";
- $B = "[url=".$contact["url"]."]".$contact["name"]."[/url]";
- $BPhoto = "[url=".$contact["url"]."][img]".$contact["thumb"]."[/img][/url]";
- $arr["body"] = L10n::t('%1$s is now friends with %2$s', $A, $B)."\n\n\n".$BPhoto;
-
- $arr["object"] = self::constructNewFriendObject($contact);
-
- $user = dba::selectFirst('user', ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid'], ['uid' => $importer["uid"]]);
-
- $arr["allow_cid"] = $user["allow_cid"];
- $arr["allow_gid"] = $user["allow_gid"];
- $arr["deny_cid"] = $user["deny_cid"];
- $arr["deny_gid"] = $user["deny_gid"];
-
- $i = Item::insert($arr);
- if ($i) {
- Worker::add(PRIORITY_HIGH, "Notifier", "activity", $i);
- }
- }
- }
- }
-
- /**
- * @brief Creates a XML object for a "new friend" message
- *
- * @param array $contact Array of the contact
- *
- * @return string The XML
- */
- private static function constructNewFriendObject($contact)
- {
- $objtype = ACTIVITY_OBJ_PERSON;
- $link = '<link rel="alternate" type="text/html" href="'.$contact["url"].'" />'."\n".
- '<link rel="photo" type="image/jpeg" href="'.$contact["thumb"].'" />'."\n";
-
- $xmldata = ["object" => ["type" => $objtype,
- "title" => $contact["name"],
- "id" => $contact["url"]."/".$contact["name"],
- "link" => $link]];
-
- return XML::fromArray($xmldata, $xml, true);