Merge pull request #3798 from annando/feed-information

Enhance feed information for "fetch further information"
This commit is contained in:
Tobias Diekershoff 2017-10-17 22:36:50 +02:00 committed by GitHub
commit b06c4ab84c

View File

@ -319,22 +319,6 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
$item["attach"] .= '[attach]href="'.$href.'" length="'.$length.'" type="'.$type.'"[/attach]';
}
if ($contact["fetch_further_information"]) {
$preview = "";
// Handle enclosures and treat them as preview picture
foreach ($attachments AS $attachment) {
if ($attachment["type"] == "image/jpeg") {
$preview = $attachment["link"];
}
}
$item["body"] = $item["title"].add_page_info($item["plink"], false, $preview, ($contact["fetch_further_information"] == 2), $contact["ffi_keyword_blacklist"]);
$item["tag"] = add_page_keywords($item["plink"], false, $preview, ($contact["fetch_further_information"] == 2), $contact["ffi_keyword_blacklist"]);
$item["title"] = "";
$item["object-type"] = ACTIVITY_OBJ_BOOKMARK;
unset($item["attach"]);
} else {
$body = trim($xpath->evaluate('atom:content/text()', $entry)->item(0)->nodeValue);
if ($body == "") {
@ -359,6 +343,43 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
$item["title"] = '';
}
if ($contact["fetch_further_information"]) {
$preview = "";
// Handle enclosures and treat them as preview picture
foreach ($attachments AS $attachment) {
if ($attachment["type"] == "image/jpeg") {
$preview = $attachment["link"];
}
}
// Remove a possible link to the item itself
$item["body"] = str_replace($item["plink"], '', $item["body"]);
$item["body"] = preg_replace('/\[url\=\](\w+.*?)\[\/url\]/i', '', $item["body"]);
// Replace the content when the title is longer than the body
$replace = (strlen($item["title"]) > strlen($item["body"]));
// Replace it, when there is an image in the body
if (strstr($item["body"], '[/img]')) {
$replace = true;
}
// Replace it, when there is a link in the body
if (strstr($item["body"], '[/url]')) {
$replace = true;
}
if ($replace) {
$item["body"] = $item["title"];
}
// We always strip the title since it will be added in the page information
$item["title"] = "";
$item["body"] = $item["body"].add_page_info($item["plink"], false, $preview, ($contact["fetch_further_information"] == 2), $contact["ffi_keyword_blacklist"]);
$item["tag"] = add_page_keywords($item["plink"], false, $preview, ($contact["fetch_further_information"] == 2), $contact["ffi_keyword_blacklist"]);
$item["object-type"] = ACTIVITY_OBJ_BOOKMARK;
unset($item["attach"]);
} else {
if (!strstr($item["body"], '[url') && ($item['plink'] != '')) {
$item["body"] .= "[hr][url]".$item['plink']."[/url]";
}