X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FProtocol%2FFeed.php;h=14a3c28ab9b002dd1446841dd848a376c4715cdb;hb=dbad46c37847f894312c0f1318a21f5ce3606cb0;hp=397edf3b41b4817f288dd1504db41526636ba9e7;hpb=713552c39f89582dd8f42e72b9d776ba8e7972d5;p=friendica.git diff --git a/src/Protocol/Feed.php b/src/Protocol/Feed.php index 397edf3b41..14a3c28ab9 100644 --- a/src/Protocol/Feed.php +++ b/src/Protocol/Feed.php @@ -29,6 +29,7 @@ use Friendica\Core\Protocol; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Item; +use Friendica\Model\Tag; use Friendica\Util\Network; use Friendica\Util\ParseUrl; use Friendica\Util\XML; @@ -385,6 +386,7 @@ class Feed { } $tags = ''; + $taglist = []; $categories = $xpath->query("category", $entry); foreach ($categories AS $category) { $hashtag = $category->nodeValue; @@ -394,6 +396,7 @@ class Feed { $taglink = "#[url=" . DI::baseUrl() . "/search?tag=" . $hashtag . "]" . $hashtag . "[/url]"; $tags .= $taglink; + $taglist[] = $hashtag; } $body = trim(XML::getFirstNodeValue($xpath, 'atom:content/text()', $entry)); @@ -475,6 +478,7 @@ class Feed { $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"], $preview, ($contact["fetch_further_information"] == 2), $contact["ffi_keyword_blacklist"]); + $taglist = get_page_keywords($item["plink"], $preview, ($contact["fetch_further_information"] == 2), $contact["ffi_keyword_blacklist"]); $item["object-type"] = Activity\ObjectType::BOOKMARK; unset($item["attach"]); } else { @@ -488,8 +492,11 @@ class Feed { } else { // @todo $preview is never set in this case, is it intended? - @MrPetovan 2018-02-13 $item["tag"] = add_page_keywords($item["plink"], $preview, true, $contact["ffi_keyword_blacklist"]); + $taglist = get_page_keywords($item["plink"], $preview, true, $contact["ffi_keyword_blacklist"]); } $item["body"] .= "\n" . $item['tag']; + } else { + $taglist = []; } // Add the link to the original feed entry if not present in feed @@ -520,6 +527,13 @@ class Feed { $id = Item::insert($item, false, $notify); Logger::info("Feed for contact " . $contact["url"] . " stored under id " . $id); + + if (!empty($id) && !empty($taglist)) { + $feeditem = Item::selectFirst(['uri-id'], ['id' => $id]); + foreach ($taglist as $tag) { + Tag::store($feeditem['uri-id'], Tag::HASHTAG, $tag); + } + } } }