From 340f3f41d7d61bace2a3f2f776b109ab116edcc3 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 16 Aug 2023 14:20:32 +0000 Subject: [PATCH] Twitter: Fix posting --- twitter/twitter.php | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/twitter/twitter.php b/twitter/twitter.php index 7b46508e4..b01345b74 100644 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -106,9 +106,11 @@ function twitter_settings_post() DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'twitter', 'access_token', $_POST['twitter-access-token']); DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'twitter', 'access_secret', $_POST['twitter-access-secret']); - if (empty(DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'twitter', 'last_status')) || + if ( + empty(DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'twitter', 'last_status')) || ($api_key != $_POST['twitter-api-key']) || ($api_secret != $_POST['twitter-api-secret']) || - ($access_token != $_POST['twitter-access-token']) || ($access_secret != $_POST['twitter-access-secret'])) { + ($access_token != $_POST['twitter-access-token']) || ($access_secret != $_POST['twitter-access-secret']) + ) { twitter_test_connection(DI::userSession()->getLocalUserId()); } } @@ -126,7 +128,7 @@ function twitter_settings(array &$data) $api_secret = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'twitter', 'api_secret'); $access_token = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'twitter', 'access_token'); $access_secret = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'twitter', 'access_secret'); - + $last_status = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'twitter', 'last_status'); if (!empty($last_status['code']) && !empty($last_status['reason'])) { $status_title = sprintf('%d - %s', $last_status['code'], $last_status['reason']); @@ -308,12 +310,12 @@ function twitter_upload_image(int $uid, array $image, int $retrial) $picture = new Image($picturedata, $photo['type']); $height = $picture->getHeight(); - $width = $picture->getWidth(); + $width = $picture->getWidth(); $size = strlen($picturedata); $picture = Photo::resizeToFileSize($picture, TWITTER_IMAGE_SIZE[$retrial]); $new_height = $picture->getHeight(); - $new_width = $picture->getWidth(); + $new_width = $picture->getWidth(); $picturedata = $picture->asString(); $new_size = strlen($picturedata); @@ -360,16 +362,17 @@ function twitter_post(int $uid, string $url, string $type, array $data): stdClas ]); $response = $client->post($url, ['auth' => 'oauth', $type => $data]); + $body = $response->getBody()->getContents(); $status = [ - 'code' => $response->getStatusCode(), - 'reason' => $response->getReasonPhrase(), - 'content' => $response->getBody()->getContents() + 'code' => $response->getStatusCode(), + 'reason' => $response->getReasonPhrase(), + 'content' => $body ]; DI::pConfig()->set($uid, 'twitter', 'last_status', $status); - $content = json_decode($response->getBody()->getContents()) ?? new stdClass; + $content = json_decode($body) ?? new stdClass; Logger::debug('Success', ['content' => $content]); return $content; } @@ -390,7 +393,7 @@ function twitter_test_connection(int $uid) $client = new Client([ 'handler' => $stack ]); - + try { $response = $client->get('https://api.twitter.com/2/users/me', ['auth' => 'oauth']); $status = [ @@ -402,11 +405,11 @@ function twitter_test_connection(int $uid) Logger::info('Test successful', ['uid' => $uid]); } catch (RequestException $exception) { $status = [ - 'code' => $exception->getCode(), - 'reason' => $exception->getResponse()->getReasonPhrase(), + 'code' => $exception->getCode(), + 'reason' => $exception->getResponse()->getReasonPhrase(), 'content' => $exception->getMessage() ]; DI::pConfig()->set(1, 'twitter', 'last_status', $status); Logger::info('Test failed', ['uid' => $uid]); } -} \ No newline at end of file +}