+ $hashtags = "";
+ if (isset($data["keywords"]) AND count($data["keywords"])) {
+ $a = get_app();
+ $hashtags = "\n";
+ foreach ($data["keywords"] AS $keyword) {
+ $hashtag = str_replace(array(" ", "+", "/", ".", "#", "'"),
+ array("","", "", "", "", ""), $keyword);
+ $hashtags .= "#[url=".$a->get_baseurl()."/search?tag=".rawurlencode($hashtag)."]".$hashtag."[/url] ";
+ }
+ }
+
+ return("\n[class=type-".$data["type"]."]".$text."[/class]".$hashtags);
+}
+
+function query_page_info($url, $no_photos = false, $photo = "", $keywords = false, $keyword_blacklist = "") {
+ require_once("mod/parse_url.php");
+
+ $data = Cache::get("parse_url:".$url);
+ if (is_null($data)){
+ $data = parseurl_getsiteinfo($url, true);
+ Cache::set("parse_url:".$url,serialize($data));
+ } else
+ $data = unserialize($data);
+
+ if ($photo != "")
+ $data["images"][0]["src"] = $photo;
+
+ logger('fetch page info for '.$url.' '.print_r($data, true), LOGGER_DEBUG);
+
+ if (!$keywords AND isset($data["keywords"]))
+ unset($data["keywords"]);
+
+ if (($keyword_blacklist != "") AND isset($data["keywords"])) {
+ $list = explode(",", $keyword_blacklist);
+ foreach ($list AS $keyword) {
+ $keyword = trim($keyword);
+ $index = array_search($keyword, $data["keywords"]);
+ if ($index !== false)
+ unset($data["keywords"][$index]);
+ }
+ }
+
+ return($data);
+}
+
+function add_page_keywords($url, $no_photos = false, $photo = "", $keywords = false, $keyword_blacklist = "") {
+ $data = query_page_info($url, $no_photos, $photo, $keywords, $keyword_blacklist);
+
+ $tags = "";
+ if (isset($data["keywords"]) AND count($data["keywords"])) {
+ $a = get_app();
+ foreach ($data["keywords"] AS $keyword) {
+ $hashtag = str_replace(array(" ", "+", "/", ".", "#", "'"),
+ array("","", "", "", "", ""), $keyword);
+
+ if ($tags != "")
+ $tags .= ",";
+
+ $tags .= "#[url=".$a->get_baseurl()."/search?tag=".rawurlencode($hashtag)."]".$hashtag."[/url]";
+ }
+ }
+
+ return($tags);
+}
+
+function add_page_info($url, $no_photos = false, $photo = "", $keywords = false, $keyword_blacklist = "") {
+ $data = query_page_info($url, $no_photos, $photo, $keywords, $keyword_blacklist);
+
+ $text = add_page_info_data($data);
+
+ return($text);