]> git.mxchange.org Git - friendica-addons.git/blobdiff - statusnet/statusnet.php
fbpost: Enable posting to pages
[friendica-addons.git] / statusnet / statusnet.php
index 555f8dbb1de9af26b74b9f3dc7fd2cc39f1ffcac..bdbb4d4ac928e6437e69519917c097b4cf64a962 100755 (executable)
@@ -451,6 +451,9 @@ function statusnet_shortenmsg($b, $max_char) {
        while (strpos($msg, "  ") !== false)
                $msg = str_replace("  ", " ", $msg);
 
+       // Removing URLs
+       $msg = preg_replace('/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/i', "", $msg);
+
        $msg = trim($msg);
 
        $link = '';
@@ -502,7 +505,7 @@ function statusnet_shortenmsg($b, $max_char) {
        while (strpos($msg, "  ") !== false)
                $msg = str_replace("  ", " ", $msg);
 
-       return(trim($msg." ".$msglink));
+       return(array("msg"=>trim($msg." ".$msglink), "image"=>$image));
 }
 
 function statusnet_post_hook(&$a,&$b) {
@@ -609,14 +612,24 @@ function statusnet_post_hook(&$a,&$b) {
                        }
 
                        $msg = trim($msg);
-               } else
-                       $msg = statusnet_shortenmsg($b, $max_char);
+                       $postdata = array('status' => $msg);
+               } else {
+                       $msgarr = statusnet_shortenmsg($b, $max_char);
+                       $msg = $msgarr["msg"];
+                       $image = $msgarr["image"];
+                       if ($image != "") {
+                               $imagedata = file_get_contents($image);
+                               $postdata = array("status"=>$msg, "media"=>$imagedata);
+                       } else
+                               $postdata = array("status"=>$msg);
+               }
 
                // and now dent it :-)
                if(strlen($msg)) {
-                    $result = $dent->post('statuses/update', array('status' => $msg));
+                    //$result = $dent->post('statuses/update', array('status' => $msg));
+                    $result = $dent->post('statuses/update', $postdata);
                     logger('statusnet_post send, result: ' . print_r($result, true).
-                           "\nmessage: ".$msg, LOGGER_DEBUG."\nOriginal post: ".print_r($b));
+                           "\nmessage: ".$msg, LOGGER_DEBUG."\nOriginal post: ".print_r($b)."\nPost Data: ".print_r($postdata));
                     if ($result->error) {
                         logger('Send to StatusNet failed: "' . $result->error . '"');
                     }