Merge pull request #1177 from annando/1410-feed-with-tags
Importing feed with hashtags from keywords
This commit is contained in:
commit
3092d34a7a
|
@ -872,7 +872,7 @@ function get_atom_elements($feed, $item, $contact = array()) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($contact["network"]) AND ($contact["network"] == NETWORK_FEED) AND $contact['fetch_further_information']) {
|
if (isset($contact["network"]) AND ($contact["network"] == NETWORK_FEED) AND $contact['fetch_further_information']) {
|
||||||
$res["body"] = $res["title"].add_page_info($res['plink']);
|
$res["body"] = $res["title"].add_page_info($res['plink'], false, "", true);
|
||||||
$res["title"] = "";
|
$res["title"] = "";
|
||||||
$res["object-type"] = ACTIVITY_OBJ_BOOKMARK;
|
$res["object-type"] = ACTIVITY_OBJ_BOOKMARK;
|
||||||
} elseif (isset($contact["network"]) AND ($contact["network"] == NETWORK_OSTATUS))
|
} elseif (isset($contact["network"]) AND ($contact["network"] == NETWORK_OSTATUS))
|
||||||
|
@ -888,7 +888,7 @@ function get_atom_elements($feed, $item, $contact = array()) {
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_page_info($url, $no_photos = false, $photo = "") {
|
function add_page_info($url, $no_photos = false, $photo = "", $keywords = false) {
|
||||||
require_once("mod/parse_url.php");
|
require_once("mod/parse_url.php");
|
||||||
|
|
||||||
$data = parseurl_getsiteinfo($url, true);
|
$data = parseurl_getsiteinfo($url, true);
|
||||||
|
@ -908,7 +908,7 @@ function add_page_info($url, $no_photos = false, $photo = "") {
|
||||||
return("");
|
return("");
|
||||||
|
|
||||||
if (($data["type"] != "photo") AND is_string($data["title"]))
|
if (($data["type"] != "photo") AND is_string($data["title"]))
|
||||||
$text .= "[bookmark=".$url."]".trim($data["title"])."[/bookmark]";
|
$text .= "[bookmark=".$data["url"]."]".trim($data["title"])."[/bookmark]";
|
||||||
|
|
||||||
if (($data["type"] != "video") AND ($photo != ""))
|
if (($data["type"] != "video") AND ($photo != ""))
|
||||||
$text .= '[img]'.$photo.'[/img]';
|
$text .= '[img]'.$photo.'[/img]';
|
||||||
|
@ -920,7 +920,17 @@ function add_page_info($url, $no_photos = false, $photo = "") {
|
||||||
if (($data["type"] != "photo") AND is_string($data["text"]))
|
if (($data["type"] != "photo") AND is_string($data["text"]))
|
||||||
$text .= "[quote]".$data["text"]."[/quote]";
|
$text .= "[quote]".$data["text"]."[/quote]";
|
||||||
|
|
||||||
return("\n[class=type-".$data["type"]."]".$text."[/class]");
|
$hashtags = "";
|
||||||
|
if ($keywords AND isset($data["keywords"])) {
|
||||||
|
$a = get_app();
|
||||||
|
$hashtags = "\n";
|
||||||
|
foreach ($data["keywords"] AS $keyword) {
|
||||||
|
$hashtag = str_replace(" ", "", $keyword);
|
||||||
|
$hashtags .= "#[url=".$a->get_baseurl()."/search?tag=".rawurlencode($hashtag)."]".$hashtag."[/url] ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return("\n[class=type-".$data["type"]."]".$text."[/class]".$hashtags);
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_page_info_to_body($body, $texturl = false, $no_photos = false) {
|
function add_page_info_to_body($body, $texturl = false, $no_photos = false) {
|
||||||
|
|
|
@ -51,6 +51,7 @@ function completeurl($url, $scheme) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $count = 1) {
|
function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $count = 1) {
|
||||||
|
require_once("include/network.php");
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
|
@ -63,6 +64,9 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co
|
||||||
|
|
||||||
$url = trim($url, "'");
|
$url = trim($url, "'");
|
||||||
$url = trim($url, '"');
|
$url = trim($url, '"');
|
||||||
|
|
||||||
|
$url = original_url($url);
|
||||||
|
|
||||||
$siteinfo["url"] = $url;
|
$siteinfo["url"] = $url;
|
||||||
$siteinfo["type"] = "link";
|
$siteinfo["type"] = "link";
|
||||||
|
|
||||||
|
@ -205,11 +209,23 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co
|
||||||
case "dc.description":
|
case "dc.description":
|
||||||
$siteinfo["text"] = $attr["content"];
|
$siteinfo["text"] = $attr["content"];
|
||||||
break;
|
break;
|
||||||
|
case "keywords":
|
||||||
|
$keywords = explode(",", $attr["content"]);
|
||||||
|
break;
|
||||||
|
case "news_keywords":
|
||||||
|
$keywords = explode(",", $attr["content"]);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if ($siteinfo["type"] == "summary")
|
if ($siteinfo["type"] == "summary")
|
||||||
$siteinfo["type"] = "link";
|
$siteinfo["type"] = "link";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isset($keywords)) {
|
||||||
|
$siteinfo["keywords"] = array();
|
||||||
|
foreach ($keywords as $keyword)
|
||||||
|
$siteinfo["keywords"][] = trim($keyword);
|
||||||
|
}
|
||||||
|
|
||||||
//$list = $xpath->query("head/meta[@property]");
|
//$list = $xpath->query("head/meta[@property]");
|
||||||
$list = $xpath->query("//meta[@property]");
|
$list = $xpath->query("//meta[@property]");
|
||||||
foreach ($list as $node) {
|
foreach ($list as $node) {
|
||||||
|
|
Loading…
Reference in a new issue