Changed more double-quotes to single

pull/1264/head
Roland Häder 2022-06-22 18:55:35 +02:00
parent 04466968dc
commit 07307823ca
No known key found for this signature in database
GPG Key ID: C82EDE5DDFA0BA77
1 changed files with 108 additions and 93 deletions

View File

@ -116,7 +116,7 @@ function twitter_install()
Hook::register('probe_detect' , __FILE__, 'twitter_probe_detect'); Hook::register('probe_detect' , __FILE__, 'twitter_probe_detect');
Hook::register('item_by_link' , __FILE__, 'twitter_item_by_link'); Hook::register('item_by_link' , __FILE__, 'twitter_item_by_link');
Hook::register('parse_link' , __FILE__, 'twitter_parse_link'); Hook::register('parse_link' , __FILE__, 'twitter_parse_link');
Logger::info("installed twitter"); Logger::info('installed twitter');
} }
// Hook functions // Hook functions
@ -145,15 +145,15 @@ function twitter_support_follow(App $a, array &$data)
function twitter_follow(App $a, array &$contact) 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; return;
} }
// contact seems to be a twitter contact, so continue // contact seems to be a twitter contact, so continue
$nickname = preg_replace("=https?://twitter.com/(.*)=ism", "$1", $contact["url"]); $nickname = preg_replace("=https?://twitter.com/(.*)=ism", "$1", $contact['url']);
$nickname = str_replace("@twitter.com", "", $nickname); $nickname = str_replace('@twitter.com', '', $nickname);
$uid = $a->getLoggedInUserId(); $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']); $contact = Contact::getById($contact_id, ['name', 'nick', 'url', 'addr', 'batch', 'notify', 'poll', 'request', 'confirm', 'poco', 'photo', 'priority', 'network', 'alias', 'pubkey']);
if (DBA::isResult($contact)) { 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']); $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 // 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', 'oauthtoken', $token['oauth_token']);
DI::pConfig()->set(local_user(), 'twitter', 'oauthsecret', $token['oauth_token_secret']); 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 // 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']))) { && ($b['private'] || ($b['created'] !== $b['edited']))) {
return; return;
} }
@ -647,17 +647,17 @@ function twitter_post_hook(App $a, array &$b)
Logger::debug('Got comment', ['item' => $b]); Logger::debug('Got comment', ['item' => $b]);
// Looking if its a reply to a twitter post // Looking if its a reply to a twitter post
if (!twitter_get_id($b["parent-uri"]) && if (!twitter_get_id($b['parent-uri']) &&
!twitter_get_id($b["extid"]) && !twitter_get_id($b['extid']) &&
!twitter_get_id($b["thr-parent"])) { !twitter_get_id($b['thr-parent'])) {
Logger::info('No twitter post', ['parent' => $b["parent"]]); Logger::info('No twitter post', ['parent' => $b['parent']]);
return; 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); $thr_parent = Post::selectFirst(['uri', 'extid', 'author-link', 'author-nick', 'author-network'], $condition);
if (!DBA::isResult($thr_parent)) { 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; return;
} }
@ -665,9 +665,9 @@ function twitter_post_hook(App $a, array &$b)
$nickname = '@[url=' . $thr_parent['author-link'] . ']' . $thr_parent['author-nick'] . '[/url]'; $nickname = '@[url=' . $thr_parent['author-link'] . ']' . $thr_parent['author-nick'] . '[/url]';
$nicknameplain = '@' . $thr_parent['author-nick']; $nicknameplain = '@' . $thr_parent['author-nick'];
Logger::info('Comparing', ['nickname' => $nickname, 'nicknameplain' => $nicknameplain, 'body' => $b["body"]]); Logger::info('Comparing', ['nickname' => $nickname, 'nicknameplain' => $nicknameplain, 'body' => $b['body']]);
if ((strpos($b["body"], $nickname) === false) && (strpos($b["body"], $nicknameplain) === false)) { if ((strpos($b['body'], $nickname) === false) && (strpos($b['body'], $nicknameplain) === false)) {
$b["body"] = $nickname . " " . $b["body"]; $b['body'] = $nickname . ' ' . $b['body'];
} }
} }
@ -686,7 +686,7 @@ function twitter_post_hook(App $a, array &$b)
} }
if ($b['verb'] == Activity::LIKE) { 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']); 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) { 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'])); twitter_retweet($b['uid'], twitter_get_id($b['thr-parent']));
return; return;
} }
@ -708,7 +708,7 @@ function twitter_post_hook(App $a, array &$b)
return; return;
} }
if ($b['app'] == "Twitter") { if ($b['app'] == 'Twitter') {
return; return;
} }
@ -752,10 +752,10 @@ function twitter_post_hook(App $a, array &$b)
$msgarr = Plaintext::getPost($b, $max_char, true, BBCode::TWITTER); $msgarr = Plaintext::getPost($b, $max_char, true, BBCode::TWITTER);
Logger::info('Got plaintext', ['id' => $b['id'], 'message' => $msgarr]); Logger::info('Got plaintext', ['id' => $b['id'], 'message' => $msgarr]);
$msg = $msgarr["text"]; $msg = $msgarr['text'];
if (($msg == "") && isset($msgarr["title"])) { if (($msg == '') && isset($msgarr['title'])) {
$msg = Plaintext::shorten($msgarr["title"], $max_char - 50, $b['uid']); $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 // 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]); Logger::info('twitter_post send', ['id' => $b['id'], 'result' => $result]);
if (!empty($result->source)) { 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)) { if (!empty($result->errors)) {
@ -831,7 +831,7 @@ function twitter_post_hook(App $a, array &$b)
Worker::defer(); Worker::defer();
} elseif ($thr_parent) { } elseif ($thr_parent) {
Logger::notice('Post send, updating extid', ['id' => $b['id'], 'extid' => $result->id_str]); 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) 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, [ $o = Renderer::replaceMacros($t, [
'$submit' => DI::l10n()->t('Save Settings'), '$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]); $pconfigs = DBA::selectToArray('pconfig', [], ['cat' => 'twitter', 'k' => 'mirror_posts', 'v' => true]);
foreach ($pconfigs as $rr) { foreach ($pconfigs as $rr) {
Logger::notice('Fetching', ['user' => $rr['uid']]); 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')); $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']]); 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 // To-Do
// check for new contacts once a day // check for new contacts once a day
@ -1016,36 +1016,36 @@ function twitter_expire(App $a)
function twitter_prepare_body(App $a, array &$b) function twitter_prepare_body(App $a, array &$b)
{ {
if ($b["item"]["network"] != Protocol::TWITTER) { if ($b['item']['network'] != Protocol::TWITTER) {
return; return;
} }
if ($b["preview"]) { if ($b['preview']) {
$max_char = 280; $max_char = 280;
$item = $b["item"]; $item = $b['item'];
$item["plink"] = DI::baseUrl()->get() . "/display/" . $item["guid"]; $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); $orig_post = Post::selectFirst(['author-link'], $condition);
if (DBA::isResult($orig_post)) { if (DBA::isResult($orig_post)) {
$nicknameplain = preg_replace("=https?://twitter.com/(.*)=ism", "$1", $orig_post["author-link"]); $nicknameplain = preg_replace("=https?://twitter.com/(.*)=ism", "$1", $orig_post['author-link']);
$nickname = "@[url=" . $orig_post["author-link"] . "]" . $nicknameplain . "[/url]"; $nickname = '@[url=' . $orig_post['author-link'] . ']' . $nicknameplain . '[/url]';
$nicknameplain = "@" . $nicknameplain; $nicknameplain = '@' . $nicknameplain;
if ((strpos($item["body"], $nickname) === false) && (strpos($item["body"], $nicknameplain) === false)) { if ((strpos($item['body'], $nickname) === false) && (strpos($item['body'], $nicknameplain) === false)) {
$item["body"] = $nickname . " " . $item["body"]; $item['body'] = $nickname . ' ' . $item['body'];
} }
} }
$msgarr = Plaintext::getPost($item, $max_char, true, BBCode::TWITTER); $msgarr = Plaintext::getPost($item, $max_char, true, BBCode::TWITTER);
$msg = $msgarr["text"]; $msg = $msgarr['text'];
if (isset($msgarr["url"]) && ($msgarr["type"] != "photo")) { if (isset($msgarr['url']) && ($msgarr['type'] != 'photo')) {
$msg .= " " . $msgarr["url"]; $msg .= ' ' . $msgarr['url'];
} }
if (isset($msgarr["image"])) { if (isset($msgarr['image'])) {
$msg .= " " . $msgarr["image"]; $msg .= ' ' . $msgarr['image'];
} }
$b['html'] = nl2br(htmlspecialchars($msg)); $b['html'] = nl2br(htmlspecialchars($msg));
@ -1206,7 +1206,7 @@ function twitter_fetchtimeline(App $a, $uid)
$application_name = DI::config()->get('twitter', 'application_name'); $application_name = DI::config()->get('twitter', 'application_name');
if ($application_name == "") { if ($application_name == '') {
$application_name = DI::baseUrl()->getHostname(); $application_name = DI::baseUrl()->getHostname();
} }
@ -1220,12 +1220,19 @@ function twitter_fetchtimeline(App $a, $uid)
return; 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 != "") { if ($lastid != '') {
$parameters["since_id"] = $lastid; $parameters['since_id'] = $lastid;
} }
try { try {
@ -1276,10 +1283,10 @@ function twitter_fetchtimeline(App $a, $uid)
function twitter_fix_avatar($avatar) function twitter_fix_avatar($avatar)
{ {
$new_avatar = str_replace("_normal.", "_400x400.", $avatar); $new_avatar = str_replace('_normal.', '_400x400.', $avatar);
$info = Images::getInfoFromURLCached($new_avatar); $info = Images::getInfoFromURLCached($new_avatar);
if (empty($info)) { if (!$info) {
$new_avatar = $avatar; $new_avatar = $avatar;
} }
@ -1365,7 +1372,7 @@ function twitter_user_to_contact($data)
function twitter_get_contact($data, int $uid = 0) 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)) { if (DBA::isResult($contact)) {
return $contact['id']; return $contact['id'];
} else { } else {
@ -1386,7 +1393,7 @@ function twitter_fetch_contact($uid, $data, $create_user)
unset($fields['photo']); unset($fields['photo']);
// Update the public contact // 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)) { if (DBA::isResult($pcontact)) {
$cid = $pcontact['id']; $cid = $pcontact['id'];
} else { } else {
@ -1400,7 +1407,7 @@ function twitter_fetch_contact($uid, $data, $create_user)
Logger::warning('No contact found', ['fields' => $fields]); 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)) { if (!DBA::isResult($contact) && empty($cid)) {
Logger::warning('User contact not found', ['uid' => $uid, 'twitter-id' => $data->id_str]); Logger::warning('User contact not found', ['uid' => $uid, 'twitter-id' => $data->id_str]);
return 0; return 0;
@ -1430,8 +1437,8 @@ function twitter_fetch_contact($uid, $data, $create_user)
Group::addMember(User::getDefaultGroup($uid), $contact_id); Group::addMember(User::getDefaultGroup($uid), $contact_id);
} else { } else {
if ($contact["readonly"] || $contact["blocked"]) { if ($contact['readonly'] || $contact['blocked']) {
Logger::notice('Contact is blocked or readonly.', ['nickname' => $contact["nick"]]); Logger::notice('Contact is blocked or readonly.', ['nickname' => $contact['nick']]);
return -1; return -1;
} }
@ -1739,7 +1746,7 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl
$postarray['network'] = Protocol::TWITTER; $postarray['network'] = Protocol::TWITTER;
$postarray['uid'] = $uid; $postarray['uid'] = $uid;
$postarray['wall'] = 0; $postarray['wall'] = 0;
$postarray['uri'] = "twitter::" . $post->id_str; $postarray['uri'] = 'twitter::' . $post->id_str;
$postarray['protocol'] = Conversation::PARCEL_TWITTER; $postarray['protocol'] = Conversation::PARCEL_TWITTER;
$postarray['source'] = json_encode($post); $postarray['source'] = json_encode($post);
$postarray['direction'] = Conversation::PULL; $postarray['direction'] = Conversation::PULL;
@ -1756,8 +1763,8 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl
$contactid = 0; $contactid = 0;
if ($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; $thr_parent = 'twitter::' . $post->in_reply_to_status_id_str;
$item = Post::selectFirst(['uri'], ['uri' => $thr_parent, 'uid' => $uid]); $item = Post::selectFirst(['uri'], ['uri' => $thr_parent, 'uid' => $uid]);
if (!DBA::isResult($item)) { 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-id'] = twitter_get_contact($post->user);
$postarray['owner-name'] = $post->user->name; $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); $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-name'] = $postarray['owner-name'];
$postarray['author-link'] = $postarray['owner-link']; $postarray['author-link'] = $postarray['owner-link'];
$postarray['author-avatar'] = $postarray['owner-avatar']; $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); $postarray['app'] = strip_tags($post->source);
if ($post->user->protected) { 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)) { if (!empty($post->place->name)) {
$postarray["location"] = $post->place->name; $postarray['location'] = $post->place->name;
} }
if (!empty($post->place->full_name)) { if (!empty($post->place->full_name)) {
$postarray["location"] = $post->place->full_name; $postarray['location'] = $post->place->full_name;
} }
if (!empty($post->geo->coordinates)) { 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)) { 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)) { if (!empty($post->retweeted_status)) {
$retweet = twitter_createpost($a, $uid, $post->retweeted_status, $self, false, false, $noquote); $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]'; $postarray['body'] .= $quoted['body'] . '[/share]';
} else { } else {
// Quoted post author is blocked/ignored, so we just provide the link to avoid removing quote context. // 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)) { 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; break;
} }
@ -1975,7 +1982,7 @@ function twitter_fetchparentposts(App $a, $uid, $post, TwitterOAuth $connection,
$posts[] = $post; $posts[] = $post;
} }
Logger::info("twitter_fetchparentposts: Fetching " . count($posts) . " parents"); Logger::info('twitter_fetchparentposts: Fetching ' . count($posts) . ' parents');
$posts = array_reverse($posts); $posts = array_reverse($posts);
@ -1989,9 +1996,9 @@ function twitter_fetchparentposts(App $a, $uid, $post, TwitterOAuth $connection,
$item = Item::insert($postarray); $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'); $application_name = DI::config()->get('twitter', 'application_name');
if ($application_name == "") { if ($application_name == '') {
$application_name = DI::baseUrl()->getHostname(); $application_name = DI::baseUrl()->getHostname();
} }
@ -2036,15 +2043,23 @@ function twitter_fetchhometimeline(App $a, $uid)
return; return;
} }
$parameters = ["exclude_replies" => false, "trim_user" => false, "contributor_details" => true, "include_rts" => true, "tweet_mode" => "extended", "include_ext_alt_text" => true]; $parameters = [
//$parameters["count"] = 200; 'exclude_replies' => false,
'trim_user' => false,
'contributor_details' => true,
'include_rts' => true,
'tweet_mode' => 'extended',
'include_ext_alt_text' => true,
//'count' => 200,
];
// Fetching timeline // Fetching timeline
$lastid = DI::pConfig()->get($uid, 'twitter', 'lasthometimelineid'); $lastid = DI::pConfig()->get($uid, 'twitter', 'lasthometimelineid');
$first_time = ($lastid == ""); $first_time = ($lastid == '');
if ($lastid != "") { if ($lastid != '') {
$parameters["since_id"] = $lastid; $parameters['since_id'] = $lastid;
} }
try { try {
@ -2080,16 +2095,16 @@ function twitter_fetchhometimeline(App $a, $uid)
} }
if (stristr($post->source, $application_name) && $post->user->screen_name == $own_id) { 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; continue;
} }
if ($mirror_posts && $post->user->screen_name == $own_id && $post->in_reply_to_status_id_str == "") { if ($mirror_posts && $post->user->screen_name == $own_id && $post->in_reply_to_status_id_str == '') {
Logger::info("Skip post that will be mirrored"); Logger::info('Skip post that will be mirrored');
continue; continue;
} }
if ($post->in_reply_to_status_id_str != "") { if ($post->in_reply_to_status_id_str != '') {
twitter_fetchparentposts($a, $uid, $post, $connection, $self); 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); $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); Logger::info('Empty body for post ' . $post->id_str . ' and user ' . $uid);
continue; continue;
} }
@ -2112,7 +2127,7 @@ function twitter_fetchhometimeline(App $a, $uid)
} }
$item = Item::insert($postarray, $notify); $item = Item::insert($postarray, $notify);
$postarray["id"] = $item; $postarray['id'] = $item;
Logger::notice('User ' . $uid . ' posted home timeline item ' . $item); Logger::notice('User ' . $uid . ' posted home timeline item ' . $item);
} }
@ -2124,10 +2139,10 @@ function twitter_fetchhometimeline(App $a, $uid)
// Fetching mentions // Fetching mentions
$lastid = DI::pConfig()->get($uid, 'twitter', 'lastmentionid'); $lastid = DI::pConfig()->get($uid, 'twitter', 'lastmentionid');
$first_time = ($lastid == ""); $first_time = ($lastid == '');
if ($lastid != "") { if ($lastid != '') {
$parameters["since_id"] = $lastid; $parameters['since_id'] = $lastid;
} }
try { try {
@ -2138,13 +2153,13 @@ function twitter_fetchhometimeline(App $a, $uid)
} }
if (!is_array($items)) { if (!is_array($items)) {
Logger::warning("mentions are no arrays", ['items' => $items]); Logger::warning('mentions are no arrays', ['items' => $items]);
return; return;
} }
$posts = array_reverse($items); $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)) { if (count($posts)) {
foreach ($posts as $post) { foreach ($posts as $post) {
@ -2156,7 +2171,7 @@ function twitter_fetchhometimeline(App $a, $uid)
continue; continue;
} }
if ($post->in_reply_to_status_id_str != "") { if ($post->in_reply_to_status_id_str != '') {
twitter_fetchparentposts($a, $uid, $post, $connection, $self); twitter_fetchparentposts($a, $uid, $post, $connection, $self);
} }
@ -2188,7 +2203,7 @@ function twitter_fetch_own_contact(App $a, $uid)
$contact_id = 0; $contact_id = 0;
if ($own_id == "") { if ($own_id == '') {
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret); $connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
// Fetching user data // Fetching user data
@ -2219,12 +2234,12 @@ function twitter_is_retweet(App $a, $uid, $body)
// Skip if it isn't a pure repeated messages // Skip if it isn't a pure repeated messages
// Does it start with a share? // Does it start with a share?
if (strpos($body, "[share") > 0) { if (strpos($body, '[share') > 0) {
return false; return false;
} }
// Does it end with a share? // Does it end with a share?
if (strlen($body) > (strrpos($body, "[/share]") + 8)) { if (strlen($body) > (strrpos($body, '[/share]') + 8)) {
return false; return false;
} }
@ -2234,7 +2249,7 @@ function twitter_is_retweet(App $a, $uid, $body)
return false; return false;
} }
$link = ""; $link = '';
preg_match("/link='(.*?)'/ism", $attributes, $matches); preg_match("/link='(.*?)'/ism", $attributes, $matches);
if (!empty($matches[1])) { if (!empty($matches[1])) {
$link = $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)) { if (!empty($item_id) && !empty($result->id_str)) {
Logger::notice('Update extid', ['id' => $item_id, 'extid' => $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); return !isset($result->errors);
@ -2270,7 +2285,7 @@ function twitter_retweet(int $uid, int $id, int $item_id = 0)
function twitter_update_mentions($body) function twitter_update_mentions($body)
{ {
$URLSearchString = "^\[\]"; $URLSearchString = '^\[\]';
$return = preg_replace_callback( $return = preg_replace_callback(
"/@\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", "/@\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",
function ($matches) { function ($matches) {