From b1b26062fc11afc0607100e15f161aa0c02f56d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roland=20H=C3=A4der?= Date: Wed, 22 Jun 2022 17:19:26 +0200 Subject: [PATCH 1/6] Images::getInfoFromURL[Cached]() will both return empty arrays on error and that needs to be reflected here, too. --- statusnet/statusnet.php | 2 +- twitter/twitter.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 6fc1469c..f0f2755b 100644 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -1050,7 +1050,7 @@ function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_ex $own_url = DI::pConfig()->get($uid, 'statusnet', 'own_url'); if ($content->user->id == $own_url) { - $self = DBA::selectFirst([], ['self' => true, 'uid' => $uid]); + $self = DBA::selectFirst('', ['self' => true, 'uid' => $uid]); if (DBA::isResult($self)) { $contactid = $self["id"]; diff --git a/twitter/twitter.php b/twitter/twitter.php index 3c46ac7e..5a5071fc 100644 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -1279,7 +1279,7 @@ function twitter_fix_avatar($avatar) $new_avatar = str_replace("_normal.", "_400x400.", $avatar); $info = Images::getInfoFromURLCached($new_avatar); - if (!$info) { + if (empty($info)) { $new_avatar = $avatar; } -- 2.43.0 From d39717a2d568c7bd78a5b7781bb86893ae01383b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roland=20H=C3=A4der?= Date: Wed, 22 Jun 2022 18:17:09 +0200 Subject: [PATCH 2/6] Converted more double-quotes to single --- statusnet/statusnet.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index f0f2755b..5f520de4 100644 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -1050,7 +1050,7 @@ function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_ex $own_url = DI::pConfig()->get($uid, 'statusnet', 'own_url'); if ($content->user->id == $own_url) { - $self = DBA::selectFirst('', ['self' => true, 'uid' => $uid]); + $self = DBA::selectFirst('*', ['self' => true, 'uid' => $uid]); if (DBA::isResult($self)) { $contactid = $self["id"]; -- 2.43.0 From 04466968dcd4ccd796894a951b2ff821a83545b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roland=20H=C3=A4der?= Date: Mon, 20 Jun 2022 21:31:55 +0200 Subject: [PATCH 3/6] Let's avoid local variables --- advancedcontentfilter/advancedcontentfilter.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/advancedcontentfilter/advancedcontentfilter.php b/advancedcontentfilter/advancedcontentfilter.php index fecf9563..9f6a7cff 100644 --- a/advancedcontentfilter/advancedcontentfilter.php +++ b/advancedcontentfilter/advancedcontentfilter.php @@ -450,10 +450,7 @@ function advancedcontentfilter_prepare_item_row(array $item_row): array $item_row['tags'] = $tags['tags']; $item_row['hashtags'] = $tags['hashtags']; $item_row['mentions'] = $tags['mentions']; - - $attachments = Post\Media::splitAttachments($item_row['uri-id'], $item_row['guid'] ?? ''); - - $item_row['attachments'] = $attachments; + $item_row['attachments'] = Post\Media::splitAttachments($item_row['uri-id'], $item_row['guid'] ?? ''); return $item_row; } -- 2.43.0 From 07307823ca4a63984502f63c5a40ae23ee1f2f31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roland=20H=C3=A4der?= Date: Wed, 22 Jun 2022 18:55:35 +0200 Subject: [PATCH 4/6] Changed more double-quotes to single --- twitter/twitter.php | 201 ++++++++++++++++++++++++-------------------- 1 file changed, 108 insertions(+), 93 deletions(-) diff --git a/twitter/twitter.php b/twitter/twitter.php index 5a5071fc..458677ce 100644 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -116,7 +116,7 @@ function twitter_install() Hook::register('probe_detect' , __FILE__, 'twitter_probe_detect'); Hook::register('item_by_link' , __FILE__, 'twitter_item_by_link'); Hook::register('parse_link' , __FILE__, 'twitter_parse_link'); - Logger::info("installed twitter"); + Logger::info('installed twitter'); } // Hook functions @@ -145,15 +145,15 @@ function twitter_support_follow(App $a, array &$data) function twitter_follow(App $a, array &$contact) { - Logger::info('Check if contact is twitter contact', ['url' => $contact["url"]]); + Logger::info('Check if contact is twitter contact', ['url' => $contact['url']]); - if (!strstr($contact["url"], "://twitter.com") && !strstr($contact["url"], "@twitter.com")) { + if (!strstr($contact['url'], '://twitter.com') && !strstr($contact['url'], '@twitter.com')) { return; } // contact seems to be a twitter contact, so continue - $nickname = preg_replace("=https?://twitter.com/(.*)=ism", "$1", $contact["url"]); - $nickname = str_replace("@twitter.com", "", $nickname); + $nickname = preg_replace("=https?://twitter.com/(.*)=ism", "$1", $contact['url']); + $nickname = str_replace('@twitter.com', '', $nickname); $uid = $a->getLoggedInUserId(); @@ -169,7 +169,7 @@ function twitter_follow(App $a, array &$contact) $contact = Contact::getById($contact_id, ['name', 'nick', 'url', 'addr', 'batch', 'notify', 'poll', 'request', 'confirm', 'poco', 'photo', 'priority', 'network', 'alias', 'pubkey']); if (DBA::isResult($contact)) { - $contact["contact"] = $contact; + $contact['contact'] = $contact; } } @@ -262,7 +262,7 @@ function twitter_settings_post(App $a) } $connection = new TwitterOAuth($ckey, $csecret, $_POST['twitter-token'], $_POST['twitter-token2']); - $token = $connection->oauth("oauth/access_token", ["oauth_verifier" => $_POST['twitter-pin']]); + $token = $connection->oauth('oauth/access_token', ['oauth_verifier' => $_POST['twitter-pin']]); // ok, now that we have the Access Token, save them in the user config DI::pConfig()->set(local_user(), 'twitter', 'oauthtoken', $token['oauth_token']); DI::pConfig()->set(local_user(), 'twitter', 'oauthsecret', $token['oauth_token_secret']); @@ -634,7 +634,7 @@ function twitter_post_hook(App $a, array &$b) } // Post to Twitter - if (!DI::pConfig()->get($b["uid"], 'twitter', 'import') + if (!DI::pConfig()->get($b['uid'], 'twitter', 'import') && ($b['private'] || ($b['created'] !== $b['edited']))) { return; } @@ -647,17 +647,17 @@ function twitter_post_hook(App $a, array &$b) Logger::debug('Got comment', ['item' => $b]); // Looking if its a reply to a twitter post - if (!twitter_get_id($b["parent-uri"]) && - !twitter_get_id($b["extid"]) && - !twitter_get_id($b["thr-parent"])) { - Logger::info('No twitter post', ['parent' => $b["parent"]]); + if (!twitter_get_id($b['parent-uri']) && + !twitter_get_id($b['extid']) && + !twitter_get_id($b['thr-parent'])) { + Logger::info('No twitter post', ['parent' => $b['parent']]); return; } - $condition = ['uri' => $b["thr-parent"], 'uid' => $b["uid"]]; + $condition = ['uri' => $b['thr-parent'], 'uid' => $b['uid']]; $thr_parent = Post::selectFirst(['uri', 'extid', 'author-link', 'author-nick', 'author-network'], $condition); if (!DBA::isResult($thr_parent)) { - Logger::warning('No parent found', ['thr-parent' => $b["thr-parent"]]); + Logger::warning('No parent found', ['thr-parent' => $b['thr-parent']]); return; } @@ -665,9 +665,9 @@ function twitter_post_hook(App $a, array &$b) $nickname = '@[url=' . $thr_parent['author-link'] . ']' . $thr_parent['author-nick'] . '[/url]'; $nicknameplain = '@' . $thr_parent['author-nick']; - Logger::info('Comparing', ['nickname' => $nickname, 'nicknameplain' => $nicknameplain, 'body' => $b["body"]]); - if ((strpos($b["body"], $nickname) === false) && (strpos($b["body"], $nicknameplain) === false)) { - $b["body"] = $nickname . " " . $b["body"]; + Logger::info('Comparing', ['nickname' => $nickname, 'nicknameplain' => $nicknameplain, 'body' => $b['body']]); + if ((strpos($b['body'], $nickname) === false) && (strpos($b['body'], $nicknameplain) === false)) { + $b['body'] = $nickname . ' ' . $b['body']; } } @@ -686,7 +686,7 @@ function twitter_post_hook(App $a, array &$b) } if ($b['verb'] == Activity::LIKE) { - Logger::info('Like', ['uid' => $b['uid'], 'id' => twitter_get_id($b["thr-parent"])]); + Logger::info('Like', ['uid' => $b['uid'], 'id' => twitter_get_id($b['thr-parent'])]); twitter_api_post('favorites/create', twitter_get_id($b['thr-parent']), $b['uid']); @@ -694,7 +694,7 @@ function twitter_post_hook(App $a, array &$b) } if ($b['verb'] == Activity::ANNOUNCE) { - Logger::info('Retweet', ['uid' => $b['uid'], 'id' => twitter_get_id($b["thr-parent"])]); + Logger::info('Retweet', ['uid' => $b['uid'], 'id' => twitter_get_id($b['thr-parent'])]); twitter_retweet($b['uid'], twitter_get_id($b['thr-parent'])); return; } @@ -708,7 +708,7 @@ function twitter_post_hook(App $a, array &$b) return; } - if ($b['app'] == "Twitter") { + if ($b['app'] == 'Twitter') { return; } @@ -752,10 +752,10 @@ function twitter_post_hook(App $a, array &$b) $msgarr = Plaintext::getPost($b, $max_char, true, BBCode::TWITTER); Logger::info('Got plaintext', ['id' => $b['id'], 'message' => $msgarr]); - $msg = $msgarr["text"]; + $msg = $msgarr['text']; - if (($msg == "") && isset($msgarr["title"])) { - $msg = Plaintext::shorten($msgarr["title"], $max_char - 50, $b['uid']); + if (($msg == '') && isset($msgarr['title'])) { + $msg = Plaintext::shorten($msgarr['title'], $max_char - 50, $b['uid']); } // Add the link to the body if the type isn't a photo or there are more than 4 images in the post @@ -823,7 +823,7 @@ function twitter_post_hook(App $a, array &$b) Logger::info('twitter_post send', ['id' => $b['id'], 'result' => $result]); if (!empty($result->source)) { - DI::config()->set("twitter", "application_name", strip_tags($result->source)); + DI::config()->set('twitter', 'application_name', strip_tags($result->source)); } if (!empty($result->errors)) { @@ -831,7 +831,7 @@ function twitter_post_hook(App $a, array &$b) Worker::defer(); } elseif ($thr_parent) { Logger::notice('Post send, updating extid', ['id' => $b['id'], 'extid' => $result->id_str]); - Item::update(['extid' => "twitter::" . $result->id_str], ['id' => $b['id']]); + Item::update(['extid' => 'twitter::' . $result->id_str], ['id' => $b['id']]); } } } @@ -911,7 +911,7 @@ function twitter_addon_admin_post(App $a) function twitter_addon_admin(App $a, &$o) { - $t = Renderer::getMarkupTemplate("admin.tpl", "addon/twitter/"); + $t = Renderer::getMarkupTemplate('admin.tpl', 'addon/twitter/'); $o = Renderer::replaceMacros($t, [ '$submit' => DI::l10n()->t('Save Settings'), @@ -942,7 +942,7 @@ function twitter_cron(App $a) $pconfigs = DBA::selectToArray('pconfig', [], ['cat' => 'twitter', 'k' => 'mirror_posts', 'v' => true]); foreach ($pconfigs as $rr) { Logger::notice('Fetching', ['user' => $rr['uid']]); - Worker::add(['priority' => PRIORITY_MEDIUM, 'force_priority' => true], "addon/twitter/twitter_sync.php", 1, (int) $rr['uid']); + Worker::add(['priority' => PRIORITY_MEDIUM, 'force_priority' => true], 'addon/twitter/twitter_sync.php', 1, (int) $rr['uid']); } $abandon_days = intval(DI::config()->get('system', 'account_abandon_days')); @@ -962,7 +962,7 @@ function twitter_cron(App $a) } Logger::notice('importing timeline', ['user' => $rr['uid']]); - Worker::add(['priority' => PRIORITY_MEDIUM, 'force_priority' => true], "addon/twitter/twitter_sync.php", 2, (int) $rr['uid']); + Worker::add(['priority' => PRIORITY_MEDIUM, 'force_priority' => true], 'addon/twitter/twitter_sync.php', 2, (int) $rr['uid']); /* // To-Do // check for new contacts once a day @@ -1016,36 +1016,36 @@ function twitter_expire(App $a) function twitter_prepare_body(App $a, array &$b) { - if ($b["item"]["network"] != Protocol::TWITTER) { + if ($b['item']['network'] != Protocol::TWITTER) { return; } - if ($b["preview"]) { + if ($b['preview']) { $max_char = 280; - $item = $b["item"]; - $item["plink"] = DI::baseUrl()->get() . "/display/" . $item["guid"]; + $item = $b['item']; + $item['plink'] = DI::baseUrl()->get() . '/display/' . $item['guid']; - $condition = ['uri' => $item["thr-parent"], 'uid' => local_user()]; + $condition = ['uri' => $item['thr-parent'], 'uid' => local_user()]; $orig_post = Post::selectFirst(['author-link'], $condition); if (DBA::isResult($orig_post)) { - $nicknameplain = preg_replace("=https?://twitter.com/(.*)=ism", "$1", $orig_post["author-link"]); - $nickname = "@[url=" . $orig_post["author-link"] . "]" . $nicknameplain . "[/url]"; - $nicknameplain = "@" . $nicknameplain; + $nicknameplain = preg_replace("=https?://twitter.com/(.*)=ism", "$1", $orig_post['author-link']); + $nickname = '@[url=' . $orig_post['author-link'] . ']' . $nicknameplain . '[/url]'; + $nicknameplain = '@' . $nicknameplain; - if ((strpos($item["body"], $nickname) === false) && (strpos($item["body"], $nicknameplain) === false)) { - $item["body"] = $nickname . " " . $item["body"]; + if ((strpos($item['body'], $nickname) === false) && (strpos($item['body'], $nicknameplain) === false)) { + $item['body'] = $nickname . ' ' . $item['body']; } } $msgarr = Plaintext::getPost($item, $max_char, true, BBCode::TWITTER); - $msg = $msgarr["text"]; + $msg = $msgarr['text']; - if (isset($msgarr["url"]) && ($msgarr["type"] != "photo")) { - $msg .= " " . $msgarr["url"]; + if (isset($msgarr['url']) && ($msgarr['type'] != 'photo')) { + $msg .= ' ' . $msgarr['url']; } - if (isset($msgarr["image"])) { - $msg .= " " . $msgarr["image"]; + if (isset($msgarr['image'])) { + $msg .= ' ' . $msgarr['image']; } $b['html'] = nl2br(htmlspecialchars($msg)); @@ -1206,7 +1206,7 @@ function twitter_fetchtimeline(App $a, $uid) $application_name = DI::config()->get('twitter', 'application_name'); - if ($application_name == "") { + if ($application_name == '') { $application_name = DI::baseUrl()->getHostname(); } @@ -1220,12 +1220,19 @@ function twitter_fetchtimeline(App $a, $uid) return; } - $parameters = ["exclude_replies" => true, "trim_user" => false, "contributor_details" => true, "include_rts" => true, "tweet_mode" => "extended", "include_ext_alt_text" => true]; + $parameters = [ + 'exclude_replies' => true, + 'trim_user' => false, + 'contributor_details' => true, + 'include_rts' => true, + 'tweet_mode' => 'extended', + 'include_ext_alt_text' => true, + ]; - $first_time = ($lastid == ""); + $first_time = ($lastid == ''); - if ($lastid != "") { - $parameters["since_id"] = $lastid; + if ($lastid != '') { + $parameters['since_id'] = $lastid; } try { @@ -1276,10 +1283,10 @@ function twitter_fetchtimeline(App $a, $uid) function twitter_fix_avatar($avatar) { - $new_avatar = str_replace("_normal.", "_400x400.", $avatar); + $new_avatar = str_replace('_normal.', '_400x400.', $avatar); $info = Images::getInfoFromURLCached($new_avatar); - if (empty($info)) { + if (!$info) { $new_avatar = $avatar; } @@ -1365,7 +1372,7 @@ function twitter_user_to_contact($data) function twitter_get_contact($data, int $uid = 0) { - $contact = DBA::selectFirst('contact', ['id'], ['uid' => $uid, 'alias' => "twitter::" . $data->id_str]); + $contact = DBA::selectFirst('contact', ['id'], ['uid' => $uid, 'alias' => 'twitter::' . $data->id_str]); if (DBA::isResult($contact)) { return $contact['id']; } else { @@ -1386,7 +1393,7 @@ function twitter_fetch_contact($uid, $data, $create_user) unset($fields['photo']); // Update the public contact - $pcontact = DBA::selectFirst('contact', ['id'], ['uid' => 0, 'alias' => "twitter::" . $data->id_str]); + $pcontact = DBA::selectFirst('contact', ['id'], ['uid' => 0, 'alias' => 'twitter::' . $data->id_str]); if (DBA::isResult($pcontact)) { $cid = $pcontact['id']; } else { @@ -1400,7 +1407,7 @@ function twitter_fetch_contact($uid, $data, $create_user) Logger::warning('No contact found', ['fields' => $fields]); } - $contact = DBA::selectFirst('contact', [], ['uid' => $uid, 'alias' => "twitter::" . $data->id_str]); + $contact = DBA::selectFirst('contact', [], ['uid' => $uid, 'alias' => 'twitter::' . $data->id_str]); if (!DBA::isResult($contact) && empty($cid)) { Logger::warning('User contact not found', ['uid' => $uid, 'twitter-id' => $data->id_str]); return 0; @@ -1430,8 +1437,8 @@ function twitter_fetch_contact($uid, $data, $create_user) Group::addMember(User::getDefaultGroup($uid), $contact_id); } else { - if ($contact["readonly"] || $contact["blocked"]) { - Logger::notice('Contact is blocked or readonly.', ['nickname' => $contact["nick"]]); + if ($contact['readonly'] || $contact['blocked']) { + Logger::notice('Contact is blocked or readonly.', ['nickname' => $contact['nick']]); return -1; } @@ -1739,7 +1746,7 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl $postarray['network'] = Protocol::TWITTER; $postarray['uid'] = $uid; $postarray['wall'] = 0; - $postarray['uri'] = "twitter::" . $post->id_str; + $postarray['uri'] = 'twitter::' . $post->id_str; $postarray['protocol'] = Conversation::PARCEL_TWITTER; $postarray['source'] = json_encode($post); $postarray['direction'] = Conversation::PULL; @@ -1756,8 +1763,8 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl $contactid = 0; - if ($post->in_reply_to_status_id_str != "") { - $thr_parent = "twitter::" . $post->in_reply_to_status_id_str; + if ($post->in_reply_to_status_id_str != '') { + $thr_parent = 'twitter::' . $post->in_reply_to_status_id_str; $item = Post::selectFirst(['uri'], ['uri' => $thr_parent, 'uid' => $uid]); if (!DBA::isResult($item)) { @@ -1798,7 +1805,7 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl $postarray['owner-id'] = twitter_get_contact($post->user); $postarray['owner-name'] = $post->user->name; - $postarray['owner-link'] = "https://twitter.com/" . $post->user->screen_name; + $postarray['owner-link'] = 'https://twitter.com/' . $post->user->screen_name; $postarray['owner-avatar'] = twitter_fix_avatar($post->user->profile_image_url_https); } @@ -1815,7 +1822,7 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl $postarray['author-name'] = $postarray['owner-name']; $postarray['author-link'] = $postarray['owner-link']; $postarray['author-avatar'] = $postarray['owner-avatar']; - $postarray['plink'] = "https://twitter.com/" . $post->user->screen_name . "/status/" . $post->id_str; + $postarray['plink'] = 'https://twitter.com/' . $post->user->screen_name . '/status/' . $post->id_str; $postarray['app'] = strip_tags($post->source); if ($post->user->protected) { @@ -1857,16 +1864,16 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl } if (!empty($post->place->name)) { - $postarray["location"] = $post->place->name; + $postarray['location'] = $post->place->name; } if (!empty($post->place->full_name)) { - $postarray["location"] = $post->place->full_name; + $postarray['location'] = $post->place->full_name; } if (!empty($post->geo->coordinates)) { - $postarray["coord"] = $post->geo->coordinates[0] . " " . $post->geo->coordinates[1]; + $postarray['coord'] = $post->geo->coordinates[0] . ' ' . $post->geo->coordinates[1]; } if (!empty($post->coordinates->coordinates)) { - $postarray["coord"] = $post->coordinates->coordinates[1] . " " . $post->coordinates->coordinates[0]; + $postarray['coord'] = $post->coordinates->coordinates[1] . ' ' . $post->coordinates->coordinates[0]; } if (!empty($post->retweeted_status)) { $retweet = twitter_createpost($a, $uid, $post->retweeted_status, $self, false, false, $noquote); @@ -1923,7 +1930,7 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl $postarray['body'] .= $quoted['body'] . '[/share]'; } else { // Quoted post author is blocked/ignored, so we just provide the link to avoid removing quote context. - $postarray['body'] .= "\n\nhttps://twitter.com/" . $post->quoted_status->user->screen_name . "/status/" . $post->quoted_status->id_str; + $postarray['body'] .= "\n\nhttps://twitter.com/" . $post->quoted_status->user->screen_name . '/status/' . $post->quoted_status->id_str; } } } @@ -1964,7 +1971,7 @@ function twitter_fetchparentposts(App $a, $uid, $post, TwitterOAuth $connection, } if (empty($post->id_str)) { - Logger::info("twitter_fetchparentposts: This is not a post", ['post' => $post]); + Logger::info('twitter_fetchparentposts: This is not a post', ['post' => $post]); break; } @@ -1975,7 +1982,7 @@ function twitter_fetchparentposts(App $a, $uid, $post, TwitterOAuth $connection, $posts[] = $post; } - Logger::info("twitter_fetchparentposts: Fetching " . count($posts) . " parents"); + Logger::info('twitter_fetchparentposts: Fetching ' . count($posts) . ' parents'); $posts = array_reverse($posts); @@ -1989,9 +1996,9 @@ function twitter_fetchparentposts(App $a, $uid, $post, TwitterOAuth $connection, $item = Item::insert($postarray); - $postarray["id"] = $item; + $postarray['id'] = $item; - Logger::notice('twitter_fetchparentpost: User ' . $self["nick"] . ' posted parent timeline item ' . $item); + Logger::notice('twitter_fetchparentpost: User ' . $self['nick'] . ' posted parent timeline item ' . $item); } } } @@ -2009,7 +2016,7 @@ function twitter_fetchhometimeline(App $a, $uid) $application_name = DI::config()->get('twitter', 'application_name'); - if ($application_name == "") { + if ($application_name == '') { $application_name = DI::baseUrl()->getHostname(); } @@ -2036,15 +2043,23 @@ function twitter_fetchhometimeline(App $a, $uid) return; } - $parameters = ["exclude_replies" => false, "trim_user" => false, "contributor_details" => true, "include_rts" => true, "tweet_mode" => "extended", "include_ext_alt_text" => true]; - //$parameters["count"] = 200; + $parameters = [ + 'exclude_replies' => false, + 'trim_user' => false, + 'contributor_details' => true, + 'include_rts' => true, + 'tweet_mode' => 'extended', + 'include_ext_alt_text' => true, + //'count' => 200, + ]; + // Fetching timeline $lastid = DI::pConfig()->get($uid, 'twitter', 'lasthometimelineid'); - $first_time = ($lastid == ""); + $first_time = ($lastid == ''); - if ($lastid != "") { - $parameters["since_id"] = $lastid; + if ($lastid != '') { + $parameters['since_id'] = $lastid; } try { @@ -2080,16 +2095,16 @@ function twitter_fetchhometimeline(App $a, $uid) } if (stristr($post->source, $application_name) && $post->user->screen_name == $own_id) { - Logger::info("Skip previously sent post"); + Logger::info('Skip previously sent post'); continue; } - if ($mirror_posts && $post->user->screen_name == $own_id && $post->in_reply_to_status_id_str == "") { - Logger::info("Skip post that will be mirrored"); + if ($mirror_posts && $post->user->screen_name == $own_id && $post->in_reply_to_status_id_str == '') { + Logger::info('Skip post that will be mirrored'); continue; } - if ($post->in_reply_to_status_id_str != "") { + if ($post->in_reply_to_status_id_str != '') { twitter_fetchparentposts($a, $uid, $post, $connection, $self); } @@ -2097,7 +2112,7 @@ function twitter_fetchhometimeline(App $a, $uid) $postarray = twitter_createpost($a, $uid, $post, $self, $create_user, true, false); - if (empty($postarray['body']) || trim($postarray['body']) == "") { + if (empty($postarray['body']) || trim($postarray['body']) == '') { Logger::info('Empty body for post ' . $post->id_str . ' and user ' . $uid); continue; } @@ -2112,7 +2127,7 @@ function twitter_fetchhometimeline(App $a, $uid) } $item = Item::insert($postarray, $notify); - $postarray["id"] = $item; + $postarray['id'] = $item; Logger::notice('User ' . $uid . ' posted home timeline item ' . $item); } @@ -2124,10 +2139,10 @@ function twitter_fetchhometimeline(App $a, $uid) // Fetching mentions $lastid = DI::pConfig()->get($uid, 'twitter', 'lastmentionid'); - $first_time = ($lastid == ""); + $first_time = ($lastid == ''); - if ($lastid != "") { - $parameters["since_id"] = $lastid; + if ($lastid != '') { + $parameters['since_id'] = $lastid; } try { @@ -2138,13 +2153,13 @@ function twitter_fetchhometimeline(App $a, $uid) } if (!is_array($items)) { - Logger::warning("mentions are no arrays", ['items' => $items]); + Logger::warning('mentions are no arrays', ['items' => $items]); return; } $posts = array_reverse($items); - Logger::info("Fetching mentions for user " . $uid . " " . sizeof($posts) . " items"); + Logger::info('Fetching mentions for user ' . $uid . ' ' . sizeof($posts) . ' items'); if (count($posts)) { foreach ($posts as $post) { @@ -2156,7 +2171,7 @@ function twitter_fetchhometimeline(App $a, $uid) continue; } - if ($post->in_reply_to_status_id_str != "") { + if ($post->in_reply_to_status_id_str != '') { twitter_fetchparentposts($a, $uid, $post, $connection, $self); } @@ -2188,7 +2203,7 @@ function twitter_fetch_own_contact(App $a, $uid) $contact_id = 0; - if ($own_id == "") { + if ($own_id == '') { $connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret); // Fetching user data @@ -2219,12 +2234,12 @@ function twitter_is_retweet(App $a, $uid, $body) // Skip if it isn't a pure repeated messages // Does it start with a share? - if (strpos($body, "[share") > 0) { + if (strpos($body, '[share') > 0) { return false; } // Does it end with a share? - if (strlen($body) > (strrpos($body, "[/share]") + 8)) { + if (strlen($body) > (strrpos($body, '[/share]') + 8)) { return false; } @@ -2234,7 +2249,7 @@ function twitter_is_retweet(App $a, $uid, $body) return false; } - $link = ""; + $link = ''; preg_match("/link='(.*?)'/ism", $attributes, $matches); if (!empty($matches[1])) { $link = $matches[1]; @@ -2262,7 +2277,7 @@ function twitter_retweet(int $uid, int $id, int $item_id = 0) if (!empty($item_id) && !empty($result->id_str)) { Logger::notice('Update extid', ['id' => $item_id, 'extid' => $result->id_str]); - Item::update(['extid' => "twitter::" . $result->id_str], ['id' => $item_id]); + Item::update(['extid' => 'twitter::' . $result->id_str], ['id' => $item_id]); } return !isset($result->errors); @@ -2270,7 +2285,7 @@ function twitter_retweet(int $uid, int $id, int $item_id = 0) function twitter_update_mentions($body) { - $URLSearchString = "^\[\]"; + $URLSearchString = '^\[\]'; $return = preg_replace_callback( "/@\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", function ($matches) { -- 2.43.0 From 7d171c978704658990abd7b2bffc07d98bb170cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roland=20H=C3=A4der?= Date: Wed, 22 Jun 2022 18:17:09 +0200 Subject: [PATCH 5/6] Converted more double-quotes to single --- statusnet/statusnet.php | 355 ++++++++++++++++++++-------------------- 1 file changed, 182 insertions(+), 173 deletions(-) diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 5f520de4..b7d3f372 100644 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -74,13 +74,13 @@ function statusnet_install() Hook::register('cron', 'addon/statusnet/statusnet.php', 'statusnet_cron'); Hook::register('prepare_body', 'addon/statusnet/statusnet.php', 'statusnet_prepare_body'); Hook::register('check_item_notification', 'addon/statusnet/statusnet.php', 'statusnet_check_item_notification'); - Logger::notice("installed GNU Social"); + Logger::notice('installed GNU Social'); } function statusnet_check_item_notification(App $a, &$notification_data) { - if (DI::pConfig()->get($notification_data["uid"], 'statusnet', 'post')) { - $notification_data["profiles"][] = DI::pConfig()->get($notification_data["uid"], 'statusnet', 'own_url'); + if (DI::pConfig()->get($notification_data['uid'], 'statusnet', 'post')) { + $notification_data['profiles'][] = DI::pConfig()->get($notification_data['uid'], 'statusnet', 'own_url'); } } @@ -412,20 +412,22 @@ function statusnet_action(App $a, $uid, $pid, $action) $connection = new StatusNetOAuth($api, $ckey, $csecret, $otoken, $osecret); - Logger::debug("statusnet_action '" . $action . "' ID: " . $pid); + Logger::debug('statusnet_action "' . $action . '" ID: ' . $pid); switch ($action) { - case "delete": - $result = $connection->post("statuses/destroy/" . $pid); + case 'delete': + $result = $connection->post('statuses/destroy/' . $pid); break; - case "like": - $result = $connection->post("favorites/create/" . $pid); + + case 'like': + $result = $connection->post('favorites/create/' . $pid); break; - case "unlike": - $result = $connection->post("favorites/destroy/" . $pid); + + case 'unlike': + $result = $connection->post('favorites/destroy/' . $pid); break; } - Logger::info("statusnet_action '" . $action . "' send, result: " . print_r($result, true)); + Logger::info('statusnet_action "' . $action . '" send, result: ' . print_r($result, true)); } function statusnet_post_hook(App $a, &$b) @@ -433,46 +435,46 @@ function statusnet_post_hook(App $a, &$b) /** * Post to GNU Social */ - if (!DI::pConfig()->get($b["uid"], 'statusnet', 'import')) { + if (!DI::pConfig()->get($b['uid'], 'statusnet', 'import')) { if ($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited'])) return; } $b['body'] = Post\Media::addAttachmentsToBody($b['uri-id'], $b['body']); - $api = DI::pConfig()->get($b["uid"], 'statusnet', 'baseapi'); + $api = DI::pConfig()->get($b['uid'], 'statusnet', 'baseapi'); $hostname = preg_replace("=https?://([\w\.]*)/.*=ism", "$1", $api); if ($b['parent'] != $b['id']) { - Logger::debug("statusnet_post_hook: parameter " . print_r($b, true)); + Logger::debug('statusnet_post_hook: parameter ', ['b' => $b]); // Looking if its a reply to a GNU Social post $hostlength = strlen($hostname) + 2; - if ((substr($b["parent-uri"], 0, $hostlength) != $hostname . "::") && (substr($b["extid"], 0, $hostlength) != $hostname . "::") && (substr($b["thr-parent"], 0, $hostlength) != $hostname . "::")) { - Logger::notice("statusnet_post_hook: no GNU Social post " . $b["parent"]); + if ((substr($b['parent-uri'], 0, $hostlength) != $hostname . '::') && (substr($b['extid'], 0, $hostlength) != $hostname . '::') && (substr($b['thr-parent'], 0, $hostlength) != $hostname . '::')) { + Logger::notice('statusnet_post_hook: no GNU Social post ' . $b['parent']); return; } - $condition = ['uri' => $b["thr-parent"], 'uid' => $b["uid"]]; + $condition = ['uri' => $b['thr-parent'], 'uid' => $b['uid']]; $orig_post = Post::selectFirst(['author-link', 'uri'], $condition); if (!DBA::isResult($orig_post)) { - Logger::notice("statusnet_post_hook: no parent found " . $b["thr-parent"]); + Logger::notice('statusnet_post_hook: no parent found ' . $b['thr-parent']); return; } else { $iscomment = true; } - $nick = preg_replace("=https?://(.*)/(.*)=ism", "$2", $orig_post["author-link"]); + $nick = preg_replace("=https?://(.*)/(.*)=ism", "$2", $orig_post['author-link']); - $nickname = "@[url=" . $orig_post["author-link"] . "]" . $nick . "[/url]"; - $nicknameplain = "@" . $nick; + $nickname = '@[url=' . $orig_post['author-link'] . ']' . $nick . '[/url]'; + $nicknameplain = '@' . $nick; - Logger::info("statusnet_post_hook: comparing " . $nickname . " and " . $nicknameplain . " with " . $b["body"]); - if ((strpos($b["body"], $nickname) === false) && (strpos($b["body"], $nicknameplain) === false)) { - $b["body"] = $nickname . " " . $b["body"]; + Logger::info('statusnet_post_hook: comparing ' . $nickname . ' and ' . $nicknameplain . ' with ' . $b['body']); + if ((strpos($b['body'], $nickname) === false) && (strpos($b['body'], $nicknameplain) === false)) { + $b['body'] = $nickname . ' ' . $b['body']; } - Logger::info("statusnet_post_hook: parent found " . print_r($orig_post, true)); + Logger::info('statusnet_post_hook: parent found ', ['orig_post' => $orig_post]); } else { $iscomment = false; @@ -489,15 +491,15 @@ function statusnet_post_hook(App $a, &$b) } if (($b['verb'] == Activity::POST) && $b['deleted']) { - statusnet_action($a, $b["uid"], substr($orig_post["uri"], $hostlength), "delete"); + statusnet_action($a, $b['uid'], substr($orig_post['uri'], $hostlength), 'delete'); } if ($b['verb'] == Activity::LIKE) { - Logger::info("statusnet_post_hook: parameter 2 " . substr($b["thr-parent"], $hostlength)); + Logger::info('statusnet_post_hook: parameter 2 ' . substr($b['thr-parent'], $hostlength)); if ($b['deleted']) - statusnet_action($a, $b["uid"], substr($b["thr-parent"], $hostlength), "unlike"); + statusnet_action($a, $b['uid'], substr($b['thr-parent'], $hostlength), 'unlike'); else - statusnet_action($a, $b["uid"], substr($b["thr-parent"], $hostlength), "like"); + statusnet_action($a, $b['uid'], substr($b['thr-parent'], $hostlength), 'like'); return; } @@ -510,7 +512,7 @@ function statusnet_post_hook(App $a, &$b) return; } - if ($b['app'] == "StatusNet") { + if ($b['app'] == 'StatusNet') { return; } @@ -535,34 +537,34 @@ function statusnet_post_hook(App $a, &$b) DI::pConfig()->set($b['uid'], 'statusnet', 'max_char', $max_char); - $tempfile = ""; + $tempfile = ''; $msgarr = Plaintext::getPost($b, $max_char, true, 7); - $msg = $msgarr["text"]; + $msg = $msgarr['text']; - if (($msg == "") && isset($msgarr["title"])) - $msg = Plaintext::shorten($msgarr["title"], $max_char - 50, $b['uid']); + if (($msg == '') && isset($msgarr['title'])) + $msg = Plaintext::shorten($msgarr['title'], $max_char - 50, $b['uid']); - $image = ""; + $image = ''; - if (isset($msgarr["url"]) && ($msgarr["type"] != "photo")) { - $msg .= " \n" . $msgarr["url"]; - } elseif (isset($msgarr["image"]) && ($msgarr["type"] != "video")) { - $image = $msgarr["image"]; + if (isset($msgarr['url']) && ($msgarr['type'] != 'photo')) { + $msg .= " \n" . $msgarr['url']; + } elseif (isset($msgarr['image']) && ($msgarr['type'] != 'video')) { + $image = $msgarr['image']; } - if ($image != "") { + if ($image != '') { $img_str = DI::httpClient()->fetch($image); - $tempfile = tempnam(System::getTempPath(), "cache"); + $tempfile = tempnam(System::getTempPath(), 'cache'); file_put_contents($tempfile, $img_str); - $postdata = ["status" => $msg, "media[]" => $tempfile]; + $postdata = ['status' => $msg, 'media[]' => $tempfile]; } else { - $postdata = ["status" => $msg]; + $postdata = ['status' => $msg]; } // and now send it :-) if (strlen($msg)) { if ($iscomment) { - $postdata["in_reply_to_status_id"] = substr($orig_post["uri"], $hostlength); + $postdata['in_reply_to_status_id'] = substr($orig_post['uri'], $hostlength); Logger::info('statusnet_post send reply ' . print_r($postdata, true)); } @@ -578,17 +580,17 @@ function statusnet_post_hook(App $a, &$b) "\nmessage: " . $msg . "\nOriginal post: " . print_r($b, true) . "\nPost Data: " . print_r($postdata, true)); if (!empty($result->source)) { - DI::pConfig()->set($b["uid"], "statusnet", "application_name", strip_tags($result->source)); + DI::pConfig()->set($b['uid'], 'statusnet', 'application_name', strip_tags($result->source)); } if (!empty($result->error)) { Logger::notice('Send to GNU Social failed: "' . $result->error . '"'); } elseif ($iscomment) { - Logger::notice('statusnet_post: Update extid ' . $result->id . " for post id " . $b['id']); - Item::update(['extid' => $hostname . "::" . $result->id, 'body' => $result->text], ['id' => $b['id']]); + Logger::notice('statusnet_post: Update extid ' . $result->id . ' for post id ' . $b['id']); + Item::update(['extid' => $hostname . '::' . $result->id, 'body' => $result->text], ['id' => $b['id']]); } } - if ($tempfile != "") { + if ($tempfile != '') { unlink($tempfile); } } @@ -607,10 +609,10 @@ function statusnet_addon_admin_post(App $a) $secret = trim($_POST['secret'][$id]); $key = trim($_POST['key'][$id]); //$applicationname = (!empty($_POST['applicationname']) ? Strings::escapeTags(trim($_POST['applicationname'][$id])):''); - if ($sitename != "" && - $apiurl != "" && - $secret != "" && - $key != "" && + if ($sitename != '' && + $apiurl != '' && + $secret != '' && + $key != '' && empty($_POST['delete'][$id])) { $sites[] = [ @@ -652,7 +654,7 @@ function statusnet_addon_admin(App $a, &$o) //'applicationname' => Array("applicationname[$id]", DI::l10n()->t("Application name"), "", ""), ]; - $t = Renderer::getMarkupTemplate("admin.tpl", "addon/statusnet/"); + $t = Renderer::getMarkupTemplate('admin.tpl', 'addon/statusnet/'); $o = Renderer::replaceMacros($t, [ '$submit' => DI::l10n()->t('Save Settings'), '$sites' => $sitesform, @@ -661,41 +663,41 @@ function statusnet_addon_admin(App $a, &$o) function statusnet_prepare_body(App $a, &$b) { - if ($b["item"]["network"] != Protocol::STATUSNET) { + if ($b['item']['network'] != Protocol::STATUSNET) { return; } - if ($b["preview"]) { + if ($b['preview']) { $max_char = DI::pConfig()->get(local_user(), 'statusnet', 'max_char'); if (intval($max_char) == 0) { $max_char = 140; } - $item = $b["item"]; - $item["plink"] = DI::baseUrl()->get() . "/display/" . $item["guid"]; + $item = $b['item']; + $item['plink'] = DI::baseUrl()->get() . '/display/' . $item['guid']; - $condition = ['uri' => $item["thr-parent"], 'uid' => local_user()]; + $condition = ['uri' => $item['thr-parent'], 'uid' => local_user()]; $orig_post = Post::selectFirst(['author-link', 'uri'], $condition); if (DBA::isResult($orig_post)) { - $nick = preg_replace("=https?://(.*)/(.*)=ism", "$2", $orig_post["author-link"]); + $nick = preg_replace("=https?://(.*)/(.*)=ism", "$2", $orig_post['author-link']); - $nickname = "@[url=" . $orig_post["author-link"] . "]" . $nick . "[/url]"; - $nicknameplain = "@" . $nick; + $nickname = '@[url=' . $orig_post['author-link'] . ']' . $nick . '[/url]'; + $nicknameplain = '@' . $nick; - if ((strpos($item["body"], $nickname) === false) && (strpos($item["body"], $nicknameplain) === false)) { - $item["body"] = $nickname . " " . $item["body"]; + if ((strpos($item['body'], $nickname) === false) && (strpos($item['body'], $nicknameplain) === false)) { + $item['body'] = $nickname . ' ' . $item['body']; } } $msgarr = Plaintext::getPost($item, $max_char, true, 7); - $msg = $msgarr["text"]; + $msg = $msgarr['text']; - if (isset($msgarr["url"]) && ($msgarr["type"] != "photo")) { - $msg .= " " . $msgarr["url"]; + if (isset($msgarr['url']) && ($msgarr['type'] != 'photo')) { + $msg .= ' ' . $msgarr['url']; } - if (isset($msgarr["image"])) { - $msg .= " " . $msgarr["image"]; + if (isset($msgarr['image'])) { + $msg .= ' ' . $msgarr['image']; } $b['html'] = nl2br(htmlspecialchars($msg)); @@ -743,7 +745,7 @@ function statusnet_cron(App $a, $b) } Logger::notice('statusnet: importing timeline from user ' . $rr['uid']); - statusnet_fetchhometimeline($a, $rr["uid"], $rr["v"]); + statusnet_fetchhometimeline($a, $rr['uid'], $rr['v']); } Logger::notice('statusnet: cron_end'); @@ -765,21 +767,26 @@ function statusnet_fetchtimeline(App $a, $uid) // 1st try personal config, then system config and fallback to the // hostname of the node if neither one is set. $application_name = DI::pConfig()->get($uid, 'statusnet', 'application_name'); - if ($application_name == "") { + if ($application_name == '') { $application_name = DI::config()->get('statusnet', 'application_name'); } - if ($application_name == "") { + if ($application_name == '') { $application_name = DI::baseUrl()->getHostname(); } $connection = new StatusNetOAuth($api, $ckey, $csecret, $otoken, $osecret); - $parameters = ["exclude_replies" => true, "trim_user" => true, "contributor_details" => false, "include_rts" => false]; + $parameters = [ + 'exclude_replies' => true, + 'trim_user' => true, + 'contributor_details' => false, + 'include_rts' => false, + ]; - $first_time = ($lastid == ""); + $first_time = ($lastid == ''); - if ($lastid <> "") { - $parameters["since_id"] = $lastid; + if ($lastid != '') { + $parameters['since_id'] = $lastid; } $items = $connection->get('statuses/user_timeline', $parameters); @@ -799,7 +806,7 @@ function statusnet_fetchtimeline(App $a, $uid) continue; } - if ($post->source == "activity") { + if ($post->source == 'activity') { continue; } @@ -807,48 +814,48 @@ function statusnet_fetchtimeline(App $a, $uid) continue; } - if ($post->in_reply_to_status_id != "") { + if ($post->in_reply_to_status_id != '') { continue; } if (!stristr($post->source, $application_name)) { - $_SESSION["authenticated"] = true; - $_SESSION["uid"] = $uid; + $_SESSION['authenticated'] = true; + $_SESSION['uid'] = $uid; unset($_REQUEST); - $_REQUEST["api_source"] = true; - $_REQUEST["profile_uid"] = $uid; - //$_REQUEST["source"] = "StatusNet"; - $_REQUEST["source"] = $post->source; - $_REQUEST["extid"] = Protocol::STATUSNET; + $_REQUEST['api_source'] = true; + $_REQUEST['profile_uid'] = $uid; + //$_REQUEST['source'] = 'StatusNet'; + $_REQUEST['source'] = $post->source; + $_REQUEST['extid'] = Protocol::STATUSNET; if (isset($post->id)) { - $_REQUEST['message_id'] = Item::newURI($uid, Protocol::STATUSNET . ":" . $post->id); + $_REQUEST['message_id'] = Item::newURI($uid, Protocol::STATUSNET . ':' . $post->id); } - //$_REQUEST["date"] = $post->created_at; + //$_REQUEST['date'] = $post->created_at; - $_REQUEST["title"] = ""; + $_REQUEST['title'] = ''; - $_REQUEST["body"] = $post->text; + $_REQUEST['body'] = $post->text; if (is_string($post->place->name)) { - $_REQUEST["location"] = $post->place->name; + $_REQUEST['location'] = $post->place->name; } if (is_string($post->place->full_name)) { - $_REQUEST["location"] = $post->place->full_name; + $_REQUEST['location'] = $post->place->full_name; } if (is_array($post->geo->coordinates)) { - $_REQUEST["coord"] = $post->geo->coordinates[0] . " " . $post->geo->coordinates[1]; + $_REQUEST['coord'] = $post->geo->coordinates[0] . ' ' . $post->geo->coordinates[1]; } if (is_array($post->coordinates->coordinates)) { - $_REQUEST["coord"] = $post->coordinates->coordinates[1] . " " . $post->coordinates->coordinates[0]; + $_REQUEST['coord'] = $post->coordinates->coordinates[1] . ' ' . $post->coordinates->coordinates[0]; } //print_r($_REQUEST); - if ($_REQUEST["body"] != "") { + if ($_REQUEST['body'] != '') { Logger::notice('statusnet: posting for user ' . $uid); item_post($a); @@ -866,7 +873,7 @@ function statusnet_address($contact) $hostname = preg_replace("=https?://([\w\.]*)/.*=ism", "$1", $contact->statusnet_profile_url); - $address = $contact->screen_name . "@" . $hostname; + $address = $contact->screen_name . '@' . $hostname; return $address; } @@ -884,8 +891,8 @@ function statusnet_fetch_contact($uid, $contact, $create_user) return 0; } - if (DBA::isResult($contact_record) && ($contact_record["readonly"] || $contact_record["blocked"])) { - Logger::info("statusnet_fetch_contact: Contact '" . $contact_record["nick"] . "' is blocked or readonly."); + if (DBA::isResult($contact_record) && ($contact_record['readonly'] || $contact_record['blocked'])) { + Logger::info('statusnet_fetch_contact: Contact "' . $contact_record['nick'] . '" is blocked or readonly.'); return -1; } @@ -938,7 +945,7 @@ function statusnet_fetch_contact($uid, $contact, $create_user) // check that we have all the photos, this has been known to fail on occasion if ((!$contact_record['photo']) || (!$contact_record['thumb']) || (!$contact_record['micro']) || ($update_photo)) { - Logger::info("statusnet_fetch_contact: Updating contact " . $contact->screen_name); + Logger::info('statusnet_fetch_contact: Updating contact ' . $contact->screen_name); $photos = Photo::importProfilePhoto($contact->profile_image_url, $uid, $contact_record['id']); @@ -960,10 +967,10 @@ function statusnet_fetch_contact($uid, $contact, $create_user) } } - return $contact_record["id"]; + return $contact_record['id']; } -function statusnet_fetchuser(App $a, $uid, $screen_name = "", $user_id = "") +function statusnet_fetchuser(App $a, $uid, $screen_name = '', $user_id = '') { $ckey = DI::pConfig()->get($uid, 'statusnet', 'consumerkey'); $csecret = DI::pConfig()->get($uid, 'statusnet', 'consumersecret'); @@ -984,12 +991,12 @@ function statusnet_fetchuser(App $a, $uid, $screen_name = "", $user_id = "") $parameters = []; - if ($screen_name != "") { - $parameters["screen_name"] = $screen_name; + if ($screen_name != '') { + $parameters['screen_name'] = $screen_name; } - if ($user_id != "") { - $parameters["user_id"] = $user_id; + if ($user_id != '') { + $parameters['user_id'] = $user_id; } // Fetching user data @@ -1006,7 +1013,7 @@ function statusnet_fetchuser(App $a, $uid, $screen_name = "", $user_id = "") function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_existing_contact) { - Logger::info("statusnet_createpost: start"); + Logger::info('statusnet_createpost: start'); $api = DI::pConfig()->get($uid, 'statusnet', 'baseapi'); $hostname = preg_replace("=https?://([\w\.]*)/.*=ism", "$1", $api); @@ -1023,7 +1030,7 @@ function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_ex $content = $post; } - $postarray['uri'] = $hostname . "::" . $content->id; + $postarray['uri'] = $hostname . '::' . $content->id; if (Post::exists(['extid' => $postarray['uri'], 'uid' => $uid])) { return []; @@ -1032,7 +1039,7 @@ function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_ex $contactid = 0; if (!empty($content->in_reply_to_status_id)) { - $thr_parent = $hostname . "::" . $content->in_reply_to_status_id; + $thr_parent = $hostname . '::' . $content->in_reply_to_status_id; $item = Post::selectFirst(['uri'], ['uri' => $thr_parent, 'uid' => $uid]); if (!DBA::isResult($item)) { @@ -1052,11 +1059,11 @@ function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_ex if ($content->user->id == $own_url) { $self = DBA::selectFirst('*', ['self' => true, 'uid' => $uid]); if (DBA::isResult($self)) { - $contactid = $self["id"]; + $contactid = $self['id']; - $postarray['owner-name'] = $self["name"]; - $postarray['owner-link'] = $self["url"]; - $postarray['owner-avatar'] = $self["photo"]; + $postarray['owner-name'] = $self['name']; + $postarray['owner-link'] = $self['url']; + $postarray['owner-avatar'] = $self['photo']; } else { return []; } @@ -1088,7 +1095,7 @@ function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_ex $postarray['author-avatar'] = $content->user->profile_image_url; // To-Do: Maybe unreliable? Can the api be entered without trailing "/"? - $hostname = str_replace("/api/", "/notice/", DI::pConfig()->get($uid, 'statusnet', 'baseapi')); + $hostname = str_replace('/api/', '/notice/', DI::pConfig()->get($uid, 'statusnet', 'baseapi')); $postarray['plink'] = $hostname . $content->id; $postarray['app'] = strip_tags($content->source); @@ -1106,22 +1113,22 @@ function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_ex $postarray['edited'] = DateTimeFormat::utc($content->created_at); if (!empty($content->place->name)) { - $postarray["location"] = $content->place->name; + $postarray['location'] = $content->place->name; } if (!empty($content->place->full_name)) { - $postarray["location"] = $content->place->full_name; + $postarray['location'] = $content->place->full_name; } if (!empty($content->geo->coordinates)) { - $postarray["coord"] = $content->geo->coordinates[0] . " " . $content->geo->coordinates[1]; + $postarray['coord'] = $content->geo->coordinates[0] . ' ' . $content->geo->coordinates[1]; } if (!empty($content->coordinates->coordinates)) { - $postarray["coord"] = $content->coordinates->coordinates[1] . " " . $content->coordinates->coordinates[0]; + $postarray['coord'] = $content->coordinates->coordinates[1] . ' ' . $content->coordinates->coordinates[0]; } - Logger::info("statusnet_createpost: end"); + Logger::info('statusnet_createpost: end'); return $postarray; } @@ -1140,7 +1147,7 @@ function statusnet_fetchhometimeline(App $a, $uid, $mode = 1) // "create_user" is deactivated, since currently you cannot add users manually by now $create_user = true; - Logger::info("statusnet_fetchhometimeline: Fetching for user " . $uid); + Logger::info('statusnet_fetchhometimeline: Fetching for user ' . $uid); $connection = new StatusNetOAuth($api, $ckey, $csecret, $otoken, $osecret); @@ -1152,36 +1159,41 @@ function statusnet_fetchhometimeline(App $a, $uid, $mode = 1) $contact = Contact::selectFirst([], ['id' => $own_contact, 'uid' => $uid]); if (DBA::isResult($contact)) { - $nick = $contact["nick"]; + $nick = $contact['nick']; } else { - Logger::info("statusnet_fetchhometimeline: Own GNU Social contact not found for user " . $uid); + Logger::info('statusnet_fetchhometimeline: Own GNU Social contact not found for user ' . $uid); return; } $self = Contact::selectFirst([], ['self' => true, 'uid' => $uid]); if (!DBA::isResult($self)) { - Logger::info("statusnet_fetchhometimeline: Own contact not found for user " . $uid); + Logger::info('statusnet_fetchhometimeline: Own contact not found for user ' . $uid); return; } $user = User::getById($uid); if (!DBA::isResult($user)) { - Logger::info("statusnet_fetchhometimeline: Own user not found for user " . $uid); + Logger::info('statusnet_fetchhometimeline: Own user not found for user ' . $uid); return; } - $parameters = ["exclude_replies" => false, "trim_user" => false, "contributor_details" => true, "include_rts" => true]; - //$parameters["count"] = 200; + $parameters = [ + 'exclude_replies' => false, + 'trim_user' => false, + 'contributor_details' => true, + 'include_rts' => true, + //'count' => 200, + ]; if ($mode == 1) { // Fetching timeline $lastid = DI::pConfig()->get($uid, 'statusnet', 'lasthometimelineid'); //$lastid = 1; - $first_time = ($lastid == ""); + $first_time = ($lastid == ''); - if ($lastid != "") { - $parameters["since_id"] = $lastid; + if ($lastid != '') { + $parameters['since_id'] = $lastid; } $items = $connection->get('statuses/home_timeline', $parameters); @@ -1194,16 +1206,16 @@ function statusnet_fetchhometimeline(App $a, $uid, $mode = 1) } elseif (is_string($items) || is_float($items) || is_int($items)) { $errormsg = $items; } else { - $errormsg = "Unknown error"; + $errormsg = 'Unknown error'; } - Logger::info("statusnet_fetchhometimeline: Error fetching home timeline: " . $errormsg); + Logger::info('statusnet_fetchhometimeline: Error fetching home timeline: ' . $errormsg); return; } $posts = array_reverse($items); - Logger::info("statusnet_fetchhometimeline: Fetching timeline for user " . $uid . " " . sizeof($posts) . " items"); + Logger::info('statusnet_fetchhometimeline: Fetching timeline for user ' . $uid . ' ' . sizeof($posts) . ' items'); if (count($posts)) { foreach ($posts as $post) { @@ -1224,14 +1236,14 @@ function statusnet_fetchhometimeline(App $a, $uid, $mode = 1) } else { $postarray = statusnet_createpost($a, $uid, $post, $self, $create_user, true); - if (trim($postarray['body']) == "") { + if (trim($postarray['body']) == '') { continue; } $item = Item::insert($postarray); - $postarray["id"] = $item; + $postarray['id'] = $item; - Logger::notice('statusnet_fetchhometimeline: User ' . $self["nick"] . ' posted home timeline item ' . $item); + Logger::notice('statusnet_fetchhometimeline: User ' . $self['nick'] . ' posted home timeline item ' . $item); } } } @@ -1240,22 +1252,22 @@ function statusnet_fetchhometimeline(App $a, $uid, $mode = 1) // Fetching mentions $lastid = DI::pConfig()->get($uid, 'statusnet', 'lastmentionid'); - $first_time = ($lastid == ""); + $first_time = ($lastid == ''); - if ($lastid != "") { - $parameters["since_id"] = $lastid; + if ($lastid != '') { + $parameters['since_id'] = $lastid; } $items = $connection->get('statuses/mentions_timeline', $parameters); if (!is_array($items)) { - Logger::info("statusnet_fetchhometimeline: Error fetching mentions: " . print_r($items, true)); + Logger::info('statusnet_fetchhometimeline: Error fetching mentions: ' . print_r($items, true)); return; } $posts = array_reverse($items); - Logger::info("statusnet_fetchhometimeline: Fetching mentions for user " . $uid . " " . sizeof($posts) . " items"); + Logger::info('statusnet_fetchhometimeline: Fetching mentions for user ' . $uid . ' ' . sizeof($posts) . ' items'); if (count($posts)) { foreach ($posts as $post) { @@ -1275,13 +1287,13 @@ function statusnet_fetchhometimeline(App $a, $uid, $mode = 1) $conversations[$post->statusnet_conversation_id] = $post->statusnet_conversation_id; } } else { - if (trim($postarray['body']) == "") { + if (trim($postarray['body']) == '') { continue; } $item = Item::insert($postarray); - Logger::notice('statusnet_fetchhometimeline: User ' . $self["nick"] . ' posted mention timeline item ' . $item); + Logger::notice('statusnet_fetchhometimeline: User ' . $self['nick'] . ' posted mention timeline item ' . $item); } } } @@ -1300,7 +1312,7 @@ function statusnet_complete_conversation(App $a, $uid, $self, $create_user, $nic $connection = new StatusNetOAuth($api, $ckey, $csecret, $otoken, $osecret); - $parameters["count"] = 200; + $parameters['count'] = 200; $items = $connection->get('statusnet/conversation/' . $conversation, $parameters); if (is_array($items)) { @@ -1314,9 +1326,9 @@ function statusnet_complete_conversation(App $a, $uid, $self, $create_user, $nic } $item = Item::insert($postarray); - $postarray["id"] = $item; + $postarray['id'] = $item; - Logger::notice('statusnet_complete_conversation: User ' . $self["nick"] . ' posted home timeline item ' . $item); + Logger::notice('statusnet_complete_conversation: User ' . $self['nick'] . ' posted home timeline item ' . $item); } } } @@ -1325,19 +1337,16 @@ function statusnet_convertmsg(App $a, $body) { $body = preg_replace("=\[url\=https?://([0-9]*).([0-9]*).([0-9]*).([0-9]*)/([0-9]*)\](.*?)\[\/url\]=ism", "$1.$2.$3.$4/$5", $body); - $URLSearchString = "^\[\]"; + $URLSearchString = '^\[\]'; $links = preg_match_all("/[^!#@]\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", $body, $matches, PREG_SET_ORDER); - $footer = ""; - $footerurl = ""; - $footerlink = ""; - $type = ""; + $footer = $footerurl = $footerlink = $type = ''; if ($links) { foreach ($matches AS $match) { - $search = "[url=" . $match[1] . "]" . $match[2] . "[/url]"; + $search = '[url=' . $match[1] . ']' . $match[2] . '[/url]'; - Logger::info("statusnet_convertmsg: expanding url " . $match[1]); + Logger::info('statusnet_convertmsg: expanding url ' . $match[1]); try { $expanded_url = DI::httpClient()->finalUrl($match[1]); @@ -1346,56 +1355,56 @@ function statusnet_convertmsg(App $a, $body) $expanded_url = $match[1]; } - Logger::info("statusnet_convertmsg: fetching data for " . $expanded_url); + Logger::info('statusnet_convertmsg: fetching data for ' . $expanded_url); $oembed_data = OEmbed::fetchURL($expanded_url, true); - Logger::info("statusnet_convertmsg: fetching data: done"); + Logger::info('statusnet_convertmsg: fetching data: done'); - if ($type == "") { + if ($type == '') { $type = $oembed_data->type; } - if ($oembed_data->type == "video") { - //$body = str_replace($search, "[video]".$expanded_url."[/video]", $body); + if ($oembed_data->type == 'video') { + //$body = str_replace($search, '[video]'.$expanded_url.'[/video]', $body); $type = $oembed_data->type; $footerurl = $expanded_url; - $footerlink = "[url=" . $expanded_url . "]" . $expanded_url . "[/url]"; + $footerlink = '[url=' . $expanded_url . ']' . $expanded_url . '[/url]'; $body = str_replace($search, $footerlink, $body); - } elseif (($oembed_data->type == "photo") && isset($oembed_data->url)) { - $body = str_replace($search, "[url=" . $expanded_url . "][img]" . $oembed_data->url . "[/img][/url]", $body); - } elseif ($oembed_data->type != "link") { - $body = str_replace($search, "[url=" . $expanded_url . "]" . $expanded_url . "[/url]", $body); + } elseif (($oembed_data->type == 'photo') && isset($oembed_data->url)) { + $body = str_replace($search, '[url=' . $expanded_url . '][img]' . $oembed_data->url . '[/img][/url]', $body); + } elseif ($oembed_data->type != 'link') { + $body = str_replace($search, '[url=' . $expanded_url . ']' . $expanded_url . '[/url]', $body); } else { $img_str = DI::httpClient()->fetch($expanded_url, HttpClientAccept::DEFAULT, 4); - $tempfile = tempnam(System::getTempPath(), "cache"); + $tempfile = tempnam(System::getTempPath(), 'cache'); file_put_contents($tempfile, $img_str); $mime = mime_content_type($tempfile); unlink($tempfile); - if (substr($mime, 0, 6) == "image/") { - $type = "photo"; - $body = str_replace($search, "[img]" . $expanded_url . "[/img]", $body); + if (substr($mime, 0, 6) == 'image/') { + $type = 'photo'; + $body = str_replace($search, '[img]' . $expanded_url . '[/img]', $body); } else { $type = $oembed_data->type; $footerurl = $expanded_url; - $footerlink = "[url=" . $expanded_url . "]" . $expanded_url . "[/url]"; + $footerlink = '[url=' . $expanded_url . ']' . $expanded_url . '[/url]'; $body = str_replace($search, $footerlink, $body); } } } - if ($footerurl != "") { + if ($footerurl != '') { $footer = "\n" . PageInfo::getFooterFromUrl($footerurl); } - if (($footerlink != "") && (trim($footer) != "")) { - $removedlink = trim(str_replace($footerlink, "", $body)); + if (($footerlink != '') && (trim($footer) != '')) { + $removedlink = trim(str_replace($footerlink, '', $body)); - if (($removedlink == "") || strstr($body, $removedlink)) { + if (($removedlink == '') || strstr($body, $removedlink)) { $body = $removedlink; } @@ -1417,7 +1426,7 @@ function statusnet_fetch_own_contact(App $a, $uid) $contact_id = 0; - if ($own_url == "") { + if ($own_url == '') { $connection = new StatusNetOAuth($api, $ckey, $csecret, $otoken, $osecret); // Fetching user data @@ -1433,7 +1442,7 @@ function statusnet_fetch_own_contact(App $a, $uid) } else { $contact = Contact::selectFirst([], ['uid' => $uid, 'alias' => $own_url]); if (DBA::isResult($contact)) { - $contact_id = $contact["id"]; + $contact_id = $contact['id']; } else { DI::pConfig()->delete($uid, 'statusnet', 'own_url'); } @@ -1447,12 +1456,12 @@ function statusnet_is_retweet(App $a, $uid, $body) // Skip if it isn't a pure repeated messages // Does it start with a share? - if (strpos($body, "[share") > 0) { + if (strpos($body, '[share') > 0) { return false; } // Does it end with a share? - if (strlen($body) > (strrpos($body, "[/share]") + 8)) { + if (strlen($body) > (strrpos($body, '[/share]') + 8)) { return false; } @@ -1462,7 +1471,7 @@ function statusnet_is_retweet(App $a, $uid, $body) return false; } - $link = ""; + $link = ''; preg_match("/link='(.*?)'/ism", $attributes, $matches); if (!empty($matches[1])) { $link = $matches[1]; -- 2.43.0 From f7ba4848bcba95c5924bfb33303a3670fef8be51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roland=20H=C3=A4der?= Date: Wed, 22 Jun 2022 18:59:45 +0200 Subject: [PATCH 6/6] Changes: - ops, my bad that I misunderstood @MrPetovan here and maybe me having a cold :-/ - also made $contactId camel-case --- statusnet/statusnet.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index b7d3f372..66648893 100644 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -1036,7 +1036,7 @@ function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_ex return []; } - $contactid = 0; + $contactId = 0; if (!empty($content->in_reply_to_status_id)) { $thr_parent = $hostname . '::' . $content->in_reply_to_status_id; @@ -1057,9 +1057,9 @@ function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_ex $own_url = DI::pConfig()->get($uid, 'statusnet', 'own_url'); if ($content->user->id == $own_url) { - $self = DBA::selectFirst('*', ['self' => true, 'uid' => $uid]); + $self = DBA::selectFirst('contact', [], ['self' => true, 'uid' => $uid]); if (DBA::isResult($self)) { - $contactid = $self['id']; + $contactId = $self['id']; $postarray['owner-name'] = $self['name']; $postarray['owner-link'] = $self['url']; @@ -1074,19 +1074,19 @@ function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_ex $postarray['object-type'] = Activity\ObjectType::NOTE; } - if ($contactid == 0) { - $contactid = statusnet_fetch_contact($uid, $post->user, $create_user); + if ($contactId == 0) { + $contactId = statusnet_fetch_contact($uid, $post->user, $create_user); $postarray['owner-name'] = $post->user->name; $postarray['owner-link'] = $post->user->statusnet_profile_url; $postarray['owner-avatar'] = $post->user->profile_image_url; } - if (($contactid == 0) && !$only_existing_contact) { - $contactid = $self['id']; - } elseif ($contactid <= 0) { + if (($contactId == 0) && !$only_existing_contact) { + $contactId = $self['id']; + } elseif ($contactId <= 0) { return []; } - $postarray['contact-id'] = $contactid; + $postarray['contact-id'] = $contactId; $postarray['verb'] = Activity::POST; -- 2.43.0