X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=twitter%2Ftwitter.php;h=0ac9396dff0630db80899f239b42d84c4bd1c7ac;hb=2be2adbb8eca2c931adeeb99f25f32c333b901cb;hp=006c16152934c3c77833705372e54b36775cea4f;hpb=ced503973ade95bc6681c03503b8ac4fed9e87c3;p=friendica-addons.git diff --git a/twitter/twitter.php b/twitter/twitter.php index 006c1615..0ac9396d 100755 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -2,8 +2,8 @@ /** * Name: Twitter Connector * Description: Relay public postings to a connected Twitter account - * Version: 1.0.3 - * Author: Tobias Diekershoff + * Version: 1.0.4 + * Author: Tobias Diekershoff */ @@ -198,7 +198,7 @@ function twitter_settings(&$a,&$s) { $s .= ''; $s .= ''; $s .= '
'; - $s .= ''; + $s .= ''; $s .= ''; $s .= '
'; @@ -301,9 +301,9 @@ function twitter_post_hook(&$a,&$b) { // shorten all the links in a 200000 character long essay. if (! $b['title']=='') { $tmp = $b['title'] . ' : '. $b['body']; - $tmp = substr($tmp, 0, 2*$max_char); +// $tmp = substr($tmp, 0, 4*$max_char); } else { - $tmp = substr($b['body'], 0, 2*$max_char); + $tmp = $b['body']; // substr($b['body'], 0, 3*$max_char); } // if [url=bla][img]blub.png[/img][/url] get blub.png $tmp = preg_replace( '/\[url\=(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)\]\[img\](\\w+.*?)\\[\\/img\]\\[\\/url\]/i', '$2', $tmp); @@ -319,7 +319,10 @@ function twitter_post_hook(&$a,&$b) { // that is, don't send if the option is not set in the // connector settings if ($linksenabled=='0') { + // #-tags $tmp = preg_replace( '/#\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', '#$2', $tmp); + // @-mentions + $tmp = preg_replace( '/@\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', '@$2', $tmp); } $tmp = preg_replace( '/\[url\=(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)\](\w+.*?)\[\/url\]/i', '$2 $1', $tmp); $tmp = preg_replace( '/\[bookmark\=(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)\](\w+.*?)\[\/bookmark\]/i', '$2 $1', $tmp); @@ -345,13 +348,22 @@ function twitter_post_hook(&$a,&$b) { $shortlink = short_link( $b['plink'] ); // the new message will be shortened such that "... $shortlink" // will fit into the character limit - $msg = substr($msg, 0, $max_char-strlen($shortlink)-4); + $msg = nl2br(substr($msg, 0, $max_char-strlen($shortlink)-4)); + $msg = str_replace(array('
','
'),' ',$msg); + $e = explode(' ', $msg); + // remove the last word from the cut down message to + // avoid sending cut words to the MicroBlog + array_pop($e); + $msg = implode(' ', $e); $msg .= '... ' . $shortlink; } // and now tweet it :-) if(strlen($msg)) { $result = $tweet->post('statuses/update', array('status' => $msg)); - logger('twitter_post send' , LOGGER_DEBUG); + logger('twitter_post send, result: ' . print_r($result, true), LOGGER_DEBUG); + if ($result->error) { + logger('Send to Twitter failed: "' . $result->error . '"'); + } } } }