Replace call for Logger with DI::logger() in discourse addon

This commit is contained in:
Art4 2025-01-24 11:38:48 +00:00
parent 4881e6004a
commit b38c2d18be

View file

@ -10,7 +10,6 @@
use Friendica\Content\Text\Markdown; use Friendica\Content\Text\Markdown;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -79,13 +78,13 @@ function discourse_email_getmessage(&$message)
// We do assume that all Discourse servers are running with SSL // We do assume that all Discourse servers are running with SSL
if (preg_match('=topic/(.*\d)/(.*\d)@(.*)=', $message['item']['uri'], $matches) && if (preg_match('=topic/(.*\d)/(.*\d)@(.*)=', $message['item']['uri'], $matches) &&
discourse_fetch_post_from_api($message, $matches[2], $matches[3])) { discourse_fetch_post_from_api($message, $matches[2], $matches[3])) {
Logger::info('Fetched comment via API (message-id mode)', ['host' => $matches[3], 'topic' => $matches[1], 'post' => $matches[2]]); DI::logger()->info('Fetched comment via API (message-id mode)', ['host' => $matches[3], 'topic' => $matches[1], 'post' => $matches[2]]);
return; return;
} }
if (preg_match('=topic/(.*\d)@(.*)=', $message['item']['uri'], $matches) && if (preg_match('=topic/(.*\d)@(.*)=', $message['item']['uri'], $matches) &&
discourse_fetch_topic_from_api($message, 'https://' . $matches[2], $matches[1], 1)) { discourse_fetch_topic_from_api($message, 'https://' . $matches[2], $matches[1], 1)) {
Logger::info('Fetched starting post via API (message-id mode)', ['host' => $matches[2], 'topic' => $matches[1]]); DI::logger()->info('Fetched starting post via API (message-id mode)', ['host' => $matches[2], 'topic' => $matches[1]]);
return; return;
} }
@ -95,16 +94,16 @@ function discourse_email_getmessage(&$message)
} }
if (empty($message['item']['plink']) || !preg_match('=(http.*)/t/.*/(.*\d)/(.*\d)=', $message['item']['plink'], $matches)) { if (empty($message['item']['plink']) || !preg_match('=(http.*)/t/.*/(.*\d)/(.*\d)=', $message['item']['plink'], $matches)) {
Logger::info('This is no Discourse post'); DI::logger()->info('This is no Discourse post');
return; return;
} }
if (discourse_fetch_topic_from_api($message, $matches[1], $matches[2], $matches[3])) { if (discourse_fetch_topic_from_api($message, $matches[1], $matches[2], $matches[3])) {
Logger::info('Fetched post via API (plink mode)', ['host' => $matches[1], 'topic' => $matches[2], 'id' => $matches[3]]); DI::logger()->info('Fetched post via API (plink mode)', ['host' => $matches[1], 'topic' => $matches[2], 'id' => $matches[3]]);
return; return;
} }
Logger::info('Fallback mode', ['plink' => $message['item']['plink']]); DI::logger()->info('Fallback mode', ['plink' => $message['item']['plink']]);
// Search in the HTML part for the discourse entry and the author profile // Search in the HTML part for the discourse entry and the author profile
if (!empty($message['html'])) { if (!empty($message['html'])) {
$message = discourse_get_html($message); $message = discourse_get_html($message);
@ -121,7 +120,7 @@ function discourse_fetch_post($host, $topic, $pid)
$url = $host . '/t/' . $topic . '/' . $pid . '.json'; $url = $host . '/t/' . $topic . '/' . $pid . '.json';
$curlResult = DI::httpClient()->get($url); $curlResult = DI::httpClient()->get($url);
if (!$curlResult->isSuccess()) { if (!$curlResult->isSuccess()) {
Logger::info('No success', ['url' => $url]); DI::logger()->info('No success', ['url' => $url]);
return false; return false;
} }
@ -133,11 +132,11 @@ function discourse_fetch_post($host, $topic, $pid)
/// @todo Possibly fetch missing posts here /// @todo Possibly fetch missing posts here
continue; continue;
} }
Logger::info('Got post data from topic', $post); DI::logger()->info('Got post data from topic', $post);
return $post; return $post;
} }
Logger::info('Post not found', ['host' => $host, 'topic' => $topic, 'pid' => $pid]); DI::logger()->info('Post not found', ['host' => $host, 'topic' => $topic, 'pid' => $pid]);
return false; return false;
} }
@ -169,7 +168,7 @@ function discourse_fetch_post_from_api(&$message, $post, $host)
$message = discourse_process_post($message, $data, $hostaddr); $message = discourse_process_post($message, $data, $hostaddr);
Logger::info('Got API data', $message); DI::logger()->info('Got API data', $message);
return true; return true;
} }
@ -202,7 +201,7 @@ function discourse_get_user($post, $hostaddr)
$contact['url'] = $hostaddr . '/u/' . $contact['nick']; $contact['url'] = $hostaddr . '/u/' . $contact['nick'];
$contact['nurl'] = Strings::normaliseLink($contact['url']); $contact['nurl'] = Strings::normaliseLink($contact['url']);
$contact['baseurl'] = $hostaddr; $contact['baseurl'] = $hostaddr;
Logger::info('Contact', $contact); DI::logger()->info('Contact', $contact);
$contact['id'] = Contact::getIdForURL($contact['url'], 0, false, $contact); $contact['id'] = Contact::getIdForURL($contact['url'], 0, false, $contact);
if (!empty($contact['id'])) { if (!empty($contact['id'])) {
$avatar = $contact['photo']; $avatar = $contact['photo'];
@ -268,11 +267,11 @@ function discourse_get_html($message)
$div = $doc2->importNode($result->item(0), true); $div = $doc2->importNode($result->item(0), true);
$doc2->appendChild($div); $doc2->appendChild($div);
$message['html'] = $doc2->saveHTML(); $message['html'] = $doc2->saveHTML();
Logger::info('Found html body', ['html' => $message['html']]); DI::logger()->info('Found html body', ['html' => $message['html']]);
$profile = discourse_get_profile($xpath); $profile = discourse_get_profile($xpath);
if (!empty($profile['url'])) { if (!empty($profile['url'])) {
Logger::info('Found profile', $profile); DI::logger()->info('Found profile', $profile);
$message['item']['author-id'] = Contact::getIdForURL($profile['url'], 0, false, $profile); $message['item']['author-id'] = Contact::getIdForURL($profile['url'], 0, false, $profile);
$message['item']['author-link'] = $profile['url']; $message['item']['author-link'] = $profile['url'];
$message['item']['author-name'] = $profile['name']; $message['item']['author-name'] = $profile['name'];
@ -288,21 +287,21 @@ function discourse_get_text($message)
$text = str_replace("\r", '', $text); $text = str_replace("\r", '', $text);
$pos = strpos($text, "\n---\n"); $pos = strpos($text, "\n---\n");
if ($pos == 0) { if ($pos == 0) {
Logger::info('No separator found', ['text' => $text]); DI::logger()->info('No separator found', ['text' => $text]);
return $message; return $message;
} }
$message['text'] = trim(substr($text, 0, $pos)); $message['text'] = trim(substr($text, 0, $pos));
Logger::info('Found text body', ['text' => $message['text']]); DI::logger()->info('Found text body', ['text' => $message['text']]);
$message['text'] = Markdown::toBBCode($message['text']); $message['text'] = Markdown::toBBCode($message['text']);
$text = substr($text, $pos); $text = substr($text, $pos);
Logger::info('Found footer', ['text' => $text]); DI::logger()->info('Found footer', ['text' => $text]);
if (preg_match('=\((http.*/t/.*/.*\d/.*\d)\)=', $text, $link)) { if (preg_match('=\((http.*/t/.*/.*\d/.*\d)\)=', $text, $link)) {
$message['item']['plink'] = $link[1]; $message['item']['plink'] = $link[1];
Logger::info('Found plink', ['plink' => $message['item']['plink']]); DI::logger()->info('Found plink', ['plink' => $message['item']['plink']]);
} }
return $message; return $message;
} }