foreach ($categories as $category) {
foreach ($category->attributes as $attributes) {
if ($attributes->name == 'term') {
- $term = $attributes->textContent;
- if (!empty($item['tag'])) {
- $item['tag'] .= ',';
- } else {
- $item['tag'] = '';
- }
-
- $item['tag'] .= '#[url=' . DI::baseUrl() . '/search?tag=' . $term . ']' . $term . '[/url]';
-
// Store the hashtag
- Tag::store($item['uri-id'], Tag::HASHTAG, $term);
+ Tag::store($item['uri-id'], Tag::HASHTAG, $attributes->textContent);
}
}
}
// Even more worse workaround for GNU Social ;-)
if ($xml == '') {
- $related_guess = OStatus::convertHref($related_uri);
+ $related_guess = self::convertHref($related_uri);
$curlResult = Network::curl(str_replace('/notice/', '/api/statuses/show/', $related_guess).'.atom');
if ($curlResult->isSuccess()) {
*
* @return string URL in the format http(s)://....
*/
- public static function convertHref($href)
+ private static function convertHref($href)
{
$elements = explode(":", $href);
XML::addElement($doc, $author, "name", $owner["nick"]);
XML::addElement($doc, $author, "email", $owner["addr"]);
if ($show_profile) {
- XML::addElement($doc, $author, "summary", BBCode::convert($owner["about"], false, 7));
+ XML::addElement($doc, $author, "summary", BBCode::convert($owner["about"], false, BBCode::OSTATUS));
}
$attributes = ["rel" => "alternate", "type" => "text/html", "href" => $owner["url"]];
XML::addElement($doc, $author, "poco:preferredUsername", $owner["nick"]);
XML::addElement($doc, $author, "poco:displayName", $owner["name"]);
if ($show_profile) {
- XML::addElement($doc, $author, "poco:note", BBCode::convert($owner["about"], false, 7));
+ XML::addElement($doc, $author, "poco:note", BBCode::convert($owner["about"], false, BBCode::OSTATUS));
if (trim($owner["location"]) != "") {
$element = $doc->createElement("poco:address");
if (!$toplevel) {
if (!empty($item['title'])) {
- $title = BBCode::convert($item['title'], false, 7);
+ $title = BBCode::convert($item['title'], false, BBCode::OSTATUS);
} else {
$title = sprintf("New note by %s", $owner["nick"]);
}
$body = "[b]".$item['title']."[/b]\n\n".$body;
}
- $body = BBCode::convert($body, false, 7);
+ $body = BBCode::convert($body, false, BBCode::OSTATUS);
XML::addElement($doc, $entry, "content", $body, ["type" => "html"]);
XML::addElement($doc, $entry, "ostatus:conversation", $conversation_uri, $attributes);
}
- $tags = Tag::getByURIId($item['uri-id']);
- if (count($tags)) {
- foreach ($tags as $tag) {
- $mentioned[$tag['url']] = $tag['url'];
- }
+ // uri-id isn't present for follow entry pseudo-items
+ $tags = Tag::getByURIId($item['uri-id'] ?? 0);
+ foreach ($tags as $tag) {
+ $mentioned[$tag['url']] = $tag['url'];
}
// Make sure that mentions are accepted (GNU Social has problems with mixing HTTP and HTTPS)
XML::addElement($doc, $entry, "mastodon:scope", "public");
}
- if (count($tags)) {
- foreach ($tags as $tag) {
- if ($tag['type'] == Tag::HASHTAG) {
- XML::addElement($doc, $entry, "category", "", ["term" => $tag['name']]);
- }
+ foreach ($tags as $tag) {
+ if ($tag['type'] == Tag::HASHTAG) {
+ XML::addElement($doc, $entry, "category", "", ["term" => $tag['name']]);
}
}