forked from friendica/friendica-addons
Twitter: Sometimes posts don't get posted. (Too long) This is experimental stuff to look for the reason.
This commit is contained in:
parent
004e02c5ca
commit
e44e52ee93
|
@ -305,7 +305,7 @@ function short_link ($url) {
|
||||||
return $slinky->short();
|
return $slinky->short();
|
||||||
} };
|
} };
|
||||||
|
|
||||||
function twitter_shortenmsg($b) {
|
function twitter_shortenmsg($b, $shortlink = false) {
|
||||||
require_once("include/bbcode.php");
|
require_once("include/bbcode.php");
|
||||||
require_once("include/html2plain.php");
|
require_once("include/html2plain.php");
|
||||||
|
|
||||||
|
@ -449,10 +449,12 @@ function twitter_shortenmsg($b) {
|
||||||
//if (strlen(trim($msg." ".$msglink)) > ($max_char - 3)) {
|
//if (strlen(trim($msg." ".$msglink)) > ($max_char - 3)) {
|
||||||
// $msg = substr($msg, 0, ($max_char - 3) - (strlen($msglink)));
|
// $msg = substr($msg, 0, ($max_char - 3) - (strlen($msglink)));
|
||||||
|
|
||||||
// Just replace the message link with a 15 character long string
|
// Just replace the message link with a 20 character long string
|
||||||
// Twitter shortens it anyway to this length
|
// Twitter shortens it anyway to this length
|
||||||
|
// 15 should be enough - but sometimes posts don't get posted - although they would fit.
|
||||||
if (trim($msglink) <> '')
|
if (trim($msglink) <> '')
|
||||||
$msglink = "123456789012345";
|
$msglink = "123456789012345";
|
||||||
|
// $msglink = "12345678901234567890";
|
||||||
|
|
||||||
if (strlen(trim($msg." ".$msglink)) > ($max_char)) {
|
if (strlen(trim($msg." ".$msglink)) > ($max_char)) {
|
||||||
$msg = substr($msg, 0, ($max_char) - (strlen($msglink)));
|
$msg = substr($msg, 0, ($max_char) - (strlen($msglink)));
|
||||||
|
@ -498,11 +500,18 @@ function twitter_shortenmsg($b) {
|
||||||
|
|
||||||
if (($image == $orig_link) OR (substr($mime, 0, 6) == "image/"))
|
if (($image == $orig_link) OR (substr($mime, 0, 6) == "image/"))
|
||||||
return(array("msg"=>trim($msg), "image"=>$orig_link));
|
return(array("msg"=>trim($msg), "image"=>$orig_link));
|
||||||
else if (($image != $orig_link) AND ($image != "") AND (strlen($msg."\n".$msglink) <= ($max_char - 20)))
|
else if (($image != $orig_link) AND ($image != "") AND (strlen($msg."\n".$msglink) <= ($max_char - 20))) {
|
||||||
|
if ($shortlink)
|
||||||
|
$orig_link = short_link($orig_link);
|
||||||
|
|
||||||
return(array("msg"=>trim($msg."\n".$orig_link), "image"=>$image));
|
return(array("msg"=>trim($msg."\n".$orig_link), "image"=>$image));
|
||||||
else
|
} else {
|
||||||
|
if ($shortlink)
|
||||||
|
$orig_link = short_link($orig_link);
|
||||||
|
|
||||||
return(array("msg"=>trim($msg."\n".$orig_link), "image"=>""));
|
return(array("msg"=>trim($msg."\n".$orig_link), "image"=>""));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function twitter_post_hook(&$a,&$b) {
|
function twitter_post_hook(&$a,&$b) {
|
||||||
|
|
||||||
|
@ -652,8 +661,24 @@ function twitter_post_hook(&$a,&$b) {
|
||||||
if(strlen($msg) and ($image == "")) {
|
if(strlen($msg) and ($image == "")) {
|
||||||
$result = $tweet->post('statuses/update', array('status' => $msg));
|
$result = $tweet->post('statuses/update', array('status' => $msg));
|
||||||
logger('twitter_post send, result: ' . print_r($result, true), LOGGER_DEBUG);
|
logger('twitter_post send, result: ' . print_r($result, true), LOGGER_DEBUG);
|
||||||
if ($result->errors OR $result->error)
|
if ($result->errors OR $result->error) {
|
||||||
logger('Send to Twitter failed: "' . $result->errors . '"');
|
logger('Send to Twitter failed: "' . $result->errors . '"');
|
||||||
|
|
||||||
|
// experimental
|
||||||
|
// Sometims Twitter seems to think that posts are too long - although they aren't
|
||||||
|
// Test 1:
|
||||||
|
// Shorten the urls
|
||||||
|
// Test 2:
|
||||||
|
// Reduce the maximum length
|
||||||
|
if ($intelligent_shortening) {
|
||||||
|
$msgarr = twitter_shortenmsg($b, true);
|
||||||
|
$msg = $msgarr["msg"];
|
||||||
|
$image = $msgarr["image"];
|
||||||
|
$result = $tweet->post('statuses/update', array('status' => $msg));
|
||||||
|
logger('twitter_post send, result: ' . print_r($result, true), LOGGER_DEBUG);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue