X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fplaintext.php;h=cb56850d4f3cec833eacab9953527df603c3ac74;hb=885dc1df81c9ab752f9f5d66894786944184a9c9;hp=4bbca636ce63397aa6340a3bb1b5142beb4ab38a;hpb=fe71272e1e86b1e692b499c2daa0ef525fba26ff;p=friendica.git diff --git a/include/plaintext.php b/include/plaintext.php index 4bbca636ce..cb56850d4f 100644 --- a/include/plaintext.php +++ b/include/plaintext.php @@ -52,20 +52,19 @@ function get_attached_data($body) { if (preg_match_all("(\[url=([$URLSearchString]*)\]\s*\[img\]([$URLSearchString]*)\[\/img\]\s*\[\/url\])ism", $body, $pictures, PREG_SET_ORDER)) { if (count($pictures) == 1) { // Checking, if the link goes to a picture - $data = parseurl_getsiteinfo($pictures[0][1], true); - + $data = parseurl_getsiteinfo_cached($pictures[0][1], true); if ($data["type"] == "photo") { $post["type"] = "photo"; - if (isset($data["images"][0])) + if (isset($data["images"][0])) { $post["image"] = $data["images"][0]["src"]; - else + $post["url"] = $data["url"]; + } else $post["image"] = $data["url"]; $post["preview"] = $pictures[0][2]; $post["text"] = str_replace($pictures[0][0], "", $body); } else { - $img_str = fetch_url($pictures[0][1]); - $imgdata = get_photo_info($img_str); + $imgdata = get_photo_info($pictures[0][1]); if (substr($imgdata["mime"], 0, 6) == "image/") { $post["type"] = "photo"; $post["image"] = $pictures[0][1]; @@ -97,7 +96,7 @@ function get_attached_data($body) { } } elseif (isset($post["url"]) AND ($post["type"] == "video")) { require_once("mod/parse_url.php"); - $data = parseurl_getsiteinfo($post["url"], true); + $data = parseurl_getsiteinfo_cached($post["url"], true); if (isset($data["images"][0])) $post["image"] = $data["images"][0]["src"]; @@ -107,8 +106,8 @@ function get_attached_data($body) { } function shortenmsg($msg, $limit, $twitter = false) { - // To-Do: - // For Twitter URLs aren't shortened, but they have to be calculated as if. + /// @TODO + /// For Twitter URLs aren't shortened, but they have to be calculated as if. $lines = explode("\n", $msg); $msg = ""; @@ -118,7 +117,7 @@ function shortenmsg($msg, $limit, $twitter = false) { $msg = trim($msg."\n".$line); // Is the new message empty by now or is it a reshared message? elseif (($msg == "") OR (($row == 1) AND (substr($msg, 0, 4) == $recycle))) - $msg = substr(substr(trim($msg."\n".$line), 0, $limit), 0, -3)."..."; + $msg = iconv_substr(iconv_substr(trim($msg."\n".$line), 0, $limit, "UTF-8"), 0, -3, "UTF-8")."..."; else break; } @@ -174,15 +173,18 @@ function plaintext($a, $b, $limit = 0, $includedlinks = false, $htmlmode = 2) { $msg = str_replace(" ", " ", $msg); // Twitter is using its own limiter, so we always assume that shortened links will have this length - if (strlen($link) > 0) + if (iconv_strlen($link, "UTF-8") > 0) $limit = $limit - 23; - if (strlen($msg) > $limit) { + if (iconv_strlen($msg, "UTF-8") > $limit) { if (!isset($post["url"])) { $limit = $limit - 23; $post["url"] = $b["plink"]; - } + } elseif (strpos($b["body"], "[share") !== false) + $post["url"] = $b["plink"]; + elseif (get_pconfig($b["uid"], "system", "no_intelligent_shortening")) + $post["url"] = $b["plink"]; $msg = shortenmsg($msg, $limit); }