+ function api_convert_item($item) {
+
+ $body = $item['body'];
+ $attachments = api_get_attachments($body);
+
+ // Workaround for ostatus messages where the title is identically to the body
+ $html = bbcode(api_clean_plain_items($body), false, false, 2, true);
+ $statusbody = trim(html2plain($html, 0));
+
+ // handle data: images
+ $statusbody = api_format_items_embeded_images($item,$statusbody);
+
+ $statustitle = trim($item['title']);
+
+ if (($statustitle != '') and (strpos($statusbody, $statustitle) !== false))
+ $statustext = trim($statusbody);
+ else
+ $statustext = trim($statustitle."\n\n".$statusbody);
+
+ if (($item["network"] == NETWORK_FEED) and (strlen($statustext)> 1000))
+ $statustext = substr($statustext, 0, 1000)."... \n".$item["plink"];
+
+ $statushtml = trim(bbcode($body, false, false));
+
+ $search = array("<br>", "<blockquote>", "</blockquote>",
+ "<h1>", "</h1>", "<h2>", "</h2>",
+ "<h3>", "</h3>", "<h4>", "</h4>",
+ "<h5>", "</h5>", "<h6>", "</h6>");
+ $replace = array("<br>\n", "\n<blockquote>", "</blockquote>\n",
+ "\n<h1>", "</h1>\n", "\n<h2>", "</h2>\n",
+ "\n<h3>", "</h3>\n", "\n<h4>", "</h4>\n",
+ "\n<h5>", "</h5>\n", "\n<h6>", "</h6>\n");
+ $statushtml = str_replace($search, $replace, $statushtml);
+
+ if ($item['title'] != "")
+ $statushtml = "<h4>".bbcode($item['title'])."</h4>\n".$statushtml;
+
+ $entities = api_get_entitities($statustext, $body);
+
+ return(array("text" => $statustext, "html" => $statushtml, "attachments" => $attachments, "entities" => $entities));
+ }
+
+ function api_get_attachments(&$body) {