Twitter: Code for aending media to Twitter has been optimised

pull/569/head
Michael 2018-04-02 05:42:33 +00:00
parent 35628d9229
commit b3236d69a1
1 changed files with 33 additions and 65 deletions

View File

@ -549,8 +549,14 @@ function twitter_post_hook(App $a, &$b)
$image = $msgarr["image"]; $image = $msgarr["image"];
} }
if (empty($msg)) {
return;
}
// and now tweet it :-) // and now tweet it :-)
if (strlen($msg) && ($image != "")) { $post = [];
if (!empty($image)) {
try { try {
$img_str = Network::fetchUrl($image); $img_str = Network::fetchUrl($image);
@ -561,30 +567,7 @@ function twitter_post_hook(App $a, &$b)
unlink($tempfile); unlink($tempfile);
$post = ['status' => $msg, 'media_ids' => $media->media_id_string]; $post['media_ids'] = $media->media_id_string;
if ($iscomment) {
$post["in_reply_to_status_id"] = substr($orig_post["uri"], 9);
}
$result = $connection->post('statuses/update', $post);
logger('twitter_post_with_media send, result: ' . print_r($result, true), LOGGER_DEBUG);
if ($result->source) {
Config::set("twitter", "application_name", strip_tags($result->source));
}
if ($result->errors || $result->error) {
logger('Send to Twitter failed: "' . print_r($result->errors, true) . '"');
// Workaround: Remove the picture link so that the post can be reposted without it
$msg .= " " . $image;
$image = "";
} elseif ($iscomment) {
logger('twitter_post: Update extid ' . $result->id_str . " for post id " . $b['id']);
Item::update(['extid' => "twitter::" . $result->id_str, 'body' => $result->text], ['id' => $b['id']]);
}
} catch (Exception $e) { } catch (Exception $e) {
logger('Exception when trying to send to Twitter: ' . $e->getMessage()); logger('Exception when trying to send to Twitter: ' . $e->getMessage());
@ -594,27 +577,13 @@ function twitter_post_hook(App $a, &$b)
} }
} }
if (strlen($msg) && ($image == "")) { $post['status'] = $msg;
// -----------------
$max_char = 280;
$msgarr = BBCode::toPlaintext($b, $max_char, true, 8);
$msg = $msgarr["text"];
if (($msg == "") && isset($msgarr["title"])) {
$msg = Plaintext::shorten($msgarr["title"], $max_char - 50);
}
if (isset($msgarr["url"])) {
$msg .= "\n" . $msgarr["url"];
}
// -----------------
$url = 'statuses/update';
$post = ['status' => $msg, 'weighted_character_count' => 'true'];
if ($iscomment) { if ($iscomment) {
$post["in_reply_to_status_id"] = substr($orig_post["uri"], 9); $post["in_reply_to_status_id"] = substr($orig_post["uri"], 9);
} }
$url = 'statuses/update';
$result = $connection->post($url, $post); $result = $connection->post($url, $post);
logger('twitter_post send, result: ' . print_r($result, true), LOGGER_DEBUG); logger('twitter_post send, result: ' . print_r($result, true), LOGGER_DEBUG);
@ -639,7 +608,6 @@ function twitter_post_hook(App $a, &$b)
Item::update(['extid' => "twitter::" . $result->id_str], ['id' => $b['id']]); Item::update(['extid' => "twitter::" . $result->id_str], ['id' => $b['id']]);
} }
} }
}
} }
function twitter_addon_admin_post(App $a) function twitter_addon_admin_post(App $a)