]> git.mxchange.org Git - friendica-addons.git/blobdiff - twitter/twitter.php
Merge remote branch 'friendica/master'
[friendica-addons.git] / twitter / twitter.php
index 0ac9396dff0630db80899f239b42d84c4bd1c7ac..d55e3b73ca92cacb3456e59033df3a5011a080cc 100755 (executable)
@@ -209,7 +209,7 @@ function twitter_settings(&$a,&$s) {
                        $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="twitter-submit" class="settings-submit" value="' . t('Submit') . '" /></div>'; 
                }
        }
-        $s .= '</div><div class="clear"></div></div>';
+        $s .= '</div><div class="clear"></div>';
 }
 
 
@@ -290,7 +290,7 @@ function twitter_post_hook(&$a,&$b) {
                logger('twitter: we have customer key and oauth stuff, going to send.', LOGGER_DEBUG);
 
                require_once('library/twitteroauth.php');
-               require_once('include/bbcode.php');     
+               require_once('include/bbcode.php');
                $tweet = new TwitterOAuth($ckey,$csecret,$otoken,$osecret);
                 // in theory max char is 140 but T. uses t.co to make links 
                 // longer so we give them 10 characters extra
@@ -316,18 +316,24 @@ function twitter_post_hook(&$a,&$b) {
                 $tmp = preg_replace( '/\[\\/?audio(\\s+.*?\]|\])/i', '', $tmp);
                 $linksenabled = get_pconfig($b['uid'],'twitter','post_taglinks');
                 // if a #tag is linked, don't send the [url] over to SN
-                // that is, don't send if the option is not set in the 
+                // 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);
+                       // #-tags
+                       $tmp = preg_replace( '/#\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', '#$2', $tmp);
+                       // @-mentions
+                       $tmp = preg_replace( '/@\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', '@$2', $tmp);
+                       // recycle 1
+                       $recycle = html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8');
+                       $tmp = preg_replace( '/'.$recycle.'\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', $recycle.'$2', $tmp);
+                       // recycle 2
+                       //$recycle = html_entity_decode("&#x267B; ", ENT_QUOTES, 'UTF-8');
+                       //$tmp = preg_replace( '/'.$recycle.'\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', 'RT @$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);
-                // find all http or https links in the body of the entry and 
-                // apply the shortener if the link is longer then 20 characters 
+                // find all http or https links in the body of the entry and
+                // apply the shortener if the link is longer then 20 characters
                 if (( strlen($tmp)>$max_char ) && ( $max_char > 0 )) {
                     preg_match_all ( '/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/i', $tmp, $allurls  );
                     foreach ($allurls as $url) {
@@ -341,7 +347,11 @@ function twitter_post_hook(&$a,&$b) {
                 }
                 // ok, all the links we want to send out are save, now strip 
                 // away the remaining bbcode
-               $msg = strip_tags(bbcode($tmp));
+               //$msg = strip_tags(bbcode($tmp, false, false));
+               $msg = bbcode($tmp, false, false);
+               $msg = str_replace(array('<br>','<br />'),"\n",$msg);
+               $msg = strip_tags($msg);
+
                // quotes not working - let's try this
                $msg = html_entity_decode($msg);
                if (( strlen($msg) > $max_char) && $max_char > 0) {
@@ -357,6 +367,9 @@ function twitter_post_hook(&$a,&$b) {
                         $msg = implode(' ', $e);
                        $msg .= '... ' . $shortlink;
                }
+
+               $msg = trim($msg);
+
                // and now tweet it :-)
                if(strlen($msg)) {
                        $result = $tweet->post('statuses/update', array('status' => $msg));