$xmlhead = "<" . "?xml version='1.0' encoding='UTF-8' ?" . ">";
$obj = XML::parseString($xmlhead.$item['object']);
- $links = XML::parseString($xmlhead."<links>".unxmlify($obj->link)."</links>");
$Bname = $obj->title;
- $Blink = "";
+ $Blink = $obj->id;
$Bphoto = "";
- foreach ($links->link as $l) {
+
+ foreach ($obj->link as $l) {
$atts = $l->attributes();
switch ($atts['rel']) {
case "alternate": $Blink = $atts['href'];
$blocklist = [];
foreach (explode(',', $str_blocked) as $entry) {
- $cid = Contact::getIdForURL(trim($entry), 0, true);
+ // The 4th parameter guarantees that there always will be a public contact entry
+ $cid = Contact::getIdForURL(trim($entry), 0, true, ['url' => trim($entry)]);
if (!empty($cid)) {
$blocklist[] = $cid;
}
. "'; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}
} elseif ($mode === 'profile') {
+ $items = conversation_add_children($items, false, $order, $uid);
$profile_owner = $a->profile['profile_uid'];
if (!$update) {
}
}
} elseif ($mode === 'notes') {
+ $items = conversation_add_children($items, false, $order, $uid);
$profile_owner = local_user();
if (!$update) {
. "; var netargs = '/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}
} elseif ($mode === 'display') {
+ $items = conversation_add_children($items, false, $order, $uid);
$profile_owner = $a->profile['uid'];
if (!$update) {
. "<script> var profile_uid = -1; var netargs = '" . substr($a->cmd, 10)
."/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}
+ } elseif ($mode === 'contacts') {
+ $items = conversation_add_children($items, true, $order, $uid);
+ $profile_owner = 0;
+
+ if (!$update) {
+ $live_update_div = '<div id="live-contacts"></div>' . "\r\n"
+ . "<script> var profile_uid = -1; var netargs = '" . substr($a->cmd, 9)
+ ."/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
+ }
} elseif ($mode === 'search') {
$live_update_div = '<div id="live-search"></div>' . "\r\n";
}
$page_template = get_markup_template("conversation.tpl");
if (!empty($items)) {
- if ($mode === 'community') {
+ if (in_array($mode, ['community', 'contacts'])) {
$writable = true;
} else {
- $writable = ($items[0]['uid'] == 0) && in_array($items[0]['network'], [Protocol::OSTATUS, Protocol::DIASPORA, Protocol::DFRN]);
+ $writable = ($items[0]['uid'] == 0) && in_array($items[0]['network'], [Protocol::ACTIVITYPUB, Protocol::OSTATUS, Protocol::DIASPORA, Protocol::DFRN]);
}
if (!local_user()) {
foreach ($items as $index => $item) {
if ($item['uid'] == 0) {
- $items[$index]['writable'] = in_array($item['network'], [Protocol::OSTATUS, Protocol::DIASPORA, Protocol::DFRN]);
+ $items[$index]['writable'] = in_array($item['network'], [Protocol::ACTIVITYPUB, Protocol::OSTATUS, Protocol::DIASPORA, Protocol::DFRN]);
}
}
}
if ((($cid == 0) || ($rel == Contact::FOLLOWER)) &&
- in_array($item['network'], [Protocol::DFRN, Protocol::OSTATUS, Protocol::DIASPORA])) {
+ in_array($item['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::OSTATUS, Protocol::DIASPORA])) {
$menu[L10n::t('Connect/Follow')] = 'follow?url=' . urlencode($item['author-link']);
}
} else {