From b68cb696e65ca67bfb3facb699693831ee954471 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Thu, 14 Mar 2013 23:16:35 +0100 Subject: [PATCH 1/2] gpluspost: Optimizations to the RSS feed. --- gpluspost/gpluspost.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/gpluspost/gpluspost.php b/gpluspost/gpluspost.php index 9f0f0102..db240aa3 100644 --- a/gpluspost/gpluspost.php +++ b/gpluspost/gpluspost.php @@ -327,6 +327,16 @@ function gpluspost_feeditem($pid, $uid) { $link = current($links); } $multiplelinks = (sizeof($links) > 1); + + if ($multiplelinks) { + $html2 = bbcode($msg, false, false); + $links2 = collecturls($html2); + if (sizeof($links2) > 0) { + reset($links2); + $link = current($links2); + $multiplelinks = (sizeof($links2) > 1); + } + } } $msglink = ""; @@ -350,8 +360,8 @@ function gpluspost_feeditem($pid, $uid) { $title = $lines[0]; } - if ($image != $msglink) - $html = trim(str_replace($msglink, "", $html)); + //if ($image != $msglink) + // $html = trim(str_replace($msglink, "", $html)); $title = trim(str_replace($msglink, "", $title)); @@ -360,6 +370,8 @@ function gpluspost_feeditem($pid, $uid) { if ($uid == 0) $title = $item["author-name"].": ".$title; + $msglink = htmlspecialchars(html_entity_decode($msglink)); + $title = str_replace("&", "&", $title); //$html = str_replace("&", "&", $html); From e00cb3eaafa4735e6853bb7baacf0ee09270cc54 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Fri, 29 Mar 2013 11:19:57 +0100 Subject: [PATCH 2/2] Statusnet/Twitter: When a message is less than 140 digits the post isn't modified in the auto shortening. --- statusnet/statusnet.php | 6 ++++++ twitter/twitter.php | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 77bff7a4..0a9f0d8d 100755 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -498,6 +498,8 @@ function statusnet_shortenmsg($b, $max_char) { while (strpos($msg, " ") !== false) $msg = str_replace(" ", " ", $msg); + $origmsg = $msg; + // Removing URLs $msg = preg_replace('/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/i', "", $msg); @@ -533,6 +535,10 @@ function statusnet_shortenmsg($b, $max_char) { if (($msglink == "") and strlen($msg) > $max_char) $msglink = $b["plink"]; + // If the message is short enough then don't modify it. (if the link exists in the original message) + if ((strlen(trim($origmsg)) <= $max_char) AND (strpos($origmsg, $msglink) OR ($msglink == ""))) + return(array("msg"=>trim($origmsg), "image"=>"")); + if (strlen($msglink) > 20) $msglink = short_link($msglink); diff --git a/twitter/twitter.php b/twitter/twitter.php index e4848f9d..8941508e 100755 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -351,6 +351,8 @@ function twitter_shortenmsg($b) { while (strpos($msg, " ") !== false) $msg = str_replace(" ", " ", $msg); + $origmsg = $msg; + // Removing URLs $msg = preg_replace('/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/i', "", $msg); @@ -386,6 +388,10 @@ function twitter_shortenmsg($b) { if (($msglink == "") and strlen($msg) > $max_char) $msglink = $b["plink"]; + // If the message is short enough then don't modify it. (if the link exists in the original message) + if ((strlen(trim($origmsg)) <= $max_char) AND (strpos($origmsg, $msglink) OR ($msglink == ""))) + return(trim($origmsg)); + if (strlen($msglink) > 20) $msglink = short_link($msglink);