forked from friendica/friendica-addons
Statusnet: Now pictures are posted as well.
This commit is contained in:
parent
3de94114ea
commit
ac1675ab57
1057
statusnet/codebird.php
Normal file
1057
statusnet/codebird.php
Normal file
File diff suppressed because it is too large
Load diff
|
@ -550,6 +550,9 @@ function statusnet_shortenmsg($b, $max_char) {
|
||||||
if ((strlen(trim($origmsg)) <= $max_char) AND (strpos($origmsg, $msglink) OR ($msglink == "")))
|
if ((strlen(trim($origmsg)) <= $max_char) AND (strpos($origmsg, $msglink) OR ($msglink == "")))
|
||||||
return(array("msg"=>trim($origmsg), "image"=>""));
|
return(array("msg"=>trim($origmsg), "image"=>""));
|
||||||
|
|
||||||
|
// Preserve the unshortened link
|
||||||
|
$orig_link = $msglink;
|
||||||
|
|
||||||
if (strlen($msglink) > 20)
|
if (strlen($msglink) > 20)
|
||||||
$msglink = short_link($msglink);
|
$msglink = short_link($msglink);
|
||||||
|
|
||||||
|
@ -569,7 +572,22 @@ function statusnet_shortenmsg($b, $max_char) {
|
||||||
while (strpos($msg, " ") !== false)
|
while (strpos($msg, " ") !== false)
|
||||||
$msg = str_replace(" ", " ", $msg);
|
$msg = str_replace(" ", " ", $msg);
|
||||||
|
|
||||||
return(array("msg"=>trim($msg."\n".$msglink), "image"=>$image));
|
//return(array("msg"=>trim($msg."\n".$msglink), "image"=>$image));
|
||||||
|
|
||||||
|
// Looking if the link points to an image
|
||||||
|
$img_str = fetch_url($orig_link);
|
||||||
|
|
||||||
|
$tempfile = tempnam(get_config("system","temppath"), "cache");
|
||||||
|
file_put_contents($tempfile, $img_str);
|
||||||
|
$mime = image_type_to_mime_type(exif_imagetype($tempfile));
|
||||||
|
unlink($tempfile);
|
||||||
|
|
||||||
|
if (($image == $orig_link) OR (substr($mime, 0, 6) == "image/"))
|
||||||
|
return(array("msg"=>trim($msg), "image"=>$orig_link));
|
||||||
|
else if (($image != $orig_link) AND ($image != "") AND (strlen($msg."\n".$msglink) <= ($max_char - 20)))
|
||||||
|
return(array("msg"=>trim($msg."\n".$msglink), "image"=>$image));
|
||||||
|
else
|
||||||
|
return(array("msg"=>trim($msg."\n".$msglink), "image"=>""));
|
||||||
}
|
}
|
||||||
|
|
||||||
function statusnet_post_hook(&$a,&$b) {
|
function statusnet_post_hook(&$a,&$b) {
|
||||||
|
@ -697,18 +715,25 @@ function statusnet_post_hook(&$a,&$b) {
|
||||||
$msg = $msgarr["msg"];
|
$msg = $msgarr["msg"];
|
||||||
$image = $msgarr["image"];
|
$image = $msgarr["image"];
|
||||||
if ($image != "") {
|
if ($image != "") {
|
||||||
$imagedata = file_get_contents($image);
|
$img_str = fetch_url($image);
|
||||||
$tempfile = tempnam(get_config("system","temppath"), "upload");
|
$tempfile = tempnam(get_config("system","temppath"), "cache");
|
||||||
file_put_contents($tempfile, $imagedata);
|
file_put_contents($tempfile, $img_str);
|
||||||
$postdata = array("status"=>$msg, "media"=>"@".$tempfile);
|
$postdata = array("status" => $msg, "media[]" => $tempfile);
|
||||||
} else
|
} else
|
||||||
$postdata = array("status"=>$msg);
|
$postdata = array("status"=>$msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
// and now dent it :-)
|
// and now dent it :-)
|
||||||
if(strlen($msg)) {
|
if(strlen($msg)) {
|
||||||
//$result = $dent->post('statuses/update', array('status' => $msg));
|
|
||||||
$result = $dent->post('statuses/update', $postdata);
|
// New code that is able to post pictures
|
||||||
|
require_once("addon/statusnet/codebird.php");
|
||||||
|
$cb = \CodebirdSN\CodebirdSN::getInstance();
|
||||||
|
$cb->setAPIEndpoint($api);
|
||||||
|
$cb->setConsumerKey($ckey, $csecret);
|
||||||
|
$cb->setToken($otoken, $osecret);
|
||||||
|
$result = $cb->statuses_update($postdata);
|
||||||
|
//$result = $dent->post('statuses/update', $postdata);
|
||||||
logger('statusnet_post send, result: ' . print_r($result, true).
|
logger('statusnet_post send, result: ' . print_r($result, true).
|
||||||
"\nmessage: ".$msg, LOGGER_DEBUG."\nOriginal post: ".print_r($b, true)."\nPost Data: ".print_r($postdata, true));
|
"\nmessage: ".$msg, LOGGER_DEBUG."\nOriginal post: ".print_r($b, true)."\nPost Data: ".print_r($postdata, true));
|
||||||
if ($result->error) {
|
if ($result->error) {
|
||||||
|
@ -721,9 +746,9 @@ function statusnet_post_hook(&$a,&$b) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function statusnet_plugin_admin_post(&$a){
|
function statusnet_plugin_admin_post(&$a){
|
||||||
|
|
||||||
$sites = array();
|
$sites = array();
|
||||||
|
|
||||||
foreach($_POST['sitename'] as $id=>$sitename){
|
foreach($_POST['sitename'] as $id=>$sitename){
|
||||||
$sitename=trim($sitename);
|
$sitename=trim($sitename);
|
||||||
$apiurl=trim($_POST['apiurl'][$id]);
|
$apiurl=trim($_POST['apiurl'][$id]);
|
||||||
|
|
|
@ -648,7 +648,7 @@ function twitter_post_hook(&$a,&$b) {
|
||||||
// trying a new library for twitter
|
// trying a new library for twitter
|
||||||
// To-Do:
|
// To-Do:
|
||||||
// Switching completely to this library with all functions
|
// Switching completely to this library with all functions
|
||||||
include 'codebird.php';
|
require_once("addon/twitter/codebird.php");
|
||||||
|
|
||||||
$cb = \Codebird\Codebird::getInstance();
|
$cb = \Codebird\Codebird::getInstance();
|
||||||
$cb->setConsumerKey($ckey, $csecret);
|
$cb->setConsumerKey($ckey, $csecret);
|
||||||
|
|
Loading…
Reference in a new issue