diff --git a/include/api.php b/include/api.php index 305a86ca1..996c52f54 100644 --- a/include/api.php +++ b/include/api.php @@ -24,6 +24,7 @@ require_once('include/group.php'); require_once('include/like.php'); require_once('include/NotificationsManager.php'); + require_once('include/plaintext.php'); define('API_METHOD_ANY','*'); @@ -2867,7 +2868,7 @@ $scale_sql = ($scale === false ? "" : sprintf("and scale=%d",intval($scale))); $data_sql = ($scale === false ? "" : "data, "); - $r = q("select %s `resource-id`, `created`, `edited`, `title`, `desc`, `album`, `filename`, + $r = q("select %s `resource-id`, `created`, `edited`, `title`, `desc`, `album`, `filename`, `type`, `height`, `width`, `datasize`, `profile`, min(`scale`) as minscale, max(`scale`) as maxscale from photo where `uid` = %d and `resource-id` = '%s' %s group by `resource-id`", $data_sql, @@ -3121,42 +3122,37 @@ $Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",'[url=$1]$1[/url]',$Text); } - $Text = preg_replace_callback("((.*?)\[class=(.*?)\](.*?)\[\/class\])ism","api_cleanup_share",$Text); + // Simplify "attachment" element + $Text = api_clean_attachments($Text); + return($Text); } - function api_cleanup_share($shared) { - if ($shared[2] != "type-link") - return($shared[0]); + /** + * @brief Removes most sharing information for API text export + * + * @param string $body The original body + * + * @return string Cleaned body + */ + function api_clean_attachments($body) { + $data = get_attachment_data($body); - if (!preg_match_all("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism",$shared[3], $bookmark)) - return($shared[0]); + if (!$data) + return $body; - $title = ""; - $link = ""; + $body = ""; - if (isset($bookmark[2][0])) - $title = $bookmark[2][0]; + if (isset($data["text"])) + $body = $data["text"]; - if (isset($bookmark[1][0])) - $link = $bookmark[1][0]; + if (($body == "") AND (isset($data["title"]))) + $body = $data["title"]; - if (strpos($shared[1],$title) !== false) - $title = ""; + if (isset($data["url"])) + $body .= "\n".$data["url"]; - if (strpos($shared[1],$link) !== false) - $link = ""; - - $text = trim($shared[1]); - - //if (strlen($text) < strlen($title)) - if (($text == "") AND ($title != "")) - $text .= "\n\n".trim($title); - - if ($link != "") - $text .= "\n".trim($link); - - return(trim($text)); + return $body; } function api_best_nickname(&$contacts) { diff --git a/include/bbcode.php b/include/bbcode.php index 8545b2ff8..820a307cb 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -31,238 +31,86 @@ function bb_map_location($match) { } function bb_attachment($Text, $simplehtml = false, $tryoembed = true) { - $Text = preg_replace_callback("/(.*?)\[attachment(.*?)\](.*?)\[\/attachment\]/ism", - function ($match) use ($simplehtml, $tryoembed){ - $attributes = $match[2]; + $data = get_attachment_data($Text); - $type = ""; - preg_match("/type='(.*?)'/ism", $attributes, $matches); - if ($matches[1] != "") - $type = strtolower($matches[1]); + if (!$data) + return $Text; - preg_match('/type="(.*?)"/ism', $attributes, $matches); - if ($matches[1] != "") - $type = strtolower($matches[1]); - - if ($type == "") - return($match[0]); - - if (!in_array($type, array("link", "audio", "video"))) - return($match[0]); - - $url = ""; - preg_match("/url='(.*?)'/ism", $attributes, $matches); - if ($matches[1] != "") - $url = $matches[1]; - - preg_match('/url="(.*?)"/ism', $attributes, $matches); - if ($matches[1] != "") - $url = $matches[1]; - - $title = ""; - preg_match("/title='(.*?)'/ism", $attributes, $matches); - if ($matches[1] != "") - $title = $matches[1]; - - preg_match('/title="(.*?)"/ism', $attributes, $matches); - if ($matches[1] != "") - $title = $matches[1]; - - //$title = htmlentities($title, ENT_QUOTES, 'UTF-8', false); - $title = bbcode(html_entity_decode($title, ENT_QUOTES, 'UTF-8'), false, false, true); - $title = str_replace(array("[", "]"), array("[", "]"), $title); - - $image = ""; - if ($type != "video") { - preg_match("/image='(.*?)'/ism", $attributes, $matches); - if ($matches[1] != "") - $image = $matches[1]; - - preg_match('/image="(.*?)"/ism', $attributes, $matches); - if ($matches[1] != "") - $image = $matches[1]; - } - - $preview = ""; - if ($type != "video") { - preg_match("/preview='(.*?)'/ism", $attributes, $matches); - if ($matches[1] != "") - $preview = $matches[1]; - - preg_match('/preview="(.*?)"/ism', $attributes, $matches); - if ($matches[1] != "") - $preview = $matches[1]; - } - - if (((strpos($match[1], "[img=") !== false) OR (strpos($match[1], "[img]") !== false)) AND ($image != "")) { - $preview = $image; - $image = ""; - } - - if ($simplehtml == 7) { - $title2 = $title; - - $test1 = trim(html_entity_decode($match[1],ENT_QUOTES,'UTF-8')); - $test2 = trim(html_entity_decode($title,ENT_QUOTES,'UTF-8')); - - // If the link description is similar to the text above then don't add the link description - if (($title != "") AND ((strpos($test1,$test2) !== false) OR - (similar_text($test1,$test2) / strlen($title)) > 0.9)) - $title2 = $url; - $text = sprintf('<a href="%s" title="%s" class="attachment thumbnail" rel="nofollow external">%s</a><br />', - $url, $title, $title2); - } elseif (($simplehtml != 4) AND ($simplehtml != 0)) - $text = sprintf('<a href="%s" target="_blank">%s</a><br>', $url, $title); - else { - $text = sprintf('<span class="type-%s">', $type); - - $bookmark = array(sprintf('[bookmark=%s]%s[/bookmark]', $url, $title), $url, $title); - if ($tryoembed) - $oembed = tryoembed($bookmark); - else - $oembed = $bookmark[0]; - - if (strstr(strtolower($oembed), "<iframe ")) - $text = $oembed; - else { - if (($image != "") AND !strstr(strtolower($oembed), "<img ")) - $text .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-image" /></a><br />', $url, proxy_url($image), $title); - elseif (($preview != "") AND !strstr(strtolower($oembed), "<img ")) - $text .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-preview" /></a><br />', $url, proxy_url($preview), $title); - - $text .= $oembed; - - $text .= sprintf('<blockquote>%s</blockquote></span>', trim($match[3])); - } - } - - return($match[1].$text); - },$Text); - - return($Text); -} - -function bb_rearrange_share($shared) { - if (!in_array(strtolower($shared[2]), array("type-link", "type-audio", "type-video"))) - return($shared[0]); - - if (!preg_match_all("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism",$shared[3], $bookmark)) - return($shared[0]); - - $type = substr(trim(strtolower($shared[2])), 5); - - $title = ""; - $url = ""; - $preview = ""; - $description = ""; - - if (isset($bookmark[2][0])) - $title = $bookmark[2][0]; - - if (isset($bookmark[1][0])) - $url = $bookmark[1][0]; - - $cleanedshare = trim($shared[3]); - $cleanedshare = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '[img]$3[/img]', $cleanedshare); - preg_match("/\[img\](.*?)\[\/img\]/ism", $cleanedshare, $matches); - - if ($matches) - $preview = trim($matches[1]); - - preg_match("/\[quote\](.*?)\[\/quote\]/ism", $cleanedshare, $matches); - if ($matches) - $description = trim($matches[1]); - - $url = str_replace(array("[", "]"), array("[", "]"), htmlentities($url, ENT_QUOTES, 'UTF-8', false)); - $title = str_replace(array("[", "]"), array("[", "]"), htmlentities($title, ENT_QUOTES, 'UTF-8', false)); - $preview = str_replace(array("[", "]"), array("[", "]"), htmlentities($preview, ENT_QUOTES, 'UTF-8', false)); - - $Text = trim($shared[1])."\n[attachment type='".$type."'"; - - if ($url != "") - $Text .= " url='".$url."'"; - if ($title != "") - $Text .= " title='".$title."'"; - if ($preview != "") { - require_once("include/Photo.php"); - $picturedata = get_photo_info($preview); - - if (count($picturedata) > 0) { - // if the preview picture is larger than 500 pixels then show it in a larger mode - // But only, if the picture isn't higher than large (To prevent huge posts) - if (($picturedata[0] >= 500) AND ($picturedata[0] >= $picturedata[1])) - $Text .= " image='".$preview."'"; - else - $Text .= " preview='".$preview."'"; - } else - $Text .= " preview='".$preview."'"; + if (((strpos($data["text"], "[img=") !== false) OR (strpos($data["text"], "[img]") !== false)) AND ($data["image"] != "")) { + $data["preview"] = $data["image"]; + $data["image"] = ""; } - $Text .= "]".$description."[/attachment]"; - return($Text); + if ($simplehtml == 7) { + $title2 = $data["title"]; + + $test1 = trim(html_entity_decode($data["text"],ENT_QUOTES,'UTF-8')); + $test2 = trim(html_entity_decode($data["title"],ENT_QUOTES,'UTF-8')); + + // If the link description is similar to the text above then don't add the link description + if (($data["title"] != "") AND ((strpos($test1,$test2) !== false) OR + (similar_text($test1,$test2) / strlen($data["title"])) > 0.9)) + $title2 = $data["url"]; + $text = sprintf('<a href="%s" title="%s" class="attachment thumbnail" rel="nofollow external">%s</a><br />', + $data["url"], $data["title"], $title2); + } elseif (($simplehtml != 4) AND ($simplehtml != 0)) + $text = sprintf('<a href="%s" target="_blank">%s</a><br>', $data["url"], $data["title"]); + else { + $text = sprintf('<span class="type-%s">', $data["type"]); + + $bookmark = array(sprintf('[bookmark=%s]%s[/bookmark]', $data["url"], $data["title"]), $data["url"], $data["title"]); + if ($tryoembed) + $oembed = tryoembed($bookmark); + else + $oembed = $bookmark[0]; + + if (strstr(strtolower($oembed), "<iframe ")) + $text = $oembed; + else { + if (($data["image"] != "") AND !strstr(strtolower($oembed), "<img ")) + $text .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-image" /></a><br />', $data["url"], proxy_url($data["image"]), $data["title"]); + elseif (($data["preview"] != "") AND !strstr(strtolower($oembed), "<img ")) + $text .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-preview" /></a><br />', $data["url"], proxy_url($data["preview"]), $data["title"]); + + $text .= $oembed; + + $text .= sprintf('<blockquote>%s</blockquote></span>', trim($data["description"])); + } + } + return $data["text"].$text.$data["after"]; } function bb_remove_share_information($Text, $plaintext = false, $nolink = false) { - $Text = preg_replace_callback("((.*?)\[class=(.*?)\](.*?)\[\/class\])ism", - function ($match) use ($plaintext, $nolink){ - return(bb_cleanup_share($match, $plaintext, $nolink)); - },$Text); - return($Text); -} -function bb_cleanup_share($shared, $plaintext, $nolink) { - $shared[1] = trim($shared[1]); + $data = get_attachment_data($Text); - if (!in_array($shared[2], array("type-link", "type-video"))) - return($shared[0]); - - if ($plaintext) - $shared[3] = preg_replace("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism","[bookmark=$1]$1[/bookmark]", $shared[3]); - - if (!preg_match_all("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism",$shared[3], $bookmark)) - return($shared[0]); + if (!$data) + return $Text; if ($nolink) - return($shared[1]); + return $data["text"]; - $title = ""; - $link = ""; + if ($plaintext) + $data["title"] = $data["url"]; - if (isset($bookmark[2][0])) - $title = $bookmark[2][0]; - - if (isset($bookmark[1][0])) - $link = $bookmark[1][0]; - - if (($shared[1] != "") AND (strpos($title, $shared[1]) !== false)) - $shared[1] = $title; - - if (($title != "") AND ((strpos($shared[1],$title) !== false) OR - (similar_text($shared[1],$title) / strlen($title)) > 0.9)) - $title = ""; - -// if (strpos($shared[1],$link) !== false) -// $link = ""; - - $text = trim($shared[1]); - - if (($text == "") AND ($title != "") AND ($link == "")) - $text .= "\n\n".trim($title); + if (($data["text"] == "") AND ($data["title"] != "") AND ($data["url"] == "")) + return $data["title"]; // If the link already is included in the post, don't add it again - if (($link != "") AND strpos($text, $link)) - return(trim($text)); + if (($data["url"] != "") AND strpos($data["text"], $data["url"])) + return $data["text"]; - if (($link != "") AND ($title != "")) - $text .= "\n[url=".trim($link)."]".trim($title)."[/url]"; + $text = $data["text"]; + + if (($data["url"] != "") AND ($data["title"] != "")) + $text .= "\n[url=".$data["url"]."]".$data["title"]."[/url]"; elseif (($link != "")) - $text .= "\n".trim($link); + $text .= "\n".$data["url"]; - return(trim($text)); + return $text; } - function bb_cleanstyle($st) { return "<span style=\"".cleancss($st[1]).";\">".$st[2]."</span>"; } @@ -895,9 +743,6 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal $Text = preg_replace("/\n\[code\]/ism", "[code]", $Text); $Text = preg_replace("/\[\/code\]\n/ism", "[/code]", $Text); - // Rearrange shares to attachments - $Text = preg_replace_callback("((.*?)\[class=(.*?)\](.*?)\[\/class\])ism", "bb_rearrange_share",$Text); - // when the content is meant exporting to other systems then remove the avatar picture since this doesn't really look good on these systems if (!$tryoembed) $Text = preg_replace("/\[share(.*?)avatar\s?=\s?'.*?'\s?(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","\n[share$1$2]$3[/share]",$Text); diff --git a/include/items.php b/include/items.php index b32ed2b16..5c0bb047a 100644 --- a/include/items.php +++ b/include/items.php @@ -161,24 +161,31 @@ function add_page_info_data($data) { if ($no_photos AND ($data["type"] == "photo")) return(""); - // If the link contains BBCode stuff, make a short link out of this to avoid parsing problems - if (strpos($data["url"], '[') OR strpos($data["url"], ']')) { - require_once("include/network.php"); - $data["url"] = short_link($data["url"]); + if (sizeof($data["images"]) > 0) + $preview = $data["images"][0]; + else + $preview = ""; + + // Escape some bad characters + $data["url"] = str_replace(array("[", "]"), array("[", "]"), htmlentities($data["url"], ENT_QUOTES, 'UTF-8', false)); + $data["title"] = str_replace(array("[", "]"), array("[", "]"), htmlentities($data["title"], ENT_QUOTES, 'UTF-8', false)); + + $text = "[attachment type='".$data["type"]."'"; + + if ($data["url"] != "") + $text .= " url='".$data["url"]."'"; + if ($data["title"] != "") + $text .= " title='".$data["title"]."'"; + if (sizeof($data["images"]) > 0) { + $preview = str_replace(array("[", "]"), array("[", "]"), htmlentities($data["images"][0]["src"], ENT_QUOTES, 'UTF-8', false)); + // if the preview picture is larger than 500 pixels then show it in a larger mode + // But only, if the picture isn't higher than large (To prevent huge posts) + if (($data["images"][0]["width"] >= 500) AND ($data["images"][0]["width"] >= $data["images"][0]["height"])) + $text .= " image='".$preview."'"; + else + $text .= " preview='".$preview."'"; } - - if (($data["type"] != "photo") AND is_string($data["title"])) - $text .= "[bookmark=".$data["url"]."]".trim($data["title"])."[/bookmark]"; - - if (($data["type"] != "video") AND ($photo != "")) - $text .= '[img]'.$photo.'[/img]'; - elseif (($data["type"] != "video") AND (sizeof($data["images"]) > 0)) { - $imagedata = $data["images"][0]; - $text .= '[img]'.$imagedata["src"].'[/img]'; - } - - if (($data["type"] != "photo") AND is_string($data["text"])) - $text .= "[quote]".$data["text"]."[/quote]"; + $text .= "]".$data["text"]."[/attachment]"; $hashtags = ""; if (isset($data["keywords"]) AND count($data["keywords"])) { @@ -192,7 +199,7 @@ function add_page_info_data($data) { } } - return("\n[class=type-".$data["type"]."]".$text."[/class]".$hashtags); + return "\n".$text.$hashtags; } function query_page_info($url, $no_photos = false, $photo = "", $keywords = false, $keyword_blacklist = "") { @@ -1261,17 +1268,17 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0) logger("Consume DFRN messages", LOGGER_DEBUG); $r = q("SELECT `contact`.*, `contact`.`uid` AS `importer_uid`, - `contact`.`pubkey` AS `cpubkey`, - `contact`.`prvkey` AS `cprvkey`, - `contact`.`thumb` AS `thumb`, - `contact`.`url` as `url`, - `contact`.`name` as `senderName`, - `user`.* - FROM `contact` - LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid` - WHERE `contact`.`id` = %d AND `user`.`uid` = %d", - dbesc($contact["id"]), dbesc($importer["uid"]) - ); + `contact`.`pubkey` AS `cpubkey`, + `contact`.`prvkey` AS `cprvkey`, + `contact`.`thumb` AS `thumb`, + `contact`.`url` as `url`, + `contact`.`name` as `senderName`, + `user`.* + FROM `contact` + LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid` + WHERE `contact`.`id` = %d AND `user`.`uid` = %d", + dbesc($contact["id"]), dbesc($importer["uid"]) + ); if ($r) { logger("Now import the DFRN feed"); dfrn::import($xml,$r[0], true); diff --git a/include/plaintext.php b/include/plaintext.php index a2b2c5652..95236027b 100644 --- a/include/plaintext.php +++ b/include/plaintext.php @@ -1,20 +1,11 @@ <?php -function get_attached_data($body) { -/* - - text: - - type: link, video, photo - - title: - - url: - - image: - - description: - - (thumbnail) -*/ +function get_old_attachment_data($body) { + + $post = array(); // Simplify image codes $body = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '[img]$3[/img]', $body); - $post = array(); - if (preg_match_all("(\[class=(.*?)\](.*?)\[\/class\])ism",$body, $attached, PREG_SET_ORDER)) { foreach ($attached AS $data) { if (!in_array($data[1], array("type-link", "type-video", "type-photo"))) @@ -43,6 +34,116 @@ function get_attached_data($body) { } } + return $post; +} + +function get_attachment_data($body) { + + $data = array(); + + if (!preg_match("/(.*)\[attachment(.*)\](.*?)\[\/attachment\](.*)/ism", $body, $match)) + return get_old_attachment_data($body); + + $attributes = $match[2]; + + $data["text"] = trim($match[1]); + + $type = ""; + preg_match("/type='(.*?)'/ism", $attributes, $matches); + if ($matches[1] != "") + $type = strtolower($matches[1]); + + preg_match('/type="(.*?)"/ism', $attributes, $matches); + if ($matches[1] != "") + $type = strtolower($matches[1]); + + if ($type == "") + return(array()); + + if (!in_array($type, array("link", "audio", "video"))) + return(array()); + + if ($type != "") + $data["type"] = $type; + + $url = ""; + preg_match("/url='(.*?)'/ism", $attributes, $matches); + if ($matches[1] != "") + $url = $matches[1]; + + preg_match('/url="(.*?)"/ism', $attributes, $matches); + if ($matches[1] != "") + $url = $matches[1]; + + if ($url != "") + $data["url"] = $url; + + $title = ""; + preg_match("/title='(.*?)'/ism", $attributes, $matches); + if ($matches[1] != "") + $title = $matches[1]; + + preg_match('/title="(.*?)"/ism', $attributes, $matches); + if ($matches[1] != "") + $title = $matches[1]; + + //$title = htmlentities($title, ENT_QUOTES, 'UTF-8', false); + $title = bbcode(html_entity_decode($title, ENT_QUOTES, 'UTF-8'), false, false, true); + $title = str_replace(array("[", "]"), array("[", "]"), $title); + + if ($title != "") + $data["title"] = $title; + + $image = ""; + if ($type != "video") { + preg_match("/image='(.*?)'/ism", $attributes, $matches); + if ($matches[1] != "") + $image = $matches[1]; + + preg_match('/image="(.*?)"/ism', $attributes, $matches); + if ($matches[1] != "") + $image = $matches[1]; + } + + if ($image != "") + $data["image"] = $image; + + $preview = ""; + if ($type != "video") { + preg_match("/preview='(.*?)'/ism", $attributes, $matches); + if ($matches[1] != "") + $preview = $matches[1]; + + preg_match('/preview="(.*?)"/ism', $attributes, $matches); + if ($matches[1] != "") + $preview = $matches[1]; + } + + if (($image == "") AND ($preview != "")) + $data["image"] = $preview; + else + $data["preview"] = $preview; + + $data["description"] = trim($match[3]); + + $data["after"] = trim($match[4]); + + return($data); +} + +function get_attached_data($body) { +/* + - text: + - type: link, video, photo + - title: + - url: + - image: + - description: + - (thumbnail) +*/ + + $post = get_attachment_data($body); + // if nothing is found, it maybe having an image. if (!isset($post["type"])) { require_once("mod/parse_url.php"); diff --git a/mod/parse_url.php b/mod/parse_url.php index a1ca5a3db..bf111f143 100644 --- a/mod/parse_url.php +++ b/mod/parse_url.php @@ -407,6 +407,8 @@ function arr_add_hashes(&$item,$k) { function parse_url_content(&$a) { + require_once("include/items.php"); + $text = null; $str_tags = ''; @@ -484,78 +486,9 @@ function parse_url_content(&$a) { $siteinfo = parseurl_getsiteinfo($url); -// if ($textmode) { -// require_once("include/items.php"); -// -// echo add_page_info_data($siteinfo); -// killme(); -// } - - $url= $siteinfo["url"]; - - // If the link contains BBCode stuff, make a short link out of this to avoid parsing problems - if (strpos($url, '[') OR strpos($url, ']')) { - require_once("include/network.php"); - $url = short_link($url); - } - - $sitedata = ""; - - if($siteinfo["title"] != "") { - $text = $siteinfo["text"]; - $title = $siteinfo["title"]; - } - - $image = ""; - - if (($siteinfo["type"] != "video") AND (sizeof($siteinfo["images"]) > 0)){ - /* Execute below code only if image is present in siteinfo */ - - $total_images = 0; - $max_images = get_config('system','max_bookmark_images'); - if($max_images === false) - $max_images = 2; - else - $max_images = intval($max_images); - - foreach ($siteinfo["images"] as $imagedata) { - if($textmode) - $image .= '[img='.$imagedata["width"].'x'.$imagedata["height"].']'.$imagedata["src"].'[/img]' . "\n"; - else - $image .= '<img height="'.$imagedata["height"].'" width="'.$imagedata["width"].'" src="'.$imagedata["src"].'" alt="photo" /><br />'; - $total_images ++; - if($max_images && $max_images >= $total_images) - break; - } - } - - if(strlen($text)) { - if($textmode) - $text = '[quote]'.trim($text).'[/quote]'; - else - $text = '<blockquote>'.htmlspecialchars(trim($text)).'</blockquote>'; - } - - if($image) - $text = $br.$br.$image.$text; - else - $text = $br.$text; - - $title = str_replace(array("\r","\n"),array('',''),$title); - - $result = sprintf($template,$url,($title) ? $title : $url,$text) . $str_tags; - - logger('parse_url: returns: ' . $result); - - $sitedata .= trim($result); - - if (($siteinfo["type"] == "video") AND ($url != "")) - echo "[class=type-video]".$sitedata."[/class]"; - elseif (($siteinfo["type"] != "photo")) - echo "[class=type-link]".$sitedata."[/class]"; - else - echo "[class=type-photo]".$title.$br.$image."[/class]"; + unset($siteinfo["keywords"]); + echo add_page_info_data($siteinfo); killme(); } ?>