From e00cb3eaafa4735e6853bb7baacf0ee09270cc54 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Fri, 29 Mar 2013 11:19:57 +0100 Subject: [PATCH] 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);