diff --git a/composer.json b/composer.json index 23dc4d4992..89c8a9f41d 100644 --- a/composer.json +++ b/composer.json @@ -171,6 +171,7 @@ "cs:fix": [ "@cs:install", "bin/dev/php-cs-fixer/vendor/bin/php-cs-fixer fix" - ] + ], + "cs:fix-develop": "TARGET_BRANCH=develop COMMAND=fix bin/dev/fix-codestyle.sh" } } diff --git a/mod/item.php b/mod/item.php index c47dbac44d..f4dcf187fa 100644 --- a/mod/item.php +++ b/mod/item.php @@ -19,7 +19,6 @@ use Friendica\Content\Conversation; use Friendica\Content\Text\BBCode; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\System; use Friendica\Core\Worker; @@ -56,7 +55,7 @@ function item_post() */ if (!$preview && !empty($_REQUEST['post_id_random'])) { if (DI::session()->get('post-random') == $_REQUEST['post_id_random']) { - Logger::warning('duplicate post'); + DI::logger()->warning('duplicate post'); item_post_return(DI::baseUrl(), $return_path); } else { DI::session()->set('post-random', $_REQUEST['post_id_random']); @@ -165,7 +164,7 @@ function item_insert(int $uid, array $request, bool $preview, string $return_pat // This enables interaction like starring and saving into folders if ($toplevel_item['uid'] == 0) { $stored = Item::storeForUserByUriId($toplevel_item['uri-id'], $post['uid'], ['post-reason' => Item::PR_ACTIVITY]); - Logger::info('Public item stored for user', ['uri-id' => $toplevel_item['uri-id'], 'uid' => $post['uid'], 'stored' => $stored]); + DI::logger()->info('Public item stored for user', ['uri-id' => $toplevel_item['uri-id'], 'uid' => $post['uid'], 'stored' => $stored]); } $post['parent'] = $toplevel_item['id']; @@ -197,7 +196,7 @@ function item_insert(int $uid, array $request, bool $preview, string $return_pat $post = Post::selectFirst(Item::ITEM_FIELDLIST, ['id' => $post_id]); if (!$post) { - Logger::error('Item couldn\'t be fetched.', ['post_id' => $post_id]); + DI::logger()->error('Item couldn\'t be fetched.', ['post_id' => $post_id]); if ($return_path) { DI::baseUrl()->redirect($return_path); } @@ -213,7 +212,7 @@ function item_insert(int $uid, array $request, bool $preview, string $return_pat DI::contentItem()->copyPermissions($post['thr-parent-id'], $post['uri-id'], $post['parent-uri-id']); } - Logger::debug('post_complete'); + DI::logger()->debug('post_complete'); item_post_return(DI::baseUrl(), $return_path); // NOTREACHED @@ -297,7 +296,7 @@ function item_process(array $post, array $request, bool $preview, string $return } if (!empty($post['cancel'])) { - Logger::info('mod_item: post cancelled by addon.'); + DI::logger()->info('mod_item: post cancelled by addon.'); if ($return_path) { DI::baseUrl()->redirect($return_path); } @@ -324,7 +323,7 @@ function item_post_return($baseurl, $return_path) $json['reload'] = $baseurl . '/' . $_REQUEST['jsreload']; } - Logger::debug('post_json', ['json' => $json]); + DI::logger()->debug('post_json', ['json' => $json]); System::jsonExit($json); } @@ -444,7 +443,7 @@ function drop_item(int $id, string $return = ''): string item_redirect_after_action($item, $return); //NOTREACHED } else { - Logger::warning('Permission denied.', ['local' => DI::userSession()->getLocalUserId(), 'uid' => $item['uid'], 'cid' => $contact_id]); + DI::logger()->warning('Permission denied.', ['local' => DI::userSession()->getLocalUserId(), 'uid' => $item['uid'], 'cid' => $contact_id]); DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.')); DI::baseUrl()->redirect('display/' . $item['guid']); //NOTREACHED diff --git a/mod/photos.php b/mod/photos.php index c9fa60bca0..779d229000 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -13,7 +13,6 @@ use Friendica\Content\Text\BBCode; use Friendica\Core\ACL; use Friendica\Core\Addon; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Renderer; use Friendica\Core\System; use Friendica\Database\DBA; @@ -277,7 +276,7 @@ function photos_post() } if (!empty($_POST['rotate']) && (intval($_POST['rotate']) == 1 || intval($_POST['rotate']) == 2)) { - Logger::debug('rotate'); + DI::logger()->debug('rotate'); $photo = Photo::getPhotoForUser($page_owner_uid, $resource_id); diff --git a/src/App/Page.php b/src/App/Page.php index 2fb18c4c5d..45293b1e05 100644 --- a/src/App/Page.php +++ b/src/App/Page.php @@ -16,12 +16,12 @@ use Friendica\Content\Nav; use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\Core\Hook; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues; use Friendica\Core\Renderer; use Friendica\Core\Session\Model\UserSession; use Friendica\Core\System; use Friendica\Core\Theme; +use Friendica\DI; use Friendica\Network\HTTPException; use Friendica\Util\Images; use Friendica\Util\Network; @@ -102,7 +102,7 @@ class Page implements ArrayAccess $load = number_format(System::currentLoad(), 2); $runtime = number_format(microtime(true) - $this->timestamp, 3); if ($runtime > $config->get('system', 'runtime_loglimit')) { - Logger::debug('Runtime', ['method' => $this->method, 'module' => $this->module, 'runtime' => $runtime, 'load' => $load, 'origin' => $origin, 'signature' => $signature, 'request' => $_SERVER['REQUEST_URI'] ?? '']); + DI::logger()->debug('Runtime', ['method' => $this->method, 'module' => $this->module, 'runtime' => $runtime, 'load' => $load, 'origin' => $origin, 'signature' => $signature, 'request' => $_SERVER['REQUEST_URI'] ?? '']); } } diff --git a/src/BaseModule.php b/src/BaseModule.php index 908f750ba9..27f156bef0 100644 --- a/src/BaseModule.php +++ b/src/BaseModule.php @@ -12,7 +12,6 @@ use Friendica\Capabilities\ICanHandleRequests; use Friendica\Capabilities\ICanCreateResponses; use Friendica\Core\Hook; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Core\System; use Friendica\Model\User; use Friendica\Module\Response; @@ -412,8 +411,8 @@ abstract class BaseModule implements ICanHandleRequests public static function checkFormSecurityTokenRedirectOnError(string $err_redirect, string $typename = '', string $formname = 'form_security_token') { if (!self::checkFormSecurityToken($typename, $formname)) { - Logger::notice('checkFormSecurityToken failed: user ' . DI::userSession()->getLocalUserNickname() . ' - form element ' . $typename); - Logger::debug('checkFormSecurityToken failed', ['request' => $_REQUEST]); + DI::logger()->notice('checkFormSecurityToken failed: user ' . DI::userSession()->getLocalUserNickname() . ' - form element ' . $typename); + DI::logger()->debug('checkFormSecurityToken failed', ['request' => $_REQUEST]); DI::sysmsg()->addNotice(self::getFormSecurityStandardErrorMessage()); DI::baseUrl()->redirect($err_redirect); } @@ -422,8 +421,8 @@ abstract class BaseModule implements ICanHandleRequests public static function checkFormSecurityTokenForbiddenOnError(string $typename = '', string $formname = 'form_security_token') { if (!self::checkFormSecurityToken($typename, $formname)) { - Logger::notice('checkFormSecurityToken failed: user ' . DI::userSession()->getLocalUserNickname() . ' - form element ' . $typename); - Logger::debug('checkFormSecurityToken failed', ['request' => $_REQUEST]); + DI::logger()->notice('checkFormSecurityToken failed: user ' . DI::userSession()->getLocalUserNickname() . ' - form element ' . $typename); + DI::logger()->debug('checkFormSecurityToken failed', ['request' => $_REQUEST]); throw new \Friendica\Network\HTTPException\ForbiddenException(); } diff --git a/src/Contact/Avatar.php b/src/Contact/Avatar.php index 04f8778a59..b7ec5372a0 100644 --- a/src/Contact/Avatar.php +++ b/src/Contact/Avatar.php @@ -7,7 +7,6 @@ namespace Friendica\Contact; -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Network\HTTPClient\Client\HttpClientAccept; use Friendica\Network\HTTPClient\Client\HttpClientOptions; @@ -47,36 +46,36 @@ class Avatar if (($avatar != $contact['avatar']) || $force) { self::deleteCache($contact); - Logger::debug('Avatar file name changed', ['new' => $avatar, 'old' => $contact['avatar']]); + DI::logger()->debug('Avatar file name changed', ['new' => $avatar, 'old' => $contact['avatar']]); } elseif (self::isCacheFile($contact['photo']) && self::isCacheFile($contact['thumb']) && self::isCacheFile($contact['micro'])) { $fields['photo'] = $contact['photo']; $fields['thumb'] = $contact['thumb']; $fields['micro'] = $contact['micro']; - Logger::debug('Using existing cache files', ['uri-id' => $contact['uri-id'], 'fields' => $fields]); + DI::logger()->debug('Using existing cache files', ['uri-id' => $contact['uri-id'], 'fields' => $fields]); return $fields; } try { $fetchResult = HTTPSignature::fetchRaw($avatar, 0, [HttpClientOptions::ACCEPT_CONTENT => [HttpClientAccept::IMAGE]]); } catch (\Exception $exception) { - Logger::notice('Avatar is invalid', ['avatar' => $avatar, 'exception' => $exception]); + DI::logger()->notice('Avatar is invalid', ['avatar' => $avatar, 'exception' => $exception]); return $fields; } if (!$fetchResult->isSuccess()) { - Logger::debug('Fetching was unsuccessful', ['avatar' => $avatar]); + DI::logger()->debug('Fetching was unsuccessful', ['avatar' => $avatar]); return $fields; } $img_str = $fetchResult->getBodyString(); if (empty($img_str)) { - Logger::debug('Avatar is invalid', ['avatar' => $avatar]); + DI::logger()->debug('Avatar is invalid', ['avatar' => $avatar]); return $fields; } $image = new Image($img_str, $fetchResult->getContentType(), $avatar); if (!$image->isValid()) { - Logger::debug('Avatar picture is invalid', ['avatar' => $avatar]); + DI::logger()->debug('Avatar picture is invalid', ['avatar' => $avatar]); return $fields; } @@ -89,7 +88,7 @@ class Avatar $fields['thumb'] = self::storeAvatarCache($image, $filename, Proxy::PIXEL_THUMB, $timestamp); $fields['micro'] = self::storeAvatarCache($image, $filename, Proxy::PIXEL_MICRO, $timestamp); - Logger::debug('Storing new avatar cache', ['uri-id' => $contact['uri-id'], 'fields' => $fields]); + DI::logger()->debug('Storing new avatar cache', ['uri-id' => $contact['uri-id'], 'fields' => $fields]); return $fields; } @@ -155,36 +154,36 @@ class Avatar if (!file_exists($dirpath)) { if (!@mkdir($dirpath, $dir_perm) && !file_exists($dirpath)) { - Logger::warning('Directory could not be created', ['directory' => $dirpath]); + DI::logger()->warning('Directory could not be created', ['directory' => $dirpath]); } } elseif ((($old_perm = fileperms($dirpath) & 0777) != $dir_perm) && !chmod($dirpath, $dir_perm)) { - Logger::warning('Directory permissions could not be changed', ['directory' => $dirpath, 'old' => $old_perm, 'new' => $dir_perm]); + DI::logger()->warning('Directory permissions could not be changed', ['directory' => $dirpath, 'old' => $old_perm, 'new' => $dir_perm]); } if ((($old_group = filegroup($dirpath)) != $group) && !chgrp($dirpath, $group)) { - Logger::warning('Directory group could not be changed', ['directory' => $dirpath, 'old' => $old_group, 'new' => $group]); + DI::logger()->warning('Directory group could not be changed', ['directory' => $dirpath, 'old' => $old_group, 'new' => $group]); } } if (!file_put_contents($filepath, $image->asString())) { - Logger::warning('File could not be created', ['file' => $filepath]); + DI::logger()->warning('File could not be created', ['file' => $filepath]); } $old_perm = fileperms($filepath) & 0666; $old_group = filegroup($filepath); if (($old_perm != $file_perm) && !chmod($filepath, $file_perm)) { - Logger::warning('File permissions could not be changed', ['file' => $filepath, 'old' => $old_perm, 'new' => $file_perm]); + DI::logger()->warning('File permissions could not be changed', ['file' => $filepath, 'old' => $old_perm, 'new' => $file_perm]); } if (($old_group != $group) && !chgrp($filepath, $group)) { - Logger::warning('File group could not be changed', ['file' => $filepath, 'old' => $old_group, 'new' => $group]); + DI::logger()->warning('File group could not be changed', ['file' => $filepath, 'old' => $old_group, 'new' => $group]); } DI::profiler()->stopRecording(); if (!file_exists($filepath)) { - Logger::warning('Avatar cache file could not be stored', ['file' => $filepath]); + DI::logger()->warning('Avatar cache file could not be stored', ['file' => $filepath]); return ''; } @@ -257,7 +256,7 @@ class Avatar $localFile = self::getCacheFile($avatar); if (!empty($localFile)) { @unlink($localFile); - Logger::debug('Unlink avatar', ['avatar' => $avatar, 'local' => $localFile]); + DI::logger()->debug('Unlink avatar', ['avatar' => $avatar, 'local' => $localFile]); } } @@ -277,11 +276,11 @@ class Avatar if (!file_exists($basepath)) { // We only automatically create the folder when it is in the web root if (strpos($basepath, DI::basePath()) !== 0) { - Logger::warning('Base directory does not exist', ['directory' => $basepath]); + DI::logger()->warning('Base directory does not exist', ['directory' => $basepath]); return ''; } if (!mkdir($basepath, 0775)) { - Logger::warning('Base directory could not be created', ['directory' => $basepath]); + DI::logger()->warning('Base directory could not be created', ['directory' => $basepath]); return ''; } } diff --git a/src/Content/Item.php b/src/Content/Item.php index 7343c06aff..d6e4cb7d59 100644 --- a/src/Content/Item.php +++ b/src/Content/Item.php @@ -14,7 +14,6 @@ use Friendica\Content\Text\BBCode\Video; use Friendica\Content\Text\HTML; use Friendica\Core\Hook; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues; use Friendica\Core\Protocol; use Friendica\Core\Session\Capability\IHandleUserSessions; @@ -520,18 +519,18 @@ class Item $only_to_group = ($tag[1] == Tag::TAG_CHARACTER[Tag::EXCLUSIVE_MENTION]); $private_id = $contact['id']; $group_contact = $contact; - Logger::info('Private group or exclusive mention', ['url' => $tag[2], 'mention' => $tag[1]]); + DI::logger()->info('Private group or exclusive mention', ['url' => $tag[2], 'mention' => $tag[1]]); } elseif ($item['allow_cid'] == '<' . $contact['id'] . '>') { $private_group = false; $only_to_group = true; $private_id = $contact['id']; $group_contact = $contact; - Logger::info('Public group', ['url' => $tag[2], 'mention' => $tag[1]]); + DI::logger()->info('Public group', ['url' => $tag[2], 'mention' => $tag[1]]); } else { - Logger::info('Post with group mention will not be converted to a group post', ['url' => $tag[2], 'mention' => $tag[1]]); + DI::logger()->info('Post with group mention will not be converted to a group post', ['url' => $tag[2], 'mention' => $tag[1]]); } } - Logger::info('Got inform', ['inform' => $item['inform']]); + DI::logger()->info('Got inform', ['inform' => $item['inform']]); if (($item['gravity'] == ItemModel::GRAVITY_PARENT) && !empty($group_contact) && ($private_group || $only_to_group)) { // we tagged a group in a top level post. Now we change the post @@ -638,7 +637,7 @@ class Item $fields = ['uri-id', 'uri', 'body', 'title', 'author-name', 'author-link', 'author-avatar', 'guid', 'created', 'plink', 'network', 'quote-uri-id']; $shared_item = Post::selectFirst($fields, ['uri-id' => $item['quote-uri-id'], 'uid' => [$item['uid'], 0], 'private' => [ItemModel::PUBLIC, ItemModel::UNLISTED]]); if (!DBA::isResult($shared_item)) { - Logger::notice('Post does not exist.', ['uri-id' => $item['quote-uri-id'], 'uid' => $item['uid']]); + DI::logger()->notice('Post does not exist.', ['uri-id' => $item['quote-uri-id'], 'uid' => $item['uid']]); return $body; } @@ -654,7 +653,7 @@ class Item $shared_item = Post::selectFirst($fields, ['guid' => $guid, 'uid' => 0, 'private' => [ItemModel::PUBLIC, ItemModel::UNLISTED]]); if (!DBA::isResult($shared_item)) { - Logger::notice('Post does not exist.', ['guid' => $guid]); + DI::logger()->notice('Post does not exist.', ['guid' => $guid]); return ''; } @@ -1087,7 +1086,7 @@ class Item $expire_date = time() - ($expire_interval * 86400); $created_date = strtotime($created); if ($created_date < $expire_date) { - Logger::notice('Item created before expiration interval.', ['created' => date('c', $created_date), 'expired' => date('c', $expire_date)]); + DI::logger()->notice('Item created before expiration interval.', ['created' => date('c', $created_date), 'expired' => date('c', $expire_date)]); return true; } } diff --git a/src/Content/PageInfo.php b/src/Content/PageInfo.php index 0557984776..99863b8910 100644 --- a/src/Content/PageInfo.php +++ b/src/Content/PageInfo.php @@ -8,7 +8,6 @@ namespace Friendica\Content; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Network\HTTPException; use Friendica\Util\ParseUrl; @@ -28,7 +27,7 @@ class PageInfo */ public static function searchAndAppendToBody(string $body, bool $searchNakedUrls = false, bool $no_photos = false) { - Logger::debug('add_page_info_to_body: fetch page info for body', ['body' => $body]); + DI::logger()->debug('add_page_info_to_body: fetch page info for body', ['body' => $body]); $url = self::getRelevantUrlFromBody($body, $searchNakedUrls); if (!$url) { @@ -194,7 +193,7 @@ class PageInfo } } - Logger::debug('fetch page info for URL', ['url' => $url, 'data' => $data]); + DI::logger()->debug('fetch page info for URL', ['url' => $url, 'data' => $data]); return $data; } diff --git a/src/Content/Text/BBCode.php b/src/Content/Text/BBCode.php index 900032c33e..458041f4bc 100644 --- a/src/Content/Text/BBCode.php +++ b/src/Content/Text/BBCode.php @@ -16,7 +16,6 @@ use Friendica\Content\OEmbed; use Friendica\Content\PageInfo; use Friendica\Content\Smilies; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\DI; @@ -328,7 +327,7 @@ class BBCode // than the maximum, then don't waste time looking for the images if ($maxlen && (strlen($body) > $maxlen)) { - Logger::info('the total body length exceeds the limit', ['maxlen' => $maxlen, 'body_len' => strlen($body)]); + DI::logger()->info('the total body length exceeds the limit', ['maxlen' => $maxlen, 'body_len' => strlen($body)]); $orig_body = $body; $new_body = ''; @@ -348,7 +347,7 @@ class BBCode if (($textlen + $img_start) > $maxlen) { if ($textlen < $maxlen) { - Logger::debug('the limit happens before an embedded image'); + DI::logger()->debug('the limit happens before an embedded image'); $new_body = $new_body . substr($orig_body, 0, $maxlen - $textlen); $textlen = $maxlen; } @@ -362,7 +361,7 @@ class BBCode if (($textlen + $img_end) > $maxlen) { if ($textlen < $maxlen) { - Logger::debug('the limit happens before the end of a non-embedded image'); + DI::logger()->debug('the limit happens before the end of a non-embedded image'); $new_body = $new_body . substr($orig_body, 0, $maxlen - $textlen); $textlen = $maxlen; } @@ -385,11 +384,11 @@ class BBCode if (($textlen + strlen($orig_body)) > $maxlen) { if ($textlen < $maxlen) { - Logger::debug('the limit happens after the end of the last image'); + DI::logger()->debug('the limit happens after the end of the last image'); $new_body = $new_body . substr($orig_body, 0, $maxlen - $textlen); } } else { - Logger::debug('the text size with embedded images extracted did not violate the limit'); + DI::logger()->debug('the text size with embedded images extracted did not violate the limit'); $new_body = $new_body . $orig_body; } @@ -2107,7 +2106,7 @@ class BBCode try { return (string)Uri::fromParts($parts); } catch (\Throwable $th) { - Logger::notice('Exception on unparsing url', ['url' => $url, 'parts' => $parts, 'code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Exception on unparsing url', ['url' => $url, 'parts' => $parts, 'code' => $th->getCode(), 'message' => $th->getMessage()]); return $url; } } diff --git a/src/Content/Text/Markdown.php b/src/Content/Text/Markdown.php index 211369f712..f0ac888ab2 100644 --- a/src/Content/Text/Markdown.php +++ b/src/Content/Text/Markdown.php @@ -7,7 +7,6 @@ namespace Friendica\Content\Text; -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Model\Contact; @@ -97,7 +96,7 @@ class Markdown { // @TODO Temporary until we find the source of the null value to finally set the correct type-hint if (is_null($s)) { - Logger::warning('Received null value'); + DI::logger()->warning('Received null value'); return ''; } diff --git a/src/Content/Widget/VCard.php b/src/Content/Widget/VCard.php index 7feac4403c..b3943720d2 100644 --- a/src/Content/Widget/VCard.php +++ b/src/Content/Widget/VCard.php @@ -9,7 +9,6 @@ namespace Friendica\Content\Widget; use Friendica\Content\ContactSelector; use Friendica\Content\Text\BBCode; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\DI; @@ -34,7 +33,7 @@ class VCard public static function getHTML(array $contact, bool $hide_mention = false, bool $hide_follow = false): string { if (!isset($contact['network']) || !isset($contact['id'])) { - Logger::warning('Incomplete contact', ['contact' => $contact]); + DI::logger()->warning('Incomplete contact', ['contact' => $contact]); } $contact_url = Contact::getProfileLink($contact); diff --git a/src/Core/Addon.php b/src/Core/Addon.php index 1119f2d392..42848da5ff 100644 --- a/src/Core/Addon.php +++ b/src/Core/Addon.php @@ -117,7 +117,7 @@ class Addon { $addon = Strings::sanitizeFilePathItem($addon); - Logger::debug("Addon {addon}: {action}", ['action' => 'uninstall', 'addon' => $addon]); + DI::logger()->debug("Addon {addon}: {action}", ['action' => 'uninstall', 'addon' => $addon]); DI::config()->delete('addons', $addon); @include_once('addon/' . $addon . '/' . $addon . '.php'); @@ -150,7 +150,7 @@ class Addon return false; } - Logger::debug("Addon {addon}: {action}", ['action' => 'install', 'addon' => $addon]); + DI::logger()->debug("Addon {addon}: {action}", ['action' => 'install', 'addon' => $addon]); $t = @filemtime($addon_file_path); @include_once($addon_file_path); if (function_exists($addon . '_install')) { @@ -189,7 +189,7 @@ class Addon continue; } - Logger::debug("Addon {addon}: {action}", ['action' => 'reload', 'addon' => $name]); + DI::logger()->debug("Addon {addon}: {action}", ['action' => 'reload', 'addon' => $name]); self::uninstall($name); self::install($name); diff --git a/src/Core/Protocol.php b/src/Core/Protocol.php index e723b13d45..b170d4c881 100644 --- a/src/Core/Protocol.php +++ b/src/Core/Protocol.php @@ -8,6 +8,7 @@ namespace Friendica\Core; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\User; use Friendica\Network\HTTPException; use Friendica\Protocol\ActivityPub; @@ -123,7 +124,7 @@ class Protocol if ($protocol == self::DIASPORA) { $contact = Diaspora::sendShare($owner, $contact); - Logger::notice('share returns: ' . $contact); + DI::logger()->notice('share returns: ' . $contact); } elseif (in_array($protocol, [self::ACTIVITYPUB, self::DFRN])) { $activity_id = ActivityPub\Transmitter::activityIDFromContact($contact['id']); if (empty($activity_id)) { @@ -132,7 +133,7 @@ class Protocol } $success = ActivityPub\Transmitter::sendActivity('Follow', $contact['url'], $owner['uid'], $activity_id); - Logger::notice('Follow returns: ' . $success); + DI::logger()->notice('Follow returns: ' . $success); } return true; @@ -150,7 +151,7 @@ class Protocol public static function unfollow(array $contact, array $owner): ?bool { if (empty($contact['network'])) { - Logger::notice('Contact has got no network, we quit here', ['id' => $contact['id']]); + DI::logger()->notice('Contact has got no network, we quit here', ['id' => $contact['id']]); return null; } diff --git a/src/Core/Search.php b/src/Core/Search.php index 776a0a0e50..56509b3b93 100644 --- a/src/Core/Search.php +++ b/src/Core/Search.php @@ -16,7 +16,6 @@ use Friendica\Network\HTTPException; use Friendica\Object\Search\ContactResult; use Friendica\Object\Search\ResultList; use Friendica\Util\Network; -use Friendica\Util\Strings; use GuzzleHttp\Psr7\Uri; /** @@ -160,7 +159,7 @@ class Search */ public static function getContactsFromLocalDirectory(string $search, int $type = self::TYPE_ALL, int $start = 0, int $itemPage = 80): ResultList { - Logger::info('Searching', ['search' => $search, 'type' => $type, 'start' => $start, 'itempage' => $itemPage]); + DI::logger()->info('Searching', ['search' => $search, 'type' => $type, 'start' => $start, 'itempage' => $itemPage]); $contacts = Contact::searchByName($search, $type == self::TYPE_GROUP ? 'community' : '', true); @@ -200,7 +199,7 @@ class Search */ public static function searchContact(string $search, string $mode, int $page = 1): array { - Logger::info('Searching', ['search' => $search, 'mode' => $mode, 'page' => $page]); + DI::logger()->info('Searching', ['search' => $search, 'mode' => $mode, 'page' => $page]); if (DI::config()->get('system', 'block_public') && !DI::userSession()->isAuthenticated()) { return []; @@ -223,7 +222,7 @@ class Search try { $curlResult = DI::httpClient()->get(self::getGlobalDirectory() . '/search/people?' . $p . '&q=' . urlencode($search), HttpClientAccept::JSON, [HttpClientOptions::REQUEST => HttpClientRequest::CONTACTDISCOVER]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return []; } if ($curlResult->isSuccess()) { diff --git a/src/Core/System.php b/src/Core/System.php index 32fdcf3b83..df494bec5d 100644 --- a/src/Core/System.php +++ b/src/Core/System.php @@ -322,7 +322,7 @@ class System } if ($status) { - Logger::notice('xml_status returning non_zero: ' . $status . " message=" . $message); + DI::logger()->notice('xml_status returning non_zero: ' . $status . " message=" . $message); } self::httpExit(XML::fromArray(['result' => $result]), Response::TYPE_XML); @@ -340,7 +340,7 @@ class System public static function httpError($httpCode, $message = '', $content = '') { if ($httpCode >= 400) { - Logger::debug('Exit with error', ['code' => $httpCode, 'message' => $message, 'method' => DI::args()->getMethod(), 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); + DI::logger()->debug('Exit with error', ['code' => $httpCode, 'message' => $message, 'method' => DI::args()->getMethod(), 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); } DI::apiResponse()->setStatus($httpCode, $message); @@ -373,7 +373,7 @@ class System public static function jsonError($httpCode, $content, $content_type = 'application/json') { if ($httpCode >= 400) { - Logger::debug('Exit with error', ['code' => $httpCode, 'content_type' => $content_type, 'method' => DI::args()->getMethod(), 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); + DI::logger()->debug('Exit with error', ['code' => $httpCode, 'content_type' => $content_type, 'method' => DI::args()->getMethod(), 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); } DI::apiResponse()->setStatus($httpCode); self::jsonExit($content, $content_type); @@ -520,7 +520,7 @@ class System public static function externalRedirect($url, $code = 302) { if (empty(parse_url($url, PHP_URL_SCHEME))) { - Logger::warning('No fully qualified URL provided', ['url' => $url]); + DI::logger()->warning('No fully qualified URL provided', ['url' => $url]); DI::baseUrl()->redirect($url); } @@ -564,27 +564,27 @@ class System private static function isDirectoryUsable(string $directory): bool { if (empty($directory)) { - Logger::warning('Directory is empty. This shouldn\'t happen.'); + DI::logger()->warning('Directory is empty. This shouldn\'t happen.'); return false; } if (!file_exists($directory)) { - Logger::info('Path does not exist', ['directory' => $directory, 'user' => static::getUser()]); + DI::logger()->info('Path does not exist', ['directory' => $directory, 'user' => static::getUser()]); return false; } if (is_file($directory)) { - Logger::warning('Path is a file', ['directory' => $directory, 'user' => static::getUser()]); + DI::logger()->warning('Path is a file', ['directory' => $directory, 'user' => static::getUser()]); return false; } if (!is_dir($directory)) { - Logger::warning('Path is not a directory', ['directory' => $directory, 'user' => static::getUser()]); + DI::logger()->warning('Path is not a directory', ['directory' => $directory, 'user' => static::getUser()]); return false; } if (!is_writable($directory)) { - Logger::warning('Path is not writable', ['directory' => $directory, 'user' => static::getUser()]); + DI::logger()->warning('Path is not writable', ['directory' => $directory, 'user' => static::getUser()]); return false; } diff --git a/src/Core/Theme.php b/src/Core/Theme.php index eedc64e066..dac930ceb1 100644 --- a/src/Core/Theme.php +++ b/src/Core/Theme.php @@ -191,7 +191,7 @@ class Theme return true; } catch (\Exception $e) { - Logger::error('Theme installation failed', ['theme' => $theme, 'error' => $e->getMessage()]); + DI::logger()->error('Theme installation failed', ['theme' => $theme, 'error' => $e->getMessage()]); return false; } } diff --git a/src/Core/Update.php b/src/Core/Update.php index b6bf0e5a2d..7a221c38e1 100644 --- a/src/Core/Update.php +++ b/src/Core/Update.php @@ -178,7 +178,7 @@ class Update // If the Lock is acquired, never release it automatically to avoid double updates if (DI::lock()->acquire('dbupdate', 0, Cache\Enum\Duration::INFINITE)) { - Logger::notice('Update starting.', ['from' => $stored, 'to' => $current]); + DI::logger()->notice('Update starting.', ['from' => $stored, 'to' => $current]); // Checks if the build changed during Lock acquiring (so no double update occurs) $retryBuild = DI::config()->get('system', 'build'); @@ -192,7 +192,7 @@ class Update } if ($retryBuild != $build) { - Logger::notice('Update already done.', ['from' => $build, 'retry' => $retryBuild, 'to' => $current]); + DI::logger()->notice('Update already done.', ['from' => $build, 'retry' => $retryBuild, 'to' => $current]); DI::lock()->release('dbupdate'); return ''; } @@ -202,12 +202,12 @@ class Update // run the pre_update_nnnn functions in update.php for ($version = $stored + 1; $version <= $current; $version++) { - Logger::notice('Execute pre update.', ['version' => $version]); + DI::logger()->notice('Execute pre update.', ['version' => $version]); DI::config()->set('system', 'maintenance_reason', DI::l10n()->t('%s: executing pre update %d', DateTimeFormat::utcNow() . ' ' . date('e'), $version)); $r = self::runUpdateFunction($version, 'pre_update', $sendMail); if (!$r) { - Logger::warning('Pre update failed', ['version' => $version]); + DI::logger()->warning('Pre update failed', ['version' => $version]); DI::config()->set('system', 'update', Update::FAILED); DI::lock()->release('dbupdate'); DI::config()->beginTransaction() @@ -216,12 +216,12 @@ class Update ->commit(); return $r; } else { - Logger::notice('Pre update executed.', ['version' => $version]); + DI::logger()->notice('Pre update executed.', ['version' => $version]); } } // update the structure in one call - Logger::notice('Execute structure update'); + DI::logger()->notice('Execute structure update'); $retval = DBStructure::performUpdate(false, $verbose); if (!empty($retval)) { if ($sendMail) { @@ -230,7 +230,7 @@ class Update $retval ); } - Logger::error('Update ERROR.', ['from' => $stored, 'to' => $current, 'retval' => $retval]); + DI::logger()->error('Update ERROR.', ['from' => $stored, 'to' => $current, 'retval' => $retval]); DI::config()->set('system', 'update', Update::FAILED); DI::lock()->release('dbupdate'); DI::config()->beginTransaction() @@ -239,17 +239,17 @@ class Update ->commit(); return $retval; } else { - Logger::notice('Database structure update finished.', ['from' => $stored, 'to' => $current]); + DI::logger()->notice('Database structure update finished.', ['from' => $stored, 'to' => $current]); } // run the update_nnnn functions in update.php for ($version = $stored + 1; $version <= $current; $version++) { - Logger::notice('Execute post update.', ['version' => $version]); + DI::logger()->notice('Execute post update.', ['version' => $version]); DI::config()->set('system', 'maintenance_reason', DI::l10n()->t('%s: executing post update %d', DateTimeFormat::utcNow() . ' ' . date('e'), $version)); $r = self::runUpdateFunction($version, 'update', $sendMail); if (!$r) { - Logger::warning('Post update failed', ['version' => $version]); + DI::logger()->warning('Post update failed', ['version' => $version]); DI::config()->set('system', 'update', Update::FAILED); DI::lock()->release('dbupdate'); DI::config()->beginTransaction() @@ -259,7 +259,7 @@ class Update return $r; } else { DI::config()->set('system', 'build', $version); - Logger::notice('Post update executed.', ['version' => $version]); + DI::logger()->notice('Post update executed.', ['version' => $version]); } } @@ -271,12 +271,12 @@ class Update ->delete('system', 'maintenance_reason') ->commit(); - Logger::notice('Update success.', ['from' => $stored, 'to' => $current]); + DI::logger()->notice('Update success.', ['from' => $stored, 'to' => $current]); if ($sendMail) { self::updateSuccessful($stored, $current); } } else { - Logger::warning('Update lock could not be acquired'); + DI::logger()->warning('Update lock could not be acquired'); } } } @@ -297,7 +297,7 @@ class Update { $funcname = $prefix . '_' . $version; - Logger::notice('Update function start.', ['function' => $funcname]); + DI::logger()->notice('Update function start.', ['function' => $funcname]); if (function_exists($funcname)) { // There could be a lot of processes running or about to run. @@ -310,9 +310,9 @@ class Update if (DI::lock()->acquire('dbupdate_function', 120, Cache\Enum\Duration::INFINITE)) { // call the specific update - Logger::notice('Pre update function start.', ['function' => $funcname]); + DI::logger()->notice('Pre update function start.', ['function' => $funcname]); $retval = $funcname(); - Logger::notice('Update function done.', ['function' => $funcname]); + DI::logger()->notice('Update function done.', ['function' => $funcname]); if ($retval) { if ($sendMail) { @@ -322,20 +322,20 @@ class Update DI::l10n()->t('Update %s failed. See error logs.', $version) ); } - Logger::error('Update function ERROR.', ['function' => $funcname, 'retval' => $retval]); + DI::logger()->error('Update function ERROR.', ['function' => $funcname, 'retval' => $retval]); DI::lock()->release('dbupdate_function'); return false; } else { DI::lock()->release('dbupdate_function'); - Logger::notice('Update function finished.', ['function' => $funcname]); + DI::logger()->notice('Update function finished.', ['function' => $funcname]); return true; } } else { - Logger::error('Locking failed.', ['function' => $funcname]); + DI::logger()->error('Locking failed.', ['function' => $funcname]); return false; } } else { - Logger::notice('Update function skipped.', ['function' => $funcname]); + DI::logger()->notice('Update function skipped.', ['function' => $funcname]); return true; } } @@ -352,7 +352,7 @@ class Update { $adminEmails = User::getAdminListForEmailing(['uid', 'language', 'email']); if (!$adminEmails) { - Logger::warning('Cannot notify administrators .', ['update' => $update_id, 'message' => $error_message]); + DI::logger()->warning('Cannot notify administrators .', ['update' => $update_id, 'message' => $error_message]); return; } @@ -376,7 +376,7 @@ class Update DI::emailer()->send($email); } - Logger::alert('Database structure update failed.', ['error' => $error_message]); + DI::logger()->alert('Database structure update failed.', ['error' => $error_message]); } /** @@ -404,6 +404,6 @@ class Update DI::emailer()->send($email); } - Logger::debug('Database structure update successful.'); + DI::logger()->debug('Database structure update successful.'); } } diff --git a/src/Core/Worker.php b/src/Core/Worker.php index c84de94f63..995239cde9 100644 --- a/src/Core/Worker.php +++ b/src/Core/Worker.php @@ -71,7 +71,7 @@ class Worker // At first check the maximum load. We shouldn't continue with a high load if (DI::system()->isMaxLoadReached()) { - Logger::notice('Pre check: maximum load reached, quitting.'); + DI::logger()->notice('Pre check: maximum load reached, quitting.'); return; } @@ -109,7 +109,7 @@ class Worker foreach ($r as $entry) { // The work will be done if (!self::execute($entry)) { - Logger::warning('Process execution failed, quitting.', ['entry' => $entry]); + DI::logger()->warning('Process execution failed, quitting.', ['entry' => $entry]); return; } @@ -131,14 +131,14 @@ class Worker if (DI::lock()->acquire(self::LOCK_WORKER, 0)) { // Count active workers and compare them with a maximum value that depends on the load if (self::tooMuchWorkers()) { - Logger::info('Active worker limit reached, quitting.'); + DI::logger()->info('Active worker limit reached, quitting.'); DI::lock()->release(self::LOCK_WORKER); return; } // Check free memory if (DI::system()->isMinMemoryReached()) { - Logger::warning('Memory limit reached, quitting.'); + DI::logger()->warning('Memory limit reached, quitting.'); DI::lock()->release(self::LOCK_WORKER); return; } @@ -149,7 +149,7 @@ class Worker // Quit the worker once every cron interval if (time() > ($starttime + (DI::config()->get('system', 'cron_interval') * 60)) && !self::systemLimitReached()) { - Logger::info('Process lifetime reached, respawning.'); + DI::logger()->info('Process lifetime reached, respawning.'); self::unclaimProcess($process); if (Worker\Daemon::isMode()) { Worker\IPC::SetJobState(true); @@ -164,7 +164,7 @@ class Worker if (Worker\Daemon::isMode()) { Worker\IPC::SetJobState(false); } - Logger::info("Couldn't select a workerqueue entry, quitting process", ['pid' => getmypid()]); + DI::logger()->info("Couldn't select a workerqueue entry, quitting process", ['pid' => getmypid()]); } /** @@ -178,25 +178,25 @@ class Worker { // Count active workers and compare them with a maximum value that depends on the load if (self::tooMuchWorkers()) { - Logger::info('Active worker limit reached, quitting.'); + DI::logger()->info('Active worker limit reached, quitting.'); return false; } // Do we have too few memory? if (DI::system()->isMinMemoryReached()) { - Logger::warning('Memory limit reached, quitting.'); + DI::logger()->warning('Memory limit reached, quitting.'); return false; } // Possibly there are too much database connections if (self::maxConnectionsReached()) { - Logger::warning('Maximum connections reached, quitting.'); + DI::logger()->warning('Maximum connections reached, quitting.'); return false; } // Possibly there are too much database processes that block the system if (DI::system()->isMaxProcessesReached()) { - Logger::warning('Maximum processes reached, quitting.'); + DI::logger()->warning('Maximum processes reached, quitting.'); return false; } @@ -322,19 +322,19 @@ class Worker // Quit when in maintenance if (DI::config()->get('system', 'maintenance', false)) { - Logger::notice('Maintenance mode - quit process', ['pid' => $mypid]); + DI::logger()->notice('Maintenance mode - quit process', ['pid' => $mypid]); return false; } // Constantly check the number of parallel database processes if (DI::system()->isMaxProcessesReached()) { - Logger::warning('Max processes reached for process', ['pid' => $mypid]); + DI::logger()->warning('Max processes reached for process', ['pid' => $mypid]); return false; } // Constantly check the number of available database connections to let the frontend be accessible at any time if (self::maxConnectionsReached()) { - Logger::warning('Max connection reached for process', ['pid' => $mypid]); + DI::logger()->warning('Max connection reached for process', ['pid' => $mypid]); return false; } @@ -348,7 +348,7 @@ class Worker } if (empty($argv)) { - Logger::warning('Parameter is empty', ['queue' => $queue]); + DI::logger()->warning('Parameter is empty', ['queue' => $queue]); return false; } @@ -387,7 +387,7 @@ class Worker } if (!self::validateInclude($include)) { - Logger::warning('Include file is not valid', ['file' => $argv[0]]); + DI::logger()->warning('Include file is not valid', ['file' => $argv[0]]); $stamp = (float)microtime(true); DBA::delete('workerqueue', ['id' => $queue['id']]); self::$db_duration = (microtime(true) - $stamp); @@ -424,7 +424,7 @@ class Worker self::$db_duration = (microtime(true) - $stamp); self::$db_duration_write += (microtime(true) - $stamp); } else { - Logger::warning('Function does not exist', ['function' => $funcname]); + DI::logger()->warning('Function does not exist', ['function' => $funcname]); $stamp = (float)microtime(true); DBA::delete('workerqueue', ['id' => $queue['id']]); self::$db_duration = (microtime(true) - $stamp); @@ -477,7 +477,7 @@ class Worker { $cooldown = DI::config()->get('system', 'worker_cooldown', 0); if ($cooldown > 0) { - Logger::debug('Wait for cooldown.', ['cooldown' => $cooldown]); + DI::logger()->debug('Wait for cooldown.', ['cooldown' => $cooldown]); if ($cooldown < 1) { usleep($cooldown * 1000000); } else { @@ -501,7 +501,7 @@ class Worker while ($load = System::getLoadAvg($processes_cooldown != 0)) { if (($load_cooldown > 0) && ($load['average1'] > $load_cooldown)) { if (!$sleeping) { - Logger::info('Load induced pre execution cooldown.', ['max' => $load_cooldown, 'load' => $load, 'called-by' => System::callstack(1)]); + DI::logger()->info('Load induced pre execution cooldown.', ['max' => $load_cooldown, 'load' => $load, 'called-by' => System::callstack(1)]); $sleeping = true; } sleep(1); @@ -509,7 +509,7 @@ class Worker } if (($processes_cooldown > 0) && ($load['scheduled'] > $processes_cooldown)) { if (!$sleeping) { - Logger::info('Process induced pre execution cooldown.', ['max' => $processes_cooldown, 'load' => $load, 'called-by' => System::callstack(1)]); + DI::logger()->info('Process induced pre execution cooldown.', ['max' => $processes_cooldown, 'load' => $load, 'called-by' => System::callstack(1)]); $sleeping = true; } sleep(1); @@ -519,7 +519,7 @@ class Worker } if ($sleeping) { - Logger::info('Cooldown ended.', ['max-load' => $load_cooldown, 'max-processes' => $processes_cooldown, 'load' => $load, 'called-by' => System::callstack(1)]); + DI::logger()->info('Cooldown ended.', ['max-load' => $load_cooldown, 'max-processes' => $processes_cooldown, 'load' => $load, 'called-by' => System::callstack(1)]); } } @@ -677,12 +677,12 @@ class Worker // If $max is set we will use the processlist to determine the current number of connections // The processlist only shows entries of the current user if ($max != 0) { - Logger::info('Connection usage (user values)', ['working' => $used, 'sleeping' => $sleep, 'max' => $max]); + DI::logger()->info('Connection usage (user values)', ['working' => $used, 'sleeping' => $sleep, 'max' => $max]); $level = ($used / $max) * 100; if ($level >= $maxlevel) { - Logger::warning('Maximum level (' . $maxlevel . '%) of user connections reached: ' . $used .'/' . $max); + DI::logger()->warning('Maximum level (' . $maxlevel . '%) of user connections reached: ' . $used .'/' . $max); return true; } } @@ -705,14 +705,14 @@ class Worker if ($used == 0) { return false; } - Logger::info('Connection usage (system values)', ['working' => $used, 'sleeping' => $sleep, 'max' => $max]); + DI::logger()->info('Connection usage (system values)', ['working' => $used, 'sleeping' => $sleep, 'max' => $max]); $level = $used / $max * 100; if ($level < $maxlevel) { return false; } - Logger::warning('Maximum level (' . $level . '%) of system connections reached: ' . $used . '/' . $max); + DI::logger()->warning('Maximum level (' . $level . '%) of system connections reached: ' . $used . '/' . $max); return true; } @@ -815,16 +815,16 @@ class Worker $high_running = self::processWithPriorityActive($top_priority); if (!$high_running && ($top_priority > self::PRIORITY_UNDEFINED) && ($top_priority < self::PRIORITY_NEGLIGIBLE)) { - Logger::info('Jobs with a higher priority are waiting but none is executed. Open a fastlane.', ['priority' => $top_priority]); + DI::logger()->info('Jobs with a higher priority are waiting but none is executed. Open a fastlane.', ['priority' => $top_priority]); $queues = $active + 1; } } - Logger::info('Load: ' . $load . '/' . $maxsysload . ' - processes: ' . $deferred . '/' . $active . '/' . $waiting_processes . $processlist . ' - maximum: ' . $queues . '/' . $maxqueues); + DI::logger()->info('Load: ' . $load . '/' . $maxsysload . ' - processes: ' . $deferred . '/' . $active . '/' . $waiting_processes . $processlist . ' - maximum: ' . $queues . '/' . $maxqueues); // Are there fewer workers running as possible? Then fork a new one. if (!DI::config()->get('system', 'worker_dont_fork', false) && ($queues > ($active + 1)) && self::entriesExists() && !self::systemLimitReached()) { - Logger::info('There are fewer workers as possible, fork a new worker.', ['active' => $active, 'queues' => $queues]); + DI::logger()->info('There are fewer workers as possible, fork a new worker.', ['active' => $active, 'queues' => $queues]); if (Worker\Daemon::isMode()) { Worker\IPC::SetJobState(true); } else { @@ -840,10 +840,10 @@ class Worker && !DBA::exists('workerqueue', ["`done` AND `executed` > ?", DateTimeFormat::utc('now - ' . $max_idletime . ' second')]) ) { DI::cache()->set(self::LAST_CHECK, time(), Duration::HOUR); - Logger::info('The last worker execution had been too long ago.', ['last' => $last_check, 'last-check' => $last_date, 'seconds' => $max_idletime, 'load' => $load, 'max_load' => $maxsysload, 'active_worker' => $active, 'max_worker' => $maxqueues]); + DI::logger()->info('The last worker execution had been too long ago.', ['last' => $last_check, 'last-check' => $last_date, 'seconds' => $max_idletime, 'load' => $load, 'max_load' => $maxsysload, 'active_worker' => $active, 'max_worker' => $maxqueues]); return false; } elseif ($max_idletime > 0) { - Logger::debug('Maximum idletime not reached.', ['last' => $last_check, 'last-check' => $last_date, 'seconds' => $max_idletime, 'load' => $load, 'max_load' => $maxsysload, 'active_worker' => $active, 'max_worker' => $maxqueues]); + DI::logger()->debug('Maximum idletime not reached.', ['last' => $last_check, 'last-check' => $last_date, 'seconds' => $max_idletime, 'load' => $load, 'max_load' => $maxsysload, 'active_worker' => $active, 'max_worker' => $maxqueues]); } } } @@ -924,7 +924,7 @@ class Worker { $priority = self::nextPriority(); if (empty($priority)) { - Logger::info('No tasks found'); + DI::logger()->info('No tasks found'); return []; } @@ -948,7 +948,7 @@ class Worker } DBA::close($tasks); - Logger::info('Found:', ['priority' => $priority, 'id' => $ids]); + DI::logger()->info('Found:', ['priority' => $priority, 'id' => $ids]); return $ids; } @@ -987,7 +987,7 @@ class Worker foreach ($priorities as $priority) { if (!empty($waiting[$priority]) && empty($running[$priority])) { - Logger::info('No running worker found with priority {priority} - assigning it.', ['priority' => $priority]); + DI::logger()->info('No running worker found with priority {priority} - assigning it.', ['priority' => $priority]); return $priority; } } @@ -1009,14 +1009,14 @@ class Worker $i = 0; foreach ($running as $priority => $workers) { if ($workers < $limit[$i++]) { - Logger::info('Priority {priority} has got {workers} workers out of a limit of {limit}', ['priority' => $priority, 'workers' => $workers, 'limit' => $limit[$i - 1]]); + DI::logger()->info('Priority {priority} has got {workers} workers out of a limit of {limit}', ['priority' => $priority, 'workers' => $workers, 'limit' => $limit[$i - 1]]); return $priority; } } if (!empty($waiting)) { $priority = array_keys($waiting)[0]; - Logger::info('No underassigned priority found, now taking the highest priority.', ['priority' => $priority]); + DI::logger()->info('No underassigned priority found, now taking the highest priority.', ['priority' => $priority]); return $priority; } @@ -1090,7 +1090,7 @@ class Worker $stamp = (float)microtime(true); foreach ($worker as $worker_pid => $worker_ids) { - Logger::info('Set queue entry', ['pid' => $worker_pid, 'ids' => $worker_ids]); + DI::logger()->info('Set queue entry', ['pid' => $worker_pid, 'ids' => $worker_ids]); DBA::update( 'workerqueue', ['executed' => DateTimeFormat::utcNow(), 'pid' => $worker_pid], @@ -1155,7 +1155,7 @@ class Worker private static function forkProcess(bool $do_cron) { if (DI::system()->isMinMemoryReached()) { - Logger::warning('Memory limit reached - quitting'); + DI::logger()->warning('Memory limit reached - quitting'); return; } @@ -1165,21 +1165,21 @@ class Worker $pid = pcntl_fork(); if ($pid == -1) { DBA::connect(); - Logger::warning('Could not spawn worker'); + DI::logger()->warning('Could not spawn worker'); return; } elseif ($pid) { // The parent process continues here DBA::connect(); Worker\IPC::SetJobState(true, $pid); - Logger::info('Spawned new worker', ['pid' => $pid]); + DI::logger()->info('Spawned new worker', ['pid' => $pid]); $cycles = 0; while (Worker\IPC::JobsExists($pid) && (++$cycles < 100)) { usleep(10000); } - Logger::info('Spawned worker is ready', ['pid' => $pid, 'wait_cycles' => $cycles]); + DI::logger()->info('Spawned worker is ready', ['pid' => $pid, 'wait_cycles' => $cycles]); return; } @@ -1194,7 +1194,7 @@ class Worker usleep(10000); } - Logger::info('Worker spawned', ['pid' => $process->pid, 'wait_cycles' => $cycles]); + DI::logger()->info('Worker spawned', ['pid' => $process->pid, 'wait_cycles' => $cycles]); self::processQueue($do_cron, $process); @@ -1202,7 +1202,7 @@ class Worker Worker\IPC::SetJobState(false, $process->pid); DI::process()->delete($process); - Logger::info('Worker ended', ['pid' => $process->pid]); + DI::logger()->info('Worker ended', ['pid' => $process->pid]); exit(); } @@ -1292,7 +1292,7 @@ class Worker $added = 0; if (!is_int($priority) || !in_array($priority, self::PRIORITIES)) { - Logger::warning('Invalid priority', ['priority' => $priority, 'command' => $command]); + DI::logger()->warning('Invalid priority', ['priority' => $priority, 'command' => $command]); $priority = self::PRIORITY_MEDIUM; } @@ -1377,7 +1377,7 @@ class Worker $new_retrial = $retrial; } } - Logger::notice('New retrial for task', ['id' => $queue['id'], 'created' => $queue['created'], 'old' => $queue['retrial'], 'new' => $new_retrial]); + DI::logger()->notice('New retrial for task', ['id' => $queue['id'], 'created' => $queue['created'], 'old' => $queue['retrial'], 'new' => $new_retrial]); return $new_retrial; } @@ -1419,7 +1419,7 @@ class Worker $new_retrial = self::getNextRetrial($queue, $max_level); if ($new_retrial > $max_level) { - Logger::notice('The task exceeded the maximum retry count', ['id' => $id, 'created' => $queue['created'], 'old_prio' => $queue['priority'], 'old_retrial' => $queue['retrial'], 'max_level' => $max_level, 'retrial' => $new_retrial]); + DI::logger()->notice('The task exceeded the maximum retry count', ['id' => $id, 'created' => $queue['created'], 'old_prio' => $queue['priority'], 'old_retrial' => $queue['retrial'], 'max_level' => $max_level, 'retrial' => $new_retrial]); return false; } @@ -1435,7 +1435,7 @@ class Worker $priority = self::PRIORITY_NEGLIGIBLE; } - Logger::info('Deferred task', ['id' => $id, 'retrial' => $new_retrial, 'created' => $queue['created'], 'next_execution' => $next, 'old_prio' => $queue['priority'], 'new_prio' => $priority]); + DI::logger()->info('Deferred task', ['id' => $id, 'retrial' => $new_retrial, 'created' => $queue['created'], 'next_execution' => $next, 'old_prio' => $queue['priority'], 'new_prio' => $priority]); $stamp = (float)microtime(true); $fields = ['retrial' => $new_retrial, 'next_try' => $next, 'executed' => DBA::NULL_DATETIME, 'pid' => 0, 'priority' => $priority]; @@ -1458,7 +1458,7 @@ class Worker $start = strtotime(DI::config()->get('system', 'maintenance_start')) % 86400; $end = strtotime(DI::config()->get('system', 'maintenance_end')) % 86400; - Logger::info('Maintenance window', ['start' => date('H:i:s', $start), 'end' => date('H:i:s', $end)]); + DI::logger()->info('Maintenance window', ['start' => date('H:i:s', $start), 'end' => date('H:i:s', $end)]); if ($check_last_execution) { // Calculate the window duration @@ -1467,7 +1467,7 @@ class Worker // Quit when the last cron execution had been after the previous window $last_cron = DI::keyValue()->get('last_cron_daily'); if ($last_cron + $duration > time()) { - Logger::info('The Daily cron had been executed recently', ['last' => date(DateTimeFormat::MYSQL, $last_cron), 'start' => date('H:i:s', $start), 'end' => date('H:i:s', $end)]); + DI::logger()->info('The Daily cron had been executed recently', ['last' => date(DateTimeFormat::MYSQL, $last_cron), 'start' => date('H:i:s', $start), 'end' => date('H:i:s', $end)]); return false; } } @@ -1483,9 +1483,9 @@ class Worker } if ($execute) { - Logger::info('We are inside the maintenance window', ['current' => date('H:i:s', $current), 'start' => date('H:i:s', $start), 'end' => date('H:i:s', $end)]); + DI::logger()->info('We are inside the maintenance window', ['current' => date('H:i:s', $current), 'start' => date('H:i:s', $start), 'end' => date('H:i:s', $end)]); } else { - Logger::info('We are outside the maintenance window', ['current' => date('H:i:s', $current), 'start' => date('H:i:s', $start), 'end' => date('H:i:s', $end)]); + DI::logger()->info('We are outside the maintenance window', ['current' => date('H:i:s', $current), 'start' => date('H:i:s', $start), 'end' => date('H:i:s', $end)]); } return $execute; diff --git a/src/Core/Worker/Cron.php b/src/Core/Worker/Cron.php index b3940363c3..5e50a9159d 100644 --- a/src/Core/Worker/Cron.php +++ b/src/Core/Worker/Cron.php @@ -7,7 +7,6 @@ namespace Friendica\Core\Worker; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\DI; @@ -32,7 +31,7 @@ class Cron */ public static function run() { - Logger::info('Add cron entries'); + DI::logger()->info('Add cron entries'); // Check for spooled items Worker::add(['priority' => Worker::PRIORITY_HIGH, 'force_priority' => true], 'SpoolPost'); @@ -99,7 +98,7 @@ class Cron // How long is the process already running? $duration = (time() - strtotime($entry["executed"])) / 60; if ($duration > $max_duration) { - Logger::warning('Worker process took too much time - killed', ['duration' => number_format($duration, 3), 'max' => $max_duration, 'id' => $entry["id"], 'pid' => $entry["pid"], 'command' => $command]); + DI::logger()->warning('Worker process took too much time - killed', ['duration' => number_format($duration, 3), 'max' => $max_duration, 'id' => $entry["id"], 'pid' => $entry["pid"], 'command' => $command]); posix_kill($entry["pid"], SIGTERM); // We killed the stale process. @@ -116,7 +115,7 @@ class Cron DBA::update('workerqueue', ['executed' => DBA::NULL_DATETIME, 'created' => DateTimeFormat::utcNow(), 'priority' => $new_priority, 'pid' => 0], ['id' => $entry["id"]] ); } else { - Logger::info('Process runtime is okay', ['duration' => number_format($duration, 3), 'max' => $max_duration, 'id' => $entry["id"], 'pid' => $entry["pid"], 'command' => $command]); + DI::logger()->info('Process runtime is okay', ['duration' => number_format($duration, 3), 'max' => $max_duration, 'id' => $entry["id"], 'pid' => $entry["pid"], 'command' => $command]); } } } @@ -156,12 +155,12 @@ class Cron $deliveries = DBA::p("SELECT `item-uri`.`uri` AS `inbox`, MAX(`gsid`) AS `gsid`, MAX(`shared`) AS `shared`, MAX(`failed`) AS `failed` FROM `post-delivery` INNER JOIN `item-uri` ON `item-uri`.`id` = `post-delivery`.`inbox-id` LEFT JOIN `inbox-status` ON `inbox-status`.`url` = `item-uri`.`uri` GROUP BY `inbox` ORDER BY RAND()"); while ($delivery = DBA::fetch($deliveries)) { if ($delivery['failed'] > 0) { - Logger::info('Removing failed deliveries', ['inbox' => $delivery['inbox'], 'failed' => $delivery['failed']]); + DI::logger()->info('Removing failed deliveries', ['inbox' => $delivery['inbox'], 'failed' => $delivery['failed']]); Post\Delivery::removeFailed($delivery['inbox']); } if (($delivery['failed'] == 0) && $delivery['shared'] && !empty($delivery['gsid']) && GServer::isReachableById($delivery['gsid'])) { $result = ActivityPub\Delivery::deliver($delivery['inbox']); - Logger::info('Directly deliver inbox', ['inbox' => $delivery['inbox'], 'result' => $result['success']]); + DI::logger()->info('Directly deliver inbox', ['inbox' => $delivery['inbox'], 'result' => $result['success']]); continue; } elseif ($delivery['failed'] < 3) { $priority = Worker::PRIORITY_HIGH; @@ -174,7 +173,7 @@ class Cron } if (Worker::add(['priority' => $priority, 'force_priority' => true], 'APDelivery', '', 0, $delivery['inbox'], 0)) { - Logger::info('Priority for APDelivery worker adjusted', ['inbox' => $delivery['inbox'], 'failed' => $delivery['failed'], 'priority' => $priority]); + DI::logger()->info('Priority for APDelivery worker adjusted', ['inbox' => $delivery['inbox'], 'failed' => $delivery['failed'], 'priority' => $priority]); } } @@ -182,9 +181,9 @@ class Cron // Optimizing this table only last seconds if (DI::config()->get('system', 'optimize_tables')) { - Logger::info('Optimize start'); + DI::logger()->info('Optimize start'); DBA::optimizeTable('post-delivery'); - Logger::info('Optimize end'); + DI::logger()->info('Optimize end'); } } @@ -195,7 +194,7 @@ class Cron { foreach(DI::deliveryQueueItemRepo()->selectAggregateByServerId() as $delivery) { if ($delivery->failed > 0) { - Logger::info('Removing failed deliveries', ['gsid' => $delivery->targetServerId, 'failed' => $delivery->failed]); + DI::logger()->info('Removing failed deliveries', ['gsid' => $delivery->targetServerId, 'failed' => $delivery->failed]); DI::deliveryQueueItemRepo()->removeFailedByServerId($delivery->targetServerId, DI::config()->get('system', 'worker_defer_limit')); } @@ -210,15 +209,15 @@ class Cron } if (Worker::add(['priority' => $priority, 'force_priority' => true], 'BulkDelivery', $delivery->targetServerId)) { - Logger::info('Priority for BulkDelivery worker adjusted', ['gsid' => $delivery->targetServerId, 'failed' => $delivery->failed, 'priority' => $priority]); + DI::logger()->info('Priority for BulkDelivery worker adjusted', ['gsid' => $delivery->targetServerId, 'failed' => $delivery->failed, 'priority' => $priority]); } } // Optimizing this table only last seconds if (DI::config()->get('system', 'optimize_tables')) { - Logger::info('Optimize start'); + DI::logger()->info('Optimize start'); DI::deliveryQueueItemRepo()->optimizeStorage(); - Logger::info('Optimize end'); + DI::logger()->info('Optimize end'); } } @@ -237,7 +236,7 @@ class Cron 'datetime' => $contact['created'], 'hash' => Strings::getRandomHex() ]; - Logger::notice('Adding missing intro', ['fields' => $fields]); + DI::logger()->notice('Adding missing intro', ['fields' => $fields]); DBA::insert('intro', $fields); } } diff --git a/src/Core/Worker/Daemon.php b/src/Core/Worker/Daemon.php index ee5f7a98ae..6d5729b013 100644 --- a/src/Core/Worker/Daemon.php +++ b/src/Core/Worker/Daemon.php @@ -8,7 +8,6 @@ namespace Friendica\Core\Worker; use Friendica\App\Mode; -use Friendica\Core\Logger; use Friendica\DI; /** @@ -98,11 +97,11 @@ class Daemon $pid = intval(file_get_contents($pidfile)); if (posix_kill($pid, 0)) { - Logger::info('Daemon process is running', ['pid' => $pid]); + DI::logger()->info('Daemon process is running', ['pid' => $pid]); return; } - Logger::warning('Daemon process is not running', ['pid' => $pid]); + DI::logger()->warning('Daemon process is not running', ['pid' => $pid]); self::spawn(); } @@ -114,8 +113,8 @@ class Daemon */ private static function spawn() { - Logger::notice('Starting new daemon process'); + DI::logger()->notice('Starting new daemon process'); DI::system()->run('bin/console.php', ['start']); - Logger::notice('New daemon process started'); + DI::logger()->notice('New daemon process started'); } } diff --git a/src/Database/DBStructure.php b/src/Database/DBStructure.php index 098a47d675..2e26453767 100644 --- a/src/Database/DBStructure.php +++ b/src/Database/DBStructure.php @@ -8,7 +8,6 @@ namespace Friendica\Database; use Exception; -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Model\Item; use Friendica\Model\User; @@ -238,7 +237,7 @@ class DBStructure $errors = ''; - Logger::info('updating structure'); + DI::logger()->info('updating structure'); // Get the current structure $database = []; @@ -251,7 +250,7 @@ class DBStructure foreach ($tables as $table) { $table = current($table); - Logger::info('updating structure', ['table' => $table]); + DI::logger()->info('updating structure', ['table' => $table]); $database[$table] = self::tableStructure($table); } } diff --git a/src/Database/PostUpdate.php b/src/Database/PostUpdate.php index 65c8e98c22..4db87bb429 100644 --- a/src/Database/PostUpdate.php +++ b/src/Database/PostUpdate.php @@ -7,7 +7,6 @@ namespace Friendica\Database; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\DI; use Friendica\Model\Contact; @@ -141,22 +140,22 @@ class PostUpdate $max_item_delivery_data = DBA::selectFirst('item-delivery-data', ['iid'], ['queue_count > 0 OR queue_done > 0'], ['order' => ['iid']]); $max_iid = $max_item_delivery_data['iid'] ?? 0; - Logger::info('Start update1297 with max iid: ' . $max_iid); + DI::logger()->info('Start update1297 with max iid: ' . $max_iid); $condition = ['`queue_count` = 0 AND `iid` < ?', $max_iid]; DBA::update('item-delivery-data', ['queue_count' => -1], $condition); if (DBA::errorNo() != 0) { - Logger::error('Database error ' . DBA::errorNo() . ':' . DBA::errorMessage()); + DI::logger()->error('Database error ' . DBA::errorNo() . ':' . DBA::errorMessage()); return false; } - Logger::info('Processed rows: ' . DBA::affectedRows()); + DI::logger()->info('Processed rows: ' . DBA::affectedRows()); DI::keyValue()->set('post_update_version', 1297); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -173,7 +172,7 @@ class PostUpdate return true; } - Logger::info('Start'); + DI::logger()->info('Start'); $contacts = DBA::p("SELECT `nurl`, `uid` FROM `contact` WHERE EXISTS (SELECT `nurl` FROM `contact` AS `c2` @@ -183,14 +182,14 @@ class PostUpdate Protocol::DIASPORA, Protocol::OSTATUS, Protocol::ACTIVITYPUB, 0); while ($contact = DBA::fetch($contacts)) { - Logger::info('Remove duplicates', ['nurl' => $contact['nurl'], 'uid' => $contact['uid']]); + DI::logger()->info('Remove duplicates', ['nurl' => $contact['nurl'], 'uid' => $contact['uid']]); Contact::removeDuplicates($contact['nurl'], $contact['uid']); } DBA::close($contact); DI::keyValue()->set('post_update_version', 1322); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -215,7 +214,7 @@ class PostUpdate $id = DI::keyValue()->get('post_update_version_1329_id') ?? 0; - Logger::info('Start', ['item' => $id]); + DI::logger()->info('Start', ['item' => $id]); $start_id = $id; $rows = 0; @@ -224,7 +223,7 @@ class PostUpdate $items = DBA::select('item', ['id', 'uri-id', 'uid'], $condition, $params); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -239,11 +238,11 @@ class PostUpdate DI::keyValue()->set('post_update_version_1329_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id]); if ($start_id == $id) { DI::keyValue()->set('post_update_version', 1329); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -270,7 +269,7 @@ class PostUpdate $id = DI::keyValue()->get('post_update_version_1341_id') ?? 0; - Logger::info('Start', ['item' => $id]); + DI::logger()->info('Start', ['item' => $id]); $rows = 0; @@ -279,7 +278,7 @@ class PostUpdate ORDER BY `uri-id` LIMIT 100000", '%#%', '%@%', '%!%', $id); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -295,13 +294,13 @@ class PostUpdate DI::keyValue()->set('post_update_version_1341_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id]); // When there are less than 1,000 items processed this means that we reached the end // The other entries will then be processed with the regular functionality if ($rows < 1000) { DI::keyValue()->set('post_update_version', 1341); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -328,7 +327,7 @@ class PostUpdate $id = DI::keyValue()->get('post_update_version_1342_id') ?? 0; - Logger::info('Start', ['item' => $id]); + DI::logger()->info('Start', ['item' => $id]); $rows = 0; @@ -340,7 +339,7 @@ class PostUpdate Tag::HASHTAG, Tag::MENTION, Tag::EXCLUSIVE_MENTION, Tag::IMPLICIT_MENTION, $id); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -371,13 +370,13 @@ class PostUpdate DI::keyValue()->set('post_update_version_1342_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id]); // When there are less than 1,000 items processed this means that we reached the end // The other entries will then be processed with the regular functionality if ($rows < 1000) { DI::keyValue()->set('post_update_version', 1342); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -404,7 +403,7 @@ class PostUpdate $id = DI::keyValue()->get('post_update_version_1345_id') ?? 0; - Logger::info('Start', ['item' => $id]); + DI::logger()->info('Start', ['item' => $id]); $rows = 0; @@ -415,7 +414,7 @@ class PostUpdate WHERE `iid` >= ? ORDER BY `iid` LIMIT 10000", $id); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -429,13 +428,13 @@ class PostUpdate DI::keyValue()->set('post_update_version_1345_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id]); // When there are less than 100 items processed this means that we reached the end // The other entries will then be processed with the regular functionality if ($rows < 100) { DI::keyValue()->set('post_update_version', 1345); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -487,7 +486,7 @@ class PostUpdate $id = DI::keyValue()->get('post_update_version_1346_id') ?? 0; - Logger::info('Start', ['item' => $id]); + DI::logger()->info('Start', ['item' => $id]); $rows = 0; @@ -496,7 +495,7 @@ class PostUpdate ['order' => ['oid'], 'limit' => 1000, 'group_by' => ['oid']]); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -521,13 +520,13 @@ class PostUpdate DI::keyValue()->set('post_update_version_1346_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id]); // When there are less than 10 items processed this means that we reached the end // The other entries will then be processed with the regular functionality if ($rows < 10) { DI::keyValue()->set('post_update_version', 1346); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -555,7 +554,7 @@ class PostUpdate $id = DI::keyValue()->get('post_update_version_1347_id') ?? 0; - Logger::info('Start', ['item' => $id]); + DI::logger()->info('Start', ['item' => $id]); $start_id = $id; $rows = 0; @@ -566,7 +565,7 @@ class PostUpdate WHERE `item`.`id` >= ? AND `item`.`vid` IS NULL ORDER BY `item`.`id` LIMIT 10000", Item::GRAVITY_ACTIVITY, $id); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -590,11 +589,11 @@ class PostUpdate DI::keyValue()->set('post_update_version_1347_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id]); if ($start_id == $id) { DI::keyValue()->set('post_update_version', 1347); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -617,7 +616,7 @@ class PostUpdate $id = DI::keyValue()->get('post_update_version_1348_id') ?? 0; - Logger::info('Start', ['contact' => $id]); + DI::logger()->info('Start', ['contact' => $id]); $start_id = $id; $rows = 0; @@ -626,7 +625,7 @@ class PostUpdate $contacts = DBA::select('contact', ['id', 'baseurl'], $condition, $params); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -643,11 +642,11 @@ class PostUpdate DI::keyValue()->set('post_update_version_1348_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id]); if ($start_id == $id) { DI::keyValue()->set('post_update_version', 1348); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -670,7 +669,7 @@ class PostUpdate $id = DI::keyValue()->get('post_update_version_1349_id') ?? ''; - Logger::info('Start', ['apcontact' => $id]); + DI::logger()->info('Start', ['apcontact' => $id]); $start_id = $id; $rows = 0; @@ -679,7 +678,7 @@ class PostUpdate $apcontacts = DBA::select('apcontact', ['url', 'baseurl'], $condition, $params); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -696,11 +695,11 @@ class PostUpdate DI::keyValue()->set('post_update_version_1349_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id]); if ($start_id == $id) { DI::keyValue()->set('post_update_version', 1349); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -721,7 +720,7 @@ class PostUpdate return true; } - Logger::info('Start'); + DI::logger()->info('Start'); $deleted = 0; $avatar = [4 => 'photo', 5 => 'thumb', 6 => 'micro']; @@ -744,7 +743,7 @@ class PostUpdate DBA::close($photos); DI::keyValue()->set('post_update_version', 1383); - Logger::info('Done', ['deleted' => $deleted]); + DI::logger()->info('Done', ['deleted' => $deleted]); return true; } @@ -763,13 +762,13 @@ class PostUpdate } $condition = ["`hash` IS NULL"]; - Logger::info('Start', ['rest' => DBA::count('photo', $condition)]); + DI::logger()->info('Start', ['rest' => DBA::count('photo', $condition)]); $rows = 0; $photos = DBA::select('photo', [], $condition, ['limit' => 100]); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -782,11 +781,11 @@ class PostUpdate } DBA::close($photos); - Logger::info('Processed', ['rows' => $rows]); + DI::logger()->info('Processed', ['rows' => $rows]); if ($rows <= 100) { DI::keyValue()->set('post_update_version', 1384); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -813,13 +812,13 @@ class PostUpdate } $condition = ["`extid` != ? AND EXISTS(SELECT `id` FROM `post-user` WHERE `uri-id` = `item`.`uri-id` AND `uid` = `item`.`uid` AND `external-id` IS NULL)", '']; - Logger::info('Start', ['rest' => DBA::count('item', $condition)]); + DI::logger()->info('Start', ['rest' => DBA::count('item', $condition)]); $rows = 0; $items = DBA::select('item', ['uri-id', 'uid', 'extid'], $condition, ['order' => ['id'], 'limit' => 10000]); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -829,11 +828,11 @@ class PostUpdate } DBA::close($items); - Logger::info('Processed', ['rows' => $rows]); + DI::logger()->info('Processed', ['rows' => $rows]); if ($rows <= 100) { DI::keyValue()->set('post_update_version', 1400); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -855,13 +854,13 @@ class PostUpdate } $condition = ["`uri-id` IS NULL"]; - Logger::info('Start', ['rest' => DBA::count('contact', $condition)]); + DI::logger()->info('Start', ['rest' => DBA::count('contact', $condition)]); $rows = 0; $contacts = DBA::select('contact', ['id', 'url'], $condition, ['limit' => 1000]); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -871,11 +870,11 @@ class PostUpdate } DBA::close($contacts); - Logger::info('Processed', ['rows' => $rows]); + DI::logger()->info('Processed', ['rows' => $rows]); if ($rows <= 100) { DI::keyValue()->set('post_update_version', 1424); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -902,13 +901,13 @@ class PostUpdate } $condition = ["`uri-id` IS NULL"]; - Logger::info('Start', ['rest' => DBA::count('fcontact', $condition)]); + DI::logger()->info('Start', ['rest' => DBA::count('fcontact', $condition)]); $rows = 0; $fcontacts = DBA::select('fcontact', ['id', 'url', 'guid'], $condition, ['limit' => 1000]); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -923,11 +922,11 @@ class PostUpdate } DBA::close($fcontacts); - Logger::info('Processed', ['rows' => $rows]); + DI::logger()->info('Processed', ['rows' => $rows]); if ($rows <= 100) { DI::keyValue()->set('post_update_version', 1425); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -949,13 +948,13 @@ class PostUpdate } $condition = ["`uri-id` IS NULL"]; - Logger::info('Start', ['rest' => DBA::count('apcontact', $condition)]); + DI::logger()->info('Start', ['rest' => DBA::count('apcontact', $condition)]); $rows = 0; $apcontacts = DBA::select('apcontact', ['url', 'uuid'], $condition, ['limit' => 1000]); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -970,11 +969,11 @@ class PostUpdate } DBA::close($apcontacts); - Logger::info('Processed', ['rows' => $rows]); + DI::logger()->info('Processed', ['rows' => $rows]); if ($rows <= 100) { DI::keyValue()->set('post_update_version', 1426); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -996,13 +995,13 @@ class PostUpdate } $condition = ["`uri-id` IS NULL"]; - Logger::info('Start', ['rest' => DBA::count('event', $condition)]); + DI::logger()->info('Start', ['rest' => DBA::count('event', $condition)]); $rows = 0; $events = DBA::select('event', ['id', 'uri', 'guid'], $condition, ['limit' => 1000]); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -1017,11 +1016,11 @@ class PostUpdate } DBA::close($events); - Logger::info('Processed', ['rows' => $rows]); + DI::logger()->info('Processed', ['rows' => $rows]); if ($rows <= 100) { DI::keyValue()->set('post_update_version', 1427); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -1049,7 +1048,7 @@ class PostUpdate $id = DI::keyValue()->get('post_update_version_1452_id') ?? 0; - Logger::info('Start', ['uri-id' => $id]); + DI::logger()->info('Start', ['uri-id' => $id]); $rows = 0; $received = ''; @@ -1060,7 +1059,7 @@ class PostUpdate Conversation::PARCEL_ACTIVITYPUB, $id, 1000); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -1088,11 +1087,11 @@ class PostUpdate DI::keyValue()->set('post_update_version_1452_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id, 'last-received' => $received]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id, 'last-received' => $received]); if ($rows <= 100) { DI::keyValue()->set('post_update_version', 1452); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -1114,7 +1113,7 @@ class PostUpdate return true; } - Logger::info('Start'); + DI::logger()->info('Start'); $posts = DBA::select('post-view', ['uri-id'], ['conversation' => './']); while ($post = DBA::fetch($posts)) { @@ -1127,7 +1126,7 @@ class PostUpdate DBA::close($posts); DI::keyValue()->set('post_update_version', 1483); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -1147,14 +1146,14 @@ class PostUpdate $id = DI::keyValue()->get('post_update_version_1484_id') ?? 0; - Logger::info('Start', ['id' => $id]); + DI::logger()->info('Start', ['id' => $id]); $rows = 0; $contacts = DBA::select('contact', ['id', 'uid', 'uri-id', 'url'], ["`id` > ?", $id], ['order' => ['id'], 'limit' => 1000]); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -1171,11 +1170,11 @@ class PostUpdate DI::keyValue()->set('post_update_version_1484_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id]); if ($rows <= 100) { DI::keyValue()->set('post_update_version', 1484); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -1198,7 +1197,7 @@ class PostUpdate $id = DI::keyValue()->get('post_update_version_1506_id') ?? 0; - Logger::info('Start', ['contact' => $id]); + DI::logger()->info('Start', ['contact' => $id]); $start_id = $id; $rows = 0; @@ -1207,7 +1206,7 @@ class PostUpdate $contacts = DBA::select('contact', ['id', 'url'], $condition, $params); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -1228,11 +1227,11 @@ class PostUpdate DI::keyValue()->set('post_update_version_1506_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id]); if ($start_id == $id) { DI::keyValue()->set('post_update_version', 1506); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -1255,7 +1254,7 @@ class PostUpdate $id = DI::keyValue()->get('post_update_version_1507_id') ?? ''; - Logger::info('Start', ['apcontact' => $id]); + DI::logger()->info('Start', ['apcontact' => $id]); $start_id = $id; $rows = 0; @@ -1264,7 +1263,7 @@ class PostUpdate $apcontacts = DBA::select('apcontact', ['url', 'gsid', 'sharedinbox', 'inbox'], $condition, $params); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -1283,11 +1282,11 @@ class PostUpdate DI::keyValue()->set('post_update_version_1507_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id]); if ($start_id == $id) { DI::keyValue()->set('post_update_version', 1507); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -1314,14 +1313,14 @@ class PostUpdate $id = (int)($post['uri-id'] ?? 0); } - Logger::info('Start', ['uri-id' => $id]); + DI::logger()->info('Start', ['uri-id' => $id]); $rows = 0; $posts = Post::selectPosts(['uri-id', 'parent-uri-id'], ["`uri-id` < ? AND `gravity` IN (?, ?)", $id, Item::GRAVITY_COMMENT, Item::GRAVITY_PARENT], ['order' => ['uri-id' => true], 'limit' => 1000]); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -1334,11 +1333,11 @@ class PostUpdate DI::keyValue()->set('post_update_version_1544_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id]); if ($rows <= 100) { DI::keyValue()->set('post_update_version', 1544); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } @@ -1368,7 +1367,7 @@ class PostUpdate try { Post\Engagement::storeFromItem($item); } catch (\Throwable $th) { - Logger::notice('Exception on storing engagement', ['uri-id' => $engagement['uri-id'], 'code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Exception on storing engagement', ['uri-id' => $engagement['uri-id'], 'code' => $th->getCode(), 'message' => $th->getMessage()]); } } DBA::close($engagements); @@ -1379,7 +1378,7 @@ class PostUpdate $id = (int)($post['uri-id'] ?? 0); } - Logger::info('Start', ['uri-id' => $id]); + DI::logger()->info('Start', ['uri-id' => $id]); $rows = 0; @@ -1393,7 +1392,7 @@ class PostUpdate $posts = Post::selectPosts(['uri-id', 'created'], $condition, ['order' => ['uri-id' => true], 'limit' => 1000]); if (DBA::errorNo() != 0) { - Logger::error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); + DI::logger()->error('Database error', ['no' => DBA::errorNo(), 'message' => DBA::errorMessage()]); return false; } @@ -1406,11 +1405,11 @@ class PostUpdate DI::keyValue()->set('post_update_version_1550_id', $id); - Logger::info('Processed', ['rows' => $rows, 'last' => $id]); + DI::logger()->info('Processed', ['rows' => $rows, 'last' => $id]); if ($rows <= 100) { DI::keyValue()->set('post_update_version', 1550); - Logger::info('Done'); + DI::logger()->info('Done'); return true; } diff --git a/src/Factory/Api/Mastodon/Status.php b/src/Factory/Api/Mastodon/Status.php index 8cf9f3d8e7..fc1715c1d5 100644 --- a/src/Factory/Api/Mastodon/Status.php +++ b/src/Factory/Api/Mastodon/Status.php @@ -12,7 +12,6 @@ use Friendica\Content\ContactSelector; use Friendica\Content\Item as ContentItem; use Friendica\Content\Smilies; use Friendica\Content\Text\BBCode; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\Database; use Friendica\Database\DBA; @@ -309,7 +308,7 @@ class Status extends BaseFactory try { $reshare = $this->createFromUriId($uriId, $uid, $display_quote, false, false)->toArray(); } catch (\Exception $exception) { - Logger::info('Reshare not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'exception' => $exception]); + DI::logger()->info('Reshare not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'exception' => $exception]); $reshare = []; } } else { @@ -320,7 +319,7 @@ class Status extends BaseFactory try { $in_reply = $this->createFromUriId($item['thr-parent-id'], $uid, $display_quote, false, false)->toArray(); } catch (\Exception $exception) { - Logger::info('Reply post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'exception' => $exception]); + DI::logger()->info('Reply post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'exception' => $exception]); $in_reply = []; } } else { @@ -361,7 +360,7 @@ class Status extends BaseFactory try { $quote = $this->createFromUriId($quote_id, $uid, false, false, false)->toArray(); } catch (\Exception $exception) { - Logger::info('Quote not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'exception' => $exception]); + DI::logger()->info('Quote not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'exception' => $exception]); $quote = []; } } else { diff --git a/src/Model/APContact.php b/src/Model/APContact.php index 10534498ac..e88cccd619 100644 --- a/src/Model/APContact.php +++ b/src/Model/APContact.php @@ -9,7 +9,6 @@ namespace Friendica\Model; use Friendica\Content\Text\HTML; use Friendica\Core\Cache\Enum\Duration; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\System; use Friendica\Database\DBA; @@ -95,12 +94,12 @@ class APContact public static function getByURL(string $url, bool $update = null): array { if (empty($url) || Network::isUrlBlocked($url)) { - Logger::info('Domain is blocked', ['url' => $url]); + DI::logger()->info('Domain is blocked', ['url' => $url]); return []; } if (!Network::isValidHttpUrl($url) && !filter_var($url, FILTER_VALIDATE_EMAIL)) { - Logger::info('Invalid URL', ['url' => $url]); + DI::logger()->info('Invalid URL', ['url' => $url]); return []; } @@ -156,7 +155,7 @@ class APContact $cachekey = 'apcontact:' . ItemURI::getIdByURI($url); $result = DI::cache()->get($cachekey); if (!is_null($result)) { - Logger::info('Multiple requests for the address', ['url' => $url, 'update' => $update, 'result' => $result]); + DI::logger()->info('Multiple requests for the address', ['url' => $url, 'update' => $update, 'result' => $result]); if (!empty($fetched_contact)) { return $fetched_contact; } @@ -192,7 +191,7 @@ class APContact $failed = true; } } catch (\Exception $exception) { - Logger::notice('Error fetching url', ['url' => $url, 'exception' => $exception]); + DI::logger()->notice('Error fetching url', ['url' => $url, 'exception' => $exception]); $failed = true; } @@ -291,7 +290,7 @@ class APContact try { $apcontact['addr'] = $apcontact['nick'] . '@' . (new Uri($apcontact['url']))->getAuthority(); } catch (\Throwable $e) { - Logger::warning('Unable to coerce APContact URL into a UriInterface object', ['url' => $apcontact['url'], 'error' => $e->getMessage()]); + DI::logger()->warning('Unable to coerce APContact URL into a UriInterface object', ['url' => $apcontact['url'], 'error' => $e->getMessage()]); $apcontact['addr'] = ''; } } @@ -371,7 +370,7 @@ class APContact $apcontact['photo'] = Network::addBasePath($apcontact['photo'], $apcontact['url']); if (!Network::isValidHttpUrl($apcontact['photo'])) { - Logger::warning('Invalid URL for photo', ['url' => $apcontact['url'], 'photo' => $apcontact['photo']]); + DI::logger()->warning('Invalid URL for photo', ['url' => $apcontact['url'], 'photo' => $apcontact['photo']]); $apcontact['photo'] = ''; } } @@ -457,9 +456,9 @@ class APContact if (in_array($name, APContact\Endpoint::ENDPOINT_NAMES)) { $key = array_search($name, APContact\Endpoint::ENDPOINT_NAMES); APContact\Endpoint::update($apcontact['uri-id'], $key, $endpoint['@id']); - Logger::debug('Store endpoint', ['key' => $key, 'name' => $name, 'endpoint' => $endpoint['@id']]); + DI::logger()->debug('Store endpoint', ['key' => $key, 'name' => $name, 'endpoint' => $endpoint['@id']]); } elseif (!in_array($name, ['as:sharedInbox', 'as:uploadMedia', 'as:oauthTokenEndpoint', 'as:oauthAuthorizationEndpoint', 'litepub:oauthRegistrationEndpoint'])) { - Logger::debug('Unknown endpoint', ['name' => $name, 'endpoint' => $endpoint['@id']]); + DI::logger()->debug('Unknown endpoint', ['name' => $name, 'endpoint' => $endpoint['@id']]); } } } @@ -468,7 +467,7 @@ class APContact // We delete the old entry when the URL is changed if ($url != $apcontact['url']) { - Logger::info('Delete changed profile url', ['old' => $url, 'new' => $apcontact['url']]); + DI::logger()->info('Delete changed profile url', ['old' => $url, 'new' => $apcontact['url']]); DBA::delete('apcontact', ['url' => $url]); } @@ -481,7 +480,7 @@ class APContact DBA::replace('apcontact', $apcontact); } - Logger::info('Updated profile', ['url' => $url]); + DI::logger()->info('Updated profile', ['url' => $url]); return DBA::selectFirst('apcontact', [], ['url' => $apcontact['url']]) ?: []; } @@ -532,7 +531,7 @@ class APContact public static function markForArchival(array $apcontact) { if (!empty($apcontact['inbox'])) { - Logger::info('Set inbox status to failure', ['inbox' => $apcontact['inbox']]); + DI::logger()->info('Set inbox status to failure', ['inbox' => $apcontact['inbox']]); HTTPSignature::setInboxStatus($apcontact['inbox'], false, false, $apcontact['gsid']); } @@ -542,7 +541,7 @@ class APContact $apcontact['sharedinbox']]); if (!$available) { // If all known personal inboxes are failing then set their shared inbox to failure as well - Logger::info('Set shared inbox status to failure', ['sharedinbox' => $apcontact['sharedinbox']]); + DI::logger()->info('Set shared inbox status to failure', ['sharedinbox' => $apcontact['sharedinbox']]); HTTPSignature::setInboxStatus($apcontact['sharedinbox'], false, true, $apcontact['gsid']); } } @@ -557,11 +556,11 @@ class APContact public static function unmarkForArchival(array $apcontact) { if (!empty($apcontact['inbox'])) { - Logger::info('Set inbox status to success', ['inbox' => $apcontact['inbox']]); + DI::logger()->info('Set inbox status to success', ['inbox' => $apcontact['inbox']]); HTTPSignature::setInboxStatus($apcontact['inbox'], true, false, $apcontact['gsid']); } if (!empty($apcontact['sharedinbox'])) { - Logger::info('Set shared inbox status to success', ['sharedinbox' => $apcontact['sharedinbox']]); + DI::logger()->info('Set shared inbox status to success', ['sharedinbox' => $apcontact['sharedinbox']]); HTTPSignature::setInboxStatus($apcontact['sharedinbox'], true, true, $apcontact['gsid']); } } diff --git a/src/Model/Circle.php b/src/Model/Circle.php index a81e359d8b..00b4b16d5d 100644 --- a/src/Model/Circle.php +++ b/src/Model/Circle.php @@ -9,7 +9,6 @@ namespace Friendica\Model; use Friendica\BaseModule; use Friendica\Content\Widget; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\Database\Database; @@ -495,7 +494,7 @@ class Circle } DBA::close($stmt); - Logger::info('Got circles', $display_circles); + DI::logger()->info('Got circles', $display_circles); $o = Renderer::replaceMacros(Renderer::getMarkupTemplate('circle_selection.tpl'), [ '$id' => $id, @@ -608,7 +607,7 @@ class Circle */ public static function getIdForGroup(int $id): int { - Logger::info('Get id for group id', ['id' => $id]); + DI::logger()->info('Get id for group id', ['id' => $id]); $contact = Contact::getById($id, ['uid', 'name', 'contact-type', 'manually-approve']); if (empty($contact) || ($contact['contact-type'] != Contact::TYPE_COMMUNITY) || !$contact['manually-approve']) { return 0; @@ -638,7 +637,7 @@ class Circle */ public static function updateMembersForGroup(int $id) { - Logger::info('Update group members', ['id' => $id]); + DI::logger()->info('Update group members', ['id' => $id]); $contact = Contact::getById($id, ['uid', 'url']); if (empty($contact)) { @@ -673,6 +672,6 @@ class Circle } DBA::delete('group_member', ['gid' => $gid, 'contact-id' => $current]); - Logger::info('Updated group members', ['id' => $id, 'count' => DBA::count('group_member', ['gid' => $gid])]); + DI::logger()->info('Updated group members', ['id' => $id, 'count' => DBA::count('group_member', ['gid' => $gid])]); } } diff --git a/src/Model/Contact.php b/src/Model/Contact.php index a0e186b40e..083f66287f 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -15,7 +15,6 @@ use Friendica\Content\Conversation as ConversationContent; use Friendica\Content\Pager; use Friendica\Content\Text\HTML; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\Core\System; @@ -182,7 +181,7 @@ class Contact $contact = DBA::selectFirst('contact', [], ['id' => DBA::lastInsertId()]); if (!DBA::isResult($contact)) { // Shouldn't happen - Logger::warning('Created contact could not be found', ['fields' => $fields]); + DI::logger()->warning('Created contact could not be found', ['fields' => $fields]); return 0; } @@ -190,23 +189,23 @@ class Contact DBA::insert('account-user', $fields, Database::INSERT_IGNORE); $account_user = DBA::selectFirst('account-user', ['id'], ['uid' => $contact['uid'], 'uri-id' => $contact['uri-id']]); if (empty($account_user['id'])) { - Logger::warning('Account-user entry not found', ['cid' => $contact['id'], 'uid' => $contact['uid'], 'uri-id' => $contact['uri-id'], 'url' => $contact['url']]); + DI::logger()->warning('Account-user entry not found', ['cid' => $contact['id'], 'uid' => $contact['uid'], 'uri-id' => $contact['uri-id'], 'url' => $contact['url']]); } elseif ($account_user['id'] != $contact['id']) { $duplicate = DBA::selectFirst('contact', [], ['id' => $account_user['id'], 'deleted' => false]); if (!empty($duplicate['id'])) { $ret = Contact::deleteById($contact['id']); - Logger::notice('Deleted duplicated contact', ['ret' => $ret, 'account-user' => $account_user, 'cid' => $duplicate['id'], 'uid' => $duplicate['uid'], 'uri-id' => $duplicate['uri-id'], 'url' => $duplicate['url']]); + DI::logger()->notice('Deleted duplicated contact', ['ret' => $ret, 'account-user' => $account_user, 'cid' => $duplicate['id'], 'uid' => $duplicate['uid'], 'uri-id' => $duplicate['uri-id'], 'url' => $duplicate['url']]); $contact = $duplicate; } else { $ret = DBA::update('account-user', ['id' => $contact['id']], ['uid' => $contact['uid'], 'uri-id' => $contact['uri-id']]); - Logger::notice('Updated account-user', ['ret' => $ret, 'account-user' => $account_user, 'cid' => $contact['id'], 'uid' => $contact['uid'], 'uri-id' => $contact['uri-id'], 'url' => $contact['url']]); + DI::logger()->notice('Updated account-user', ['ret' => $ret, 'account-user' => $account_user, 'cid' => $contact['id'], 'uid' => $contact['uid'], 'uri-id' => $contact['uri-id'], 'url' => $contact['url']]); } } Contact\User::insertForContactArray($contact); if ((empty($contact['baseurl']) || empty($contact['gsid'])) && Probe::isProbable($contact['network'])) { - Logger::debug('Update missing baseurl', ['id' => $contact['id'], 'url' => $contact['url'], 'callstack' => System::callstack(4, 0, true)]); + DI::logger()->debug('Update missing baseurl', ['id' => $contact['id'], 'url' => $contact['url'], 'callstack' => System::callstack(4, 0, true)]); UpdateContact::add(['priority' => Worker::PRIORITY_MEDIUM, 'dont_fork' => true], $contact['id']); } @@ -221,7 +220,7 @@ class Contact */ public static function deleteById(int $id): bool { - Logger::debug('Delete contact', ['id' => $id]); + DI::logger()->debug('Delete contact', ['id' => $id]); DBA::delete('account-user', ['id' => $id]); return DBA::delete('contact', ['id' => $id]); } @@ -370,7 +369,7 @@ class Contact try { UpdateContact::add(['priority' => Worker::PRIORITY_LOW, 'dont_fork' => true], $contact['id']); } catch (\InvalidArgumentException $e) { - Logger::notice($e->getMessage(), ['contact' => $contact]); + DI::logger()->notice($e->getMessage(), ['contact' => $contact]); } } @@ -567,11 +566,11 @@ class Contact // And fetch the result $contact = DBA::selectFirst('contact', ['baseurl'], ['id' => $contact['id']]); if (empty($contact['baseurl'])) { - Logger::info('No baseurl for contact', ['url' => $url]); + DI::logger()->info('No baseurl for contact', ['url' => $url]); return ''; } - Logger::info('Found baseurl for contact', ['url' => $url, 'baseurl' => $contact['baseurl']]); + DI::logger()->info('Found baseurl for contact', ['url' => $url, 'baseurl' => $contact['baseurl']]); return $contact['baseurl']; } @@ -1090,10 +1089,10 @@ class Contact return; } } elseif (!isset($contact['url']) || !isset($contact['uri-id'])) { - Logger::info('Empty contact', ['contact' => $contact]); + DI::logger()->info('Empty contact', ['contact' => $contact]); } - Logger::info('Contact is marked for archival', ['id' => $contact['id'], 'archive' => $contact['archive'], 'term-date' => $contact['term-date'], 'url' => $contact['url']]); + DI::logger()->info('Contact is marked for archival', ['id' => $contact['id'], 'archive' => $contact['archive'], 'term-date' => $contact['term-date'], 'url' => $contact['url']]); // Contact already archived or "self" contact? => nothing to do if ($contact['archive'] || $contact['self']) { @@ -1157,7 +1156,7 @@ class Contact } } - Logger::info('Contact is marked as vital again', ['id' => $contact['id'], 'term-date' => $contact['term-date'], 'url' => $contact['url']]); + DI::logger()->info('Contact is marked as vital again', ['id' => $contact['id'], 'term-date' => $contact['term-date'], 'url' => $contact['url']]); // It's a miracle. Our dead contact has inexplicably come back to life. $fields = ['failed' => false, 'term-date' => DBA::NULL_DATETIME, 'archive' => false]; @@ -1310,7 +1309,7 @@ class Contact $contact_id = 0; if (empty($url)) { - Logger::notice('Empty url, quitting', ['url' => $url, 'user' => $uid, 'default' => $default]); + DI::logger()->notice('Empty url, quitting', ['url' => $url, 'user' => $uid, 'default' => $default]); return 0; } @@ -1325,19 +1324,19 @@ class Contact try { UpdateContact::add(['priority' => Worker::PRIORITY_LOW, 'dont_fork' => true], $contact['id']); } catch (\InvalidArgumentException $e) { - Logger::notice($e->getMessage(), ['contact' => $contact]); + DI::logger()->notice($e->getMessage(), ['contact' => $contact]); } } if (empty($update) && (!empty($contact['uri-id']) || is_bool($update))) { - Logger::debug('Contact found', ['url' => $url, 'uid' => $uid, 'update' => $update, 'cid' => $contact_id]); + DI::logger()->debug('Contact found', ['url' => $url, 'uid' => $uid, 'update' => $update, 'cid' => $contact_id]); return $contact_id; } } elseif ($uid != 0) { - Logger::debug('Contact does not exist for the user', ['url' => $url, 'uid' => $uid, 'update' => $update]); + DI::logger()->debug('Contact does not exist for the user', ['url' => $url, 'uid' => $uid, 'update' => $update]); return 0; } elseif (empty($default) && !is_null($update) && !$update) { - Logger::info('Contact not found, update not desired', ['url' => $url, 'uid' => $uid, 'update' => $update]); + DI::logger()->info('Contact not found, update not desired', ['url' => $url, 'uid' => $uid, 'update' => $update]); return 0; } @@ -1369,7 +1368,7 @@ class Contact } if (DBA::isResult($personal_contact) && !Probe::isProbable($personal_contact['network'])) { - Logger::info('Take contact data from personal contact', ['url' => $url, 'update' => $update, 'contact' => $personal_contact]); + DI::logger()->info('Take contact data from personal contact', ['url' => $url, 'update' => $update, 'contact' => $personal_contact]); $data = $personal_contact; $data['photo'] = $personal_contact['avatar']; $data['account-type'] = $personal_contact['contact-type']; @@ -1381,12 +1380,12 @@ class Contact } if (empty($data['network']) || ($data['network'] == Protocol::PHANTOM)) { - Logger::notice('No valid network found', ['url' => $url, 'uid' => $uid, 'default' => $default, 'update' => $update]); + DI::logger()->notice('No valid network found', ['url' => $url, 'uid' => $uid, 'default' => $default, 'update' => $update]); return 0; } if (!$contact_id && !empty($data['account-type']) && $data['account-type'] == User::ACCOUNT_TYPE_DELETED) { - Logger::info('Contact is a tombstone. It will not be inserted', ['url' => $url, 'uid' => $uid]); + DI::logger()->info('Contact is a tombstone. It will not be inserted', ['url' => $url, 'uid' => $uid]); return 0; } @@ -1398,7 +1397,7 @@ class Contact $contact = self::selectFirst(['id'], ['nurl' => $urls, 'uid' => $uid]); if (!empty($contact['id'])) { $contact_id = $contact['id']; - Logger::info('Fetched id by url', ['cid' => $contact_id, 'uid' => $uid, 'url' => $url, 'data' => $data]); + DI::logger()->info('Fetched id by url', ['cid' => $contact_id, 'uid' => $uid, 'url' => $url, 'data' => $data]); } } @@ -1424,37 +1423,37 @@ class Contact $contact = DBA::selectFirst('contact', ['id'], $condition, ['order' => ['id']]); if (DBA::isResult($contact)) { $contact_id = $contact['id']; - Logger::notice('Contact had been created (shortly) before', ['id' => $contact_id, 'url' => $url, 'uid' => $uid]); + DI::logger()->notice('Contact had been created (shortly) before', ['id' => $contact_id, 'url' => $url, 'uid' => $uid]); } else { $contact_id = self::insert($fields); if ($contact_id) { - Logger::info('Contact inserted', ['id' => $contact_id, 'url' => $url, 'uid' => $uid]); + DI::logger()->info('Contact inserted', ['id' => $contact_id, 'url' => $url, 'uid' => $uid]); } } if (!$contact_id) { - Logger::warning('Contact was not inserted', ['url' => $url, 'uid' => $uid]); + DI::logger()->warning('Contact was not inserted', ['url' => $url, 'uid' => $uid]); return 0; } } else { - Logger::info('Contact will be updated', ['url' => $url, 'uid' => $uid, 'update' => $update, 'cid' => $contact_id]); + DI::logger()->info('Contact will be updated', ['url' => $url, 'uid' => $uid, 'update' => $update, 'cid' => $contact_id]); } if ($data['network'] == Protocol::DIASPORA) { try { DI::dsprContact()->updateFromProbeArray($data); } catch (NotFoundException $e) { - Logger::notice($e->getMessage(), ['url' => $url, 'data' => $data]); + DI::logger()->notice($e->getMessage(), ['url' => $url, 'data' => $data]); } catch (\InvalidArgumentException $e) { - Logger::notice($e->getMessage(), ['url' => $url, 'data' => $data]); + DI::logger()->notice($e->getMessage(), ['url' => $url, 'data' => $data]); } } elseif (!empty($data['networks'][Protocol::DIASPORA])) { try { DI::dsprContact()->updateFromProbeArray($data['networks'][Protocol::DIASPORA]); } catch (NotFoundException $e) { - Logger::notice($e->getMessage(), ['url' => $url, 'data' => $data['networks'][Protocol::DIASPORA]]); + DI::logger()->notice($e->getMessage(), ['url' => $url, 'data' => $data['networks'][Protocol::DIASPORA]]); } catch (\InvalidArgumentException $e) { - Logger::notice($e->getMessage(), ['url' => $url, 'data' => $data['networks'][Protocol::DIASPORA]]); + DI::logger()->notice($e->getMessage(), ['url' => $url, 'data' => $data['networks'][Protocol::DIASPORA]]); } } @@ -1463,7 +1462,7 @@ class Contact // Don't return a number for a deleted account if (!empty($data['account-type']) && $data['account-type'] == User::ACCOUNT_TYPE_DELETED) { - Logger::info('Contact is a tombstone', ['url' => $url, 'uid' => $uid]); + DI::logger()->info('Contact is a tombstone', ['url' => $url, 'uid' => $uid]); return 0; } @@ -1812,16 +1811,16 @@ class Contact if (in_array($contact['network'], [Protocol::FEED, Protocol::MAIL]) || DI::config()->get('system', 'cache_contact_avatar')) { if (!empty($contact['avatar']) && (empty($contact['photo']) || empty($contact['thumb']) || empty($contact['micro']))) { - Logger::info('Adding avatar cache', ['id' => $cid, 'contact' => $contact]); + DI::logger()->info('Adding avatar cache', ['id' => $cid, 'contact' => $contact]); self::updateAvatar($cid, $contact['avatar'], true); return; } } elseif (Photo::isPhotoURI($contact['photo']) || Photo::isPhotoURI($contact['thumb']) || Photo::isPhotoURI($contact['micro'])) { - Logger::info('Replacing legacy avatar cache', ['id' => $cid, 'contact' => $contact]); + DI::logger()->info('Replacing legacy avatar cache', ['id' => $cid, 'contact' => $contact]); self::updateAvatar($cid, $contact['avatar'], true); return; } elseif (DI::config()->get('system', 'avatar_cache') && (empty($contact['photo']) || empty($contact['thumb']) || empty($contact['micro']))) { - Logger::info('Adding avatar cache file', ['id' => $cid, 'contact' => $contact]); + DI::logger()->info('Adding avatar cache file', ['id' => $cid, 'contact' => $contact]); self::updateAvatar($cid, $contact['avatar'], true); return; } @@ -2303,7 +2302,7 @@ class Contact } if (!empty($avatar) && !Network::isValidHttpUrl($avatar)) { - Logger::warning('Invalid avatar', ['cid' => $cid, 'avatar' => $avatar]); + DI::logger()->warning('Invalid avatar', ['cid' => $cid, 'avatar' => $avatar]); $avatar = ''; } @@ -2327,7 +2326,7 @@ class Contact } } } catch (\Exception $exception) { - Logger::notice('Error fetching avatar', ['avatar' => $avatar, 'exception' => $exception]); + DI::logger()->notice('Error fetching avatar', ['avatar' => $avatar, 'exception' => $exception]); return; } } elseif (!empty($contact['blurhash'])) { @@ -2337,7 +2336,7 @@ class Contact } self::update($update_fields, ['id' => $cid]); - Logger::info('Only update the avatar', ['id' => $cid, 'avatar' => $avatar, 'contact' => $contact]); + DI::logger()->info('Only update the avatar', ['id' => $cid, 'avatar' => $avatar, 'contact' => $contact]); } return; } @@ -2346,7 +2345,7 @@ class Contact if (($uid != 0) && !in_array($contact['network'], [Protocol::FEED, Protocol::MAIL])) { $pcid = self::getIdForURL($contact['url'], 0, false); if (!empty($pcid)) { - Logger::debug('Update the private contact via the public contact', ['id' => $cid, 'uid' => $uid, 'public' => $pcid]); + DI::logger()->debug('Update the private contact via the public contact', ['id' => $cid, 'uid' => $uid, 'public' => $pcid]); self::updateAvatar($pcid, $avatar, $force, true); return; } @@ -2380,7 +2379,7 @@ class Contact 'thumb' => self::getDefaultAvatar($contact, Proxy::SIZE_THUMB), 'micro' => self::getDefaultAvatar($contact, Proxy::SIZE_MICRO) ]; - Logger::debug('Use default avatar', ['id' => $cid, 'uid' => $uid]); + DI::logger()->debug('Use default avatar', ['id' => $cid, 'uid' => $uid]); } $local_uid = 0; @@ -2390,7 +2389,7 @@ class Contact $local_uid = User::getIdForURL($contact['url']); if (!empty($local_uid)) { $fields = self::selectFirst(['avatar', 'avatar-date', 'photo', 'thumb', 'micro'], ['self' => true, 'uid' => $local_uid]); - Logger::debug('Use owner data', ['id' => $cid, 'uid' => $uid, 'owner-uid' => $local_uid]); + DI::logger()->debug('Use owner data', ['id' => $cid, 'uid' => $uid, 'owner-uid' => $local_uid]); } } @@ -2407,7 +2406,7 @@ class Contact foreach ($data as $image_uri) { $image_rid = Photo::ridFromURI($image_uri); if ($image_rid && !Photo::exists(['resource-id' => $image_rid, 'uid' => $uid])) { - Logger::debug('Regenerating avatar', ['contact uid' => $uid, 'cid' => $cid, 'missing photo' => $image_rid, 'avatar' => $contact['avatar']]); + DI::logger()->debug('Regenerating avatar', ['contact uid' => $uid, 'cid' => $cid, 'missing photo' => $image_rid, 'avatar' => $contact['avatar']]); $update = true; } } @@ -2425,7 +2424,7 @@ class Contact 'avatar-date' => DateTimeFormat::utcNow(), ]; $update = true; - Logger::debug('Created new cached avatars', ['id' => $cid, 'uid' => $uid, 'owner-uid' => $local_uid]); + DI::logger()->debug('Created new cached avatars', ['id' => $cid, 'uid' => $uid, 'owner-uid' => $local_uid]); } else { $update = false; } @@ -2466,7 +2465,7 @@ class Contact $cids[] = $cid; $uids[] = $uid; - Logger::info('Updating cached contact avatars', ['cid' => $cids, 'uid' => $uids, 'fields' => $fields]); + DI::logger()->info('Updating cached contact avatars', ['cid' => $cids, 'uid' => $uids, 'fields' => $fields]); self::update($fields, ['id' => $cids]); } @@ -2476,7 +2475,7 @@ class Contact $condition = ['self' => false, 'nurl' => Strings::normaliseLink($url)]; $contacts = DBA::select('contact', ['id', 'uid'], $condition); while ($contact = DBA::fetch($contacts)) { - Logger::info('Deleting contact', ['id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $url]); + DI::logger()->info('Deleting contact', ['id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $url]); self::remove($contact['id']); } } @@ -2508,7 +2507,7 @@ class Contact private static function updateContact(int $id, int $uid, int $uri_id, string $url, array $fields) { if (!self::update($fields, ['id' => $id])) { - Logger::info('Couldn\'t update contact.', ['id' => $id, 'fields' => $fields]); + DI::logger()->info('Couldn\'t update contact.', ['id' => $id, 'fields' => $fields]); return; } @@ -2517,7 +2516,7 @@ class Contact // Archive or unarchive the contact. $contact = DBA::selectFirst('contact', [], ['id' => $id]); if (!DBA::isResult($contact)) { - Logger::info('Couldn\'t select contact for archival.', ['id' => $id]); + DI::logger()->info('Couldn\'t select contact for archival.', ['id' => $id]); return; } @@ -2564,29 +2563,29 @@ class Contact if (!empty($account_user['uri-id']) && ($account_user['uri-id'] != $uri_id)) { if ($account_user['uid'] == $uid) { $ret = DBA::update('account-user', ['uri-id' => $uri_id], ['id' => $id]); - Logger::notice('Updated account-user uri-id', ['ret' => $ret, 'account-user' => $account_user, 'cid' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); + DI::logger()->notice('Updated account-user uri-id', ['ret' => $ret, 'account-user' => $account_user, 'cid' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); } else { // This should never happen - Logger::warning('account-user exists for a different uri-id and uid', ['account_user' => $account_user, 'id' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); + DI::logger()->warning('account-user exists for a different uri-id and uid', ['account_user' => $account_user, 'id' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); } } $account_user = DBA::selectFirst('account-user', ['id', 'uid', 'uri-id'], ['uid' => $uid, 'uri-id' => $uri_id]); if (!empty($account_user['id'])) { if ($account_user['id'] == $id) { - Logger::debug('account-user already exists', ['id' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); + DI::logger()->debug('account-user already exists', ['id' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); return; } elseif (!DBA::exists('contact', ['id' => $account_user['id'], 'deleted' => false])) { $ret = DBA::update('account-user', ['id' => $id], ['uid' => $uid, 'uri-id' => $uri_id]); - Logger::notice('Updated account-user', ['ret' => $ret, 'account-user' => $account_user, 'cid' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); + DI::logger()->notice('Updated account-user', ['ret' => $ret, 'account-user' => $account_user, 'cid' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); return; } - Logger::warning('account-user exists for a different contact id', ['account_user' => $account_user, 'id' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); + DI::logger()->warning('account-user exists for a different contact id', ['account_user' => $account_user, 'id' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); Worker::add(Worker::PRIORITY_HIGH, 'MergeContact', $account_user['id'], $id, $uid); } elseif (DBA::insert('account-user', ['id' => $id, 'uri-id' => $uri_id, 'uid' => $uid], Database::INSERT_IGNORE)) { - Logger::notice('account-user was added', ['id' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); + DI::logger()->notice('account-user was added', ['id' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); } else { - Logger::warning('account-user was not added', ['id' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); + DI::logger()->warning('account-user was not added', ['id' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]); } } @@ -2613,7 +2612,7 @@ class Contact } $first = $first_contact['id']; - Logger::info('Found duplicates', ['count' => $count, 'first' => $first, 'uid' => $uid, 'nurl' => $nurl]); + DI::logger()->info('Found duplicates', ['count' => $count, 'first' => $first, 'uid' => $uid, 'nurl' => $nurl]); // Find all duplicates $condition = ["`nurl` = ? AND `uid` = ? AND `id` != ? AND NOT `self` AND NOT `deleted`", $nurl, $uid, $first]; @@ -2626,7 +2625,7 @@ class Contact Worker::add(Worker::PRIORITY_HIGH, 'MergeContact', $first, $duplicate['id'], $uid); } DBA::close($duplicates); - Logger::info('Duplicates handled', ['uid' => $uid, 'nurl' => $nurl]); + DI::logger()->info('Duplicates handled', ['uid' => $uid, 'nurl' => $nurl]); return true; } @@ -2649,7 +2648,7 @@ class Contact $stamp = (float)microtime(true); self::updateFromProbe($id); - Logger::debug('Contact data is updated.', ['duration' => round((float)microtime(true) - $stamp, 3), 'id' => $id, 'url' => $contact['url']]); + DI::logger()->debug('Contact data is updated.', ['duration' => round((float)microtime(true) - $stamp, 3), 'id' => $id, 'url' => $contact['url']]); return true; } @@ -2698,17 +2697,17 @@ class Contact try { DI::dsprContact()->updateFromProbeArray($data); } catch (NotFoundException $e) { - Logger::notice($e->getMessage(), ['id' => $id, 'network' => $network, 'contact' => $contact, 'data' => $data]); + DI::logger()->notice($e->getMessage(), ['id' => $id, 'network' => $network, 'contact' => $contact, 'data' => $data]); } catch (\InvalidArgumentException $e) { - Logger::notice($e->getMessage(), ['id' => $id, 'network' => $network, 'contact' => $contact, 'data' => $data]); + DI::logger()->notice($e->getMessage(), ['id' => $id, 'network' => $network, 'contact' => $contact, 'data' => $data]); } } elseif (!empty($data['networks'][Protocol::DIASPORA])) { try { DI::dsprContact()->updateFromProbeArray($data['networks'][Protocol::DIASPORA]); } catch (NotFoundException $e) { - Logger::notice($e->getMessage(), ['id' => $id, 'network' => $network, 'contact' => $contact, 'data' => $data]); + DI::logger()->notice($e->getMessage(), ['id' => $id, 'network' => $network, 'contact' => $contact, 'data' => $data]); } catch (\InvalidArgumentException $e) { - Logger::notice($e->getMessage(), ['id' => $id, 'network' => $network, 'contact' => $contact, 'data' => $data]); + DI::logger()->notice($e->getMessage(), ['id' => $id, 'network' => $network, 'contact' => $contact, 'data' => $data]); } } @@ -2789,7 +2788,7 @@ class Contact if (self::isLocal($ret['url'])) { if ($contact['uid'] == 0) { - Logger::info('Local contacts are not updated here.'); + DI::logger()->info('Local contacts are not updated here.'); } else { self::updateFromPublicContact($id, $contact); } @@ -2797,7 +2796,7 @@ class Contact } if (!empty($ret['account-type']) && $ret['account-type'] == User::ACCOUNT_TYPE_DELETED) { - Logger::info('Deleted account', ['id' => $id, 'url' => $ret['url'], 'ret' => $ret]); + DI::logger()->info('Deleted account', ['id' => $id, 'url' => $ret['url'], 'ret' => $ret]); self::remove($id); // Delete all contacts with the same URL @@ -2844,7 +2843,7 @@ class Contact } if (Strings::normaliseLink($contact['url']) != Strings::normaliseLink($ret['url'])) { - Logger::notice('New URL differs from old URL', ['id' => $id, 'uid' => $uid, 'old' => $contact['url'], 'new' => $ret['url']]); + DI::logger()->notice('New URL differs from old URL', ['id' => $id, 'uid' => $uid, 'old' => $contact['url'], 'new' => $ret['url']]); self::updateContact($id, $uid, $uriid, $contact['url'], ['failed' => true, 'local-data' => $has_local_data, 'last-update' => $updated, 'next-update' => $failed_next_update, 'failure_update' => $updated]); return false; } @@ -2857,10 +2856,10 @@ class Contact ) { if (GServer::reachable($contact)) { self::updateContact($id, $uid, $uriid, $contact['url'], ['failed' => false, 'local-data' => $has_local_data, 'last-update' => $updated, 'next-update' => $success_next_update, 'success_update' => $updated, 'unsearchable' => true]); - Logger::info('Not updating relay', ['id' => $id, 'url' => $contact['url']]); + DI::logger()->info('Not updating relay', ['id' => $id, 'url' => $contact['url']]); return true; } - Logger::info('Relay server is not reachable', ['id' => $id, 'url' => $contact['url']]); + DI::logger()->info('Relay server is not reachable', ['id' => $id, 'url' => $contact['url']]); self::updateContact($id, $uid, $uriid, $contact['url'], ['failed' => true, 'local-data' => $has_local_data, 'last-update' => $updated, 'next-update' => $failed_next_update, 'failure_update' => $updated, 'unsearchable' => true]); return false; } @@ -2874,7 +2873,7 @@ class Contact if (Strings::normaliseLink($ret['url']) != Strings::normaliseLink($contact['url'])) { $cid = self::getIdForURL($ret['url'], 0, false); if (!empty($cid) && ($cid != $id)) { - Logger::notice('URL of contact changed.', ['id' => $id, 'new_id' => $cid, 'old' => $contact['url'], 'new' => $ret['url']]); + DI::logger()->notice('URL of contact changed.', ['id' => $id, 'new_id' => $cid, 'old' => $contact['url'], 'new' => $ret['url']]); return self::updateFromProbeArray($cid, $ret); } } @@ -2904,7 +2903,7 @@ class Contact } $ret['last-item'] = Probe::getLastUpdate($ret); - Logger::info('Fetched last item', ['id' => $id, 'probed_url' => $ret['url'], 'last-item' => $ret['last-item']]); + DI::logger()->info('Fetched last item', ['id' => $id, 'probed_url' => $ret['url'], 'last-item' => $ret['last-item']]); } $update = false; @@ -3006,7 +3005,7 @@ class Contact } if (!empty($fields)) { self::update($fields, ['id' => $id, 'self' => false]); - Logger::info('Updating local contact', ['id' => $id]); + DI::logger()->info('Updating local contact', ['id' => $id]); } } @@ -3243,7 +3242,7 @@ class Contact try { UpdateContact::add(Worker::PRIORITY_HIGH, $contact['id']); } catch (\InvalidArgumentException $e) { - Logger::notice($e->getMessage(), ['contact' => $contact]); + DI::logger()->notice($e->getMessage(), ['contact' => $contact]); } } @@ -3297,7 +3296,7 @@ class Contact if (!empty($contact)) { if (!empty($contact['pending'])) { - Logger::info('Pending contact request already exists.', ['url' => $url, 'uid' => $importer['uid']]); + DI::logger()->info('Pending contact request already exists.', ['url' => $url, 'uid' => $importer['uid']]); return null; } @@ -3330,7 +3329,7 @@ class Contact } else { // send email notification to owner? if (DBA::exists('contact', ['nurl' => Strings::normaliseLink($url), 'uid' => $importer['uid'], 'pending' => true])) { - Logger::notice('ignoring duplicated connection request from pending contact ' . $url); + DI::logger()->notice('ignoring duplicated connection request from pending contact ' . $url); return null; } @@ -3492,7 +3491,7 @@ class Contact $contacts = DBA::select('contact', ['id', 'uid', 'name', 'url', 'bd'], $condition); while ($contact = DBA::fetch($contacts)) { - Logger::notice('update_contact_birthday: ' . $contact['bd']); + DI::logger()->notice('update_contact_birthday: ' . $contact['bd']); $nextbd = DateTimeFormat::utcNow('Y') . substr($contact['bd'], 4); @@ -3774,7 +3773,7 @@ class Contact UpdateContact::add(['priority' => Worker::PRIORITY_LOW, 'dont_fork' => true], $contact['id']); ++$updated; } catch (\InvalidArgumentException $e) { - Logger::notice($e->getMessage(), ['contact' => $contact]); + DI::logger()->notice($e->getMessage(), ['contact' => $contact]); } } else { ++$unchanged; diff --git a/src/Model/Contact/Relation.php b/src/Model/Contact/Relation.php index 036213045f..76e0a7ac63 100644 --- a/src/Model/Contact/Relation.php +++ b/src/Model/Contact/Relation.php @@ -9,7 +9,6 @@ namespace Friendica\Model\Contact; use Exception; use Friendica\Content\Widget; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\Database; use Friendica\Database\DBA; @@ -67,7 +66,7 @@ class Relation { $contact = Contact::selectFirst(['id', 'url', 'network'], ['id' => Contact::getPublicIdByUserId($uid)]); if (empty($contact)) { - Logger::warning('Self contact for user not found', ['uid' => $uid]); + DI::logger()->warning('Self contact for user not found', ['uid' => $uid]); return; } @@ -87,22 +86,22 @@ class Relation { $contact = Contact::getByURL($url); if (empty($contact)) { - Logger::info('Contact not found', ['url' => $url]); + DI::logger()->info('Contact not found', ['url' => $url]); return; } if (!self::isDiscoverable($url, $contact)) { - Logger::info('Contact is not discoverable', ['url' => $url]); + DI::logger()->info('Contact is not discoverable', ['url' => $url]); return; } $uid = User::getIdForURL($url); if (!empty($uid)) { - Logger::info('Fetch the followers/followings locally', ['url' => $url]); + DI::logger()->info('Fetch the followers/followings locally', ['url' => $url]); $followers = self::getContacts($uid, [Contact::FOLLOWER, Contact::FRIEND]); $followings = self::getContacts($uid, [Contact::SHARING, Contact::FRIEND]); } elseif (!Contact::isLocal($url)) { - Logger::info('Fetch the followers/followings by polling the endpoints', ['url' => $url]); + DI::logger()->info('Fetch the followers/followings by polling the endpoints', ['url' => $url]); $apcontact = APContact::getByURL($url, false); if (!empty($apcontact['followers']) && is_string($apcontact['followers'])) { @@ -117,7 +116,7 @@ class Relation $followings = []; } } else { - Logger::warning('Contact seems to be local but could not be found here', ['url' => $url]); + DI::logger()->warning('Contact seems to be local but could not be found here', ['url' => $url]); $followers = []; $followings = []; } @@ -137,7 +136,7 @@ class Relation { if (empty($followers) && empty($followings)) { Contact::update(['last-discovery' => DateTimeFormat::utcNow()], ['id' => $contact['id']]); - Logger::info('The contact does not offer discoverable data', ['id' => $contact['id'], 'url' => $contact['url'], 'network' => $contact['network']]); + DI::logger()->info('The contact does not offer discoverable data', ['id' => $contact['id'], 'url' => $contact['url'], 'network' => $contact['network']]); return; } @@ -162,7 +161,7 @@ class Relation $follower_counter = 0; $following_counter = 0; - Logger::info('Discover contacts', ['id' => $target, 'url' => $url, 'contacts' => count($contacts)]); + DI::logger()->info('Discover contacts', ['id' => $target, 'url' => $url, 'contacts' => count($contacts)]); foreach ($contacts as $contact) { $actor = Contact::getIdForURL($contact); if (!empty($actor)) { @@ -186,7 +185,7 @@ class Relation } Contact::update(['last-discovery' => DateTimeFormat::utcNow()], ['id' => $target]); - Logger::info('Contacts discovery finished', ['id' => $target, 'url' => $url, 'follower' => $follower_counter, 'following' => $following_counter]); + DI::logger()->info('Contacts discovery finished', ['id' => $target, 'url' => $url, 'follower' => $follower_counter, 'following' => $following_counter]); return; } @@ -260,34 +259,34 @@ class Relation } if ($contact['last-discovery'] > DateTimeFormat::utc('now - 1 month')) { - Logger::info('No discovery - Last was less than a month ago.', ['id' => $contact['id'], 'url' => $url, 'discovery' => $contact['last-discovery']]); + DI::logger()->info('No discovery - Last was less than a month ago.', ['id' => $contact['id'], 'url' => $url, 'discovery' => $contact['last-discovery']]); return false; } if ($contact_discovery != self::DISCOVERY_ALL) { $local = DBA::exists('contact', ["`nurl` = ? AND `uid` != ?", Strings::normaliseLink($url), 0]); if (($contact_discovery == self::DISCOVERY_LOCAL) && !$local) { - Logger::info('No discovery - This contact is not followed/following locally.', ['id' => $contact['id'], 'url' => $url]); + DI::logger()->info('No discovery - This contact is not followed/following locally.', ['id' => $contact['id'], 'url' => $url]); return false; } if ($contact_discovery == self::DISCOVERY_INTERACTOR) { $interactor = DBA::exists('contact-relation', ["`relation-cid` = ? AND `last-interaction` > ?", $contact['id'], DBA::NULL_DATETIME]); if (!$local && !$interactor) { - Logger::info('No discovery - This contact is not interacting locally.', ['id' => $contact['id'], 'url' => $url]); + DI::logger()->info('No discovery - This contact is not interacting locally.', ['id' => $contact['id'], 'url' => $url]); return false; } } } elseif ($contact['created'] > DateTimeFormat::utc('now - 1 day')) { // Newly created contacts are not discovered to avoid DDoS attacks - Logger::info('No discovery - Contact record is less than a day old.', ['id' => $contact['id'], 'url' => $url, 'discovery' => $contact['created']]); + DI::logger()->info('No discovery - Contact record is less than a day old.', ['id' => $contact['id'], 'url' => $url, 'discovery' => $contact['created']]); return false; } if (!in_array($contact['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN])) { $apcontact = APContact::getByURL($url, false); if (empty($apcontact)) { - Logger::info('No discovery - The contact does not seem to speak ActivityPub.', ['id' => $contact['id'], 'url' => $url, 'network' => $contact['network']]); + DI::logger()->info('No discovery - The contact does not seem to speak ActivityPub.', ['id' => $contact['id'], 'url' => $url, 'network' => $contact['network']]); return false; } } @@ -366,7 +365,7 @@ class Relation $totallimit = $start + $limit; $contacts = []; - Logger::info('Collecting suggestions', ['uid' => $uid, 'cid' => $cid, 'start' => $start, 'limit' => $limit]); + DI::logger()->info('Collecting suggestions', ['uid' => $uid, 'cid' => $cid, 'start' => $start, 'limit' => $limit]); $diaspora = DI::config()->get('system', 'diaspora_enabled') ? Protocol::DIASPORA : Protocol::ACTIVITYPUB; @@ -394,7 +393,7 @@ class Relation DBA::close($results); - Logger::info('Contacts of contacts who are followed by the given user', ['uid' => $uid, 'cid' => $cid, 'count' => count($contacts)]); + DI::logger()->info('Contacts of contacts who are followed by the given user', ['uid' => $uid, 'cid' => $cid, 'count' => count($contacts)]); if (count($contacts) >= $totallimit) { return array_slice($contacts, $start, $limit); @@ -419,7 +418,7 @@ class Relation } DBA::close($results); - Logger::info('Contacts of contacts who are following the given user', ['uid' => $uid, 'cid' => $cid, 'count' => count($contacts)]); + DI::logger()->info('Contacts of contacts who are following the given user', ['uid' => $uid, 'cid' => $cid, 'count' => count($contacts)]); if (count($contacts) >= $totallimit) { return array_slice($contacts, $start, $limit); @@ -440,7 +439,7 @@ class Relation } DBA::close($results); - Logger::info('Followers that are not followed by the given user', ['uid' => $uid, 'cid' => $cid, 'count' => count($contacts)]); + DI::logger()->info('Followers that are not followed by the given user', ['uid' => $uid, 'cid' => $cid, 'count' => count($contacts)]); if (count($contacts) >= $totallimit) { return array_slice($contacts, $start, $limit); @@ -461,7 +460,7 @@ class Relation } DBA::close($results); - Logger::info('Any contact', ['uid' => $uid, 'cid' => $cid, 'count' => count($contacts)]); + DI::logger()->info('Any contact', ['uid' => $uid, 'cid' => $cid, 'count' => count($contacts)]); return array_slice($contacts, $start, $limit); } @@ -714,7 +713,7 @@ class Relation public static function countCommonFollows(int $sourceId, int $targetId, array $condition = []): int { $condition = DBA::mergeConditions($condition, - ['`id` IN (SELECT `relation-cid` FROM `contact-relation` WHERE `cid` = ? AND `follows`) + ['`id` IN (SELECT `relation-cid` FROM `contact-relation` WHERE `cid` = ? AND `follows`) AND `id` IN (SELECT `relation-cid` FROM `contact-relation` WHERE `cid` = ? AND `follows`)', $sourceId, $targetId] ); @@ -737,7 +736,7 @@ class Relation public static function listCommonFollows(int $sourceId, int $targetId, array $condition = [], int $count = 30, int $offset = 0, bool $shuffle = false) { $condition = DBA::mergeConditions($condition, - ["`id` IN (SELECT `relation-cid` FROM `contact-relation` WHERE `cid` = ? AND `follows`) + ["`id` IN (SELECT `relation-cid` FROM `contact-relation` WHERE `cid` = ? AND `follows`) AND `id` IN (SELECT `relation-cid` FROM `contact-relation` WHERE `cid` = ? AND `follows`)", $sourceId, $targetId] ); @@ -759,7 +758,7 @@ class Relation public static function countCommonFollowers(int $sourceId, int $targetId, array $condition = []): int { $condition = DBA::mergeConditions($condition, - ["`id` IN (SELECT `cid` FROM `contact-relation` WHERE `relation-cid` = ? AND `follows`) + ["`id` IN (SELECT `cid` FROM `contact-relation` WHERE `relation-cid` = ? AND `follows`) AND `id` IN (SELECT `cid` FROM `contact-relation` WHERE `relation-cid` = ? AND `follows`)", $sourceId, $targetId] ); @@ -782,7 +781,7 @@ class Relation public static function listCommonFollowers(int $sourceId, int $targetId, array $condition = [], int $count = 30, int $offset = 0, bool $shuffle = false) { $condition = DBA::mergeConditions($condition, - ["`id` IN (SELECT `cid` FROM `contact-relation` WHERE `relation-cid` = ? AND `follows`) + ["`id` IN (SELECT `cid` FROM `contact-relation` WHERE `relation-cid` = ? AND `follows`) AND `id` IN (SELECT `cid` FROM `contact-relation` WHERE `relation-cid` = ? AND `follows`)", $sourceId, $targetId] ); @@ -803,7 +802,7 @@ class Relation $days = DI::config()->get('channel', 'interaction_score_days'); $contact_id = Contact::getPublicIdByUserId($uid); - Logger::debug('Calculation - start', ['uid' => $uid, 'cid' => $contact_id, 'days' => $days]); + DI::logger()->debug('Calculation - start', ['uid' => $uid, 'cid' => $contact_id, 'days' => $days]); $follow = Verb::getID(Activity::FOLLOW); $view = Verb::getID(Activity::VIEW); @@ -814,7 +813,7 @@ class Relation $total = DBA::fetchFirst("SELECT count(*) AS `activity` FROM `post-user` INNER JOIN `post` ON `post`.`uri-id` = `post-user`.`thr-parent-id` WHERE `post-user`.`author-id` = ? AND `post-user`.`received` >= ? AND `post-user`.`uid` = ? AND `post`.`author-id` != ? AND NOT `post`.`vid` IN (?, ?, ?)", $contact_id, DateTimeFormat::utc('now - ' . $days . ' day'), $uid, $contact_id, $follow, $view, $read); - Logger::debug('Calculate relation-score', ['uid' => $uid, 'total' => $total['activity']]); + DI::logger()->debug('Calculate relation-score', ['uid' => $uid, 'total' => $total['activity']]); $interactions = DBA::p("SELECT `post`.`author-id`, count(*) AS `activity`, EXISTS(SELECT `pid` FROM `account-user-view` WHERE `pid` = `post`.`author-id` AND `uid` = ? AND `rel` IN (?, ?)) AS `follows` FROM `post-user` INNER JOIN `post` ON `post`.`uri-id` = `post-user`.`thr-parent-id` WHERE `post-user`.`author-id` = ? AND `post-user`.`received` >= ? AND `post-user`.`uid` = ? AND `post`.`author-id` != ? AND NOT `post`.`vid` IN (?, ?, ?) GROUP BY `post`.`author-id`", @@ -828,7 +827,7 @@ class Relation $total = DBA::fetchFirst("SELECT count(*) AS `activity` FROM `post-user` INNER JOIN `post` ON `post`.`uri-id` = `post-user`.`parent-uri-id` WHERE `post-user`.`author-id` = ? AND `post-user`.`received` >= ? AND `post-user`.`uid` = ? AND `post`.`author-id` != ? AND NOT `post`.`vid` IN (?, ?, ?)", $contact_id, DateTimeFormat::utc('now - ' . $days . ' day'), $uid, $contact_id, $follow, $view, $read); - Logger::debug('Calculate relation-thread-score', ['uid' => $uid, 'total' => $total['activity']]); + DI::logger()->debug('Calculate relation-thread-score', ['uid' => $uid, 'total' => $total['activity']]); $interactions = DBA::p("SELECT `post`.`author-id`, count(*) AS `activity`, EXISTS(SELECT `pid` FROM `account-user-view` WHERE `pid` = `post`.`author-id` AND `uid` = ? AND `rel` IN (?, ?)) AS `follows` FROM `post-user` INNER JOIN `post` ON `post`.`uri-id` = `post-user`.`parent-uri-id` WHERE `post-user`.`author-id` = ? AND `post-user`.`received` >= ? AND `post-user`.`uid` = ? AND `post`.`author-id` != ? AND NOT `post`.`vid` IN (?, ?, ?) GROUP BY `post`.`author-id`", @@ -842,7 +841,7 @@ class Relation $total = DBA::fetchFirst("SELECT count(*) AS `activity` FROM `post-user` INNER JOIN `post` ON `post-user`.`uri-id` = `post`.`thr-parent-id` WHERE `post-user`.`author-id` = ? AND `post-user`.`received` >= ? AND `post-user`.`uid` = ? AND `post`.`author-id` != ? AND NOT `post`.`vid` IN (?, ?, ?)", $contact_id, DateTimeFormat::utc('now - ' . $days . ' day'), $uid, $contact_id, $follow, $view, $read); - Logger::debug('Calculate score', ['uid' => $uid, 'total' => $total['activity']]); + DI::logger()->debug('Calculate score', ['uid' => $uid, 'total' => $total['activity']]); $interactions = DBA::p("SELECT `post`.`author-id`, count(*) AS `activity` FROM `post-user` INNER JOIN `post` ON `post-user`.`uri-id` = `post`.`thr-parent-id` WHERE `post-user`.`author-id` = ? AND `post-user`.`received` >= ? AND `post-user`.`uid` = ? AND `post`.`author-id` != ? AND NOT `post`.`vid` IN (?, ?, ?) GROUP BY `post`.`author-id`", $contact_id, DateTimeFormat::utc('now - ' . $days . ' day'), $uid, $contact_id, $follow, $view, $read); @@ -855,7 +854,7 @@ class Relation $total = DBA::fetchFirst("SELECT count(*) AS `activity` FROM `post-user` INNER JOIN `post` ON `post-user`.`uri-id` = `post`.`parent-uri-id` WHERE `post-user`.`author-id` = ? AND `post-user`.`received` >= ? AND `post-user`.`uid` = ? AND `post`.`author-id` != ? AND NOT `post`.`vid` IN (?, ?, ?)", $contact_id, DateTimeFormat::utc('now - ' . $days . ' day'), $uid, $contact_id, $follow, $view, $read); - Logger::debug('Calculate thread-score', ['uid' => $uid, 'total' => $total['activity']]); + DI::logger()->debug('Calculate thread-score', ['uid' => $uid, 'total' => $total['activity']]); $interactions = DBA::p("SELECT `post`.`author-id`, count(*) AS `activity` FROM `post-user` INNER JOIN `post` ON `post-user`.`uri-id` = `post`.`parent-uri-id` WHERE `post-user`.`author-id` = ? AND `post-user`.`received` >= ? AND `post-user`.`uid` = ? AND `post`.`author-id` != ? AND NOT `post`.`vid` IN (?, ?, ?) GROUP BY `post`.`author-id`", $contact_id, DateTimeFormat::utc('now - ' . $days . ' day'), $uid, $contact_id, $follow, $view, $read); @@ -868,7 +867,7 @@ class Relation $total = DBA::fetchFirst("SELECT count(*) AS `posts` FROM `post-thread-user` WHERE EXISTS(SELECT `cid` FROM `contact-relation` WHERE `cid` = `post-thread-user`.`author-id` AND `relation-cid` = ? AND `follows`) AND `uid` = ? AND `created` > ?", $contact_id, $uid, DateTimeFormat::utc('now - ' . $days . ' day')); - Logger::debug('Calculate post-score', ['uid' => $uid, 'total' => $total['posts']]); + DI::logger()->debug('Calculate post-score', ['uid' => $uid, 'total' => $total['posts']]); $posts = DBA::p("SELECT `author-id`, count(*) AS `posts` FROM `post-thread-user` WHERE EXISTS(SELECT `cid` FROM `contact-relation` WHERE `cid` = `post-thread-user`.`author-id` AND `relation-cid` = ? AND `follows`) AND `uid` = ? AND `created` > ? GROUP BY `author-id`", $contact_id, $uid, DateTimeFormat::utc('now - ' . $days . ' day')); @@ -878,6 +877,6 @@ class Relation } DBA::close($posts); - Logger::debug('Calculation - end', ['uid' => $uid]); + DI::logger()->debug('Calculation - end', ['uid' => $uid]); } } diff --git a/src/Model/Contact/User.php b/src/Model/Contact/User.php index 8e0f033fe6..e7f5699556 100644 --- a/src/Model/Contact/User.php +++ b/src/Model/Contact/User.php @@ -8,7 +8,6 @@ namespace Friendica\Model\Contact; use Exception; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\Database; use Friendica\Database\DBA; @@ -41,7 +40,7 @@ class User } if (empty($contact['uri-id']) && empty($contact['url'])) { - Logger::info('Missing contact details', ['contact' => $contact]); + DI::logger()->info('Missing contact details', ['contact' => $contact]); return false; } @@ -53,7 +52,7 @@ class User if (!empty($contact['uri-id']) && DBA::isResult($pcontact)) { $pcid = $pcontact['id']; } elseif (empty($contact['url']) || !($pcid = Contact::getIdForURL($contact['url'], 0, false))) { - Logger::info('Public contact for user not found', ['uri-id' => $contact['uri-id'], 'uid' => $contact['uid']]); + DI::logger()->info('Public contact for user not found', ['uri-id' => $contact['uri-id'], 'uid' => $contact['uid']]); return false; } @@ -64,7 +63,7 @@ class User $ret = DBA::insert('user-contact', $fields, Database::INSERT_UPDATE); - Logger::info('Inserted user contact', ['uid' => $contact['uid'], 'cid' => $pcid, 'uri-id' => $contact['uri-id'], 'ret' => $ret]); + DI::logger()->info('Inserted user contact', ['uid' => $contact['uid'], 'cid' => $pcid, 'uri-id' => $contact['uri-id'], 'ret' => $ret]); return $ret; } @@ -91,7 +90,7 @@ class User } $update_fields['cid'] = $contact['pid']; $ret = DBA::update('user-contact', $update_fields, ['uri-id' => $contact['uri-id'], 'uid' => $contact['uid']], true); - Logger::info('Updated user contact', ['uid' => $contact['uid'], 'id' => $contact['pid'], 'uri-id' => $contact['uri-id'], 'ret' => $ret]); + DI::logger()->info('Updated user contact', ['uid' => $contact['uid'], 'id' => $contact['pid'], 'uri-id' => $contact['uri-id'], 'ret' => $ret]); } DBA::close($contacts); diff --git a/src/Model/Event.php b/src/Model/Event.php index f98c8cdd0c..86567681e1 100644 --- a/src/Model/Event.php +++ b/src/Model/Event.php @@ -10,7 +10,6 @@ namespace Friendica\Model; use Friendica\Content\Feature; use Friendica\Content\Text\BBCode; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Renderer; use Friendica\Core\System; use Friendica\Database\DBA; @@ -219,7 +218,7 @@ class Event } DBA::delete('event', ['id' => $event_id]); - Logger::info("Deleted event", ['id' => $event_id]); + DI::logger()->info("Deleted event", ['id' => $event_id]); } /** diff --git a/src/Model/GServer.php b/src/Model/GServer.php index a0c1be7bfc..933ca8d74c 100644 --- a/src/Model/GServer.php +++ b/src/Model/GServer.php @@ -10,7 +10,6 @@ namespace Friendica\Model; use DOMDocument; use DOMXPath; use Exception; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Worker; use Friendica\Database\Database; @@ -114,7 +113,7 @@ class GServer $gserver = DBA::selectFirst('gserver', ['id'], ['nurl' => Strings::normaliseLink($url)]); if (DBA::isResult($gserver)) { - Logger::debug('Got ID for URL', ['id' => $gserver['id'], 'url' => $url]); + DI::logger()->debug('Got ID for URL', ['id' => $gserver['id'], 'url' => $url]); if (Network::isUrlBlocked($url)) { self::setBlockedById($gserver['id']); @@ -336,7 +335,7 @@ class GServer } if (Network::isUrlBlocked($server_url)) { - Logger::info('Server is blocked', ['url' => $server_url]); + DI::logger()->info('Server is blocked', ['url' => $server_url]); self::setBlockedByUrl($server_url); return false; } @@ -350,12 +349,12 @@ class GServer } if (!$force && (strtotime($gserver['next_contact']) > time())) { - Logger::info('No update needed', ['server' => $server_url]); + DI::logger()->info('No update needed', ['server' => $server_url]); return (!$gserver['failed']); } - Logger::info('Server is outdated. Start discovery.', ['Server' => $server_url, 'Force' => $force]); + DI::logger()->info('Server is outdated. Start discovery.', ['Server' => $server_url, 'Force' => $force]); } else { - Logger::info('Server is unknown. Start discovery.', ['Server' => $server_url]); + DI::logger()->info('Server is unknown. Start discovery.', ['Server' => $server_url]); } return self::detect($server_url, $network, $only_nodeinfo); @@ -381,7 +380,7 @@ class GServer $fields['network'] = $network; } self::update($fields, ['id' => $gsid]); - Logger::info('Reset failed status for server', ['url' => $gserver['url']]); + DI::logger()->info('Reset failed status for server', ['url' => $gserver['url']]); if (strtotime($gserver['next_contact']) < time()) { UpdateGServer::add(Worker::PRIORITY_LOW, $gserver['url']); @@ -403,7 +402,7 @@ class GServer $gserver = DBA::selectFirst('gserver', ['url', 'failed', 'next_contact'], ['id' => $gsid]); if (DBA::isResult($gserver) && !$gserver['failed']) { self::update(['failed' => true, 'blocked' => Network::isUrlBlocked($gserver['url']), 'last_failure' => DateTimeFormat::utcNow()], ['id' => $gsid]); - Logger::info('Set failed status for server', ['url' => $gserver['url']]); + DI::logger()->info('Set failed status for server', ['url' => $gserver['url']]); if (strtotime($gserver['next_contact']) < time()) { UpdateGServer::add(Worker::PRIORITY_LOW, $gserver['url']); @@ -416,7 +415,7 @@ class GServer $gserver = DBA::selectFirst('gserver', ['url'], ["(`blocked` OR `blocked` IS NULL) AND `id` = ?", $gsid]); if (DBA::isResult($gserver)) { self::update(['blocked' => false], ['id' => $gsid]); - Logger::info('Set unblocked status for server', ['url' => $gserver['url']]); + DI::logger()->info('Set unblocked status for server', ['url' => $gserver['url']]); } } @@ -425,7 +424,7 @@ class GServer $gserver = DBA::selectFirst('gserver', ['url'], ["(NOT `blocked` OR `blocked` IS NULL) AND `id` = ?", $gsid]); if (DBA::isResult($gserver)) { self::update(['blocked' => true, 'failed' => true], ['id' => $gsid]); - Logger::info('Set blocked status for server', ['url' => $gserver['url']]); + DI::logger()->info('Set blocked status for server', ['url' => $gserver['url']]); } } @@ -434,7 +433,7 @@ class GServer $gserver = DBA::selectFirst('gserver', ['url', 'id'], ["(NOT `blocked` OR `blocked` IS NULL) AND `nurl` = ?", Strings::normaliseLink($url)]); if (DBA::isResult($gserver)) { self::update(['blocked' => true, 'failed' => true], ['id' => $gserver['id']]); - Logger::info('Set blocked status for server', ['url' => $gserver['url']]); + DI::logger()->info('Set blocked status for server', ['url' => $gserver['url']]); } } @@ -454,7 +453,7 @@ class GServer self::update(['url' => $url, 'failed' => true, 'blocked' => Network::isUrlBlocked($url), 'last_failure' => DateTimeFormat::utcNow(), 'next_contact' => $next_update, 'network' => Protocol::PHANTOM, 'detection-method' => null], ['nurl' => $nurl]); - Logger::info('Set failed status for existing server', ['url' => $url]); + DI::logger()->info('Set failed status for existing server', ['url' => $url]); if (self::isDefunct($gserver)) { self::archiveContacts($gserver['id']); } @@ -464,7 +463,7 @@ class GServer self::insert(['url' => $url, 'nurl' => $nurl, 'network' => Protocol::PHANTOM, 'created' => DateTimeFormat::utcNow(), 'failed' => true, 'last_failure' => DateTimeFormat::utcNow()]); - Logger::info('Set failed status for new server', ['url' => $url]); + DI::logger()->info('Set failed status for new server', ['url' => $url]); } /** @@ -493,7 +492,7 @@ class GServer try { return (string)self::cleanUri(new Uri($dirtyUrl)); } catch (\Throwable $e) { - Logger::warning('Invalid URL', ['dirtyUrl' => $dirtyUrl]); + DI::logger()->warning('Invalid URL', ['dirtyUrl' => $dirtyUrl]); return ''; } } @@ -533,14 +532,14 @@ class GServer */ private static function detect(string $url, string $network = '', bool $only_nodeinfo = false): bool { - Logger::info('Detect server type', ['server' => $url]); + DI::logger()->info('Detect server type', ['server' => $url]); $original_url = $url; // Remove URL content that is not supposed to exist for a server url $url = rtrim(self::cleanURL($url), '/'); if (empty($url)) { - Logger::notice('Empty URL.'); + DI::logger()->notice('Empty URL.'); return false; } @@ -566,7 +565,7 @@ class GServer // Some systems have got redirects on their landing page to a single account page. This check handles it. if (((parse_url($url, PHP_URL_HOST) != parse_url($valid_url, PHP_URL_HOST)) && (parse_url($url, PHP_URL_PATH) == parse_url($valid_url, PHP_URL_PATH))) || (((parse_url($url, PHP_URL_HOST) != parse_url($valid_url, PHP_URL_HOST)) || (parse_url($url, PHP_URL_PATH) != parse_url($valid_url, PHP_URL_PATH))) && empty(parse_url($valid_url, PHP_URL_PATH)))) { - Logger::debug('Found redirect. Mark old entry as failure', ['old' => $url, 'new' => $valid_url]); + DI::logger()->debug('Found redirect. Mark old entry as failure', ['old' => $url, 'new' => $valid_url]); self::setFailureByUrl($url); if (!self::getID($valid_url, true) && !Network::isUrlBlocked($valid_url)) { self::detect($valid_url, $network, $only_nodeinfo); @@ -576,7 +575,7 @@ class GServer if ((parse_url($url, PHP_URL_HOST) != parse_url($valid_url, PHP_URL_HOST)) && (parse_url($url, PHP_URL_PATH) != parse_url($valid_url, PHP_URL_PATH)) && (parse_url($url, PHP_URL_PATH) == '')) { - Logger::debug('Found redirect. Mark old entry as failure and redirect to the basepath.', ['old' => $url, 'new' => $valid_url]); + DI::logger()->debug('Found redirect. Mark old entry as failure and redirect to the basepath.', ['old' => $url, 'new' => $valid_url]); $parts = (array)parse_url($valid_url); unset($parts['path']); $valid_url = (string)Uri::fromParts($parts); @@ -587,7 +586,7 @@ class GServer } return false; } - Logger::debug('Found redirect, but ignore it.', ['old' => $url, 'new' => $valid_url]); + DI::logger()->debug('Found redirect, but ignore it.', ['old' => $url, 'new' => $valid_url]); } if ((parse_url($url, PHP_URL_HOST) == parse_url($valid_url, PHP_URL_HOST)) && @@ -617,7 +616,7 @@ class GServer } if ($only_nodeinfo && empty($serverdata)) { - Logger::info('Invalid nodeinfo in nodeinfo-mode, server is marked as failure', ['url' => $url]); + DI::logger()->info('Invalid nodeinfo in nodeinfo-mode, server is marked as failure', ['url' => $url]); self::setFailureByUrl($url); return false; } elseif (empty($serverdata)) { @@ -820,14 +819,14 @@ class GServer $contacts = DBA::count('contact', ['uid' => 0, 'gsid' => $id, 'failed' => false]); $max_users = max($apcontacts, $contacts); if ($max_users > $serverdata['registered-users']) { - Logger::info('Update registered users', ['id' => $id, 'url' => $serverdata['nurl'], 'registered-users' => $max_users]); + DI::logger()->info('Update registered users', ['id' => $id, 'url' => $serverdata['nurl'], 'registered-users' => $max_users]); self::update(['registered-users' => $max_users], ['id' => $id]); } if (empty($serverdata['active-month-users'])) { $contacts = DBA::count('contact', ["`uid` = ? AND `gsid` = ? AND NOT `failed` AND `last-item` > ?", 0, $id, DateTimeFormat::utc('now - 30 days')]); if ($contacts > 0) { - Logger::info('Update monthly users', ['id' => $id, 'url' => $serverdata['nurl'], 'monthly-users' => $contacts]); + DI::logger()->info('Update monthly users', ['id' => $id, 'url' => $serverdata['nurl'], 'monthly-users' => $contacts]); self::update(['active-month-users' => $contacts], ['id' => $id]); } } @@ -835,7 +834,7 @@ class GServer if (empty($serverdata['active-halfyear-users'])) { $contacts = DBA::count('contact', ["`uid` = ? AND `gsid` = ? AND NOT `failed` AND `last-item` > ?", 0, $id, DateTimeFormat::utc('now - 180 days')]); if ($contacts > 0) { - Logger::info('Update halfyear users', ['id' => $id, 'url' => $serverdata['nurl'], 'halfyear-users' => $contacts]); + DI::logger()->info('Update halfyear users', ['id' => $id, 'url' => $serverdata['nurl'], 'halfyear-users' => $contacts]); self::update(['active-halfyear-users' => $contacts], ['id' => $id]); } } @@ -847,7 +846,7 @@ class GServer if (!empty($systemactor)) { $contact = Contact::getByURL($systemactor, true, ['gsid', 'baseurl', 'id', 'network', 'url', 'name']); - Logger::debug('Fetched system actor', ['url' => $url, 'gsid' => $id, 'contact' => $contact]); + DI::logger()->debug('Fetched system actor', ['url' => $url, 'gsid' => $id, 'contact' => $contact]); } return $ret; @@ -864,7 +863,7 @@ class GServer */ private static function discoverRelay(string $server_url) { - Logger::info('Discover relay data', ['server' => $server_url]); + DI::logger()->info('Discover relay data', ['server' => $server_url]); $curlResult = DI::httpClient()->get($server_url . '/.well-known/x-social-relay', HttpClientAccept::JSON, [HttpClientOptions::REQUEST => HttpClientRequest::SERVERINFO]); if (!$curlResult->isSuccess()) { @@ -947,7 +946,7 @@ class GServer } } - Logger::info('Discovery ended', ['server' => $server_url, 'data' => $fields]); + DI::logger()->info('Discovery ended', ['server' => $server_url, 'data' => $fields]); Relay::updateContact($gserver, $fields); } @@ -1072,7 +1071,7 @@ class GServer foreach ($nodeinfo['links'] as $link) { if (!is_array($link) || empty($link['rel']) || empty($link['href'])) { - Logger::info('Invalid nodeinfo format', ['url' => $url]); + DI::logger()->info('Invalid nodeinfo format', ['url' => $url]); continue; } @@ -2277,7 +2276,7 @@ class GServer $serverdata['register_policy'] = Register::CLOSED; break; default: - Logger::info('Register policy is invalid', ['policy' => $register_policy, 'server' => $url]); + DI::logger()->info('Register policy is invalid', ['policy' => $register_policy, 'server' => $url]); $serverdata['register_policy'] = Register::CLOSED; break; } @@ -2507,10 +2506,10 @@ class GServer ['order' => ['RAND()']]); while ($gserver = DBA::fetch($gservers)) { - Logger::info('Update peer list', ['server' => $gserver['url'], 'id' => $gserver['id']]); + DI::logger()->info('Update peer list', ['server' => $gserver['url'], 'id' => $gserver['id']]); Worker::add(Worker::PRIORITY_LOW, 'UpdateServerPeers', $gserver['url']); - Logger::info('Update directory', ['server' => $gserver['url'], 'id' => $gserver['id']]); + DI::logger()->info('Update directory', ['server' => $gserver['url'], 'id' => $gserver['id']]); Worker::add(Worker::PRIORITY_LOW, 'UpdateServerDirectory', $gserver); $fields = ['last_poco_query' => DateTimeFormat::utcNow()]; @@ -2651,7 +2650,7 @@ class GServer } } - Logger::info('Protocol for server', ['protocol' => $protocol, 'old' => $old, 'id' => $gsid, 'url' => $gserver['url']]); + DI::logger()->info('Protocol for server', ['protocol' => $protocol, 'old' => $old, 'id' => $gsid, 'url' => $gserver['url']]); self::update(['protocol' => $protocol], ['id' => $gsid]); } diff --git a/src/Model/Item.php b/src/Model/Item.php index 594185c451..64cf1d7968 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -16,7 +16,6 @@ use Friendica\Content\Text\BBCode; use Friendica\Content\Text\HTML; use Friendica\Core\Hook; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\Core\System; @@ -215,7 +214,7 @@ class Item return $rows; } - Logger::info('Updating per single row method', ['fields' => $fields, 'condition' => $condition]); + DI::logger()->info('Updating per single row method', ['fields' => $fields, 'condition' => $condition]); $items = Post::select(['id', 'origin', 'uri-id', 'uid', 'author-network', 'quote-uri-id'], $condition); @@ -236,7 +235,7 @@ class Item if ($item['origin'] && empty($item['quote-uri-id'])) { $quote_id = Post\Media::getActivityUriId($item['uri-id']); if (!empty($quote_id)) { - Logger::notice('Found attached post', ['id' => $quote_id, 'guid' => $item['guid'], 'uri-id' => $item['uri-id']]); + DI::logger()->notice('Found attached post', ['id' => $quote_id, 'guid' => $item['guid'], 'uri-id' => $item['uri-id']]); $content_fields['quote-uri-id'] = $quote_id; } } @@ -332,7 +331,7 @@ class Item if ($item['uid'] == $uid) { self::markForDeletionById($item['id'], Worker::PRIORITY_HIGH); } elseif ($item['uid'] != 0) { - Logger::warning('Wrong ownership. Not deleting item', ['id' => $item['id']]); + DI::logger()->warning('Wrong ownership. Not deleting item', ['id' => $item['id']]); } } DBA::close($items); @@ -348,7 +347,7 @@ class Item */ public static function markForDeletionById(int $item_id, int $priority = Worker::PRIORITY_HIGH): bool { - Logger::info('Mark item for deletion by id', ['id' => $item_id]); + DI::logger()->info('Mark item for deletion by id', ['id' => $item_id]); // locate item to be deleted $fields = [ 'id', 'uri', 'uri-id', 'uid', 'parent', 'parent-uri-id', 'origin', @@ -357,12 +356,12 @@ class Item ]; $item = Post::selectFirst($fields, ['id' => $item_id]); if (!DBA::isResult($item)) { - Logger::info('Item not found.', ['id' => $item_id]); + DI::logger()->info('Item not found.', ['id' => $item_id]); return false; } if ($item['deleted']) { - Logger::info('Item has already been marked for deletion.', ['id' => $item_id]); + DI::logger()->info('Item has already been marked for deletion.', ['id' => $item_id]); return false; } @@ -444,7 +443,7 @@ class Item Post\Counts::update($item['thr-parent-id'], $item['parent-uri-id'], $item['vid'], $item['verb'], $item['body']); } - Logger::info('Item has been marked for deletion.', ['id' => $item_id]); + DI::logger()->info('Item has been marked for deletion.', ['id' => $item_id]); return true; } @@ -554,7 +553,7 @@ class Item return $contact_id; } - Logger::warning('contact-id could not be fetched, using self contact instead.', ['uid' => $item['uid'], 'item' => $item]); + DI::logger()->warning('contact-id could not be fetched, using self contact instead.', ['uid' => $item['uid'], 'item' => $item]); $self = Contact::selectFirst(['id'], ['self' => true, 'uid' => $item['uid']]); return $self['id']; } @@ -577,7 +576,7 @@ class Item $spool = $spoolpath . '/' . $file; file_put_contents($spool, json_encode($item)); - Logger::warning("Item wasn't stored - Item was spooled into file", ['file' => $file]); + DI::logger()->warning("Item wasn't stored - Item was spooled into file", ['file' => $file]); } } @@ -592,7 +591,7 @@ class Item // Checking if there is already an item with the same guid $condition = ['guid' => $item['guid'], 'network' => $item['network'], 'uid' => $item['uid']]; if (Post::exists($condition)) { - Logger::notice('Found already existing item', $condition); + DI::logger()->notice('Found already existing item', $condition); return true; } @@ -601,7 +600,7 @@ class Item 'network' => [$item['network'], Protocol::DFRN] ]; if (Post::exists($condition)) { - Logger::notice('duplicated item with the same uri found.', $condition); + DI::logger()->notice('duplicated item with the same uri found.', $condition); return true; } @@ -609,7 +608,7 @@ class Item if (in_array($item['network'], [Protocol::DFRN, Protocol::DIASPORA])) { $condition = ['guid' => $item['guid'], 'uid' => $item['uid']]; if (Post::exists($condition)) { - Logger::notice('duplicated item with the same guid found.', $condition); + DI::logger()->notice('duplicated item with the same guid found.', $condition); return true; } } @@ -620,7 +619,7 @@ class Item * An unique index would help - but the limitations of MySQL (maximum size of index values) prevent this. */ if (($item['uid'] == 0) && Post::exists(['uri-id' => $item['uri-id'], 'uid' => 0])) { - Logger::notice('Global item already stored.', ['uri-id' => $item['uri-id'], 'network' => $item['network']]); + DI::logger()->notice('Global item already stored.', ['uri-id' => $item['uri-id'], 'network' => $item['network']]); return true; } @@ -637,47 +636,47 @@ class Item { // When there is no content then we don't post it if (($item['body'] . $item['title'] == '') && empty($item['quote-uri-id']) && empty($item['attachments']) && (empty($item['uri-id']) || !Post\Media::existsByURIId($item['uri-id']))) { - Logger::notice('No body, no title.'); + DI::logger()->notice('No body, no title.'); return false; } if (!empty($item['uid'])) { $owner = User::getOwnerDataById($item['uid'], false); if (!$owner) { - Logger::warning('Missing item user owner data', ['uid' => $item['uid']]); + DI::logger()->warning('Missing item user owner data', ['uid' => $item['uid']]); return false; } if ($owner['account_expired'] || $owner['account_removed']) { - Logger::notice('Item user has been deleted/expired/removed', ['uid' => $item['uid'], 'deleted' => $owner['deleted'], 'account_expired' => $owner['account_expired'], 'account_removed' => $owner['account_removed']]); + DI::logger()->notice('Item user has been deleted/expired/removed', ['uid' => $item['uid'], 'deleted' => $owner['deleted'], 'account_expired' => $owner['account_expired'], 'account_removed' => $owner['account_removed']]); return false; } } if (!empty($item['author-id']) && Contact::isBlocked($item['author-id'])) { - Logger::notice('Author is blocked node-wide', ['author-link' => $item['author-link'], 'item-uri' => $item['uri']]); + DI::logger()->notice('Author is blocked node-wide', ['author-link' => $item['author-link'], 'item-uri' => $item['uri']]); return false; } if (!empty($item['author-link']) && Network::isUrlBlocked($item['author-link'])) { - Logger::notice('Author server is blocked', ['author-link' => $item['author-link'], 'item-uri' => $item['uri']]); + DI::logger()->notice('Author server is blocked', ['author-link' => $item['author-link'], 'item-uri' => $item['uri']]); return false; } if (!empty($item['owner-id']) && Contact::isBlocked($item['owner-id'])) { - Logger::notice('Owner is blocked node-wide', ['owner-link' => $item['owner-link'], 'item-uri' => $item['uri']]); + DI::logger()->notice('Owner is blocked node-wide', ['owner-link' => $item['owner-link'], 'item-uri' => $item['uri']]); return false; } if (!empty($item['owner-link']) && Network::isUrlBlocked($item['owner-link'])) { - Logger::notice('Owner server is blocked', ['owner-link' => $item['owner-link'], 'item-uri' => $item['uri']]); + DI::logger()->notice('Owner server is blocked', ['owner-link' => $item['owner-link'], 'item-uri' => $item['uri']]); return false; } if ($item['verb'] == Activity::FOLLOW) { if (!$item['origin'] && ($item['author-id'] == Contact::getPublicIdByUserId($item['uid']))) { // Our own follow request can be relayed to us. We don't store it to avoid notification chaos. - Logger::info("Follow: Don't store not origin follow request", ['parent-uri' => $item['parent-uri']]); + DI::logger()->info("Follow: Don't store not origin follow request", ['parent-uri' => $item['parent-uri']]); return false; } @@ -687,7 +686,7 @@ class Item ]; if (Post::exists($condition)) { // It happens that we receive multiple follow requests by the same author - we only store one. - Logger::info('Follow: Found existing follow request from author', ['author-id' => $item['author-id'], 'parent-uri' => $item['parent-uri']]); + DI::logger()->info('Follow: Found existing follow request from author', ['author-id' => $item['author-id'], 'parent-uri' => $item['parent-uri']]); return false; } } @@ -716,7 +715,7 @@ class Item if (DBA::isResult($existing)) { // We only log the entries with a different user id than 0. Otherwise we would have too many false positives if ($item['uid'] != 0) { - Logger::notice('Item already existed for user', [ + DI::logger()->notice('Item already existed for user', [ 'uri-id' => $item['uri-id'], 'uid' => $item['uid'], 'network' => $item['network'], @@ -776,18 +775,18 @@ class Item $stored = Item::storeForUserByUriId($item['parent-uri-id'], $item['uid'], ['post-reason' => Item::PR_COMPLETION]); } if ($stored) { - Logger::info('Stored thread parent item for user', ['uri-id' => $item['thr-parent-id'], 'uid' => $item['uid'], 'stored' => $stored]); + DI::logger()->info('Stored thread parent item for user', ['uri-id' => $item['thr-parent-id'], 'uid' => $item['uid'], 'stored' => $stored]); $parent = Post::selectFirst($fields, $condition, $params); } } if (!DBA::isResult($parent)) { - Logger::notice('item parent was not found - ignoring item', ['uri-id' => $item['uri-id'], 'thr-parent-id' => $item['thr-parent-id'], 'uid' => $item['uid']]); + DI::logger()->notice('item parent was not found - ignoring item', ['uri-id' => $item['uri-id'], 'thr-parent-id' => $item['thr-parent-id'], 'uid' => $item['uid']]); return []; } if (self::hasRestrictions($item, $parent['author-id'], $parent['restrictions'])) { - Logger::notice('Restrictions apply - ignoring item', ['restrictions' => $parent['restrictions'], 'verb' => $parent['verb'], 'uri-id' => $item['uri-id'], 'thr-parent-id' => $item['thr-parent-id'], 'uid' => $item['uid']]); + DI::logger()->notice('Restrictions apply - ignoring item', ['restrictions' => $parent['restrictions'], 'verb' => $parent['verb'], 'uri-id' => $item['uri-id'], 'thr-parent-id' => $item['thr-parent-id'], 'uid' => $item['uid']]); return []; } @@ -805,12 +804,12 @@ class Item if (!DBA::isResult($toplevel_parent) && $item['origin']) { $stored = Item::storeForUserByUriId($item['parent-uri-id'], $item['uid'], ['post-reason' => Item::PR_COMPLETION]); - Logger::info('Stored parent item for user', ['uri-id' => $item['parent-uri-id'], 'uid' => $item['uid'], 'stored' => $stored]); + DI::logger()->info('Stored parent item for user', ['uri-id' => $item['parent-uri-id'], 'uid' => $item['uid'], 'stored' => $stored]); $toplevel_parent = Post::selectFirst($fields, $condition, $params); } if (!DBA::isResult($toplevel_parent)) { - Logger::notice('item top level parent was not found - ignoring item', ['parent-uri-id' => $parent['parent-uri-id'], 'uid' => $parent['uid']]); + DI::logger()->notice('item top level parent was not found - ignoring item', ['parent-uri-id' => $parent['parent-uri-id'], 'uid' => $parent['uid']]); return []; } @@ -839,7 +838,7 @@ class Item return self::GRAVITY_ACTIVITY; } - Logger::info('Unknown gravity for verb', ['verb' => $item['verb']]); + DI::logger()->info('Unknown gravity for verb', ['verb' => $item['verb']]); return self::GRAVITY_UNKNOWN; // Should not happen } @@ -971,7 +970,7 @@ class Item if (($uid != 0) && ($item['network'] == Protocol::DIASPORA)) { $user = User::getById($uid, ['account-type']); if ($user['account-type'] == Contact::TYPE_COMMUNITY) { - Logger::info('Community posts are not supported via Diaspora'); + DI::logger()->info('Community posts are not supported via Diaspora'); return 0; } } @@ -1014,7 +1013,7 @@ class Item !empty($item['direction']) && in_array($item['direction'], [Conversation::PUSH, Conversation::RELAY]) && empty($item['origin']) && DI::contentItem()->isTooOld($item['created'], $item['uid']) ) { - Logger::info('Item is too old', ['item' => $item]); + DI::logger()->info('Item is too old', ['item' => $item]); return 0; } @@ -1067,7 +1066,7 @@ class Item // If its a post that originated here then tag the thread as "mention" if ($item['origin'] && $item['uid']) { DBA::update('post-thread-user', ['mention' => true], ['uri-id' => $item['parent-uri-id'], 'uid' => $item['uid']]); - Logger::info('tagged thread as mention', ['parent' => $parent_id, 'parent-uri-id' => $item['parent-uri-id'], 'uid' => $item['uid']]); + DI::logger()->info('tagged thread as mention', ['parent' => $parent_id, 'parent-uri-id' => $item['parent-uri-id'], 'uid' => $item['uid']]); } // Update the contact relations @@ -1149,7 +1148,7 @@ class Item } if (!empty($item['cancel'])) { - Logger::notice('post cancelled by addon.'); + DI::logger()->notice('post cancelled by addon.'); return 0; } @@ -1193,13 +1192,13 @@ class Item if (!empty($quote_id)) { // This is one of these "should not happen" situations. // The protocol implementations should already have done this job. - Logger::notice('Quote-uri-id detected in post', ['id' => $quote_id, 'guid' => $item['guid'], 'uri-id' => $item['uri-id']]); + DI::logger()->notice('Quote-uri-id detected in post', ['id' => $quote_id, 'guid' => $item['guid'], 'uri-id' => $item['uri-id']]); $item['quote-uri-id'] = $quote_id; } } if (!empty($item['quote-uri-id']) && ($item['quote-uri-id'] == $item['uri-id'])) { - Logger::info('Quote-Uri-Id is identical to Uri-Id', ['uri-id' => $item['uri-id'], 'guid' => $item['guid']]); + DI::logger()->info('Quote-Uri-Id is identical to Uri-Id', ['uri-id' => $item['uri-id'], 'guid' => $item['guid']]); unset($item['quote-uri-id']); } @@ -1232,7 +1231,7 @@ class Item if ($item['origin'] && empty($item['quote-uri-id'])) { $quote_id = Post\Media::getActivityUriId($item['uri-id']); if (!empty($quote_id)) { - Logger::notice('Found attached post', ['id' => $quote_id, 'guid' => $item['guid'], 'uri-id' => $item['uri-id']]); + DI::logger()->notice('Found attached post', ['id' => $quote_id, 'guid' => $item['guid'], 'uri-id' => $item['uri-id']]); $item['quote-uri-id'] = $quote_id; } } @@ -1242,7 +1241,7 @@ class Item $ev = Event::fromBBCode($item['body']); if ((!empty($ev['desc']) || !empty($ev['summary'])) && !empty($ev['start'])) { - Logger::info('Event found.'); + DI::logger()->info('Event found.'); $ev['cid'] = $item['contact-id']; $ev['uid'] = $item['uid']; $ev['uri'] = $item['uri']; @@ -1263,7 +1262,7 @@ class Item $event_id = Event::store($ev); $item = Event::getItemArrayForImportedId($event_id, $item); - Logger::info('Event was stored', ['id' => $event_id]); + DI::logger()->info('Event was stored', ['id' => $event_id]); } } @@ -1328,13 +1327,13 @@ class Item $condition = ['uri-id' => $item['uri-id'], 'uid' => $item['uid']]; if (Post::exists($condition)) { - Logger::notice('Item is already inserted - aborting', $condition); + DI::logger()->notice('Item is already inserted - aborting', $condition); return 0; } $post_user_id = Post\User::insert($item['uri-id'], $item['uid'], $item); if (!$post_user_id) { - Logger::notice('Post-User is already inserted - aborting', ['uid' => $item['uid'], 'uri-id' => $item['uri-id']]); + DI::logger()->notice('Post-User is already inserted - aborting', ['uid' => $item['uid'], 'uri-id' => $item['uri-id']]); return 0; } @@ -1343,12 +1342,12 @@ class Item Post\ThreadUser::insert($item['uri-id'], $item['uid'], $item); } - Logger::notice('created item', ['post-id' => $post_user_id, 'uid' => $item['uid'], 'network' => $item['network'], 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); + DI::logger()->notice('created item', ['post-id' => $post_user_id, 'uid' => $item['uid'], 'network' => $item['network'], 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); $posted_item = Post::selectFirst(self::ITEM_FIELDLIST, ['post-user-id' => $post_user_id]); if (!DBA::isResult($posted_item)) { // On failure store the data into a spool file so that the "SpoolPost" worker can try again later. - Logger::warning('Could not store item. it will be spooled', ['id' => $post_user_id]); + DI::logger()->warning('Could not store item. it will be spooled', ['id' => $post_user_id]); self::spool($orig_item); return 0; } @@ -1385,7 +1384,7 @@ class Item // Get the user information for the logging $user = User::getById($uid); - Logger::notice('Item had been deleted', ['id' => $post_user_id, 'user' => $uid, 'account-type' => $user['account-type']]); + DI::logger()->notice('Item had been deleted', ['id' => $post_user_id, 'user' => $uid, 'account-type' => $user['account-type']]); return 0; } @@ -1418,15 +1417,15 @@ class Item if ($transmit) { if ($posted_item['uid'] && Contact\User::isBlocked($posted_item['author-id'], $posted_item['uid'])) { - Logger::info('Message from blocked author will not be relayed', ['item' => $posted_item['id'], 'uri' => $posted_item['uri'], 'cid' => $posted_item['author-id']]); + DI::logger()->info('Message from blocked author will not be relayed', ['item' => $posted_item['id'], 'uri' => $posted_item['uri'], 'cid' => $posted_item['author-id']]); $transmit = false; } if ($transmit && $posted_item['uid'] && Contact\User::isBlocked($posted_item['owner-id'], $posted_item['uid'])) { - Logger::info('Message from blocked owner will not be relayed', ['item' => $posted_item['id'], 'uri' => $posted_item['uri'], 'cid' => $posted_item['owner-id']]); + DI::logger()->info('Message from blocked owner will not be relayed', ['item' => $posted_item['id'], 'uri' => $posted_item['uri'], 'cid' => $posted_item['owner-id']]); $transmit = false; } if ($transmit && !empty($posted_item['causer-id']) && $posted_item['uid'] && Contact\User::isBlocked($posted_item['causer-id'], $posted_item['uid'])) { - Logger::info('Message from blocked causer will not be relayed', ['item' => $posted_item['id'], 'uri' => $posted_item['uri'], 'cid' => $posted_item['causer-id']]); + DI::logger()->info('Message from blocked causer will not be relayed', ['item' => $posted_item['id'], 'uri' => $posted_item['uri'], 'cid' => $posted_item['causer-id']]); $transmit = false; } @@ -1434,7 +1433,7 @@ class Item if (($posted_item['verb'] == Activity::FOLLOW) && (!$posted_item['origin'] || ($posted_item['author-id'] != Contact::getPublicIdByUserId($uid))) ) { - Logger::info('Participation messages will not be relayed', ['item' => $posted_item['id'], 'uri' => $posted_item['uri'], 'verb' => $posted_item['verb']]); + DI::logger()->info('Participation messages will not be relayed', ['item' => $posted_item['id'], 'uri' => $posted_item['uri'], 'verb' => $posted_item['verb']]); $transmit = false; } } @@ -1520,25 +1519,25 @@ class Item $item = Post::selectFirst(['id', 'private', 'network', 'language', 'owner-id'], ['uri-id' => $uri_id, 'uid' => 0]); if (empty($item['id'])) { - Logger::debug('Post not found', ['uri-id' => $uri_id]); + DI::logger()->debug('Post not found', ['uri-id' => $uri_id]); return; } if (($item['private'] != self::PUBLIC) || !in_array($item['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN])) { - Logger::debug('Not a public post or no AP or DFRN post', ['uri-id' => $uri_id]); + DI::logger()->debug('Not a public post or no AP or DFRN post', ['uri-id' => $uri_id]); return; } $engagement = DBA::selectFirst('post-engagement', ['searchtext', 'media-type'], ['uri-id' => $uri_id]); if (empty($engagement['searchtext'])) { - Logger::debug('No engagement found', ['uri-id' => $uri_id]); + DI::logger()->debug('No engagement found', ['uri-id' => $uri_id]); return; } $language = !empty($item['language']) ? array_key_first(json_decode($item['language'], true)) : ''; $tags = array_column(Tag::getByURIId($uri_id, [Tag::HASHTAG]), 'name'); - Logger::debug('Prepare check', ['uri-id' => $uri_id, 'language' => $language, 'tags' => $tags, 'searchtext' => $engagement['searchtext'], 'media_type' => $engagement['media-type'], 'owner' => $item['owner-id'], 'reshare' => $reshare_id]); + DI::logger()->debug('Prepare check', ['uri-id' => $uri_id, 'language' => $language, 'tags' => $tags, 'searchtext' => $engagement['searchtext'], 'media_type' => $engagement['media-type'], 'owner' => $item['owner-id'], 'reshare' => $reshare_id]); $count = 0; foreach (DI::userDefinedChannel()->getMatchingChannelUsers($engagement['searchtext'], $language, $tags, $engagement['media-type'], $item['owner-id'], $reshare_id) as $uid) { @@ -1547,19 +1546,19 @@ class Item 'author-id' => Contact::getPublicIdByUserId($uid), 'uid' => $uid, 'thr-parent-id' => $uri_id ]; if (!Post::exists($condition)) { - Logger::debug('Reshare post', ['uid' => $uid, 'uri-id' => $uri_id]); + DI::logger()->debug('Reshare post', ['uid' => $uid, 'uri-id' => $uri_id]); $allow_cid = ''; $allow_gid = '<' . Circle::FOLLOWERS . '>'; $deny_cid = ''; $deny_gid = ''; self::performActivity($item['id'], 'announce', $uid, $allow_cid, $allow_gid, $deny_cid, $deny_gid); } else { - Logger::debug('Reshare already exists', ['uid' => $uid, 'uri-id' => $uri_id]); + DI::logger()->debug('Reshare already exists', ['uid' => $uid, 'uri-id' => $uri_id]); } $count++; } - Logger::debug('Check done', ['uri-id' => $uri_id, 'count' => $count]); + DI::logger()->debug('Check done', ['uri-id' => $uri_id, 'count' => $count]); } /** @@ -1622,13 +1621,13 @@ class Item ['uri-id' => $item['thr-parent-id'], 'uid' => $item['uid']] ); if (!DBA::isResult($parent)) { - Logger::error('Parent not found', ['uri-id' => $item['thr-parent-id'], 'uid' => $item['uid']]); + DI::logger()->error('Parent not found', ['uri-id' => $item['thr-parent-id'], 'uid' => $item['uid']]); return; } $author = Contact::selectFirst(['url', 'contact-type', 'network'], ['id' => $item['author-id']]); if (!DBA::isResult($author)) { - Logger::error('Author not found', ['id' => $item['author-id']]); + DI::logger()->error('Author not found', ['id' => $item['author-id']]); return; } @@ -1637,24 +1636,24 @@ class Item $cid = Contact::getIdForURL($author['url'], $item['uid']); if (empty($cid) || (!Contact::isSharing($cid, $item['uid']) && ($cid != $self))) { - Logger::info('The resharer is not a following contact: quit', ['resharer' => $author['url'], 'uid' => $item['uid'], 'cid' => $cid]); + DI::logger()->info('The resharer is not a following contact: quit', ['resharer' => $author['url'], 'uid' => $item['uid'], 'cid' => $cid]); return; } if ($author['contact-type'] != Contact::TYPE_COMMUNITY) { if ($parent['post-reason'] == self::PR_ANNOUNCEMENT) { - Logger::info('The parent is already marked as announced: quit', ['causer' => $parent['causer-id'], 'owner' => $parent['owner-id'], 'author' => $parent['author-id'], 'uid' => $item['uid']]); + DI::logger()->info('The parent is already marked as announced: quit', ['causer' => $parent['causer-id'], 'owner' => $parent['owner-id'], 'author' => $parent['author-id'], 'uid' => $item['uid']]); return; } if (Contact::isSharing($parent['owner-id'], $item['uid'])) { - Logger::info('The resharer is no group: quit', ['resharer' => $item['author-id'], 'owner' => $parent['owner-id'], 'author' => $parent['author-id'], 'uid' => $item['uid']]); + DI::logger()->info('The resharer is no group: quit', ['resharer' => $item['author-id'], 'owner' => $parent['owner-id'], 'author' => $parent['author-id'], 'uid' => $item['uid']]); return; } } self::update(['post-reason' => self::PR_ANNOUNCEMENT, 'causer-id' => $item['author-id']], ['id' => $parent['id']]); - Logger::info('Set announcement post-reason', ['uri-id' => $item['uri-id'], 'thr-parent-id' => $item['thr-parent-id'], 'uid' => $item['uid']]); + DI::logger()->info('Set announcement post-reason', ['uri-id' => $item['uri-id'], 'thr-parent-id' => $item['thr-parent-id'], 'uid' => $item['uid']]); } /** @@ -1680,18 +1679,18 @@ class Item } } if ($keep) { - Logger::debug('Wanted languages found', ['uid' => $uid, 'user-languages' => $user_languages, 'item-languages' => $languages]); + DI::logger()->debug('Wanted languages found', ['uid' => $uid, 'user-languages' => $user_languages, 'item-languages' => $languages]); } else { - Logger::debug('No wanted languages found', ['uid' => $uid, 'user-languages' => $user_languages, 'item-languages' => $languages]); + DI::logger()->debug('No wanted languages found', ['uid' => $uid, 'user-languages' => $user_languages, 'item-languages' => $languages]); continue; } } $stored = self::storeForUserByUriId($item['uri-id'], $uid, ['post-reason' => self::PR_TAG]); - Logger::info('Stored item for users', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'stored' => $stored]); + DI::logger()->info('Stored item for users', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'stored' => $stored]); foreach ($tags as $tag) { $stored = Category::storeFileByURIId($item['uri-id'], $uid, Category::SUBCRIPTION, $tag); - Logger::debug('Stored tag subscription for user', ['uri-id' => $item['uri-id'], 'uid' => $uid, $tag, 'stored' => $stored]); + DI::logger()->debug('Stored tag subscription for user', ['uri-id' => $item['uri-id'], 'uid' => $uid, $tag, 'stored' => $stored]); } } } @@ -1708,7 +1707,7 @@ class Item $condition = ["`id` IN (SELECT `parent` FROM `post-user-view` WHERE `id` = ?)", $itemid]; $parent = Post::selectFirst(['owner-id'], $condition); if (!DBA::isResult($parent)) { - Logger::warning('Item not found', ['condition' => $condition]); + DI::logger()->warning('Item not found', ['condition' => $condition]); return; } @@ -1720,7 +1719,7 @@ class Item ]; $item = Post::selectFirst(array_merge(self::ITEM_FIELDLIST, ['protocol']), $condition); if (!DBA::isResult($item)) { - Logger::warning('Item not found', ['condition' => $condition]); + DI::logger()->warning('Item not found', ['condition' => $condition]); return; } @@ -1803,26 +1802,26 @@ class Item public static function storeForUserByUriId(int $uri_id, int $uid, array $fields = [], int $source_uid = 0): int { if ($uid == $source_uid) { - Logger::warning('target UID must not be be equal to the source UID', ['uri-id' => $uri_id, 'uid' => $uid]); + DI::logger()->warning('target UID must not be be equal to the source UID', ['uri-id' => $uri_id, 'uid' => $uid]); return 0; } $item = Post::selectFirst(array_merge(self::ITEM_FIELDLIST, ['protocol']), ['uri-id' => $uri_id, 'uid' => $source_uid]); if (!DBA::isResult($item)) { - Logger::warning('Item could not be fetched', ['uri-id' => $uri_id, 'uid' => $source_uid]); + DI::logger()->warning('Item could not be fetched', ['uri-id' => $uri_id, 'uid' => $source_uid]); return 0; } if (($uid != 0) && ($item['gravity'] == self::GRAVITY_PARENT)) { $owner = User::getOwnerDataById($uid); if (($owner['contact-type'] == User::ACCOUNT_TYPE_COMMUNITY) && !Tag::isMentioned($uri_id, $owner['url'])) { - Logger::info('Target user is a group but is not mentioned here, thread will not be stored', ['uid' => $uid, 'uri-id' => $uri_id]); + DI::logger()->info('Target user is a group but is not mentioned here, thread will not be stored', ['uid' => $uid, 'uri-id' => $uri_id]); return 0; } } if (($source_uid == 0) && (($item['private'] == self::PRIVATE) || !in_array($item['network'], array_merge(Protocol::FEDERATED, [Protocol::BLUESKY])))) { - Logger::notice('Item is private or not from a federated network. It will not be stored for the user.', ['uri-id' => $uri_id, 'uid' => $uid, 'private' => $item['private'], 'network' => $item['network']]); + DI::logger()->notice('Item is private or not from a federated network. It will not be stored for the user.', ['uri-id' => $uri_id, 'uid' => $uid, 'private' => $item['private'], 'network' => $item['network']]); return 0; } @@ -1840,7 +1839,7 @@ class Item DI::pConfig()->get($uid, 'system', 'accept_only_sharer') == self::COMPLETION_NONE && !in_array($item['post-reason'], [self::PR_FOLLOWER, self::PR_TAG, self::PR_TO, self::PR_CC, self::PR_ACTIVITY, self::PR_AUDIENCE]) ) { - Logger::info('Contact is not a follower, thread will not be stored', ['author' => $item['author-link'], 'uid' => $uid, 'uri-id' => $uri_id, 'post-reason' => $item['post-reason']]); + DI::logger()->info('Contact is not a follower, thread will not be stored', ['author' => $item['author-link'], 'uid' => $uid, 'uri-id' => $uri_id, 'post-reason' => $item['post-reason']]); return 0; } @@ -1848,20 +1847,20 @@ class Item if (($uri_id != $item['parent-uri-id']) && ($item['gravity'] == self::GRAVITY_COMMENT) && !Post::exists(['uri-id' => $item['parent-uri-id'], 'uid' => $uid])) { if (!self::fetchParent($item['parent-uri-id'], $uid, $causer)) { - Logger::info('Parent post had not been added', ['uri-id' => $item['parent-uri-id'], 'uid' => $uid, 'causer' => $causer]); + DI::logger()->info('Parent post had not been added', ['uri-id' => $item['parent-uri-id'], 'uid' => $uid, 'causer' => $causer]); return 0; } - Logger::info('Fetched parent post', ['uri-id' => $item['parent-uri-id'], 'uid' => $uid, 'causer' => $causer]); + DI::logger()->info('Fetched parent post', ['uri-id' => $item['parent-uri-id'], 'uid' => $uid, 'causer' => $causer]); } elseif (($uri_id != $item['thr-parent-id']) && $is_reshare && !Post::exists(['uri-id' => $item['thr-parent-id'], 'uid' => $uid])) { if (!self::fetchParent($item['thr-parent-id'], $uid, $causer)) { - Logger::info('Thread parent had not been added', ['uri-id' => $item['thr-parent-id'], 'uid' => $uid, 'causer' => $causer]); + DI::logger()->info('Thread parent had not been added', ['uri-id' => $item['thr-parent-id'], 'uid' => $uid, 'causer' => $causer]); return 0; } - Logger::info('Fetched thread parent', ['uri-id' => $item['thr-parent-id'], 'uid' => $uid, 'causer' => $causer]); + DI::logger()->info('Fetched thread parent', ['uri-id' => $item['thr-parent-id'], 'uid' => $uid, 'causer' => $causer]); } $stored = self::storeForUser($item, $uid); - Logger::info('Item stored for user', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'causer' => $causer, 'source-uid' => $source_uid, 'stored' => $stored]); + DI::logger()->info('Item stored for user', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'causer' => $causer, 'source-uid' => $source_uid, 'stored' => $stored]); return $stored; } @@ -1879,7 +1878,7 @@ class Item // Fetch the origin user for the post $origin_uid = self::GetOriginUidForUriId($uri_id, $uid); if (is_null($origin_uid)) { - Logger::info('Origin item was not found', ['uid' => $uid, 'uri-id' => $uri_id]); + DI::logger()->info('Origin item was not found', ['uid' => $uid, 'uri-id' => $uri_id]); return 0; } @@ -1955,11 +1954,11 @@ class Item if (!empty($event)) { // We aren't using "Event::store" here, since we don't want to trigger any further action $ret = DBA::update('event', $event, ['id' => $event_post['event-id']]); - Logger::info('Event updated', ['uid' => $uid, 'source-event' => $item['event-id'], 'target-event' => $event_post['event-id'], 'ret' => $ret]); + DI::logger()->info('Event updated', ['uid' => $uid, 'source-event' => $item['event-id'], 'target-event' => $event_post['event-id'], 'ret' => $ret]); } } } - Logger::info('Item already exists', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'id' => $post['id']]); + DI::logger()->info('Item already exists', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'id' => $post['id']]); return $post['id']; } @@ -1997,9 +1996,9 @@ class Item $distributed = self::insert($item, $notify); if (!$distributed) { - Logger::info("Distributed item wasn't stored", ['uri-id' => $item['uri-id'], 'user' => $uid]); + DI::logger()->info("Distributed item wasn't stored", ['uri-id' => $item['uri-id'], 'user' => $uid]); } else { - Logger::info('Distributed item was stored', ['uri-id' => $item['uri-id'], 'user' => $uid, 'stored' => $distributed]); + DI::logger()->info('Distributed item was stored', ['uri-id' => $item['uri-id'], 'user' => $uid, 'stored' => $distributed]); } return $distributed; } @@ -2065,7 +2064,7 @@ class Item $public_shadow = self::insert($item); - Logger::info('Stored public shadow', ['thread' => $itemid, 'id' => $public_shadow]); + DI::logger()->info('Stored public shadow', ['thread' => $itemid, 'id' => $public_shadow]); } } @@ -2124,7 +2123,7 @@ class Item $public_shadow = self::insert($item); - Logger::info('Stored public shadow', ['uri-id' => $item['uri-id'], 'id' => $public_shadow]); + DI::logger()->info('Stored public shadow', ['uri-id' => $item['uri-id'], 'id' => $public_shadow]); // If this was a comment to a Diaspora post we don't get our comment back. // This means that we have to distribute the comment by ourselves. @@ -2194,7 +2193,7 @@ class Item $author = Contact::selectFirst(['about'], ['id' => $author_id]); if (!empty($author['about'])) { $about = BBCode::toSearchText($author['about'], 0); - Logger::debug('About field added', ['author' => $author_id, 'body' => $searchtext, 'about' => $about]); + DI::logger()->debug('About field added', ['author' => $author_id, 'body' => $searchtext, 'about' => $about]); $searchtext .= ' ' . $about; } } @@ -2375,7 +2374,7 @@ class Item $hostPart = $host ?: $parsed['host'] ?? ''; if (!$hostPart) { - Logger::warning('Empty host GUID part', ['uri' => $uri, 'host' => $host, 'parsed' => $parsed]); + DI::logger()->warning('Empty host GUID part', ['uri' => $uri, 'host' => $host, 'parsed' => $parsed]); } // Glue it together to be able to make a hash from it @@ -2560,26 +2559,26 @@ class Item { $owner = User::getOwnerDataById($uid); if (!DBA::isResult($owner)) { - Logger::warning('User not found, quitting here.', ['uid' => $uid]); + DI::logger()->warning('User not found, quitting here.', ['uid' => $uid]); return false; } if ($owner['contact-type'] != User::ACCOUNT_TYPE_COMMUNITY) { - Logger::debug('Owner is no community, quitting here.', ['uid' => $uid, 'id' => $item_id]); + DI::logger()->debug('Owner is no community, quitting here.', ['uid' => $uid, 'id' => $item_id]); return false; } $item = Post::selectFirst(self::ITEM_FIELDLIST, ['id' => $item_id, 'gravity' => [self::GRAVITY_PARENT, self::GRAVITY_COMMENT], 'origin' => false]); if (!DBA::isResult($item)) { - Logger::debug('Post is an activity or origin or not found at all, quitting here.', ['id' => $item_id]); + DI::logger()->debug('Post is an activity or origin or not found at all, quitting here.', ['id' => $item_id]); return false; } if ($item['gravity'] == self::GRAVITY_PARENT) { if (Tag::isMentioned($item['uri-id'], $owner['url'])) { - Logger::info('Mention found in tag.', ['uri' => $item['uri'], 'uid' => $uid, 'id' => $item_id, 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); + DI::logger()->info('Mention found in tag.', ['uri' => $item['uri'], 'uid' => $uid, 'id' => $item_id, 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); } else { - Logger::info('Top-level post without mention is deleted.', ['uri' => $item['uri'], $uid, 'id' => $item_id, 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); + DI::logger()->info('Top-level post without mention is deleted.', ['uri' => $item['uri'], $uid, 'id' => $item_id, 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); Post\User::delete(['uri-id' => $item['uri-id'], 'uid' => $item['uid']]); return true; } @@ -2589,14 +2588,14 @@ class Item Hook::callAll('tagged', $arr); } else { if (Tag::isMentioned($item['parent-uri-id'], $owner['url'])) { - Logger::info('Mention found in parent tag.', ['uri' => $item['uri'], 'uid' => $uid, 'id' => $item_id, 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); + DI::logger()->info('Mention found in parent tag.', ['uri' => $item['uri'], 'uid' => $uid, 'id' => $item_id, 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); } else { - Logger::debug('No mentions found in parent, quitting here.', ['id' => $item_id, 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); + DI::logger()->debug('No mentions found in parent, quitting here.', ['id' => $item_id, 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); return false; } } - Logger::info('Community post will be distributed', ['uri' => $item['uri'], 'uid' => $uid, 'id' => $item_id, 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); + DI::logger()->info('Community post will be distributed', ['uri' => $item['uri'], 'uid' => $uid, 'id' => $item_id, 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); if ($owner['page-flags'] == User::PAGE_FLAGS_PRVGROUP) { $allow_cid = ''; @@ -2608,7 +2607,7 @@ class Item self::performActivity($item['id'], 'announce', $uid); } - Logger::info('Community post had been distributed', ['uri' => $item['uri'], 'uid' => $uid, 'id' => $item_id, 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); + DI::logger()->info('Community post had been distributed', ['uri' => $item['uri'], 'uid' => $uid, 'id' => $item_id, 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]); return false; } @@ -2641,7 +2640,7 @@ class Item return; } - Logger::info('Automatically reshare item', ['uid' => $item['uid'], 'id' => $item['id'], 'guid' => $item['guid'], 'uri-id' => $item['uri-id']]); + DI::logger()->info('Automatically reshare item', ['uid' => $item['uid'], 'id' => $item['id'], 'guid' => $item['guid'], 'uri-id' => $item['uri-id']]); self::performActivity($item['id'], 'announce', $item['uid']); } @@ -2654,34 +2653,34 @@ class Item // Prevent the forwarding of posts that are forwarded if (!empty($datarray['extid']) && ($datarray['extid'] == Protocol::DFRN)) { - Logger::info('Already forwarded'); + DI::logger()->info('Already forwarded'); return false; } // Prevent to forward already forwarded posts if ($datarray['app'] == DI::baseUrl()->getHost()) { - Logger::info('Already forwarded (second test)'); + DI::logger()->info('Already forwarded (second test)'); return false; } // Only forward posts if ($datarray['verb'] != Activity::POST) { - Logger::info('No post'); + DI::logger()->info('No post'); return false; } if (($contact['network'] != Protocol::FEED) && ($datarray['private'] == self::PRIVATE)) { - Logger::info('Not public'); + DI::logger()->info('Not public'); return false; } if (User::getById($contact['uid'], ['blocked'])['blocked'] ?? false) { - Logger::info('User is blocked', ['contact' => $contact]); + DI::logger()->info('User is blocked', ['contact' => $contact]); return false; } $datarray2 = $datarray; - Logger::info('remote-self start', ['contact' => $contact['url'], 'remote_self' => $contact['remote_self'], 'item' => $datarray]); + DI::logger()->info('remote-self start', ['contact' => $contact['url'], 'remote_self' => $contact['remote_self'], 'item' => $datarray]); $self = DBA::selectFirst( 'contact', @@ -2689,7 +2688,7 @@ class Item ['uid' => $contact['uid'], 'self' => true] ); if (!DBA::isResult($self)) { - Logger::error('Self contact not found', ['uid' => $contact['uid']]); + DI::logger()->error('Self contact not found', ['uid' => $contact['uid']]); return false; } @@ -2723,7 +2722,7 @@ class Item // Store the original post $result = self::insert($datarray2); - Logger::info('remote-self post original item', ['contact' => $contact['url'], 'result' => $result, 'item' => $datarray2]); + DI::logger()->info('remote-self post original item', ['contact' => $contact['url'], 'result' => $result, 'item' => $datarray2]); } else { $datarray['app'] = 'Feed'; $result = true; @@ -2752,7 +2751,7 @@ class Item return $s; } - Logger::info('check for photos'); + DI::logger()->info('check for photos'); $site = substr(DI::baseUrl(), strpos(DI::baseUrl(), '://')); $orig_body = $s; @@ -2766,7 +2765,7 @@ class Item $img_st_close++; // make it point to AFTER the closing bracket $image = substr($orig_body, $img_start + $img_st_close, $img_len); - Logger::info('found photo', ['image' => $image]); + DI::logger()->info('found photo', ['image' => $image]); if (stristr($image, $site . '/photo/')) { // Only embed locally hosted photos @@ -2805,7 +2804,7 @@ class Item $photo_img = Photo::getImageForPhoto($photo); // If a custom width and height were specified, apply before embedding if (preg_match("/\[img\=([0-9]*)x([0-9]*)\]/is", substr($orig_body, $img_start, $img_st_close), $match)) { - Logger::info('scaling photo'); + DI::logger()->info('scaling photo'); $width = intval($match[1]); $height = intval($match[2]); @@ -2816,9 +2815,9 @@ class Item $data = $photo_img->asString(); $type = $photo_img->getType(); - Logger::info('replacing photo'); + DI::logger()->info('replacing photo'); $image = 'data:' . $type . ';base64,' . base64_encode($data); - Logger::debug('replaced', ['image' => $image]); + DI::logger()->debug('replaced', ['image' => $image]); } } } @@ -2968,7 +2967,7 @@ class Item ++$expired; } DBA::close($items); - Logger::notice('Expired', ['user' => $uid, 'days' => $days, 'network' => $network, 'force' => $force, 'expired' => $expired, 'expire items' => $expire_items, 'expire notes' => $expire_notes, 'expire starred' => $expire_starred, 'expire photos' => $expire_photos, 'condition' => $condition]); + DI::logger()->notice('Expired', ['user' => $uid, 'days' => $days, 'network' => $network, 'force' => $force, 'expired' => $expired, 'expire items' => $expire_items, 'expire notes' => $expire_notes, 'expire starred' => $expire_starred, 'expire photos' => $expire_photos, 'condition' => $condition]); return $expired; } @@ -3021,11 +3020,11 @@ class Item return false; } - Logger::notice('Start create activity', ['verb' => $verb, 'item' => $item_id, 'user' => $uid]); + DI::logger()->notice('Start create activity', ['verb' => $verb, 'item' => $item_id, 'user' => $uid]); $item = Post::selectFirst(self::ITEM_FIELDLIST, ['id' => $item_id]); if (!DBA::isResult($item)) { - Logger::warning('Post had not been fetched', ['id' => $item_id]); + DI::logger()->warning('Post had not been fetched', ['id' => $item_id]); return false; } @@ -3040,7 +3039,7 @@ class Item if (($item['parent-uri-id'] == $item['uri-id']) && !empty($stored)) { $item = Post::selectFirst(self::ITEM_FIELDLIST, ['id' => $stored]); if (!DBA::isResult($item)) { - Logger::info('Could not fetch just created item - should not happen', ['stored' => $stored, 'uid' => $uid, 'uri-id' => $uri_id]); + DI::logger()->info('Could not fetch just created item - should not happen', ['stored' => $stored, 'uid' => $uid, 'uri-id' => $uri_id]); return false; } } @@ -3049,14 +3048,14 @@ class Item // Retrieves the local post owner $owner = User::getOwnerDataById($uid); if (empty($owner)) { - Logger::info('Empty owner for user', ['uid' => $uid]); + DI::logger()->info('Empty owner for user', ['uid' => $uid]); return false; } // Retrieve the current logged in user's public contact $author_id = Contact::getPublicIdByUserId($uid); if (empty($author_id)) { - Logger::info('Empty public contact'); + DI::logger()->info('Empty public contact'); return false; } @@ -3091,7 +3090,7 @@ class Item $activity = Activity::ANNOUNCE; break; default: - Logger::warning('unknown verb', ['verb' => $verb, 'item' => $item_id]); + DI::logger()->warning('unknown verb', ['verb' => $verb, 'item' => $item_id]); return false; } @@ -4196,10 +4195,10 @@ class Item */ public static function fetchByLink(string $uri, int $uid = 0, int $completion = ActivityPub\Receiver::COMPLETION_MANUAL, string $mimetype = ''): int { - Logger::info('Trying to fetch link', ['uid' => $uid, 'uri' => $uri]); + DI::logger()->info('Trying to fetch link', ['uid' => $uid, 'uri' => $uri]); $item_id = self::searchByLink($uri, $uid); if (!empty($item_id)) { - Logger::info('Link found', ['uid' => $uid, 'uri' => $uri, 'id' => $item_id]); + DI::logger()->info('Link found', ['uid' => $uid, 'uri' => $uri, 'id' => $item_id]); return $item_id; } @@ -4216,7 +4215,7 @@ class Item Hook::callAll('item_by_link', $hookData); if (isset($hookData['item_id'])) { - Logger::info('Hook link fetched', ['uid' => $uid, 'uri' => $uri, 'id' => $hookData['item_id']]); + DI::logger()->info('Hook link fetched', ['uid' => $uid, 'uri' => $uri, 'id' => $hookData['item_id']]); return is_numeric($hookData['item_id']) ? $hookData['item_id'] : 0; } @@ -4225,7 +4224,7 @@ class Item $curlResult = DI::httpClient()->head($uri, [HttpClientOptions::ACCEPT_CONTENT => HttpClientAccept::JSON_AS, HttpClientOptions::REQUEST => HttpClientRequest::ACTIVITYPUB]); $mimetype = $curlResult->getContentType(); } catch (\Throwable $th) { - Logger::info('Error while fetching HTTP link via HEAD', ['uid' => $uid, 'uri' => $uri, 'code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->info('Error while fetching HTTP link via HEAD', ['uid' => $uid, 'uri' => $uri, 'code' => $th->getCode(), 'message' => $th->getMessage()]); return 0; } } @@ -4236,7 +4235,7 @@ class Item $curlResult = HTTPSignature::fetchRaw($uri, $uid); $mimetype = $curlResult->getContentType(); } catch (\Throwable $th) { - Logger::info('Error while fetching HTTP link via signed GET', ['uid' => $uid, 'uri' => $uri, 'code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->info('Error while fetching HTTP link via signed GET', ['uid' => $uid, 'uri' => $uri, 'code' => $th->getCode(), 'message' => $th->getMessage()]); return 0; } } @@ -4246,7 +4245,7 @@ class Item if (!empty($fetched_uri)) { $item_id = self::searchByLink($fetched_uri, $uid); if ($item_id) { - Logger::info('ActivityPub link fetched', ['uid' => $uid, 'uri' => $uri, 'id' => $item_id]); + DI::logger()->info('ActivityPub link fetched', ['uid' => $uid, 'uri' => $uri, 'id' => $item_id]); return $item_id; } } @@ -4254,18 +4253,18 @@ class Item $item_id = Diaspora::fetchByURL($uri); if ($item_id) { - Logger::info('Diaspora link fetched', ['uid' => $uid, 'uri' => $uri, 'id' => $item_id]); + DI::logger()->info('Diaspora link fetched', ['uid' => $uid, 'uri' => $uri, 'id' => $item_id]); return $item_id; } - Logger::info('This is not an item link', ['uid' => $uid, 'uri' => $uri]); + DI::logger()->info('This is not an item link', ['uid' => $uid, 'uri' => $uri]); return 0; } /** * Fetch the uri-id of a quoted post by searching for data in the body or attached media * - * @param string $body The body of the + * @param string $body The body of the * @param int $uid The id of the user * @return integer */ @@ -4277,14 +4276,14 @@ class Item } if (empty($shared['link']) && empty($shared['message_id'])) { - Logger::notice('Invalid share block.', ['share' => $shared]); + DI::logger()->notice('Invalid share block.', ['share' => $shared]); return 0; } if (!empty($shared['guid'])) { $shared_item = Post::selectFirst(['uri-id'], ['guid' => $shared['guid'], 'uid' => [0, $uid]]); if (!empty($shared_item['uri-id'])) { - Logger::debug('Found post by guid', ['guid' => $shared['guid'], 'uid' => $uid]); + DI::logger()->debug('Found post by guid', ['guid' => $shared['guid'], 'uid' => $uid]); return $shared_item['uri-id']; } } @@ -4292,7 +4291,7 @@ class Item if (!empty($shared['message_id'])) { $shared_item = Post::selectFirst(['uri-id'], ['uri' => $shared['message_id'], 'uid' => [0, $uid]]); if (!empty($shared_item['uri-id'])) { - Logger::debug('Found post by message_id', ['message_id' => $shared['message_id'], 'uid' => $uid]); + DI::logger()->debug('Found post by message_id', ['message_id' => $shared['message_id'], 'uid' => $uid]); return $shared_item['uri-id']; } } @@ -4300,7 +4299,7 @@ class Item if (!empty($shared['link'])) { $shared_item = Post::selectFirst(['uri-id'], ['plink' => $shared['link'], 'uid' => [0, $uid]]); if (!empty($shared_item['uri-id'])) { - Logger::debug('Found post by link', ['link' => $shared['link'], 'uid' => $uid]); + DI::logger()->debug('Found post by link', ['link' => $shared['link'], 'uid' => $uid]); return $shared_item['uri-id']; } } @@ -4308,17 +4307,17 @@ class Item $url = $shared['message_id'] ?: $shared['link']; $id = self::fetchByLink($url, 0, ActivityPub\Receiver::COMPLETION_ASYNC); if (!$id) { - Logger::notice('Post could not be fetched.', ['url' => $url, 'uid' => $uid]); + DI::logger()->notice('Post could not be fetched.', ['url' => $url, 'uid' => $uid]); return 0; } $shared_item = Post::selectFirst(['uri-id'], ['id' => $id]); if (!empty($shared_item['uri-id'])) { - Logger::debug('Fetched shared post', ['id' => $id, 'url' => $url, 'uid' => $uid]); + DI::logger()->debug('Fetched shared post', ['id' => $id, 'url' => $url, 'uid' => $uid]); return $shared_item['uri-id']; } - Logger::warning('Post does not exist although it was supposed to had been fetched.', ['id' => $id, 'url' => $url, 'uid' => $uid]); + DI::logger()->warning('Post does not exist although it was supposed to had been fetched.', ['id' => $id, 'url' => $url, 'uid' => $uid]); return 0; } diff --git a/src/Model/ItemURI.php b/src/Model/ItemURI.php index cd13f89033..57b5b841a7 100644 --- a/src/Model/ItemURI.php +++ b/src/Model/ItemURI.php @@ -7,7 +7,6 @@ namespace Friendica\Model; -use Friendica\Core\Logger; use Friendica\Database\Database; use Friendica\Database\DBA; use Friendica\DI; @@ -32,7 +31,7 @@ class ItemURI $itemuri = DBA::selectFirst('item-uri', ['id', 'guid'], ['uri' => $fields['uri']]); if (!DBA::isResult($itemuri)) { // This shouldn't happen - Logger::warning('Item-uri not found', $fields); + DI::logger()->warning('Item-uri not found', $fields); return null; } diff --git a/src/Model/Mail.php b/src/Model/Mail.php index e417e3c15d..84542d33e2 100644 --- a/src/Model/Mail.php +++ b/src/Model/Mail.php @@ -8,7 +8,6 @@ namespace Friendica\Model; use Friendica\Core\ACL; -use Friendica\Core\Logger; use Friendica\Core\System; use Friendica\Core\Worker; use Friendica\Database\DBA; @@ -58,7 +57,7 @@ class Mail if (DBA::exists('mail', ['uri' => $msg['uri'], 'uid' => $msg['uid']])) { DBA::unlock(); - Logger::info('duplicate message already delivered.'); + DI::logger()->info('duplicate message already delivered.'); return false; } @@ -94,7 +93,7 @@ class Mail DI::notify()->createFromArray($notif_params); - Logger::info('Mail is processed, notification was sent.', ['id' => $msg['id'], 'uri' => $msg['uri']]); + DI::logger()->info('Mail is processed, notification was sent.', ['id' => $msg['id'], 'uri' => $msg['uri']]); } return $msg['id']; @@ -170,7 +169,7 @@ class Mail } if (!$convid) { - Logger::warning('conversation not found.'); + DI::logger()->warning('conversation not found.'); return -4; } diff --git a/src/Model/Photo.php b/src/Model/Photo.php index 857802d305..c275753960 100644 --- a/src/Model/Photo.php +++ b/src/Model/Photo.php @@ -8,7 +8,6 @@ namespace Friendica\Model; use Friendica\Core\Cache\Enum\Duration; -use Friendica\Core\Logger; use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; @@ -583,7 +582,7 @@ class Photo $photo_failure = false; if (!Network::isValidHttpUrl($image_url)) { - Logger::warning('Invalid image url', ['image_url' => $image_url, 'uid' => $uid, 'cid' => $cid]); + DI::logger()->warning('Invalid image url', ['image_url' => $image_url, 'uid' => $uid, 'cid' => $cid]); return false; } @@ -592,10 +591,10 @@ class Photo try { $ret = DI::httpClient()->get($image_url, HttpClientAccept::IMAGE, [HttpClientOptions::REQUEST => HttpClientRequest::MEDIAPROXY]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return false; } - Logger::debug('Got picture', ['Content-Type' => $ret->getHeader('Content-Type'), 'url' => $image_url]); + DI::logger()->debug('Got picture', ['Content-Type' => $ret->getHeader('Content-Type'), 'url' => $image_url]); $img_str = $ret->getBodyString(); $type = $ret->getContentType(); } else { @@ -615,24 +614,24 @@ class Photo $maximagesize = Strings::getBytesFromShorthand(DI::config()->get('system', 'maximagesize')); if ($maximagesize && ($filesize > $maximagesize)) { - Logger::info('Avatar exceeds image limit', ['uid' => $uid, 'cid' => $cid, 'maximagesize' => $maximagesize, 'size' => $filesize, 'type' => $image->getType()]); + DI::logger()->info('Avatar exceeds image limit', ['uid' => $uid, 'cid' => $cid, 'maximagesize' => $maximagesize, 'size' => $filesize, 'type' => $image->getType()]); if ($image->getImageType() == IMAGETYPE_GIF) { $image->toStatic(); $image = new Image($image->asString(), image_type_to_mime_type(IMAGETYPE_PNG)); $filesize = strlen($image->asString()); - Logger::info('Converted gif to a static png', ['uid' => $uid, 'cid' => $cid, 'size' => $filesize, 'type' => $image->getType()]); + DI::logger()->info('Converted gif to a static png', ['uid' => $uid, 'cid' => $cid, 'size' => $filesize, 'type' => $image->getType()]); } if ($filesize > $maximagesize) { foreach ([160, 80] as $pixels) { if ($filesize > $maximagesize) { - Logger::info('Resize', ['uid' => $uid, 'cid' => $cid, 'size' => $filesize, 'max' => $maximagesize, 'pixels' => $pixels, 'type' => $image->getType()]); + DI::logger()->info('Resize', ['uid' => $uid, 'cid' => $cid, 'size' => $filesize, 'max' => $maximagesize, 'pixels' => $pixels, 'type' => $image->getType()]); $image->scaleDown($pixels); $filesize = strlen($image->asString()); } } } - Logger::info('Avatar is resized', ['uid' => $uid, 'cid' => $cid, 'size' => $filesize, 'type' => $image->getType()]); + DI::logger()->info('Avatar is resized', ['uid' => $uid, 'cid' => $cid, 'size' => $filesize, 'type' => $image->getType()]); } $r = self::store($image, $uid, $cid, $resource_id, $filename, self::CONTACT_PHOTOS, 4, self::CONTACT_AVATAR); @@ -869,9 +868,9 @@ class Photo if (!self::exists($condition)) { $photo = self::selectFirst(['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid', 'uid'], ['resource-id' => $image_rid]); if (!DBA::isResult($photo)) { - Logger::info('Image not found', ['resource-id' => $image_rid]); + DI::logger()->info('Image not found', ['resource-id' => $image_rid]); } else { - Logger::info('Mismatching permissions', ['condition' => $condition, 'photo' => $photo]); + DI::logger()->info('Mismatching permissions', ['condition' => $condition, 'photo' => $photo]); } continue; } @@ -910,7 +909,7 @@ class Photo ]; $condition = ['resource-id' => $image_rid, 'uid' => $uid]; - Logger::info('Set permissions', ['condition' => $condition, 'permissions' => $fields]); + DI::logger()->info('Set permissions', ['condition' => $condition, 'permissions' => $fields]); self::update($fields, $condition); } @@ -1010,7 +1009,7 @@ class Photo // Scale down to multiples of 640 until the maximum size isn't exceeded anymore foreach ([5120, 2560, 1280, 640, 320] as $pixels) { if (($filesize > $maximagesize) && (max($width, $height) > $pixels)) { - Logger::info('Resize', ['size' => $filesize, 'width' => $width, 'height' => $height, 'max' => $maximagesize, 'pixels' => $pixels]); + DI::logger()->info('Resize', ['size' => $filesize, 'width' => $width, 'height' => $height, 'max' => $maximagesize, 'pixels' => $pixels]); $image->scaleDown($pixels); $filesize = strlen($image->asString()); $width = $image->getWidth(); @@ -1033,7 +1032,7 @@ class Photo $max_length = DI::config()->get('system', 'max_image_length'); if ($max_length > 0) { $image->scaleDown($max_length); - Logger::info('File upload: Scaling picture to new size', ['max-length' => $max_length]); + DI::logger()->info('File upload: Scaling picture to new size', ['max-length' => $max_length]); } return self::resizeToFileSize($image, Strings::getBytesFromShorthand(DI::config()->get('system', 'maximagesize'))); @@ -1052,10 +1051,10 @@ class Photo try { $ret = DI::httpClient()->get($image_url, HttpClientAccept::IMAGE, [HttpClientOptions::REQUEST => HttpClientRequest::MEDIAPROXY]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return []; } - Logger::debug('Got picture', ['Content-Type' => $ret->getHeader('Content-Type'), 'url' => $image_url]); + DI::logger()->debug('Got picture', ['Content-Type' => $ret->getHeader('Content-Type'), 'url' => $image_url]); $img_str = $ret->getBodyString(); $type = $ret->getContentType(); } else { @@ -1064,7 +1063,7 @@ class Photo } if (empty($img_str)) { - Logger::notice('Empty content'); + DI::logger()->notice('Empty content'); return []; } @@ -1086,10 +1085,10 @@ class Photo */ private static function uploadImage(array $files): array { - Logger::info('starting new upload'); + DI::logger()->info('starting new upload'); if (empty($files)) { - Logger::notice('Empty upload file'); + DI::logger()->notice('Empty upload file'); return []; } @@ -1134,16 +1133,16 @@ class Photo } if (empty($src)) { - Logger::notice('No source file name', ['files' => $files]); + DI::logger()->notice('No source file name', ['files' => $files]); return []; } - Logger::info('File upload', ['src' => $src, 'filename' => $filename, 'size' => $filesize, 'type' => $filetype]); + DI::logger()->info('File upload', ['src' => $src, 'filename' => $filename, 'size' => $filesize, 'type' => $filetype]); $imagedata = @file_get_contents($src); $image = new Image($imagedata, $filetype, $filename); if (!$image->isValid()) { - Logger::notice('Image is unvalid', ['files' => $files]); + DI::logger()->notice('Image is unvalid', ['files' => $files]); return []; } @@ -1177,13 +1176,13 @@ class Photo { $user = User::getOwnerDataById($uid); if (empty($user)) { - Logger::notice('User not found', ['uid' => $uid]); + DI::logger()->notice('User not found', ['uid' => $uid]); return []; } $data = self::uploadImage($files); if (empty($data)) { - Logger::info('upload failed'); + DI::logger()->info('upload failed'); return []; } @@ -1201,14 +1200,14 @@ class Photo $preview = self::storeWithPreview($image, $user['uid'], $resource_id, $filename, $filesize, $album, $desc, $allow_cid, $allow_gid, $deny_cid, $deny_gid); if ($preview < 0) { - Logger::warning('Photo could not be stored', ['uid' => $user['uid'], 'resource_id' => $resource_id, 'filename' => $filename, 'album' => $album]); + DI::logger()->warning('Photo could not be stored', ['uid' => $user['uid'], 'resource_id' => $resource_id, 'filename' => $filename, 'album' => $album]); return []; } $condition = ['resource-id' => $resource_id]; $photo = self::selectFirst(['id', 'datasize', 'width', 'height', 'type'], $condition, ['order' => ['width' => true]]); if (empty($photo)) { - Logger::notice('Photo not found', ['condition' => $condition]); + DI::logger()->notice('Photo not found', ['condition' => $condition]); return []; } @@ -1224,7 +1223,7 @@ class Photo $picture['picture'] = DI::baseUrl() . '/photo/' . $resource_id . '-0.' . $image->getExt(); $picture['preview'] = DI::baseUrl() . '/photo/' . $resource_id . '-' . $preview . '.' . $image->getExt(); - Logger::info('upload done', ['picture' => $picture]); + DI::logger()->info('upload done', ['picture' => $picture]); return $picture; } @@ -1256,7 +1255,7 @@ class Photo $result = self::store($image, $uid, 0, $resource_id, $filename, $album, 0, self::DEFAULT, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $description); if (!$result) { - Logger::warning('Photo could not be stored', ['uid' => $uid, 'resource_id' => $resource_id, 'filename' => $filename, 'album' => $album]); + DI::logger()->warning('Photo could not be stored', ['uid' => $uid, 'resource_id' => $resource_id, 'filename' => $filename, 'album' => $album]); return -1; } @@ -1291,17 +1290,17 @@ class Photo if (!empty($files)) { $data = self::uploadImage($files); if (empty($data)) { - Logger::info('upload failed'); + DI::logger()->info('upload failed'); return ''; } } elseif (!empty($url)) { $data = self::loadImageFromURL($url); if (empty($data)) { - Logger::info('loading from external url failed'); + DI::logger()->info('loading from external url failed'); return ''; } } else { - Logger::info('Neither files nor url provided'); + DI::logger()->info('Neither files nor url provided'); return ''; } @@ -1314,7 +1313,7 @@ class Photo $album = DI::l10n()->t(self::PROFILE_PHOTOS); // upload profile image (scales 4, 5, 6) - logger::info('starting new profile image upload'); + DI::logger()->info('starting new profile image upload'); if ($width > 300 || $height > 300) { $image->scaleDown(300); @@ -1322,7 +1321,7 @@ class Photo $r = self::store($image, $uid, 0, $resource_id, $filename, $album, 4, self::USER_AVATAR); if (!$r) { - logger::warning('profile image upload with scale 4 (300) failed', ['uid' => $uid, 'resource_id' => $resource_id, 'filename' => $filename, 'album' => $album]); + DI::logger()->warning('profile image upload with scale 4 (300) failed', ['uid' => $uid, 'resource_id' => $resource_id, 'filename' => $filename, 'album' => $album]); } if ($width > 80 || $height > 80) { @@ -1331,7 +1330,7 @@ class Photo $r = self::store($image, $uid, 0, $resource_id, $filename, $album, 5, self::USER_AVATAR); if (!$r) { - logger::warning('profile image upload with scale 5 (80) failed', ['uid' => $uid, 'resource_id' => $resource_id, 'filename' => $filename, 'album' => $album]); + DI::logger()->warning('profile image upload with scale 5 (80) failed', ['uid' => $uid, 'resource_id' => $resource_id, 'filename' => $filename, 'album' => $album]); } if ($width > 48 || $height > 48) { @@ -1340,10 +1339,10 @@ class Photo $r = self::store($image, $uid, 0, $resource_id, $filename, $album, 6, self::USER_AVATAR); if (!$r) { - logger::warning('profile image upload with scale 6 (48) failed', ['uid' => $uid, 'resource_id' => $resource_id, 'filename' => $filename, 'album' => $album]); + DI::logger()->warning('profile image upload with scale 6 (48) failed', ['uid' => $uid, 'resource_id' => $resource_id, 'filename' => $filename, 'album' => $album]); } - logger::info('new profile image upload ended'); + DI::logger()->info('new profile image upload ended'); $condition = ["`profile` AND `resource-id` != ? AND `uid` = ?", $resource_id, $uid]; self::update(['profile' => false, 'photo-type' => self::DEFAULT], $condition); @@ -1369,17 +1368,17 @@ class Photo if (!empty($files)) { $data = self::uploadImage($files); if (empty($data)) { - Logger::info('upload failed'); + DI::logger()->info('upload failed'); return ''; } } elseif (!empty($url)) { $data = self::loadImageFromURL($url); if (empty($data)) { - Logger::info('loading from external url failed'); + DI::logger()->info('loading from external url failed'); return ''; } } else { - Logger::info('Neither files nor url provided'); + DI::logger()->info('Neither files nor url provided'); return ''; } @@ -1397,10 +1396,10 @@ class Photo $r = self::store($image, $uid, 0, $resource_id, $filename, $album, 3, self::USER_BANNER); if (!$r) { - logger::warning('profile banner upload with scale 3 (960) failed'); + DI::logger()->warning('profile banner upload with scale 3 (960) failed'); } - logger::info('new profile banner upload ended', ['uid' => $uid, 'resource_id' => $resource_id, 'filename' => $filename]); + DI::logger()->info('new profile banner upload ended', ['uid' => $uid, 'resource_id' => $resource_id, 'filename' => $filename]); $condition = ["`photo-type` = ? AND `resource-id` != ? AND `uid` = ?", self::USER_BANNER, $resource_id, $uid]; self::update(['photo-type' => self::DEFAULT], $condition); diff --git a/src/Model/Post.php b/src/Model/Post.php index 3118e2e84c..765ad023ac 100644 --- a/src/Model/Post.php +++ b/src/Model/Post.php @@ -8,7 +8,6 @@ namespace Friendica\Model; use BadMethodCallException; -use Friendica\Core\Logger; use Friendica\Database\Database; use Friendica\Database\DBA; use Friendica\DI; @@ -621,7 +620,7 @@ class Post { $affected = 0; - Logger::info('Start Update', ['fields' => $fields, 'condition' => $condition, 'uid' => DI::userSession()->getLocalUserId()]); + DI::logger()->info('Start Update', ['fields' => $fields, 'condition' => $condition, 'uid' => DI::userSession()->getLocalUserId()]); // Don't allow changes to fields that are responsible for the relation between the records unset($fields['id']); @@ -647,7 +646,7 @@ class Post $puids = array_column($rows, 'post-user-id'); if (!DBA::update('post-user', $update_fields, ['id' => $puids])) { DBA::rollback(); - Logger::warning('Updating post-user failed', ['fields' => $update_fields, 'condition' => $condition]); + DI::logger()->warning('Updating post-user failed', ['fields' => $update_fields, 'condition' => $condition]); return false; } $affected_count += DBA::affectedRows(); @@ -664,7 +663,7 @@ class Post $uriids = array_column($rows, 'uri-id'); if (!DBA::update('post-content', $update_fields, ['uri-id' => $uriids])) { DBA::rollback(); - Logger::warning('Updating post-content failed', ['fields' => $update_fields, 'condition' => $condition]); + DI::logger()->warning('Updating post-content failed', ['fields' => $update_fields, 'condition' => $condition]); return false; } $affected_count += DBA::affectedRows(); @@ -687,7 +686,7 @@ class Post if (!DBA::update('post', $update_fields, ['uri-id' => $uriids])) { DBA::rollback(); - Logger::warning('Updating post failed', ['fields' => $update_fields, 'condition' => $condition]); + DI::logger()->warning('Updating post failed', ['fields' => $update_fields, 'condition' => $condition]); return false; } $affected_count += DBA::affectedRows(); @@ -704,7 +703,7 @@ class Post $uriids = array_column($rows, 'uri-id'); if (!DBA::update('post-delivery-data', $update_fields, ['uri-id' => $uriids])) { DBA::rollback(); - Logger::warning('Updating post-delivery-data failed', ['fields' => $update_fields, 'condition' => $condition]); + DI::logger()->warning('Updating post-delivery-data failed', ['fields' => $update_fields, 'condition' => $condition]); return false; } $affected_count += DBA::affectedRows(); @@ -721,7 +720,7 @@ class Post $uriids = array_column($rows, 'uri-id'); if (!DBA::update('post-thread', $update_fields, ['uri-id' => $uriids])) { DBA::rollback(); - Logger::warning('Updating post-thread failed', ['fields' => $update_fields, 'condition' => $condition]); + DI::logger()->warning('Updating post-thread failed', ['fields' => $update_fields, 'condition' => $condition]); return false; } $affected_count += DBA::affectedRows(); @@ -738,7 +737,7 @@ class Post $thread_puids = array_column($rows, 'post-user-id'); if (!DBA::update('post-thread-user', $update_fields, ['post-user-id' => $thread_puids])) { DBA::rollback(); - Logger::warning('Updating post-thread-user failed', ['fields' => $update_fields, 'condition' => $condition]); + DI::logger()->warning('Updating post-thread-user failed', ['fields' => $update_fields, 'condition' => $condition]); return false; } $affected_count += DBA::affectedRows(); @@ -749,7 +748,7 @@ class Post DBA::commit(); - Logger::info('Updated posts', ['rows' => $affected]); + DI::logger()->info('Updated posts', ['rows' => $affected]); return $affected; } diff --git a/src/Model/Post/Delayed.php b/src/Model/Post/Delayed.php index 666e55c3d4..2e30ba1a59 100644 --- a/src/Model/Post/Delayed.php +++ b/src/Model/Post/Delayed.php @@ -7,7 +7,6 @@ namespace Friendica\Model\Post; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\Core\Worker; use Friendica\Database\Database; @@ -45,7 +44,7 @@ class Delayed public static function add(string $uri, array $item, int $notify = 0, int $preparation_mode = self::PREPARED, string $delayed = '', array $taglist = [], array $attachments = []) { if (empty($item['uid']) || self::exists($uri, $item['uid'])) { - Logger::notice('No uid or already found'); + DI::logger()->notice('No uid or already found'); return 0; } @@ -58,7 +57,7 @@ class Delayed DI::pConfig()->set($item['uid'], 'system', 'last_publish', $next_publish); } - Logger::notice('Adding post for delayed publishing', ['uid' => $item['uid'], 'delayed' => $delayed, 'uri' => $uri]); + DI::logger()->notice('Adding post for delayed publishing', ['uid' => $item['uid'], 'delayed' => $delayed, 'uri' => $uri]); $wid = Worker::add(['priority' => Worker::PRIORITY_HIGH, 'delayed' => $delayed], 'DelayedPublish', $item, $notify, $taglist, $attachments, $preparation_mode, $uri); if (!$wid) { @@ -181,7 +180,7 @@ class Delayed $id = Item::insert($item, $notify, $preparation_mode == self::PREPARED); - Logger::notice('Post stored', ['id' => $id, 'uid' => $item['uid'], 'cid' => $item['contact-id'] ?? 'N/A']); + DI::logger()->notice('Post stored', ['id' => $id, 'uid' => $item['uid'], 'cid' => $item['contact-id'] ?? 'N/A']); if (empty($uri) && !empty($item['uri'])) { $uri = $item['uri']; diff --git a/src/Model/Post/Engagement.php b/src/Model/Post/Engagement.php index b48818437c..621d3ee9ec 100644 --- a/src/Model/Post/Engagement.php +++ b/src/Model/Post/Engagement.php @@ -9,7 +9,6 @@ namespace Friendica\Model\Post; use Friendica\Content\Text\BBCode; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\DBA; use Friendica\DI; @@ -48,7 +47,7 @@ class Engagement public static function storeFromItem(array $item): int { if (in_array($item['verb'], [Activity::FOLLOW, Activity::VIEW, Activity::READ])) { - Logger::debug('Technical activities are not stored', ['uri-id' => $item['uri-id'], 'parent-uri-id' => $item['parent-uri-id'], 'verb' => $item['verb']]); + DI::logger()->debug('Technical activities are not stored', ['uri-id' => $item['uri-id'], 'parent-uri-id' => $item['parent-uri-id'], 'verb' => $item['verb']]); return 0; } @@ -59,7 +58,7 @@ class Engagement ['uri-id' => $item['parent-uri-id']]); if ($parent['created'] < self::getCreationDateLimit(false)) { - Logger::debug('Post is too old', ['uri-id' => $item['uri-id'], 'parent-uri-id' => $item['parent-uri-id'], 'created' => $parent['created']]); + DI::logger()->debug('Post is too old', ['uri-id' => $item['uri-id'], 'parent-uri-id' => $item['parent-uri-id'], 'created' => $parent['created']]); return 0; } @@ -114,16 +113,16 @@ class Engagement ]) ]; if (!$store && ($engagement['comments'] == 0) && ($engagement['activities'] == 0)) { - Logger::debug('No media, follower, subscribed tags, comments or activities. Engagement not stored', ['fields' => $engagement]); + DI::logger()->debug('No media, follower, subscribed tags, comments or activities. Engagement not stored', ['fields' => $engagement]); return 0; } $exists = DBA::exists('post-engagement', ['uri-id' => $engagement['uri-id']]); if ($exists) { $ret = DBA::update('post-engagement', $engagement, ['uri-id' => $engagement['uri-id']]); - Logger::debug('Engagement updated', ['uri-id' => $engagement['uri-id'], 'ret' => $ret]); + DI::logger()->debug('Engagement updated', ['uri-id' => $engagement['uri-id'], 'ret' => $ret]); } else { $ret = DBA::insert('post-engagement', $engagement); - Logger::debug('Engagement inserted', ['uri-id' => $engagement['uri-id'], 'ret' => $ret]); + DI::logger()->debug('Engagement inserted', ['uri-id' => $engagement['uri-id'], 'ret' => $ret]); } return ($ret && !$exists) ? $engagement['uri-id'] : 0; } @@ -369,11 +368,11 @@ class Engagement { $limit = self::getCreationDateLimit(true); if (empty($limit)) { - Logger::notice('Expiration limit not reached'); + DI::logger()->notice('Expiration limit not reached'); return; } DBA::delete('post-engagement', ["`created` < ?", $limit]); - Logger::notice('Cleared expired engagements', ['limit' => $limit, 'rows' => DBA::affectedRows()]); + DI::logger()->notice('Cleared expired engagements', ['limit' => $limit, 'rows' => DBA::affectedRows()]); } private static function getCreationDateLimit(bool $forDeletion): string diff --git a/src/Model/Post/History.php b/src/Model/Post/History.php index 03b6da19d0..192a82996c 100644 --- a/src/Model/Post/History.php +++ b/src/Model/Post/History.php @@ -7,7 +7,6 @@ namespace Friendica\Model\Post; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\Database\Database; use Friendica\DI; @@ -28,12 +27,12 @@ class History $post = Post::selectFirstPost($fields, ['uri-id' => $uri_id]); if (empty($post)) { - Logger::warning('Post not found', ['uri-id' => $uri_id]); + DI::logger()->warning('Post not found', ['uri-id' => $uri_id]); return; } if ($item['edited'] <= $post['edited']) { - Logger::info('New edit date is not newer than the old one', ['uri-id' => $uri_id, 'old' => $post['edited'], 'new' => $item['edited']]); + DI::logger()->info('New edit date is not newer than the old one', ['uri-id' => $uri_id, 'old' => $post['edited'], 'new' => $item['edited']]); return; } @@ -49,9 +48,9 @@ class History if ($update) { DBA::insert('post-history', $post, Database::INSERT_IGNORE); - Logger::info('Added history', ['uri-id' => $uri_id, 'edited' => $post['edited']]); + DI::logger()->info('Added history', ['uri-id' => $uri_id, 'edited' => $post['edited']]); } else { - Logger::info('No content fields had been changed', ['uri-id' => $uri_id, 'edited' => $post['edited']]); + DI::logger()->info('No content fields had been changed', ['uri-id' => $uri_id, 'edited' => $post['edited']]); } } } diff --git a/src/Model/Post/Link.php b/src/Model/Post/Link.php index 64901c2c28..2315928186 100644 --- a/src/Model/Post/Link.php +++ b/src/Model/Post/Link.php @@ -7,7 +7,6 @@ namespace Friendica\Model\Post; -use Friendica\Core\Logger; use Friendica\Database\Database; use Friendica\Database\DBA; use Friendica\DI; @@ -53,14 +52,14 @@ class Link } if (!in_array(parse_url($url, PHP_URL_SCHEME), ['http', 'https'])) { - Logger::info('Bad URL, quitting', ['uri-id' => $uriId, 'url' => $url]); + DI::logger()->info('Bad URL, quitting', ['uri-id' => $uriId, 'url' => $url]); return $url; } $link = DBA::selectFirst('post-link', ['id'], ['uri-id' => $uriId, 'url' => $url]); if (!empty($link['id'])) { $id = $link['id']; - Logger::info('Found', ['id' => $id, 'uri-id' => $uriId, 'url' => $url]); + DI::logger()->info('Found', ['id' => $id, 'uri-id' => $uriId, 'url' => $url]); } else { $fields = self::fetchMimeType($url); $fields['uri-id'] = $uriId; @@ -68,7 +67,7 @@ class Link DBA::insert('post-link', $fields, Database::INSERT_IGNORE); $id = DBA::lastInsertId(); - Logger::info('Inserted', $fields); + DI::logger()->info('Inserted', $fields); } if (empty($id)) { @@ -114,12 +113,12 @@ class Link try { $curlResult = HTTPSignature::fetchRaw($url, 0, [HttpClientOptions::TIMEOUT => $timeout, HttpClientOptions::ACCEPT_CONTENT => $accept]); } catch (\Exception $exception) { - Logger::notice('Error fetching url', ['url' => $url, 'exception' => $exception]); + DI::logger()->notice('Error fetching url', ['url' => $url, 'exception' => $exception]); return []; } if (!$curlResult->isSuccess()) { - Logger::notice('Fetching unsuccessful', ['url' => $url]); + DI::logger()->notice('Fetching unsuccessful', ['url' => $url]); return []; } diff --git a/src/Model/Post/Media.php b/src/Model/Post/Media.php index f05b5e0016..7384f71ca5 100644 --- a/src/Model/Post/Media.php +++ b/src/Model/Post/Media.php @@ -9,7 +9,6 @@ namespace Friendica\Model\Post; use Friendica\Content\PageInfo; use Friendica\Content\Text\BBCode; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\Database; use Friendica\Database\DBA; @@ -67,12 +66,12 @@ class Media public static function insert(array $media, bool $force = false): bool { if (empty($media['url']) || empty($media['uri-id']) || !isset($media['type'])) { - Logger::warning('Incomplete media data', ['media' => $media]); + DI::logger()->warning('Incomplete media data', ['media' => $media]); return false; } if (DBA::exists('post-media', ['uri-id' => $media['uri-id'], 'preview' => $media['url']])) { - Logger::info('Media already exists as preview', ['uri-id' => $media['uri-id'], 'url' => $media['url']]); + DI::logger()->info('Media already exists as preview', ['uri-id' => $media['uri-id'], 'url' => $media['url']]); return false; } @@ -80,12 +79,12 @@ class Media // and embedded as picture then we only store the picture or replace the document $found = DBA::selectFirst('post-media', ['type'], ['uri-id' => $media['uri-id'], 'url' => $media['url']]); if (!$force && !empty($found) && (!in_array($found['type'], [self::UNKNOWN, self::DOCUMENT]) || ($media['type'] == self::DOCUMENT))) { - Logger::info('Media already exists', ['uri-id' => $media['uri-id'], 'url' => $media['url'], 'found' => $found['type'], 'new' => $media['type']]); + DI::logger()->info('Media already exists', ['uri-id' => $media['uri-id'], 'url' => $media['url'], 'found' => $found['type'], 'new' => $media['type']]); return false; } if (!ItemURI::exists($media['uri-id'])) { - Logger::info('Media referenced URI ID not found', ['uri-id' => $media['uri-id'], 'url' => $media['url']]); + DI::logger()->info('Media referenced URI ID not found', ['uri-id' => $media['uri-id'], 'url' => $media['url']]); return false; } @@ -97,7 +96,7 @@ class Media // We are storing as fast as possible to avoid duplicated network requests // when fetching additional information for pictures and other content. $result = DBA::insert('post-media', $media, Database::INSERT_UPDATE); - Logger::info('Stored media', ['result' => $result, 'media' => $media]); + DI::logger()->info('Stored media', ['result' => $result, 'media' => $media]); $stored = $media; $media = self::fetchAdditionalData($media); @@ -106,9 +105,9 @@ class Media if (array_diff_assoc($media, $stored)) { $result = DBA::insert('post-media', $media, Database::INSERT_UPDATE); - Logger::info('Updated media', ['result' => $result, 'media' => $media]); + DI::logger()->info('Updated media', ['result' => $result, 'media' => $media]); } else { - Logger::info('Nothing to update', ['media' => $media]); + DI::logger()->info('Nothing to update', ['media' => $media]); } return $result; } @@ -183,7 +182,7 @@ class Media return $media; } if (empty($media['mimetype']) || empty($media['size'])) { - Logger::debug('Unknown local link', ['url' => $media['url']]); + DI::logger()->debug('Unknown local link', ['url' => $media['url']]); } } @@ -205,10 +204,10 @@ class Media $media['size'] = (int)($curlResult->getHeader('Content-Length')[0] ?? strlen($curlResult->getBodyString() ?? '')); } } else { - Logger::notice('Could not fetch head', ['media' => $media, 'code' => $curlResult->getReturnCode()]); + DI::logger()->notice('Could not fetch head', ['media' => $media, 'code' => $curlResult->getReturnCode()]); } } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); } } @@ -216,7 +215,7 @@ class Media $media = self::addType($media); } - Logger::debug('Got type for url', ['type' => $media['type'], 'mimetype' => $media['mimetype'] ?? '', 'url' => $media['url']]); + DI::logger()->debug('Got type for url', ['type' => $media['type'], 'mimetype' => $media['mimetype'] ?? '', 'url' => $media['url']]); if ($media['type'] == self::IMAGE) { $imagedata = Images::getInfoFromURLCached($media['url'], empty($media['description'])); @@ -228,10 +227,10 @@ class Media $media['blurhash'] = $imagedata['blurhash'] ?? null; if (!empty($imagedata['description']) && empty($media['description'])) { $media['description'] = $imagedata['description']; - Logger::debug('Detected text for image', $media); + DI::logger()->debug('Detected text for image', $media); } } else { - Logger::notice('No image data', ['media' => $media]); + DI::logger()->notice('No image data', ['media' => $media]); } } @@ -309,13 +308,13 @@ class Media $item = Post::selectFirst([], ['id' => $id, 'network' => Protocol::FEDERATED]); if (empty($item['id'])) { - Logger::debug('Not a federated activity', ['id' => $id, 'uri-id' => $media['uri-id'], 'url' => $media['url']]); + DI::logger()->debug('Not a federated activity', ['id' => $id, 'uri-id' => $media['uri-id'], 'url' => $media['url']]); $media['type'] = $media['type'] == self::ACTIVITY ? self::JSON : $media['type']; return $media; } if ($item['uri-id'] == $media['uri-id']) { - Logger::info('Media-Uri-Id is identical to Uri-Id', ['uri-id' => $media['uri-id']]); + DI::logger()->info('Media-Uri-Id is identical to Uri-Id', ['uri-id' => $media['uri-id']]); $media['type'] = $media['type'] == self::ACTIVITY ? self::JSON : $media['type']; return $media; } @@ -324,7 +323,7 @@ class Media !empty($item['plink']) && Strings::compareLink($item['plink'], $media['url']) && parse_url($item['plink'], PHP_URL_HOST) != parse_url($item['uri'], PHP_URL_HOST) ) { - Logger::debug('Not a link to an activity', ['uri-id' => $media['uri-id'], 'url' => $media['url'], 'plink' => $item['plink'], 'uri' => $item['uri']]); + DI::logger()->debug('Not a link to an activity', ['uri-id' => $media['uri-id'], 'url' => $media['url'], 'plink' => $item['plink'], 'uri' => $item['uri']]); $media['type'] = $media['type'] == self::ACTIVITY ? self::JSON : $media['type']; return $media; } @@ -357,7 +356,7 @@ class Media $media['publisher-name'] = $gserver['site_name'] ?? null; $media['publisher-image'] = null; - Logger::debug('Activity detected', ['uri-id' => $media['uri-id'], 'url' => $media['url'], 'plink' => $item['plink'], 'uri' => $item['uri']]); + DI::logger()->debug('Activity detected', ['uri-id' => $media['uri-id'], 'url' => $media['url'], 'plink' => $item['plink'], 'uri' => $item['uri']]); return $media; } @@ -399,7 +398,7 @@ class Media $media['publisher-name'] = $gserver['site_name'] ?? null; $media['publisher-image'] = null; - Logger::debug('Account detected', ['uri-id' => $media['uri-id'], 'url' => $media['url'], 'uri' => $contact['url']]); + DI::logger()->debug('Account detected', ['uri-id' => $media['uri-id'], 'url' => $media['url'], 'uri' => $contact['url']]); return $media; } @@ -415,7 +414,7 @@ class Media if (empty($data['images'][0]['src']) && empty($data['text']) && empty($data['title'])) { if (!empty($media['preview'])) { $media = self::addPreviewData($media); - Logger::debug('Detected site data is empty, use suggested media data instead', ['uri-id' => $media['uri-id'], 'url' => $media['url'], 'type' => $data['type']]); + DI::logger()->debug('Detected site data is empty, use suggested media data instead', ['uri-id' => $media['uri-id'], 'url' => $media['url'], 'type' => $data['type']]); } } else { $media['preview'] = $data['images'][0]['src'] ?? null; @@ -489,7 +488,7 @@ class Media public static function addType(array $data): array { if (empty($data['mimetype'])) { - Logger::info('No MimeType provided', ['media' => $data]); + DI::logger()->info('No MimeType provided', ['media' => $data]); return $data; } @@ -501,7 +500,7 @@ class Media { $type = explode('/', current(explode(';', $mimeType))); if (count($type) < 2) { - Logger::info('Unknown MimeType', ['type' => $type, 'media' => $mimeType]); + DI::logger()->info('Unknown MimeType', ['type' => $type, 'media' => $mimeType]); return self::UNKNOWN; } @@ -536,10 +535,10 @@ class Media $type = self::APPLICATION; } else { $type = self::UNKNOWN; - Logger::info('Unknown type', ['filetype' => $filetype, 'subtype' => $subtype, 'media' => $mimeType]); + DI::logger()->info('Unknown type', ['filetype' => $filetype, 'subtype' => $subtype, 'media' => $mimeType]); } - Logger::debug('Detected type', ['type' => $type, 'filetype' => $filetype, 'subtype' => $subtype, 'media' => $mimeType]); + DI::logger()->debug('Detected type', ['type' => $type, 'filetype' => $filetype, 'subtype' => $subtype, 'media' => $mimeType]); return $type; } @@ -777,15 +776,15 @@ class Media // Search for pure links if (preg_match_all("/\[url\](https?:.*?)\[\/url\]/ism", $body, $matches)) { foreach ($matches[1] as $url) { - Logger::info('Got page url (link without description)', ['uri-id' => $uriid, 'url' => $url]); + DI::logger()->info('Got page url (link without description)', ['uri-id' => $uriid, 'url' => $url]); $result = self::insert(['uri-id' => $uriid, 'type' => self::UNKNOWN, 'url' => $url], false); if ($result && !in_array($network, [Protocol::ACTIVITYPUB, Protocol::DIASPORA])) { self::revertHTMLType($uriid, $url, $fullbody); - Logger::debug('Revert HTML type', ['uri-id' => $uriid, 'url' => $url]); + DI::logger()->debug('Revert HTML type', ['uri-id' => $uriid, 'url' => $url]); } elseif ($result) { - Logger::debug('Media had been added', ['uri-id' => $uriid, 'url' => $url]); + DI::logger()->debug('Media had been added', ['uri-id' => $uriid, 'url' => $url]); } else { - Logger::debug('Media had not been added', ['uri-id' => $uriid, 'url' => $url]); + DI::logger()->debug('Media had not been added', ['uri-id' => $uriid, 'url' => $url]); } } } @@ -793,15 +792,15 @@ class Media // Search for links with descriptions if (preg_match_all("/\[url\=(https?:.*?)\].*?\[\/url\]/ism", $body, $matches)) { foreach ($matches[1] as $url) { - Logger::info('Got page url (link with description)', ['uri-id' => $uriid, 'url' => $url]); + DI::logger()->info('Got page url (link with description)', ['uri-id' => $uriid, 'url' => $url]); $result = self::insert(['uri-id' => $uriid, 'type' => self::UNKNOWN, 'url' => $url], false); if ($result && !in_array($network, [Protocol::ACTIVITYPUB, Protocol::DIASPORA])) { self::revertHTMLType($uriid, $url, $fullbody); - Logger::debug('Revert HTML type', ['uri-id' => $uriid, 'url' => $url]); + DI::logger()->debug('Revert HTML type', ['uri-id' => $uriid, 'url' => $url]); } elseif ($result) { - Logger::debug('Media has been added', ['uri-id' => $uriid, 'url' => $url]); + DI::logger()->debug('Media has been added', ['uri-id' => $uriid, 'url' => $url]); } else { - Logger::debug('Media has not been added', ['uri-id' => $uriid, 'url' => $url]); + DI::logger()->debug('Media has not been added', ['uri-id' => $uriid, 'url' => $url]); } } } @@ -838,7 +837,7 @@ class Media return; } - Logger::info('Adding attachment data', ['data' => $data]); + DI::logger()->info('Adding attachment data', ['data' => $data]); $attachment = [ 'uri-id' => $uriid, 'type' => self::HTML, diff --git a/src/Model/Post/SearchIndex.php b/src/Model/Post/SearchIndex.php index 61410871e2..1c57f77942 100644 --- a/src/Model/Post/SearchIndex.php +++ b/src/Model/Post/SearchIndex.php @@ -8,7 +8,6 @@ namespace Friendica\Model\Post; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\Database; use Friendica\Database\DBA; @@ -74,7 +73,7 @@ class SearchIndex return; } DBA::delete('post-searchindex', ["`created` < ?", $limit]); - Logger::notice('Cleared expired searchindex entries', ['limit' => $limit, 'rows' => DBA::affectedRows()]); + DI::logger()->notice('Cleared expired searchindex entries', ['limit' => $limit, 'rows' => DBA::affectedRows()]); } public static function searchAgeDateLimit(): string diff --git a/src/Model/Post/UserNotification.php b/src/Model/Post/UserNotification.php index 35c3d7891c..e72d3ac353 100644 --- a/src/Model/Post/UserNotification.php +++ b/src/Model/Post/UserNotification.php @@ -10,7 +10,6 @@ namespace Friendica\Model\Post; use BadMethodCallException; use Exception; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Database\Database; use Friendica\Database\DBA; use Friendica\DI; @@ -174,14 +173,14 @@ class UserNotification continue; } if (Contact\User::isBlocked($author_id, $uid) || Contact\User::isIgnored($author_id, $uid) || Contact\User::isCollapsed($author_id, $uid)) { - Logger::debug('Author is blocked/ignored/collapsed by user', ['uid' => $uid, 'author' => $author_id, 'uri-id' => $item['uri-id']]); + DI::logger()->debug('Author is blocked/ignored/collapsed by user', ['uid' => $uid, 'author' => $author_id, 'uri-id' => $item['uri-id']]); return; } } foreach (array_unique([$parent['author-gsid'], $parent['owner-gsid'], $parent['causer-gsid'], $item['author-gsid'], $item['owner-gsid'], $item['causer-gsid']]) as $gsid) { if ($gsid && DI::userGServer()->isIgnoredByUser($uid, $gsid)) { - Logger::debug('Server is ignored by user', ['uid' => $uid, 'gsid' => $gsid, 'uri-id' => $item['uri-id']]); + DI::logger()->debug('Server is ignored by user', ['uid' => $uid, 'gsid' => $gsid, 'uri-id' => $item['uri-id']]); return; } } @@ -313,7 +312,7 @@ class UserNotification return; } - Logger::info('Set notification', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'notification-type' => $notification_type]); + DI::logger()->info('Set notification', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'notification-type' => $notification_type]); $fields = ['notification-type' => $notification_type]; Post\User::update($item['uri-id'], $uid, $fields); diff --git a/src/Model/Profile.php b/src/Model/Profile.php index a8c9d32c07..3732d0d696 100644 --- a/src/Model/Profile.php +++ b/src/Model/Profile.php @@ -13,7 +13,6 @@ use Friendica\Content\Text\BBCode; use Friendica\Content\Widget\ContactBlock; use Friendica\Core\Cache\Enum\Duration; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\Core\Search; @@ -202,7 +201,7 @@ class Profile { $profile = User::getOwnerDataByNick($nickname); if (!isset($profile['account_removed']) || $profile['account_removed']) { - Logger::info('profile error: ' . DI::args()->getQueryString()); + DI::logger()->info('profile error: ' . DI::args()->getQueryString()); return []; } @@ -433,7 +432,7 @@ class Profile $p['url'] = Contact::magicLinkById($cid, $profile['url']); if (!isset($profile['hidewall'])) { - Logger::warning('Missing hidewall key in profile array', ['profile' => $profile]); + DI::logger()->warning('Missing hidewall key in profile array', ['profile' => $profile]); } if ($profile['account-type'] == Contact::TYPE_COMMUNITY) { diff --git a/src/Model/Subscription.php b/src/Model/Subscription.php index be18a1af78..d07a0aa411 100644 --- a/src/Model/Subscription.php +++ b/src/Model/Subscription.php @@ -7,13 +7,11 @@ namespace Friendica\Model; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Factory\Api\Mastodon\Notification as NotificationFactory; use Friendica\Navigation\Notifications\Entity\Notification as NotificationEntity; -use Friendica\Object\Api\Mastodon\Notification; use Minishlink\WebPush\VAPID; class Subscription @@ -133,7 +131,7 @@ class Subscription $subscriptions = DBA::select('subscription', [], ['uid' => $notification->uid, $type => true]); while ($subscription = DBA::fetch($subscriptions)) { - Logger::info('Push notification', ['id' => $subscription['id'], 'uid' => $subscription['uid'], 'type' => $type]); + DI::logger()->info('Push notification', ['id' => $subscription['id'], 'uid' => $subscription['uid'], 'type' => $type]); Worker::add(Worker::PRIORITY_HIGH, 'PushSubscription', $subscription['id'], $notification->id); } DBA::close($subscriptions); diff --git a/src/Model/Tag.php b/src/Model/Tag.php index 07767b4991..e5182a5379 100644 --- a/src/Model/Tag.php +++ b/src/Model/Tag.php @@ -9,7 +9,6 @@ namespace Friendica\Model; use Friendica\Content\Text\BBCode; use Friendica\Core\Cache\Enum\Duration; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\Database; use Friendica\Database\DBA; @@ -101,11 +100,11 @@ class Tag } if ((substr($url, 0, 7) == 'https//') || (substr($url, 0, 6) == 'http//')) { - Logger::notice('Wrong scheme in url', ['url' => $url]); + DI::logger()->notice('Wrong scheme in url', ['url' => $url]); } $cid = Contact::getIdForURL($url, 0, false); - Logger::debug('Got id for contact', ['cid' => $cid, 'url' => $url]); + DI::logger()->debug('Got id for contact', ['cid' => $cid, 'url' => $url]); if (empty($cid)) { $tag = DBA::selectFirst('tag', ['name', 'type'], ['url' => $url]); @@ -141,14 +140,14 @@ class Tag $condition = $fields; $condition['type'] = [self::MENTION, self::EXCLUSIVE_MENTION, self::IMPLICIT_MENTION]; if (DBA::exists('post-tag', $condition)) { - Logger::info('Tag already exists', $fields); + DI::logger()->info('Tag already exists', $fields); return; } } DBA::insert('post-tag', $fields, Database::INSERT_IGNORE); - Logger::debug('Stored tag/mention', ['uri-id' => $uriId, 'tag-id' => $tagid, 'contact-id' => $cid, 'name' => $name, 'type' => $type]); + DI::logger()->debug('Stored tag/mention', ['uri-id' => $uriId, 'tag-id' => $tagid, 'contact-id' => $cid, 'name' => $name, 'type' => $type]); } /** @@ -170,26 +169,26 @@ class Tag if (!empty($tag['type'])) { $target = $tag['type']; if ($target != self::GENERAL_COLLECTION) { - Logger::debug('Found existing type', ['type' => $tag['type'], 'url' => $url]); + DI::logger()->debug('Found existing type', ['type' => $tag['type'], 'url' => $url]); return $target; } } if ($url == ActivityPub::PUBLIC_COLLECTION) { $target = self::PUBLIC_COLLECTION; - Logger::debug('Public collection', ['url' => $url]); + DI::logger()->debug('Public collection', ['url' => $url]); } else { if (DBA::exists('apcontact', ['followers' => $url])) { $target = self::FOLLOWER_COLLECTION; - Logger::debug('Found collection via existing apcontact', ['url' => $url]); + DI::logger()->debug('Found collection via existing apcontact', ['url' => $url]); } elseif (Contact::getIdForURL($url, 0, $fetch ? null : false)) { $target = self::ACCOUNT; - Logger::debug('URL is an account', ['url' => $url]); + DI::logger()->debug('URL is an account', ['url' => $url]); } elseif ($fetch && ($target != self::GENERAL_COLLECTION)) { $content = HTTPSignature::fetch($url); if (!empty($content['type']) && ($content['type'] == 'OrderedCollection')) { $target = self::GENERAL_COLLECTION; - Logger::debug('URL is an ordered collection', ['url' => $url]); + DI::logger()->debug('URL is an ordered collection', ['url' => $url]); } } } @@ -199,7 +198,7 @@ class Tag } if (empty($target)) { - Logger::debug('No type could be detected', ['url' => $url]); + DI::logger()->debug('No type could be detected', ['url' => $url]); } return $target; @@ -238,7 +237,7 @@ class Tag // Also log type $fields['type'] = $type; - Logger::error('No tag id created', $fields); + DI::logger()->error('No tag id created', $fields); return 0; } @@ -305,7 +304,7 @@ class Tag */ public static function storeFromArray(array $item, string $tags = null) { - Logger::info('Check for tags', ['uri-id' => $item['uri-id'], 'hash' => $tags]); + DI::logger()->info('Check for tags', ['uri-id' => $item['uri-id'], 'hash' => $tags]); if (is_null($tags)) { $tags = self::TAG_CHARACTER[self::HASHTAG] . self::TAG_CHARACTER[self::MENTION] . self::TAG_CHARACTER[self::EXCLUSIVE_MENTION]; @@ -336,14 +335,14 @@ class Tag */ public static function storeRawTagsFromBody(int $uriId, string $body) { - Logger::info('Check for tags', ['uri-id' => $uriId]); + DI::logger()->info('Check for tags', ['uri-id' => $uriId]); $result = BBCode::getTags($body); if (empty($result)) { return; } - Logger::info('Found tags', ['uri-id' => $uriId, 'result' => $result]); + DI::logger()->info('Found tags', ['uri-id' => $uriId, 'result' => $result]); foreach ($result as $tag) { if (substr($tag, 0, 1) != self::TAG_CHARACTER[self::HASHTAG]) { @@ -397,7 +396,7 @@ class Tag return; } - Logger::debug('Removing tag/mention', ['uri-id' => $uriId, 'tid' => $tag['tid'], 'name' => $name, 'url' => $url]); + DI::logger()->debug('Removing tag/mention', ['uri-id' => $uriId, 'tid' => $tag['tid'], 'name' => $name, 'url' => $url]); DBA::delete('post-tag', ['uri-id' => $uriId, 'type' => $type, 'tid' => $tag['tid'], 'cid' => $tag['cid']]); } @@ -576,7 +575,7 @@ class Tag break; default: - Logger::warning('Unknown tag type found', $tag); + DI::logger()->warning('Unknown tag type found', $tag); } } DBA::close($taglist); @@ -832,7 +831,7 @@ class Tag foreach (self::getByURIId($uriId, [self::HASHTAG]) as $tag) { foreach (self::getUIDListByTag(self::TAG_CHARACTER[self::HASHTAG] . $tag['name']) as $uid) { $uids[$uid][] = $tag['name']; - } + } } return $uids; diff --git a/src/Model/User.php b/src/Model/User.php index f837146c8b..e8b3060b2a 100644 --- a/src/Model/User.php +++ b/src/Model/User.php @@ -15,7 +15,6 @@ use Friendica\App; use Friendica\Content\Pager; use Friendica\Core\Hook; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Search; use Friendica\Core\System; @@ -857,7 +856,7 @@ class User $fields['login_date'] = DateTimeFormat::utcNow(); } - Logger::debug('Set last activity for user', ['uid' => $user['uid'], 'fields' => $fields]); + DI::logger()->debug('Set last activity for user', ['uid' => $user['uid'], 'fields' => $fields]); self::update($fields, $user['uid']); // Set the last activity for all identities of the user DBA::update('user', $fields, ['parent-uid' => $user['uid'], 'verified' => true, 'blocked' => false, 'account_removed' => false, 'account_expired' => false]); @@ -898,7 +897,7 @@ class User return $passwordExposedChecker->passwordExposed($password) === PasswordExposed\Enums\PasswordStatus::EXPOSED; } catch (Exception $e) { - Logger::error('Password Exposed Exception: ' . $e->getMessage(), [ + DI::logger()->error('Password Exposed Exception: ' . $e->getMessage(), [ 'code' => $e->getCode(), 'file' => $e->getFile(), 'line' => $e->getLine(), @@ -1246,7 +1245,7 @@ class User $username_max_length = max(1, min(64, intval(DI::config()->get('system', 'username_max_length', 48)))); if ($username_min_length > $username_max_length) { - Logger::error(DI::l10n()->t('system.username_min_length (%s) and system.username_max_length (%s) are excluding each other, swapping values.', $username_min_length, $username_max_length)); + DI::logger()->error(DI::l10n()->t('system.username_min_length (%s) and system.username_max_length (%s) are excluding each other, swapping values.', $username_min_length, $username_max_length)); $tmp = $username_min_length; $username_min_length = $username_max_length; $username_max_length = $tmp; @@ -1409,7 +1408,7 @@ class User try { $curlResult = DI::httpClient()->get($photo, HttpClientAccept::IMAGE, [HttpClientOptions::REQUEST => HttpClientRequest::CONTENTTYPE]); if ($curlResult->isSuccess()) { - Logger::debug('Got picture', ['Content-Type' => $curlResult->getHeader('Content-Type'), 'url' => $photo]); + DI::logger()->debug('Got picture', ['Content-Type' => $curlResult->getHeader('Content-Type'), 'url' => $photo]); $img_str = $curlResult->getBodyString(); $type = $curlResult->getContentType(); } else { @@ -1417,7 +1416,7 @@ class User $type = ''; } } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); $img_str = ''; $type = ''; } @@ -1777,7 +1776,7 @@ class User throw new \InvalidArgumentException('uid needs to be greater than 0'); } - Logger::notice('Removing user', ['user' => $uid]); + DI::logger()->notice('Removing user', ['user' => $uid]); $user = self::getById($uid); if (!$user) { @@ -2086,19 +2085,19 @@ class User $register_policy = DI::config()->get('config', 'register_policy'); if (!in_array($register_policy, [Module\Register::OPEN, Module\Register::CLOSED])) { - Logger::debug('Unsupported register policy.', ['policy' => $register_policy]); + DI::logger()->debug('Unsupported register policy.', ['policy' => $register_policy]); return; } $users = DBA::count('user', ['blocked' => false, 'account_removed' => false, 'account_expired' => false]); if (($users >= $max_registered_users) && ($register_policy == Module\Register::OPEN)) { DI::config()->set('config', 'register_policy', Module\Register::CLOSED); - Logger::notice('Max users reached, registration is closed.', ['users' => $users, 'max' => $max_registered_users]); + DI::logger()->notice('Max users reached, registration is closed.', ['users' => $users, 'max' => $max_registered_users]); } elseif (($users < $max_registered_users) && ($register_policy == Module\Register::CLOSED)) { DI::config()->set('config', 'register_policy', Module\Register::OPEN); - Logger::notice('Below maximum users, registration is opened.', ['users' => $users, 'max' => $max_registered_users]); + DI::logger()->notice('Below maximum users, registration is opened.', ['users' => $users, 'max' => $max_registered_users]); } else { - Logger::debug('Unchanged register policy', ['policy' => $register_policy, 'users' => $users, 'max' => $max_registered_users]); + DI::logger()->debug('Unchanged register policy', ['policy' => $register_policy, 'users' => $users, 'max' => $max_registered_users]); } } } diff --git a/src/Moderation/Repository/Report.php b/src/Moderation/Repository/Report.php index 1ead42446a..69ca81c167 100644 --- a/src/Moderation/Repository/Report.php +++ b/src/Moderation/Repository/Report.php @@ -8,8 +8,8 @@ namespace Friendica\Moderation\Repository; use Friendica\BaseEntity; -use Friendica\Core\Logger; use Friendica\Database\Database; +use Friendica\DI; use Friendica\Model\Post; use Friendica\Moderation\Factory; use Friendica\Moderation\Collection; @@ -73,7 +73,7 @@ final class Report extends \Friendica\BaseRepository if (Post::exists(['uri-id' => $post->uriId])) { $this->db->insert('report-post', ['rid' => $newReportId, 'uri-id' => $post->uriId, 'status' => $post->status]); } else { - Logger::notice('Post does not exist', ['uri-id' => $post->uriId, 'report' => $Report]); + DI::logger()->notice('Post does not exist', ['uri-id' => $post->uriId, 'report' => $Report]); } } diff --git a/src/Module/ActivityPub/Inbox.php b/src/Module/ActivityPub/Inbox.php index 23715ceb21..f654b3853b 100644 --- a/src/Module/ActivityPub/Inbox.php +++ b/src/Module/ActivityPub/Inbox.php @@ -7,7 +7,6 @@ namespace Friendica\Module\ActivityPub; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\System; use Friendica\Database\DBA; @@ -66,7 +65,7 @@ class Inbox extends BaseApi } if (!HTTPSignature::isValidContentType($this->server['CONTENT_TYPE'] ?? '')) { - Logger::notice('Unexpected content type', ['content-type' => $this->server['CONTENT_TYPE'] ?? '', 'agent' => $this->server['HTTP_USER_AGENT'] ?? '']); + $this->logger->notice('Unexpected content type', ['content-type' => $this->server['CONTENT_TYPE'] ?? '', 'agent' => $this->server['HTTP_USER_AGENT'] ?? '']); throw new \Friendica\Network\HTTPException\UnsupportedMediaTypeException(); } @@ -78,7 +77,7 @@ class Inbox extends BaseApi } $tempfile = tempnam(System::getTempPath(), $filename); file_put_contents($tempfile, json_encode(['parameters' => $this->parameters, 'header' => $_SERVER, 'body' => $postdata], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)); - Logger::notice('Incoming message stored', ['file' => $tempfile]); + $this->logger->notice('Incoming message stored', ['file' => $tempfile]); } if (!empty($this->parameters['nickname'])) { diff --git a/src/Module/ActivityPub/Objects.php b/src/Module/ActivityPub/Objects.php index 9b72a52cee..1fa7b2fec5 100644 --- a/src/Module/ActivityPub/Objects.php +++ b/src/Module/ActivityPub/Objects.php @@ -8,8 +8,6 @@ namespace Friendica\Module\ActivityPub; use Friendica\BaseModule; -use Friendica\Core\Logger; -use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Contact; @@ -39,7 +37,7 @@ class Objects extends BaseModule $itemuri = DBA::selectFirst('item-uri', ['id'], ['guid' => $this->parameters['guid']]); if (DBA::isResult($itemuri)) { - Logger::info('Provided GUID found.', ['guid' => $this->parameters['guid'], 'uri-id' => $itemuri['id']]); + $this->logger->info('Provided GUID found.', ['guid' => $this->parameters['guid'], 'uri-id' => $itemuri['id']]); } else { // The item URI does not always contain the GUID. This means that we have to search the URL instead $url = DI::baseUrl() . '/' . DI::args()->getQueryString(); @@ -48,9 +46,9 @@ class Objects extends BaseModule $itemuri = DBA::selectFirst('item-uri', ['guid', 'id'], ['uri' => [$url, $nurl, $ssl_url]]); if (DBA::isResult($itemuri)) { - Logger::info('URL found.', ['url' => $url, 'guid' => $itemuri['guid'], 'uri-id' => $itemuri['id']]); + $this->logger->info('URL found.', ['url' => $url, 'guid' => $itemuri['guid'], 'uri-id' => $itemuri['id']]); } else { - Logger::info('URL not found.', ['url' => $url]); + $this->logger->info('URL not found.', ['url' => $url]); throw new HTTPException\NotFoundException(); } } diff --git a/src/Module/Api/GNUSocial/Statusnet/Conversation.php b/src/Module/Api/GNUSocial/Statusnet/Conversation.php index b30e58f867..41f101350a 100644 --- a/src/Module/Api/GNUSocial/Statusnet/Conversation.php +++ b/src/Module/Api/GNUSocial/Statusnet/Conversation.php @@ -7,7 +7,6 @@ namespace Friendica\Module\Api\GNUSocial\Statusnet; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\Module\BaseApi; use Friendica\DI; @@ -40,7 +39,7 @@ class Conversation extends BaseApi $id = $this->getRequestValue($request, 'id', 0); } - Logger::info(BaseApi::LOG_PREFIX . '{subaction}', ['module' => 'api', 'action' => 'conversation', 'subaction' => 'show', 'id' => $id]); + $this->logger->info(BaseApi::LOG_PREFIX . '{subaction}', ['module' => 'api', 'action' => 'conversation', 'subaction' => 'show', 'id' => $id]); // try to fetch the item for the local user - or the public item, if there is no local one $item = Post::selectFirst(['parent-uri-id'], ['uri-id' => $id]); diff --git a/src/Module/Api/Mastodon/Accounts/Relationships.php b/src/Module/Api/Mastodon/Accounts/Relationships.php index 1d0ec65bcb..4f0c79ebfc 100644 --- a/src/Module/Api/Mastodon/Accounts/Relationships.php +++ b/src/Module/Api/Mastodon/Accounts/Relationships.php @@ -7,8 +7,6 @@ namespace Friendica\Module\Api\Mastodon\Accounts; -use Friendica\Core\Logger; -use Friendica\Core\System; use Friendica\DI; use Friendica\Module\BaseApi; diff --git a/src/Module/Api/Mastodon/Accounts/Statuses.php b/src/Module/Api/Mastodon/Accounts/Statuses.php index c67476b4ba..679e6e8c3d 100644 --- a/src/Module/Api/Mastodon/Accounts/Statuses.php +++ b/src/Module/Api/Mastodon/Accounts/Statuses.php @@ -7,9 +7,7 @@ namespace Friendica\Module\Api\Mastodon\Accounts; -use Friendica\Core\Logger; use Friendica\Core\Protocol; -use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Conversation; @@ -104,7 +102,7 @@ class Statuses extends BaseApi $this->updateBoundaries($status, $item, $request['friendica_order']); $statuses[] = $status; } catch (\Throwable $th) { - Logger::info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]); + $this->logger->info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]); } } DBA::close($items); diff --git a/src/Module/Api/Mastodon/Accounts/UpdateCredentials.php b/src/Module/Api/Mastodon/Accounts/UpdateCredentials.php index 0f920ef2a4..30a33f1e3b 100644 --- a/src/Module/Api/Mastodon/Accounts/UpdateCredentials.php +++ b/src/Module/Api/Mastodon/Accounts/UpdateCredentials.php @@ -7,7 +7,6 @@ namespace Friendica\Module\Api\Mastodon\Accounts; -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\Photo; @@ -71,9 +70,9 @@ class UpdateCredentials extends BaseApi $profile['about'] = $request['note']; } - Logger::debug('Patch data', ['data' => $request, 'files' => $_FILES]); + $this->logger->debug('Patch data', ['data' => $request, 'files' => $_FILES]); - Logger::info('Update profile and user', ['uid' => $uid, 'user' => $user, 'profile' => $profile]); + $this->logger->info('Update profile and user', ['uid' => $uid, 'user' => $user, 'profile' => $profile]); if (!empty($request['avatar'])) { Photo::uploadAvatar($uid, $request['avatar']); diff --git a/src/Module/Api/Mastodon/Bookmarks.php b/src/Module/Api/Mastodon/Bookmarks.php index 99ac8b9efc..b0f0ca34a5 100644 --- a/src/Module/Api/Mastodon/Bookmarks.php +++ b/src/Module/Api/Mastodon/Bookmarks.php @@ -7,8 +7,6 @@ namespace Friendica\Module\Api\Mastodon; -use Friendica\Core\Logger; -use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Post; @@ -64,7 +62,7 @@ class Bookmarks extends BaseApi try { $statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes); } catch (\Exception $exception) { - Logger::info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'exception' => $exception]); + $this->logger->info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'exception' => $exception]); } } DBA::close($items); diff --git a/src/Module/Api/Mastodon/Directory.php b/src/Module/Api/Mastodon/Directory.php index da86fa388f..bc6f84c084 100644 --- a/src/Module/Api/Mastodon/Directory.php +++ b/src/Module/Api/Mastodon/Directory.php @@ -7,9 +7,7 @@ namespace Friendica\Module\Api\Mastodon; -use Friendica\Core\Logger; use Friendica\Core\Protocol; -use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Module\BaseApi; @@ -34,7 +32,7 @@ class Directory extends BaseApi 'local' => false, // Only return local accounts. ], $request); - Logger::info('directory', ['offset' => $request['offset'], 'limit' => $request['limit'], 'order' => $request['order'], 'local' => $request['local']]); + $this->logger->info('directory', ['offset' => $request['offset'], 'limit' => $request['limit'], 'order' => $request['order'], 'local' => $request['local']]); if ($request['local']) { $table = 'owner-view'; diff --git a/src/Module/Api/Mastodon/Favourited.php b/src/Module/Api/Mastodon/Favourited.php index 53dfef0722..3d9ec883bc 100644 --- a/src/Module/Api/Mastodon/Favourited.php +++ b/src/Module/Api/Mastodon/Favourited.php @@ -7,8 +7,6 @@ namespace Friendica\Module\Api\Mastodon; -use Friendica\Core\Logger; -use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Item; @@ -66,7 +64,7 @@ class Favourited extends BaseApi try { $statuses[] = DI::mstdnStatus()->createFromUriId($item['thr-parent-id'], $uid, $display_quotes); } catch (\Exception $exception) { - Logger::info('Post not fetchable', ['uri-id' => $item['thr-parent-id'], 'uid' => $uid, 'exception' => $exception]); + $this->logger->info('Post not fetchable', ['uri-id' => $item['thr-parent-id'], 'uid' => $uid, 'exception' => $exception]); } } DBA::close($items); diff --git a/src/Module/Api/Mastodon/Media.php b/src/Module/Api/Mastodon/Media.php index b15f1cc81c..5dbcfc3687 100644 --- a/src/Module/Api/Mastodon/Media.php +++ b/src/Module/Api/Mastodon/Media.php @@ -7,7 +7,6 @@ namespace Friendica\Module\Api\Mastodon; -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Model\Attach; use Friendica\Model\Contact; @@ -33,10 +32,10 @@ class Media extends BaseApi 'focus' => '', // Two floating points (x,y), comma-delimited ranging from -1.0 to 1.0 ], $request); - Logger::info('Photo post', ['request' => $request, 'files' => $_FILES]); + $this->logger->info('Photo post', ['request' => $request, 'files' => $_FILES]); if (empty($request['file'])) { - Logger::notice('Upload is invalid', ['request' => $request]); + $this->logger->notice('Upload is invalid', ['request' => $request]); $this->logAndJsonError(422, $this->errorFactory->UnprocessableEntity()); } @@ -45,7 +44,7 @@ class Media extends BaseApi if (in_array($type, [Post\Media::IMAGE, Post\Media::UNKNOWN, Post\Media::APPLICATION])) { $media = Photo::upload($uid, $request['file'], '', null, null, '', '', $request['description']); if (!empty($media)) { - Logger::info('Uploaded photo', ['media' => $media]); + $this->logger->info('Uploaded photo', ['media' => $media]); $this->jsonExit(DI::mstdnAttachment()->createFromPhoto($media['id'])); } elseif ($type == Post\Media::IMAGE) { $this->jsonExit(DI::mstdnAttachment()->createFromPhoto($media['id'])); @@ -58,20 +57,20 @@ class Media extends BaseApi $maxFileSize = Strings::getBytesFromShorthand(DI::config()->get('system', 'maxfilesize')); if ($fileSize <= 0) { - Logger::notice('Filesize is invalid', ['size' => $fileSize, 'request' => $request]); + $this->logger->notice('Filesize is invalid', ['size' => $fileSize, 'request' => $request]); @unlink($tempFileName); $this->logAndJsonError(422, $this->errorFactory->UnprocessableEntity()); } if ($maxFileSize && $fileSize > $maxFileSize) { - Logger::notice('Filesize is too large', ['size' => $fileSize, 'max' => $maxFileSize, 'request' => $request]); + $this->logger->notice('Filesize is too large', ['size' => $fileSize, 'max' => $maxFileSize, 'request' => $request]); @unlink($tempFileName); $this->logAndJsonError(422, $this->errorFactory->UnprocessableEntity()); } $id = Attach::storeFile($tempFileName, self::getCurrentUserID(), $fileName, $request['file']['type'], '<' . Contact::getPublicIdByUserId(self::getCurrentUserID()) . '>'); @unlink($tempFileName); - Logger::info('Uploaded media', ['id' => $id]); + $this->logger->info('Uploaded media', ['id' => $id]); $this->jsonExit(DI::mstdnAttachment()->createFromAttach($id)); } diff --git a/src/Module/Api/Mastodon/Search.php b/src/Module/Api/Mastodon/Search.php index 45556bc3aa..532b45dd99 100644 --- a/src/Module/Api/Mastodon/Search.php +++ b/src/Module/Api/Mastodon/Search.php @@ -7,7 +7,6 @@ namespace Friendica\Module\Api\Mastodon; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\DBA; use Friendica\DI; @@ -54,7 +53,7 @@ class Search extends BaseApi $result = ['accounts' => [], 'statuses' => [], 'hashtags' => []]; if (empty($request['type']) || ($request['type'] == 'accounts')) { - $result['accounts'] = self::searchAccounts($uid, $request['q'], $request['resolve'], $limit, $request['offset'], $request['following']); + $result['accounts'] = $this->searchAccounts($uid, $request['q'], $request['resolve'], $limit, $request['offset'], $request['following']); if (!is_array($result['accounts'])) { // Curbing the search if we got an exact result @@ -64,7 +63,7 @@ class Search extends BaseApi } if (empty($request['type']) || ($request['type'] == 'statuses')) { - $result['statuses'] = self::searchStatuses($uid, $request['q'], $request['account_id'], $request['max_id'], $request['min_id'], $limit, $request['offset']); + $result['statuses'] = $this->searchStatuses($uid, $request['q'], $request['account_id'], $request['max_id'], $request['min_id'], $limit, $request['offset']); if (!is_array($result['statuses'])) { // Curbing the search if we got an exact result @@ -74,7 +73,7 @@ class Search extends BaseApi } if ((empty($request['type']) || ($request['type'] == 'hashtags')) && (strpos($request['q'], '@') == false)) { - $result['hashtags'] = self::searchHashtags($request['q'], $request['exclude_unreviewed'], $limit, $request['offset'], $this->parameters['version']); + $result['hashtags'] = $this->searchHashtags($request['q'], $request['exclude_unreviewed'], $limit, $request['offset'], $this->parameters['version']); } $this->jsonExit($result); @@ -92,7 +91,7 @@ class Search extends BaseApi * @throws \Friendica\Network\HTTPException\NotFoundException * @throws \ImagickException */ - private static function searchAccounts(int $uid, string $q, bool $resolve, int $limit, int $offset, bool $following) + private function searchAccounts(int $uid, string $q, bool $resolve, int $limit, int $offset, bool $following) { if (($offset == 0) && (strrpos($q, '@') > 0 || Network::isValidHttpUrl($q)) && $id = Contact::getIdForURL($q, 0, $resolve ? null : false) @@ -121,7 +120,7 @@ class Search extends BaseApi * @throws \Friendica\Network\HTTPException\NotFoundException * @throws \ImagickException */ - private static function searchStatuses(int $uid, string $q, string $account_id, int $max_id, int $min_id, int $limit, int $offset) + private function searchStatuses(int $uid, string $q, string $account_id, int $max_id, int $min_id, int $limit, int $offset) { if (Network::isValidHttpUrl($q)) { // Unique post search, any offset greater than 0 should return empty result @@ -173,7 +172,7 @@ class Search extends BaseApi try { $statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes); } catch (\Exception $exception) { - Logger::info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'exception' => $exception]); + $this->logger->info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'exception' => $exception]); } } DBA::close($items); @@ -186,7 +185,7 @@ class Search extends BaseApi return $statuses; } - private static function searchHashtags(string $q, bool $exclude_unreviewed, int $limit, int $offset, int $version): array + private function searchHashtags(string $q, bool $exclude_unreviewed, int $limit, int $offset, int $version): array { $q = ltrim($q, '#'); diff --git a/src/Module/Api/Mastodon/Timelines/Home.php b/src/Module/Api/Mastodon/Timelines/Home.php index 5272ce0b9a..c798a05ae7 100644 --- a/src/Module/Api/Mastodon/Timelines/Home.php +++ b/src/Module/Api/Mastodon/Timelines/Home.php @@ -7,7 +7,6 @@ namespace Friendica\Module\Api\Mastodon\Timelines; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Item; @@ -79,7 +78,7 @@ class Home extends BaseApi $this->updateBoundaries($status, $item, $request['friendica_order']); $statuses[] = $status; } catch (\Throwable $th) { - Logger::info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]); + $this->logger->info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]); } } DBA::close($items); diff --git a/src/Module/Api/Mastodon/Timelines/ListTimeline.php b/src/Module/Api/Mastodon/Timelines/ListTimeline.php index 249955fdb3..88ae013012 100644 --- a/src/Module/Api/Mastodon/Timelines/ListTimeline.php +++ b/src/Module/Api/Mastodon/Timelines/ListTimeline.php @@ -11,7 +11,6 @@ use Friendica\App\Arguments; use Friendica\App\BaseURL; use Friendica\AppHelper; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Contact; @@ -84,7 +83,7 @@ class ListTimeline extends BaseApi $this->updateBoundaries($status, $item, $request['friendica_order']); $statuses[] = $status; } catch (\Throwable $th) { - Logger::info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]); + $this->logger->info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]); } } diff --git a/src/Module/Api/Mastodon/Timelines/PublicTimeline.php b/src/Module/Api/Mastodon/Timelines/PublicTimeline.php index 411a159037..3327757c11 100644 --- a/src/Module/Api/Mastodon/Timelines/PublicTimeline.php +++ b/src/Module/Api/Mastodon/Timelines/PublicTimeline.php @@ -12,7 +12,6 @@ use Friendica\App\BaseURL; use Friendica\AppHelper; use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\DBA; use Friendica\DI; @@ -113,7 +112,7 @@ class PublicTimeline extends BaseApi $this->updateBoundaries($status, $item, $request['friendica_order']); $statuses[] = $status; } catch (\Throwable $th) { - Logger::info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]); + $this->logger->info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]); } } diff --git a/src/Module/Api/Mastodon/Timelines/Tag.php b/src/Module/Api/Mastodon/Timelines/Tag.php index bfe54db0df..155c4c7582 100644 --- a/src/Module/Api/Mastodon/Timelines/Tag.php +++ b/src/Module/Api/Mastodon/Timelines/Tag.php @@ -7,9 +7,7 @@ namespace Friendica\Module\Api\Mastodon\Timelines; -use Friendica\Core\Logger; use Friendica\Core\Protocol; -use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Item; @@ -107,7 +105,7 @@ class Tag extends BaseApi try { $statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes); } catch (\Exception $exception) { - Logger::info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'exception' => $exception]); + $this->logger->info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'exception' => $exception]); } } DBA::close($items); diff --git a/src/Module/Api/Mastodon/Trends/Statuses.php b/src/Module/Api/Mastodon/Trends/Statuses.php index 142766593d..ea28647395 100644 --- a/src/Module/Api/Mastodon/Trends/Statuses.php +++ b/src/Module/Api/Mastodon/Trends/Statuses.php @@ -12,7 +12,6 @@ use Friendica\App\BaseURL; use Friendica\AppHelper; use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\DBA; use Friendica\DI; @@ -67,7 +66,7 @@ class Statuses extends BaseApi try { $trending[] = DI::mstdnStatus()->createFromUriId($status['uri-id'], $uid, $display_quotes); } catch (\Exception $exception) { - Logger::info('Post not fetchable', ['uri-id' => $status['uri-id'], 'uid' => $uid, 'exception' => $exception]); + $this->logger->info('Post not fetchable', ['uri-id' => $status['uri-id'], 'uid' => $uid, 'exception' => $exception]); } } DBA::close($statuses); diff --git a/src/Module/Api/Twitter/Favorites.php b/src/Module/Api/Twitter/Favorites.php index 4c0841147f..f2fda383f6 100644 --- a/src/Module/Api/Twitter/Favorites.php +++ b/src/Module/Api/Twitter/Favorites.php @@ -7,7 +7,6 @@ namespace Friendica\Module\Api\Twitter; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\Model\Item; use Friendica\Module\BaseApi; @@ -29,7 +28,7 @@ class Favorites extends BaseApi // in friendica starred item are private // return favorites only for self - Logger::info(BaseApi::LOG_PREFIX . 'for {self}', ['module' => 'api', 'action' => 'favorites']); + $this->logger->info(BaseApi::LOG_PREFIX . 'for {self}', ['module' => 'api', 'action' => 'favorites']); // params $count = $this->getRequestValue($request, 'count', 20, 1, 100); diff --git a/src/Module/Api/Twitter/Friendships/Destroy.php b/src/Module/Api/Twitter/Friendships/Destroy.php index cf014134c0..840f8c1155 100644 --- a/src/Module/Api/Twitter/Friendships/Destroy.php +++ b/src/Module/Api/Twitter/Friendships/Destroy.php @@ -12,7 +12,6 @@ use Friendica\App\Arguments; use Friendica\App\BaseURL; use Friendica\AppHelper; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Factory\Api\Twitter\User as TwitterUser; use Friendica\Model\Contact; use Friendica\Model\User; @@ -47,21 +46,21 @@ class Destroy extends ContactEndpoint $owner = User::getOwnerDataById($uid); if (!$owner) { - Logger::notice(BaseApi::LOG_PREFIX . 'No owner {uid} found', ['module' => 'api', 'action' => 'friendships_destroy', 'uid' => $uid]); + $this->logger->notice(BaseApi::LOG_PREFIX . 'No owner {uid} found', ['module' => 'api', 'action' => 'friendships_destroy', 'uid' => $uid]); throw new HTTPException\NotFoundException('Error Processing Request'); } $contact_id = BaseApi::getContactIDForSearchterm($this->getRequestValue($request, 'screen_name', ''), $this->getRequestValue($request, 'profileurl', ''), $this->getRequestValue($request, 'user_id', 0), 0); if (empty($contact_id)) { - Logger::notice(BaseApi::LOG_PREFIX . 'No user_id specified', ['module' => 'api', 'action' => 'friendships_destroy']); + $this->logger->notice(BaseApi::LOG_PREFIX . 'No user_id specified', ['module' => 'api', 'action' => 'friendships_destroy']); throw new HTTPException\BadRequestException('no user_id specified'); } // Get Contact by given id $ucid = Contact::getUserContactId($contact_id, $uid); if (!$ucid) { - Logger::notice(BaseApi::LOG_PREFIX . 'Not following contact', ['module' => 'api', 'action' => 'friendships_destroy']); + $this->logger->notice(BaseApi::LOG_PREFIX . 'Not following contact', ['module' => 'api', 'action' => 'friendships_destroy']); throw new HTTPException\NotFoundException('Not following Contact'); } @@ -71,7 +70,7 @@ class Destroy extends ContactEndpoint try { Contact::unfollow($contact); } catch (Exception $e) { - Logger::error(BaseApi::LOG_PREFIX . $e->getMessage(), ['contact' => $contact]); + $this->logger->error(BaseApi::LOG_PREFIX . $e->getMessage(), ['contact' => $contact]); throw new HTTPException\InternalServerErrorException('Unable to unfollow this contact, please contact your administrator'); } diff --git a/src/Module/Api/Twitter/Media/Metadata/Create.php b/src/Module/Api/Twitter/Media/Metadata/Create.php index 049e6f7061..a12550f7a4 100644 --- a/src/Module/Api/Twitter/Media/Metadata/Create.php +++ b/src/Module/Api/Twitter/Media/Metadata/Create.php @@ -7,7 +7,6 @@ namespace Friendica\Module\Api\Twitter\Media\Metadata; -use Friendica\Core\Logger; use Friendica\Model\Photo; use Friendica\Module\BaseApi; use Friendica\Network\HTTPException\BadRequestException; @@ -44,7 +43,7 @@ class Create extends BaseApi throw new BadRequestException('No alt text.'); } - Logger::info('Updating metadata', ['media_id' => $data['media_id']]); + $this->logger->info('Updating metadata', ['media_id' => $data['media_id']]); $condition = ['id' => $data['media_id'], 'uid' => $uid]; diff --git a/src/Module/Api/Twitter/Media/Upload.php b/src/Module/Api/Twitter/Media/Upload.php index 897705539c..67bc65b6b8 100644 --- a/src/Module/Api/Twitter/Media/Upload.php +++ b/src/Module/Api/Twitter/Media/Upload.php @@ -7,8 +7,6 @@ namespace Friendica\Module\Api\Twitter\Media; -use Friendica\Core\Logger; -use Friendica\DI; use Friendica\Model\Photo; use Friendica\Module\BaseApi; use Friendica\Network\HTTPException\BadRequestException; @@ -49,7 +47,7 @@ class Upload extends BaseApi "friendica_preview_url" => $media["preview"] ]; - Logger::info('Media uploaded', ['return' => $returndata]); + $this->logger->info('Media uploaded', ['return' => $returndata]); $this->response->addFormattedContent('media', ['media' => $returndata], $this->parameters['extension'] ?? null); } diff --git a/src/Module/Api/Twitter/Statuses/Show.php b/src/Module/Api/Twitter/Statuses/Show.php index 98a5e3c799..075f6311f6 100644 --- a/src/Module/Api/Twitter/Statuses/Show.php +++ b/src/Module/Api/Twitter/Statuses/Show.php @@ -7,7 +7,6 @@ namespace Friendica\Module\Api\Twitter\Statuses; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\Module\BaseApi; use Friendica\DI; @@ -34,7 +33,7 @@ class Show extends BaseApi throw new BadRequestException('An id is missing.'); } - Logger::notice('API: api_statuses_show: ' . $id); + $this->logger->notice('API: api_statuses_show: ' . $id); $conversation = !empty($request['conversation']); diff --git a/src/Module/Api/Twitter/Statuses/UserTimeline.php b/src/Module/Api/Twitter/Statuses/UserTimeline.php index 1332ca113e..64e6ec4309 100644 --- a/src/Module/Api/Twitter/Statuses/UserTimeline.php +++ b/src/Module/Api/Twitter/Statuses/UserTimeline.php @@ -7,7 +7,6 @@ namespace Friendica\Module\Api\Twitter\Statuses; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Contact; @@ -27,7 +26,7 @@ class UserTimeline extends BaseApi $this->checkAllowedScope(BaseApi::SCOPE_READ); $uid = BaseApi::getCurrentUserID(); - Logger::info('api_statuses_user_timeline', ['api_user' => $uid, '_REQUEST' => $request]); + $this->logger->info('api_statuses_user_timeline', ['api_user' => $uid, '_REQUEST' => $request]); $cid = BaseApi::getContactIDForSearchterm($this->getRequestValue($request, 'screen_name', ''), $this->getRequestValue($request, 'profileurl', ''), $this->getRequestValue($request, 'user_id', 0), $uid); $count = $this->getRequestValue($request, 'count', 20, 1, 100); diff --git a/src/Module/Attach.php b/src/Module/Attach.php index 1afc2baaad..bb852394b0 100644 --- a/src/Module/Attach.php +++ b/src/Module/Attach.php @@ -8,7 +8,6 @@ namespace Friendica\Module; use Friendica\BaseModule; -use Friendica\Core\Logger; use Friendica\Core\System; use Friendica\DI; use Friendica\Model\Attach as MAttach; @@ -43,7 +42,7 @@ class Attach extends BaseModule $data = MAttach::getData($item); if (is_null($data)) { - Logger::notice('NULL data for attachment with id ' . $item['id']); + $this->logger->notice('NULL data for attachment with id ' . $item['id']); throw new \Friendica\Network\HTTPException\NotFoundException(DI::l10n()->t('Item was not found.')); } diff --git a/src/Module/BaseApi.php b/src/Module/BaseApi.php index db7328128c..1176143ce8 100644 --- a/src/Module/BaseApi.php +++ b/src/Module/BaseApi.php @@ -14,7 +14,6 @@ use Friendica\App\Router; use Friendica\AppHelper; use Friendica\BaseModule; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Contact; @@ -227,7 +226,7 @@ class BaseApi extends BaseModule self::setBoundaries($post_item['uri-id']); } } catch (\Exception $e) { - Logger::debug('Error processing page boundary calculation, skipping', ['error' => $e]); + $this->logger->debug('Error processing page boundary calculation, skipping', ['error' => $e]); } } @@ -455,7 +454,7 @@ class BaseApi extends BaseModule $posts_week = Post::countThread($condition); if ($posts_week > $throttle_week) { - Logger::notice('Weekly posting limit reached', ['uid' => $uid, 'posts' => $posts_week, 'limit' => $throttle_week]); + $this->logger->notice('Weekly posting limit reached', ['uid' => $uid, 'posts' => $posts_week, 'limit' => $throttle_week]); $error = $this->t('Too Many Requests'); $error_description = $this->tt("Weekly posting limit of %d post reached. The post was rejected.", "Weekly posting limit of %d posts reached. The post was rejected.", $throttle_week); $errorobj = new \Friendica\Object\Api\Mastodon\Error($error, $error_description); @@ -471,7 +470,7 @@ class BaseApi extends BaseModule $posts_month = Post::countThread($condition); if ($posts_month > $throttle_month) { - Logger::notice('Monthly posting limit reached', ['uid' => $uid, 'posts' => $posts_month, 'limit' => $throttle_month]); + $this->logger->notice('Monthly posting limit reached', ['uid' => $uid, 'posts' => $posts_month, 'limit' => $throttle_month]); $error = $this->t('Too Many Requests'); $error_description = $this->tt('Monthly posting limit of %d post reached. The post was rejected.', 'Monthly posting limit of %d posts reached. The post was rejected.', $throttle_month); $errorobj = new \Friendica\Object\Api\Mastodon\Error($error, $error_description); diff --git a/src/Module/BaseSearch.php b/src/Module/BaseSearch.php index 046403ce6a..793787a627 100644 --- a/src/Module/BaseSearch.php +++ b/src/Module/BaseSearch.php @@ -9,7 +9,6 @@ namespace Friendica\Module; use Friendica\BaseModule; use Friendica\Content\Pager; -use Friendica\Core\Logger; use Friendica\Core\Renderer; use Friendica\Core\Search; use Friendica\DI; diff --git a/src/Module/Contact.php b/src/Module/Contact.php index 5a939158ef..293b082618 100644 --- a/src/Module/Contact.php +++ b/src/Module/Contact.php @@ -12,7 +12,6 @@ use Friendica\Content\ContactSelector; use Friendica\Content\Nav; use Friendica\Content\Pager; use Friendica\Content\Widget; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\Core\Theme; @@ -121,7 +120,7 @@ class Contact extends BaseModule try { UpdateContact::add(Worker::PRIORITY_HIGH, $contact_id); } catch (\InvalidArgumentException $e) { - Logger::notice($e->getMessage(), ['contact' => $contact]); + DI::logger()->notice($e->getMessage(), ['contact' => $contact]); } } diff --git a/src/Module/OAuth/Authorize.php b/src/Module/OAuth/Authorize.php index 8179bfa886..db1ee3b703 100644 --- a/src/Module/OAuth/Authorize.php +++ b/src/Module/OAuth/Authorize.php @@ -7,7 +7,6 @@ namespace Friendica\Module\OAuth; -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Module\BaseApi; use Friendica\Security\OAuth; @@ -36,18 +35,18 @@ class Authorize extends BaseApi ], $request); if ($request['response_type'] != 'code') { - Logger::warning('Unsupported or missing response type', ['request' => $request]); + $this->logger->warning('Unsupported or missing response type', ['request' => $request]); $this->logAndJsonError(422, $this->errorFactory->UnprocessableEntity($this->t('Unsupported or missing response type'))); } if (empty($request['client_id']) || empty($request['redirect_uri'])) { - Logger::warning('Incomplete request data', ['request' => $request]); + $this->logger->warning('Incomplete request data', ['request' => $request]); $this->logAndJsonError(422, $this->errorFactory->UnprocessableEntity($this->t('Incomplete request data'))); } $application = OAuth::getApplication($request['client_id'], $request['client_secret'], $request['redirect_uri']); if (empty($application)) { - Logger::warning('An application could not be fetched.', ['request' => $request]); + $this->logger->warning('An application could not be fetched.', ['request' => $request]); $this->logAndJsonError(422, $this->errorFactory->UnprocessableEntity()); } @@ -59,14 +58,14 @@ class Authorize extends BaseApi $uid = DI::userSession()->getLocalUserId(); if (empty($uid)) { - Logger::info('Redirect to login'); + $this->logger->info('Redirect to login'); DI::appHelper()->redirect('login?' . http_build_query(['return_authorize' => $redirect])); } else { - Logger::info('Already logged in user', ['uid' => $uid]); + $this->logger->info('Already logged in user', ['uid' => $uid]); } if (!OAuth::existsTokenForUser($application, $uid) && !DI::session()->get('oauth_acknowledge')) { - Logger::info('Redirect to acknowledge'); + $this->logger->info('Redirect to acknowledge'); DI::appHelper()->redirect('oauth/acknowledge?' . http_build_query(['return_authorize' => $redirect, 'application' => $application['name']])); } diff --git a/src/Module/OAuth/Token.php b/src/Module/OAuth/Token.php index 9ce760790b..6d7f1a3507 100644 --- a/src/Module/OAuth/Token.php +++ b/src/Module/OAuth/Token.php @@ -7,7 +7,6 @@ namespace Friendica\Module\OAuth; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\Model\User; use Friendica\Module\BaseApi; @@ -69,7 +68,7 @@ class Token extends BaseApi $grant_type = (string) $request['grant_type']; if (!in_array($grant_type, ['client_credentials', 'authorization_code'])) { - Logger::warning('Unsupported or missing grant type', ['request' => $_REQUEST]); + $this->logger->warning('Unsupported or missing grant type', ['request' => $_REQUEST]); $this->logAndJsonError(422, $this->errorFactory->UnprocessableEntity($this->t('Unsupported or missing grant type'))); } diff --git a/src/Module/Owa.php b/src/Module/Owa.php index aadead3169..d7599a82c0 100644 --- a/src/Module/Owa.php +++ b/src/Module/Owa.php @@ -8,7 +8,6 @@ namespace Friendica\Module; use Friendica\BaseModule; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\Model\Contact; use Friendica\Model\OpenWebAuthToken; @@ -60,7 +59,7 @@ class Owa extends BaseModule $verified = HTTPSignature::verifyMagic($contact['pubkey']); if ($verified && $verified['header_signed'] && $verified['header_valid']) { - Logger::debug('OWA header', ['addr' => $contact['addr'], 'data' => $verified]); + $this->logger->debug('OWA header', ['addr' => $contact['addr'], 'data' => $verified]); $ret['success'] = true; $token = Strings::getRandomHex(32); @@ -77,10 +76,10 @@ class Owa extends BaseModule openssl_public_encrypt($token, $result, $contact['pubkey']); $ret['encrypted_token'] = Strings::base64UrlEncode($result); } else { - Logger::info('OWA fail', ['id' => $contact['id'], 'addr' => $contact['addr'], 'url' => $contact['url']]); + $this->logger->info('OWA fail', ['id' => $contact['id'], 'addr' => $contact['addr'], 'url' => $contact['url']]); } } else { - Logger::info('Contact not found', ['handle' => $handle]); + $this->logger->info('Contact not found', ['handle' => $handle]); } } } diff --git a/src/Module/Photo.php b/src/Module/Photo.php index c3582ee655..8843e82b0a 100644 --- a/src/Module/Photo.php +++ b/src/Module/Photo.php @@ -8,7 +8,6 @@ namespace Friendica\Module; use Friendica\Contact\Header; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\DBA; use Friendica\DI; @@ -105,11 +104,11 @@ class Photo extends BaseApi } if (empty($id)) { - Logger::notice('No picture id was detected', ['parameters' => $this->parameters, 'query' => DI::args()->getQueryString()]); + $this->logger->notice('No picture id was detected', ['parameters' => $this->parameters, 'query' => DI::args()->getQueryString()]); throw new HTTPException\NotFoundException(DI::l10n()->t('The Photo is not available.')); } - $photo = self::getPhotoById($id, $this->parameters['type'], $customsize ?: Proxy::PIXEL_SMALL); + $photo = $this->getPhotoById($id, $this->parameters['type'], $customsize ?: Proxy::PIXEL_SMALL); } else { $photoid = pathinfo($this->parameters['name'], PATHINFO_FILENAME); $scale = 0; @@ -173,7 +172,7 @@ class Photo extends BaseApi $data = microtime(true) - $stamp; if (empty($imgdata)) { - Logger::warning('Invalid photo', ['id' => $photo['id']]); + $this->logger->warning('Invalid photo', ['id' => $photo['id']]); if (in_array($photo['backend-class'], [ExternalResource::NAME])) { $reference = json_decode($photo['backend-ref'], true); $error = DI::l10n()->t('Invalid external resource with url %s.', $reference['url']); @@ -233,7 +232,7 @@ class Photo extends BaseApi $rest = $total - ($fetch + $data + $checksum + $output); if (!is_null($scale) && ($scale < 4)) { - Logger::debug('Performance:', [ + $this->logger->debug('Performance:', [ 'scale' => $scale, 'resource' => $photo['resource-id'], 'total' => number_format($total, 3), 'fetch' => number_format($fetch, 3), 'data' => number_format($data, 3), 'checksum' => number_format($checksum, 3), @@ -252,7 +251,7 @@ class Photo extends BaseApi * @param int $customsize Custom size (?) * @return array|bool Array on success, false on error */ - private static function getPhotoById(int $id, string $type, int $customsize) + private function getPhotoById(int $id, string $type, int $customsize) { switch ($type) { case 'preview': @@ -360,25 +359,25 @@ class Photo extends BaseApi if ($update) { $curlResult = DI::httpClient()->head($url, [HttpClientOptions::ACCEPT_CONTENT => HttpClientAccept::IMAGE, HttpClientOptions::REQUEST => HttpClientRequest::CONTENTTYPE]); $update = !$curlResult->isSuccess() && ($curlResult->getReturnCode() == 404); - Logger::debug('Got return code for avatar', ['return code' => $curlResult->getReturnCode(), 'cid' => $id, 'url' => $contact['url'], 'avatar' => $url]); + $this->logger->debug('Got return code for avatar', ['return code' => $curlResult->getReturnCode(), 'cid' => $id, 'url' => $contact['url'], 'avatar' => $url]); } if ($update) { try { UpdateContact::add(Worker::PRIORITY_LOW, $id); - Logger::info('Invalid file, contact update initiated', ['cid' => $id, 'url' => $contact['url'], 'avatar' => $url]); + $this->logger->info('Invalid file, contact update initiated', ['cid' => $id, 'url' => $contact['url'], 'avatar' => $url]); } catch (\InvalidArgumentException $e) { - Logger::notice($e->getMessage(), ['id' => $id, 'contact' => $contact]); + $this->logger->notice($e->getMessage(), ['id' => $id, 'contact' => $contact]); } } else { - Logger::info('Invalid file', ['cid' => $id, 'url' => $contact['url'], 'avatar' => $url]); + $this->logger->info('Invalid file', ['cid' => $id, 'url' => $contact['url'], 'avatar' => $url]); } } if (!empty($mimetext) && ($mime[0] != 'image') && ($mimetext != 'application/octet-stream')) { - Logger::info('Unexpected Content-Type', ['mime' => $mimetext, 'url' => $url]); + $this->logger->info('Unexpected Content-Type', ['mime' => $mimetext, 'url' => $url]); $mimetext = ''; } if (!empty($mimetext)) { - Logger::debug('Expected Content-Type', ['mime' => $mimetext, 'url' => $url]); + $this->logger->debug('Expected Content-Type', ['mime' => $mimetext, 'url' => $url]); } } diff --git a/src/Module/Register.php b/src/Module/Register.php index 927264e2a5..575301f777 100644 --- a/src/Module/Register.php +++ b/src/Module/Register.php @@ -14,7 +14,6 @@ use Friendica\Content\Text\BBCode; use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\Core\Hook; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Core\Renderer; use Friendica\Core\Session\Capability\IHandleUserSessions; use Friendica\Core\Worker; @@ -89,7 +88,7 @@ class Register extends BaseModule if ($max_dailies) { $count = DBA::count('user', ['`register_date` > UTC_TIMESTAMP - INTERVAL 1 day']); if ($count >= $max_dailies) { - Logger::notice('max daily registrations exceeded.'); + $this->logger->notice('max daily registrations exceeded.'); DI::sysmsg()->addNotice(DI::l10n()->t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.')); return ''; } @@ -250,7 +249,7 @@ class Register extends BaseModule // Is there text in the tar pit? if (!empty($arr['email'])) { - Logger::info('Tar pit', $arr); + $this->logger->info('Tar pit', $arr); DI::sysmsg()->addNotice(DI::l10n()->t('You have entered too much information.')); DI::baseUrl()->redirect('register/'); } @@ -273,7 +272,7 @@ class Register extends BaseModule } if ($arr['email'] != $arr['repeat']) { - Logger::info('Mail mismatch', $arr); + $this->logger->info('Mail mismatch', $arr); DI::sysmsg()->addNotice(DI::l10n()->t('Please enter the identical mail address in the second field.')); $regdata = ['email' => $arr['email'], 'nickname' => $arr['nickname'], 'username' => $arr['username']]; DI::baseUrl()->redirect('register?' . http_build_query($regdata)); diff --git a/src/Module/Search/Index.php b/src/Module/Search/Index.php index 122b6c569b..eecd195169 100644 --- a/src/Module/Search/Index.php +++ b/src/Module/Search/Index.php @@ -15,7 +15,6 @@ use Friendica\Content\Text\HTML; use Friendica\Content\Widget; use Friendica\Core\Cache\Enum\Duration; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Core\Renderer; use Friendica\Core\Search; use Friendica\Database\DBA; @@ -134,7 +133,7 @@ class Index extends BaseSearch // Don't perform a fulltext or tag search on search results that look like an URL // Tags don't look like an URL and the fulltext search does only work with natural words if (parse_url($search, PHP_URL_SCHEME) && parse_url($search, PHP_URL_HOST)) { - Logger::info('Skipping tag and fulltext search since the search looks like a URL.', ['q' => $search]); + $this->logger->info('Skipping tag and fulltext search since the search looks like a URL.', ['q' => $search]); DI::sysmsg()->addNotice(DI::l10n()->t('No results.')); return $o; } @@ -159,11 +158,11 @@ class Index extends BaseSearch $pager = new Pager(DI::l10n(), DI::args()->getQueryString(), $itemsPerPage); if ($tag) { - Logger::info('Start tag search.', ['q' => $search, 'start' => $pager->getStart(), 'items' => $pager->getItemsPerPage(), 'last' => $last_uriid]); + $this->logger->info('Start tag search.', ['q' => $search, 'start' => $pager->getStart(), 'items' => $pager->getItemsPerPage(), 'last' => $last_uriid]); $uriids = Tag::getURIIdListByTag($search, DI::userSession()->getLocalUserId(), $pager->getStart(), $pager->getItemsPerPage(), $last_uriid); $count = Tag::countByTag($search, DI::userSession()->getLocalUserId()); } else { - Logger::info('Start fulltext search.', ['q' => $search]); + $this->logger->info('Start fulltext search.', ['q' => $search]); $uriids = Post\Content::getURIIdListBySearch($search, DI::userSession()->getLocalUserId(), $pager->getStart(), $pager->getItemsPerPage(), $last_uriid); $count = Post\Content::countBySearch($search, DI::userSession()->getLocalUserId()); } @@ -197,7 +196,7 @@ class Index extends BaseSearch '$title' => $title ]); - Logger::info('Start Conversation.', ['q' => $search]); + $this->logger->info('Start Conversation.', ['q' => $search]); $o .= DI::conversation()->render($items, Conversation::MODE_SEARCH, false, false, 'commented', DI::userSession()->getLocalUserId()); diff --git a/src/Module/Smilies.php b/src/Module/Smilies.php index 3556696ecc..b923e2ac7b 100644 --- a/src/Module/Smilies.php +++ b/src/Module/Smilies.php @@ -9,9 +9,7 @@ namespace Friendica\Module; use Friendica\BaseModule; use Friendica\Content; -use Friendica\Core\Logger; use Friendica\Core\Renderer; -use Friendica\Core\System; use Friendica\DI; /** diff --git a/src/Network/HTTPClient/Response/GuzzleResponse.php b/src/Network/HTTPClient/Response/GuzzleResponse.php index e6ca46b3d1..0e246a0cb0 100644 --- a/src/Network/HTTPClient/Response/GuzzleResponse.php +++ b/src/Network/HTTPClient/Response/GuzzleResponse.php @@ -7,7 +7,7 @@ namespace Friendica\Network\HTTPClient\Response; -use Friendica\Core\Logger; +use Friendica\DI; use Friendica\Network\HTTPClient\Capability\ICanHandleHttpResponses; use GuzzleHttp\Psr7\Response; use GuzzleHttp\RedirectMiddleware; @@ -65,7 +65,7 @@ class GuzzleResponse extends Response implements ICanHandleHttpResponses, Respon } if (!$this->isSuccess) { - Logger::debug('debug', ['info' => $this->getHeaders()]); + DI::logger()->debug('debug', ['info' => $this->getHeaders()]); } if (!$this->isSuccess && $this->errorNumber == CURLE_OPERATION_TIMEDOUT) { diff --git a/src/Network/Probe.php b/src/Network/Probe.php index d17582f96b..fc064b0f9e 100644 --- a/src/Network/Probe.php +++ b/src/Network/Probe.php @@ -12,7 +12,6 @@ use DomXPath; use Exception; use Friendica\Content\Text\HTML; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\DBA; use Friendica\DI; @@ -116,7 +115,7 @@ class Probe $data['photo'] = Network::addBasePath($data['photo'], $data['url']); if (!Network::isValidHttpUrl($data['photo'])) { - Logger::warning('Invalid URL for photo', ['url' => $data['url'], 'photo' => $data['photo']]); + DI::logger()->warning('Invalid URL for photo', ['url' => $data['url'], 'photo' => $data['photo']]); unset($data['photo']); } } @@ -213,13 +212,13 @@ class Probe $xrd_timeout = DI::config()->get('system', 'xrd_timeout', 20); - Logger::info('Probing', ['host' => $host, 'ssl_url' => $ssl_url, 'url' => $url]); + DI::logger()->info('Probing', ['host' => $host, 'ssl_url' => $ssl_url, 'url' => $url]); $xrd = null; try { $curlResult = DI::httpClient()->get($ssl_url, HttpClientAccept::XRD_XML, [HttpClientOptions::TIMEOUT => $xrd_timeout, HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return []; } @@ -234,7 +233,7 @@ class Probe $host_url = 'https://' . $host; } } elseif ($curlResult->isTimeout()) { - Logger::info('Probing timeout', ['url' => $ssl_url]); + DI::logger()->info('Probing timeout', ['url' => $ssl_url]); self::$isTimeout = true; return []; } @@ -243,12 +242,12 @@ class Probe try { $curlResult = DI::httpClient()->get($url, HttpClientAccept::XRD_XML, [HttpClientOptions::TIMEOUT => $xrd_timeout, HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return []; } $connection_error = ($curlResult->getErrorNumber() == CURLE_COULDNT_CONNECT) || ($curlResult->getReturnCode() == 0); if ($curlResult->isTimeout()) { - Logger::info('Probing timeout', ['url' => $url]); + DI::logger()->info('Probing timeout', ['url' => $url]); self::$isTimeout = true; return []; } elseif ($connection_error && $ssl_connection_error) { @@ -261,13 +260,13 @@ class Probe $host_url = 'http://' . $host; } if (!is_object($xrd)) { - Logger::info('No xrd object found', ['host' => $host]); + DI::logger()->info('No xrd object found', ['host' => $host]); return []; } $links = XML::elementToArray($xrd); if (!isset($links['xrd']['link'])) { - Logger::info('No xrd data found', ['host' => $host]); + DI::logger()->info('No xrd data found', ['host' => $host]); return []; } @@ -290,13 +289,13 @@ class Probe } if (Network::isUrlBlocked($host_url)) { - Logger::info('Domain is blocked', ['url' => $host]); + DI::logger()->info('Domain is blocked', ['url' => $host]); return []; } self::$baseurl = $host_url; - Logger::info('Probing successful', ['host' => $host]); + DI::logger()->info('Probing successful', ['host' => $host]); return $lrdd; } @@ -317,7 +316,7 @@ class Probe $webfinger = $data['webfinger']; if (empty($webfinger['links'])) { - Logger::info('No webfinger links found', ['uri' => $uri]); + DI::logger()->info('No webfinger links found', ['uri' => $uri]); return []; } @@ -464,7 +463,7 @@ class Probe try { $curlResult = DI::httpClient()->get($url, HttpClientAccept::HTML, [HttpClientOptions::CONTENT_LENGTH => 1000000, HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return false; } if (!$curlResult->isSuccess()) { @@ -631,7 +630,7 @@ class Probe $baseurl = self::$baseurl; } } else { - Logger::info('URI was not detectable', ['uri' => $uri]); + DI::logger()->info('URI was not detectable', ['uri' => $uri]); return []; } @@ -672,7 +671,7 @@ class Probe private static function getWebfinger(string $template, string $type, string $uri, string $addr): ?array { if (Network::isUrlBlocked($template)) { - Logger::info('Domain is blocked', ['url' => $template]); + DI::logger()->info('Domain is blocked', ['url' => $template]); return null; } @@ -734,7 +733,7 @@ class Probe $parts = parse_url($uri); if (empty($parts['scheme']) && empty($parts['host']) && (empty($parts['path']) || strpos($parts['path'], '@') === false)) { - Logger::info('URI was not detectable, probe for AT Protocol now', ['uri' => $uri]); + DI::logger()->info('URI was not detectable, probe for AT Protocol now', ['uri' => $uri]); return self::atProtocol($uri); } @@ -748,7 +747,7 @@ class Probe return self::mail($uri, $uid); } - Logger::info('Probing start', ['uri' => $uri]); + DI::logger()->info('Probing start', ['uri' => $uri]); if (!empty($ap_profile['addr']) && ($ap_profile['addr'] != $uri)) { $data = self::getWebfingerArray($ap_profile['addr']); @@ -821,7 +820,7 @@ class Probe $result['url'] = $uri; } - Logger::info('Probing done', ['uri' => $uri, 'network' => $result['network']]); + DI::logger()->info('Probing done', ['uri' => $uri, 'network' => $result['network']]); return $result; } @@ -906,7 +905,7 @@ class Probe try { $curlResult = DI::httpClient()->get($url, 'application/x-zot+json', [HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return $data; } if ($curlResult->isTimeout()) { @@ -1017,7 +1016,7 @@ class Probe [HttpClientOptions::TIMEOUT => DI::config()->get('system', 'xrd_timeout', 20), HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO] ); } catch (\Throwable $e) { - Logger::notice($e->getMessage(), ['url' => $url, 'type' => $type, 'class' => get_class($e)]); + DI::logger()->notice($e->getMessage(), ['url' => $url, 'type' => $type, 'class' => get_class($e)]); return null; } @@ -1030,7 +1029,7 @@ class Probe $webfinger = json_decode($data, true); if (!empty($webfinger)) { if (!isset($webfinger['links'])) { - Logger::info('No json webfinger links', ['url' => $url]); + DI::logger()->info('No json webfinger links', ['url' => $url]); return []; } return $webfinger; @@ -1039,13 +1038,13 @@ class Probe // If it is not JSON, maybe it is XML $xrd = XML::parseString($data, true); if (!is_object($xrd)) { - Logger::info('No webfinger data retrievable', ['url' => $url]); + DI::logger()->info('No webfinger data retrievable', ['url' => $url]); return []; } $xrd_arr = XML::elementToArray($xrd); if (!isset($xrd_arr['xrd']['link'])) { - Logger::info('No XML webfinger links', ['url' => $url]); + DI::logger()->info('No XML webfinger links', ['url' => $url]); return []; } @@ -1092,7 +1091,7 @@ class Probe try { $curlResult = DI::httpClient()->get($noscrape_url, HttpClientAccept::JSON, [HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return $data; } if ($curlResult->isTimeout()) { @@ -1101,13 +1100,13 @@ class Probe } $content = $curlResult->getBodyString(); if (!$content) { - Logger::info('Empty body', ['url' => $noscrape_url]); + DI::logger()->info('Empty body', ['url' => $noscrape_url]); return $data; } $json = json_decode($content, true); if (!is_array($json)) { - Logger::info('No json data', ['url' => $noscrape_url]); + DI::logger()->info('No json data', ['url' => $noscrape_url]); return $data; } @@ -1257,7 +1256,7 @@ class Probe try { $curlResult = DI::httpClient()->get($hcard_url, HttpClientAccept::HTML, [HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return []; } if ($curlResult->isTimeout()) { @@ -1521,7 +1520,7 @@ class Probe self::$isTimeout = true; return $short ? false : []; } - Logger::debug('Fetched public key', ['Content-Type' => $curlResult->getHeader('Content-Type'), 'url' => $pubkey]); + DI::logger()->debug('Fetched public key', ['Content-Type' => $curlResult->getHeader('Content-Type'), 'url' => $pubkey]); $pubkey = $curlResult->getBodyString(); } @@ -1552,7 +1551,7 @@ class Probe try { $curlResult = DI::httpClient()->get($data['poll'], HttpClientAccept::FEED_XML, [HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return []; } if ($curlResult->isTimeout()) { @@ -1716,7 +1715,7 @@ class Probe } else { return []; } - + $profile = DI::atProtocol()->XRPCGet('app.bsky.actor.getProfile', ['actor' => $did]); if (empty($profile) || empty($profile->did)) { return []; @@ -1735,11 +1734,11 @@ class Probe 'poll' => ATProtocol::WEB . '/profile/' . $profile->did . '/rss', 'photo' => $profile->avatar ?? '', ]; - + if (!empty($profile->description)) { $data['about'] = HTML::toBBCode($profile->description); } - + if (!empty($profile->banner)) { $data['header'] = $profile->banner; } @@ -1866,7 +1865,7 @@ class Probe } $msgs = Email::poll($mbox, $uri); - Logger::info('Messages found', ['uri' => $uri, 'count' => count($msgs)]); + DI::logger()->info('Messages found', ['uri' => $uri, 'count' => count($msgs)]); if (!count($msgs)) { return []; @@ -1953,7 +1952,7 @@ class Probe $fixed = $scheme . $host . $port . $path . $query . $fragment; - Logger::debug('Avatar fixed', ['base' => $base, 'avatar' => $avatar, 'fixed' => $fixed]); + DI::logger()->debug('Avatar fixed', ['base' => $base, 'avatar' => $avatar, 'fixed' => $fixed]); return $fixed; } @@ -2015,7 +2014,7 @@ class Probe try { $curlResult = DI::httpClient()->get($gserver['noscrape'] . '/' . $data['nick'], HttpClientAccept::JSON, [HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return ''; } @@ -2055,7 +2054,7 @@ class Probe if (is_string($outbox['first']) && ($outbox['first'] != $feed)) { return self::updateFromOutbox($outbox['first'], $data); } else { - Logger::warning('Unexpected data', ['outbox' => $outbox]); + DI::logger()->warning('Unexpected data', ['outbox' => $outbox]); } return ''; } else { @@ -2096,7 +2095,7 @@ class Probe try { $curlResult = DI::httpClient()->get($data['poll'], HttpClientAccept::ATOM_XML, [HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return ''; } if (!$curlResult->isSuccess() || !$curlResult->getBodyString()) { @@ -2120,7 +2119,7 @@ class Probe $updated = !empty($updated_item->nodeValue) ? DateTimeFormat::utc($updated_item->nodeValue) : null; if (empty($published) || empty($updated)) { - Logger::notice('Invalid entry for XPath.', ['entry' => $entry, 'url' => $data['url']]); + DI::logger()->notice('Invalid entry for XPath.', ['entry' => $entry, 'url' => $data['url']]); continue; } diff --git a/src/Object/Api/Mastodon/Attachment.php b/src/Object/Api/Mastodon/Attachment.php index 323e4a77a8..c3871be795 100644 --- a/src/Object/Api/Mastodon/Attachment.php +++ b/src/Object/Api/Mastodon/Attachment.php @@ -8,8 +8,6 @@ namespace Friendica\Object\Api\Mastodon; use Friendica\BaseDataTransferObject; -use Friendica\Core\Logger; -use Friendica\Core\System; /** * Class Attachment diff --git a/src/Object/Post.php b/src/Object/Post.php index bc0ade1a0a..37b530b679 100644 --- a/src/Object/Post.php +++ b/src/Object/Post.php @@ -11,7 +11,6 @@ use Friendica\Content\ContactSelector; use Friendica\Content\Feature; use Friendica\Core\Addon; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\DI; @@ -782,10 +781,10 @@ class Post public function addChild(Post $item) { if (!$item->getId()) { - Logger::error('Post object has no id', ['post' => $item]); + DI::logger()->error('Post object has no id', ['post' => $item]); return false; } elseif ($this->getChild($item->getId())) { - Logger::warning('Post object already exists', ['post' => $item]); + DI::logger()->warning('Post object already exists', ['post' => $item]); return false; } @@ -793,13 +792,13 @@ class Post * Only add what will be displayed */ if ($item->getDataValue('network') === Protocol::MAIL && DI::userSession()->getLocalUserId() != $item->getDataValue('uid')) { - Logger::warning('Post object does not belong to local user', ['post' => $item, 'local_user' => DI::userSession()->getLocalUserId()]); + DI::logger()->warning('Post object does not belong to local user', ['post' => $item, 'local_user' => DI::userSession()->getLocalUserId()]); return false; } elseif ( DI::activity()->match($item->getDataValue('verb'), Activity::LIKE) || DI::activity()->match($item->getDataValue('verb'), Activity::DISLIKE) ) { - Logger::warning('Post objects is a like/dislike', ['post' => $item]); + DI::logger()->warning('Post objects is a like/dislike', ['post' => $item]); return false; } @@ -884,7 +883,7 @@ class Post } } - Logger::info('[WARN] Item::removeChild : Item is not a child (' . $id . ').'); + DI::logger()->info('[WARN] Item::removeChild : Item is not a child (' . $id . ').'); return false; } @@ -947,7 +946,7 @@ class Post public function getDataValue(string $name) { if (!isset($this->data[$name])) { - // Logger::info('[ERROR] Item::getDataValue : Item has no value name "'. $name .'".'); + // DI::logger()->info('[ERROR] Item::getDataValue : Item has no value name "'. $name .'".'); return false; } diff --git a/src/Object/Thread.php b/src/Object/Thread.php index 2363ab197d..88534f2918 100644 --- a/src/Object/Thread.php +++ b/src/Object/Thread.php @@ -8,7 +8,6 @@ namespace Friendica\Object; use Friendica\Content\Conversation; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\DI; use Friendica\Protocol\Activity; @@ -77,7 +76,7 @@ class Thread $this->writable = $writable; break; default: - Logger::info('[ERROR] Conversation::setMode : Unhandled mode ('. $mode .').'); + DI::logger()->info('[ERROR] Conversation::setMode : Unhandled mode ('. $mode .').'); return false; break; } @@ -138,12 +137,12 @@ class Thread $item_id = $item->getId(); if (!$item_id) { - Logger::info('[ERROR] Conversation::addThread : Item has no ID!!'); + DI::logger()->info('[ERROR] Conversation::addThread : Item has no ID!!'); return false; } if ($this->getParent($item->getId())) { - Logger::info('[WARN] Conversation::addThread : Thread already exists ('. $item->getId() .').'); + DI::logger()->info('[WARN] Conversation::addThread : Thread already exists ('. $item->getId() .').'); return false; } @@ -151,12 +150,12 @@ class Thread * Only add will be displayed */ if ($item->getDataValue('network') === Protocol::MAIL && DI::userSession()->getLocalUserId() != $item->getDataValue('uid')) { - Logger::info('[WARN] Conversation::addThread : Thread is a mail ('. $item->getId() .').'); + DI::logger()->info('[WARN] Conversation::addThread : Thread is a mail ('. $item->getId() .').'); return false; } if ($item->getDataValue('verb') === Activity::LIKE || $item->getDataValue('verb') === Activity::DISLIKE) { - Logger::info('[WARN] Conversation::addThread : Thread is a (dis)like ('. $item->getId() .').'); + DI::logger()->info('[WARN] Conversation::addThread : Thread is a (dis)like ('. $item->getId() .').'); return false; } @@ -190,7 +189,7 @@ class Thread $item_data = $item->getTemplateData($conv_responses, $formSecurityToken); if (!$item_data) { - Logger::info('[ERROR] Conversation::getTemplateData : Failed to get item template data ('. $item->getId() .').'); + DI::logger()->info('[ERROR] Conversation::getTemplateData : Failed to get item template data ('. $item->getId() .').'); return false; } $result[] = $item_data; diff --git a/src/Protocol/ATProtocol/Processor.php b/src/Protocol/ATProtocol/Processor.php index aa57299abf..f551f6a273 100755 --- a/src/Protocol/ATProtocol/Processor.php +++ b/src/Protocol/ATProtocol/Processor.php @@ -170,7 +170,7 @@ class Processor } } $item['source'] = json_encode($post); - $item = $this->addMedia($post->thread->post->embed, $item, 0); + $item = $this->addMedia($post->thread->post->embed, $item, 0); } $id = Item::insert($item); @@ -354,6 +354,10 @@ class Processor 'source' => json_encode($data), ]; + if ((time() - strtotime($item['created'])) > 600) { + $item['received'] = $item['created']; + } + if ($this->postExists($item['uri'], [$uid])) { $this->logger->info('Post already exists for user', ['uri' => $item['uri'], 'uid' => $uid]); return []; @@ -543,7 +547,7 @@ class Processor 'preview' => $image->thumb, 'description' => $image->alt, 'height' => $image->aspectRatio->height ?? null, - 'width' => $image->aspectRatio->width ?? null, + 'width' => $image->aspectRatio->width ?? null, ]; Post\Media::insert($media); } diff --git a/src/Protocol/ActivityPub.php b/src/Protocol/ActivityPub.php index 55ba315d83..9bef5479cd 100644 --- a/src/Protocol/ActivityPub.php +++ b/src/Protocol/ActivityPub.php @@ -7,7 +7,6 @@ namespace Friendica\Protocol; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\System; use Friendica\DI; @@ -87,12 +86,12 @@ class ActivityPub { header('Vary: Accept', false); if (stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/activity+json') || stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/ld+json')) { - Logger::debug('Is AP request', ['accept' => $_SERVER['HTTP_ACCEPT'], 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); + DI::logger()->debug('Is AP request', ['accept' => $_SERVER['HTTP_ACCEPT'], 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); return true; } if (stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/json')) { - Logger::debug('Is JSON request', ['accept' => $_SERVER['HTTP_ACCEPT'], 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); + DI::logger()->debug('Is JSON request', ['accept' => $_SERVER['HTTP_ACCEPT'], 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); return true; } @@ -232,7 +231,7 @@ class ActivityPub $start_timestamp = $start_timestamp ?: time(); if ((time() - $start_timestamp) > 60) { - Logger::info('Fetch time limit reached', ['url' => $url, 'uid' => $uid]); + DI::logger()->info('Fetch time limit reached', ['url' => $url, 'uid' => $uid]); return []; } @@ -284,24 +283,24 @@ class ActivityPub $signer = HTTPSignature::getSigner('', $_SERVER); if (!$signer) { - Logger::debug('No signer or invalid signature', ['uid' => $uid, 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '', 'called_by' => $called_by]); + DI::logger()->debug('No signer or invalid signature', ['uid' => $uid, 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '', 'called_by' => $called_by]); return false; } $apcontact = APContact::getByURL($signer); if (empty($apcontact)) { - Logger::info('APContact not found', ['uid' => $uid, 'handle' => $signer, 'called_by' => $called_by]); + DI::logger()->info('APContact not found', ['uid' => $uid, 'handle' => $signer, 'called_by' => $called_by]); return false; } if (empty($apcontact['gsid']) || empty($apcontact['baseurl'])) { - Logger::debug('No server found', ['uid' => $uid, 'signer' => $signer, 'called_by' => $called_by]); + DI::logger()->debug('No server found', ['uid' => $uid, 'signer' => $signer, 'called_by' => $called_by]); return false; } $contact = Contact::getByURL($signer, false, ['id', 'baseurl', 'gsid']); if (!empty($contact) && Contact\User::isBlocked($contact['id'], $uid)) { - Logger::info('Requesting contact is blocked', ['uid' => $uid, 'id' => $contact['id'], 'signer' => $signer, 'baseurl' => $contact['baseurl'], 'called_by' => $called_by]); + DI::logger()->info('Requesting contact is blocked', ['uid' => $uid, 'id' => $contact['id'], 'signer' => $signer, 'baseurl' => $contact['baseurl'], 'called_by' => $called_by]); return false; } @@ -318,7 +317,7 @@ class ActivityPub return false; } - Logger::debug('Server is an accepted requester', ['uid' => $uid, 'id' => $apcontact['gsid'], 'url' => $apcontact['baseurl'], 'signer' => $signer, 'called_by' => $called_by]); + DI::logger()->debug('Server is an accepted requester', ['uid' => $uid, 'id' => $apcontact['gsid'], 'url' => $apcontact['baseurl'], 'signer' => $signer, 'called_by' => $called_by]); return true; } diff --git a/src/Protocol/ActivityPub/ClientToServer.php b/src/Protocol/ActivityPub/ClientToServer.php index 989d12bea0..c95732d3b9 100644 --- a/src/Protocol/ActivityPub/ClientToServer.php +++ b/src/Protocol/ActivityPub/ClientToServer.php @@ -8,7 +8,6 @@ namespace Friendica\Protocol\ActivityPub; use Friendica\Content\Text\Markdown; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\DBA; use Friendica\DI; @@ -39,24 +38,24 @@ class ClientToServer { $ldactivity = JsonLD::compact($activity); if (empty($ldactivity)) { - Logger::notice('Invalid activity', ['activity' => $activity, 'uid' => $uid]); + DI::logger()->notice('Invalid activity', ['activity' => $activity, 'uid' => $uid]); return []; } $type = JsonLD::fetchElement($ldactivity, '@type'); if (!$type) { - Logger::notice('Empty type', ['activity' => $ldactivity, 'uid' => $uid]); + DI::logger()->notice('Empty type', ['activity' => $ldactivity, 'uid' => $uid]); return []; } $object_id = JsonLD::fetchElement($ldactivity, 'as:object', '@id') ?? ''; $object_type = Receiver::fetchObjectType($ldactivity, $object_id, $uid); if (!$object_type && !$object_id) { - Logger::notice('Empty object type or id', ['activity' => $ldactivity, 'uid' => $uid]); + DI::logger()->notice('Empty object type or id', ['activity' => $ldactivity, 'uid' => $uid]); return []; } - Logger::debug('Processing activity', ['type' => $type, 'object_type' => $object_type, 'object_id' => $object_id, 'activity' => $ldactivity]); + DI::logger()->debug('Processing activity', ['type' => $type, 'object_type' => $object_type, 'object_id' => $object_id, 'activity' => $ldactivity]); return self::routeActivities($type, $object_type, $object_id, $uid, $application, $ldactivity); } @@ -105,7 +104,7 @@ class ClientToServer { $object_data = self::processObject($ldactivity['as:object']); $item = ClientToServer::processContent($object_data, $application, $uid); - Logger::debug('Got data', ['item' => $item, 'object' => $object_data]); + DI::logger()->debug('Got data', ['item' => $item, 'object' => $object_data]); $id = Item::insert($item, true); if (!empty($id)) { @@ -131,18 +130,18 @@ class ClientToServer $id = Item::fetchByLink($object_id, $uid, ActivityPub\Receiver::COMPLETION_ASYNC); $original_post = Post::selectFirst(['uri-id'], ['uid' => $uid, 'origin' => true, 'id' => $id]); if (empty($original_post)) { - Logger::debug('Item not found or does not belong to the user', ['id' => $id, 'uid' => $uid, 'object_id' => $object_id, 'activity' => $ldactivity]); + DI::logger()->debug('Item not found or does not belong to the user', ['id' => $id, 'uid' => $uid, 'object_id' => $object_id, 'activity' => $ldactivity]); return []; } $object_data = self::processObject($ldactivity['as:object']); $item = ClientToServer::processContent($object_data, $application, $uid); if (empty($item['title']) && empty($item['body'])) { - Logger::debug('Empty body and title', ['id' => $id, 'uid' => $uid, 'object_id' => $object_id, 'activity' => $ldactivity]); + DI::logger()->debug('Empty body and title', ['id' => $id, 'uid' => $uid, 'object_id' => $object_id, 'activity' => $ldactivity]); return []; } $post = ['title' => $item['title'], 'body' => $item['body']]; - Logger::debug('Got data', ['id' => $id, 'uid' => $uid, 'item' => $post]); + DI::logger()->debug('Got data', ['id' => $id, 'uid' => $uid, 'item' => $post]); Item::update($post, ['id' => $id]); Item::updateDisplayCache($original_post['uri-id']); diff --git a/src/Protocol/ActivityPub/Delivery.php b/src/Protocol/ActivityPub/Delivery.php index 5a1d851b38..865d962d4a 100644 --- a/src/Protocol/ActivityPub/Delivery.php +++ b/src/Protocol/ActivityPub/Delivery.php @@ -7,7 +7,6 @@ namespace Friendica\Protocol\ActivityPub; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\DI; @@ -50,7 +49,7 @@ class Delivery if ($result['serverfailure']) { // In a timeout situation we assume that every delivery to that inbox will time out. // So we set the flag and try all deliveries at a later time. - Logger::notice('Inbox delivery has a server failure', ['inbox' => $inbox]); + DI::logger()->notice('Inbox delivery has a server failure', ['inbox' => $inbox]); $serverfail = true; } Worker::coolDown(); @@ -61,7 +60,7 @@ class Delivery } } - Logger::debug('Inbox delivery done', ['inbox' => $inbox, 'posts' => count($posts), 'failed' => count($uri_ids), 'serverfailure' => $serverfail]); + DI::logger()->debug('Inbox delivery done', ['inbox' => $inbox, 'posts' => count($posts), 'failed' => count($uri_ids), 'serverfailure' => $serverfail]); return ['success' => empty($uri_ids), 'uri_ids' => $uri_ids]; } @@ -84,11 +83,11 @@ class Delivery if (empty($item_id) && !empty($uri_id) && !empty($uid)) { $item = Post::selectFirst(['id', 'parent', 'origin', 'gravity', 'verb'], ['uri-id' => $uri_id, 'uid' => [$uid, 0]], ['order' => ['uid' => true]]); if (empty($item['id'])) { - Logger::warning('Item not found, removing delivery', ['uri-id' => $uri_id, 'uid' => $uid, 'cmd' => $cmd, 'inbox' => $inbox]); + DI::logger()->warning('Item not found, removing delivery', ['uri-id' => $uri_id, 'uid' => $uid, 'cmd' => $cmd, 'inbox' => $inbox]); Post\Delivery::remove($uri_id, $inbox); return ['success' => true, 'serverfailure' => false, 'drop' => false]; } elseif (!DI::config()->get('system', 'redistribute_activities') && !$item['origin'] && ($item['gravity'] == Item::GRAVITY_ACTIVITY)) { - Logger::notice('Activities are not relayed, removing delivery', ['verb' => $item['verb'], 'uri-id' => $uri_id, 'uid' => $uid, 'cmd' => $cmd, 'inbox' => $inbox]); + DI::logger()->notice('Activities are not relayed, removing delivery', ['verb' => $item['verb'], 'uri-id' => $uri_id, 'uid' => $uid, 'cmd' => $cmd, 'inbox' => $inbox]); Post\Delivery::remove($uri_id, $inbox); return ['success' => true, 'serverfailure' => false, 'drop' => false]; } else { @@ -122,7 +121,7 @@ class Delivery $success = $response->isSuccess(); $serverfail = $response->isTimeout(); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); $response = null; $success = false; $serverfail = true; @@ -154,7 +153,7 @@ class Delivery $actor = self:: fetchActorForRelayInbox($inbox); if (!empty($actor)) { $drop = !ActivityPub\Transmitter::sendRelayFollow($actor); - Logger::notice('Resubscribed to relay', ['url' => $actor, 'success' => !$drop]); + DI::logger()->notice('Resubscribed to relay', ['url' => $actor, 'success' => !$drop]); } elseif ($cmd == ProtocolDelivery::DELETION) { // Remote systems not always accept our deletion requests, so we drop them if rejected. // Situation is: In Friendica we allow the thread owner to delete foreign comments to their thread. @@ -164,7 +163,7 @@ class Delivery } - Logger::notice('Delivery failed', ['retcode' => $response->getReturnCode() ?? 0, 'serverfailure' => $serverfail, 'drop' => $drop, 'runtime' => round($runtime, 3), 'uri-id' => $uri_id, 'uid' => $uid, 'item_id' => $item_id, 'cmd' => $cmd, 'inbox' => $inbox]); + DI::logger()->notice('Delivery failed', ['retcode' => $response->getReturnCode() ?? 0, 'serverfailure' => $serverfail, 'drop' => $drop, 'runtime' => round($runtime, 3), 'uri-id' => $uri_id, 'uid' => $uid, 'item_id' => $item_id, 'cmd' => $cmd, 'inbox' => $inbox]); } if ($uri_id) { if ($success) { @@ -180,7 +179,7 @@ class Delivery self::setSuccess($receivers, $success); - Logger::debug('Delivered', ['uri-id' => $uri_id, 'uid' => $uid, 'item_id' => $item_id, 'cmd' => $cmd, 'inbox' => $inbox, 'success' => $success, 'serverfailure' => $serverfail, 'drop' => $drop]); + DI::logger()->debug('Delivered', ['uri-id' => $uri_id, 'uid' => $uid, 'item_id' => $item_id, 'cmd' => $cmd, 'inbox' => $inbox, 'success' => $success, 'serverfailure' => $serverfail, 'drop' => $drop]); if (($success || $drop) && in_array($cmd, [ProtocolDelivery::POST])) { Post\DeliveryData::incrementQueueDone($uri_id, Post\DeliveryData::ACTIVITYPUB); diff --git a/src/Protocol/ActivityPub/Fetch.php b/src/Protocol/ActivityPub/Fetch.php index fa7b52996b..3c787981ab 100644 --- a/src/Protocol/ActivityPub/Fetch.php +++ b/src/Protocol/ActivityPub/Fetch.php @@ -7,9 +7,9 @@ namespace Friendica\Protocol\ActivityPub; -use Friendica\Core\Logger; use Friendica\Database\Database; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Util\DateTimeFormat; /** @@ -22,7 +22,7 @@ class Fetch DBA::insert('fetch-entry', ['url' => $url, 'created' => DateTimeFormat::utcNow()], Database::INSERT_IGNORE); $fetch = DBA::selectFirst('fetch-entry', ['id'], ['url' => $url]); - Logger::debug('Added fetch entry', ['url' => $url, 'fetch' => $fetch]); + DI::logger()->debug('Added fetch entry', ['url' => $url, 'fetch' => $fetch]); return $fetch['id'] ?? 0; } @@ -38,7 +38,7 @@ class Fetch } DBA::update('fetch-entry', ['wid' => $wid], ['url' => $url]); - Logger::debug('Worker id set', ['url' => $url, 'wid' => $wid]); + DI::logger()->debug('Worker id set', ['url' => $url, 'wid' => $wid]); } /** @@ -48,14 +48,14 @@ class Fetch { $fetch = DBA::selectFirst('fetch-entry', ['id', 'wid'], ['url' => $url]); if (empty($fetch['id'])) { - Logger::debug('No entry found for url', ['url' => $url]); + DI::logger()->debug('No entry found for url', ['url' => $url]); return false; } // We don't have a workerqueue id yet. So most likely is isn't assigned yet. // To avoid the ramping up of another fetch request we simply claim that there is a waiting worker. if (!empty($fetch['id']) && empty($fetch['wid'])) { - Logger::debug('Entry without worker found for url', ['url' => $url]); + DI::logger()->debug('Entry without worker found for url', ['url' => $url]); return true; } diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index b50397dc75..6cc401f05e 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -11,7 +11,6 @@ use Friendica\Content\Text\BBCode; use Friendica\Content\Text\HTML; use Friendica\Content\Text\Markdown; use Friendica\Core\Cache\Enum\Duration; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\System; use Friendica\Core\Worker; @@ -204,7 +203,7 @@ class Processor Post\QuestionOption::update($item['uri-id'], $key, $option); } - Logger::debug('Storing incoming question', ['type' => $activity['type'], 'uri-id' => $item['uri-id'], 'question' => $activity['question']]); + DI::logger()->debug('Storing incoming question', ['type' => $activity['type'], 'uri-id' => $item['uri-id'], 'question' => $activity['question']]); } /** @@ -218,7 +217,7 @@ class Processor { $item = Post::selectFirst(['uri', 'uri-id', 'thr-parent', 'gravity', 'post-type', 'private'], ['uri' => $activity['id']]); if (!DBA::isResult($item)) { - Logger::notice('No existing item, item will be created', ['uri' => $activity['id']]); + DI::logger()->notice('No existing item, item will be created', ['uri' => $activity['id']]); $item = self::createItem($activity, false); if (empty($item)) { Queue::remove($activity); @@ -278,7 +277,7 @@ class Processor $event['nofinish'] = empty($event['finish']); $event['location'] = $activity['location']; - Logger::info('Updating event', ['uri' => $activity['id'], 'id' => $event_id]); + DI::logger()->info('Updating event', ['uri' => $activity['id'], 'id' => $event_id]); Event::store($event); } @@ -318,14 +317,14 @@ class Processor if (!empty($item['context'])) { $conversation = Post::selectFirstThread(['uri'], ['context' => $item['context']]); if (!empty($conversation)) { - Logger::debug('Got context', ['context' => $item['context'], 'parent' => $conversation]); + DI::logger()->debug('Got context', ['context' => $item['context'], 'parent' => $conversation]); $item['parent-uri'] = $conversation['uri']; $item['parent-uri-id'] = ItemURI::getIdByURI($item['parent-uri']); } } elseif (!empty($item['conversation'])) { $conversation = Post::selectFirstThread(['uri'], ['conversation' => $item['conversation']]); if (!empty($conversation)) { - Logger::debug('Got conversation', ['conversation' => $item['conversation'], 'parent' => $conversation]); + DI::logger()->debug('Got conversation', ['conversation' => $item['conversation'], 'parent' => $conversation]); $item['parent-uri'] = $conversation['uri']; $item['parent-uri-id'] = ItemURI::getIdByURI($item['parent-uri']); } @@ -333,9 +332,9 @@ class Processor $conversation = []; } - Logger::debug('Create Item', ['id' => $activity['id'], 'conversation' => $item['conversation'] ?? '']); + DI::logger()->debug('Create Item', ['id' => $activity['id'], 'conversation' => $item['conversation'] ?? '']); if (empty($activity['author']) && empty($activity['actor'])) { - Logger::notice('Missing author and actor. We quit here.', ['activity' => $activity]); + DI::logger()->notice('Missing author and actor. We quit here.', ['activity' => $activity]); Queue::remove($activity); return []; } @@ -354,7 +353,7 @@ class Processor $item['diaspora_signed_text'] = $activity['diaspora:comment'] ?? ''; if (empty($conversation) && empty($activity['directmessage']) && ($item['gravity'] != Item::GRAVITY_PARENT) && !Post::exists(['uri' => $item['thr-parent']])) { - Logger::notice('Parent not found, message will be discarded.', ['thr-parent' => $item['thr-parent']]); + DI::logger()->notice('Parent not found, message will be discarded.', ['thr-parent' => $item['thr-parent']]); if (!$fetch_parents) { Queue::remove($activity); } @@ -416,12 +415,12 @@ class Processor $actor = Contact::getById($activity['thread-completion'], ['url']); $item['causer-link'] = $actor['url']; $item['causer-id'] = $activity['thread-completion']; - Logger::info('Use inherited actor as causer.', ['id' => $item['owner-id'], 'activity' => $activity['thread-completion'], 'owner' => $item['owner-link'], 'actor' => $actor['url']]); + DI::logger()->info('Use inherited actor as causer.', ['id' => $item['owner-id'], 'activity' => $activity['thread-completion'], 'owner' => $item['owner-link'], 'actor' => $actor['url']]); } else { // Store the original actor in the "causer" fields to enable the check for ignored or blocked contacts $item['causer-link'] = $item['owner-link']; $item['causer-id'] = $item['owner-id']; - Logger::info('Use actor as causer.', ['id' => $item['owner-id'], 'actor' => $item['owner-link']]); + DI::logger()->info('Use actor as causer.', ['id' => $item['owner-id'], 'actor' => $item['owner-link']]); } $item['owner-link'] = $item['author-link']; @@ -432,7 +431,7 @@ class Processor foreach ($activity['receiver_urls']['as:audience'] as $audience) { $actor = APContact::getByURL($audience, false); if (($actor['type'] ?? 'Person') == 'Group') { - Logger::debug('Group post detected via audience.', ['audience' => $audience, 'actor' => $activity['actor'], 'author' => $activity['author']]); + DI::logger()->debug('Group post detected via audience.', ['audience' => $audience, 'actor' => $activity['actor'], 'author' => $activity['author']]); $item['isGroup'] = true; $item['group-link'] = $item['owner-link'] = $audience; $item['owner-id'] = Contact::getIdForURL($audience); @@ -444,7 +443,7 @@ class Processor } if (!$item['isGroup'] && (($owner['type'] ?? 'Person') == 'Group')) { - Logger::debug('Group post detected via owner.', ['actor' => $activity['actor'], 'author' => $activity['author']]); + DI::logger()->debug('Group post detected via owner.', ['actor' => $activity['actor'], 'author' => $activity['author']]); $item['isGroup'] = true; $item['group-link'] = $item['owner-link']; } elseif (!empty($item['causer-link'])) { @@ -452,7 +451,7 @@ class Processor } if (!$item['isGroup'] && (($causer['type'] ?? 'Person') == 'Group')) { - Logger::debug('Group post detected via causer.', ['actor' => $activity['actor'], 'author' => $activity['author'], 'causer' => $item['causer-link']]); + DI::logger()->debug('Group post detected via causer.', ['actor' => $activity['actor'], 'author' => $activity['author'], 'causer' => $item['causer-link']]); $item['isGroup'] = true; $item['group-link'] = $item['causer-link']; } @@ -476,7 +475,7 @@ class Processor $item['uri-id'] = ItemURI::insert(['uri' => $item['uri'], 'guid' => $item['guid']]); if (empty($item['uri-id'])) { - Logger::warning('Unable to get a uri-id for an item uri', ['uri' => $item['uri'], 'guid' => $item['guid']]); + DI::logger()->warning('Unable to get a uri-id for an item uri', ['uri' => $item['uri'], 'guid' => $item['guid']]); return []; } @@ -484,7 +483,7 @@ class Processor $item = self::processContent($activity, $item); if (empty($item)) { - Logger::info('Message was not processed'); + DI::logger()->info('Message was not processed'); Queue::remove($activity); return []; } @@ -554,12 +553,12 @@ class Processor $activity['callstack'] = self::addToCallstack($activity['callstack'] ?? []); if (self::isFetched($activity['reply-to-id'])) { - Logger::info('Id is already fetched', ['id' => $activity['reply-to-id']]); + DI::logger()->info('Id is already fetched', ['id' => $activity['reply-to-id']]); return ''; } if (in_array($activity['reply-to-id'], $activity['children'] ?? [])) { - Logger::notice('reply-to-id is already in the list of children', ['id' => $activity['reply-to-id'], 'children' => $activity['children'], 'depth' => count($activity['children'])]); + DI::logger()->notice('reply-to-id is already in the list of children', ['id' => $activity['reply-to-id'], 'children' => $activity['children'], 'depth' => count($activity['children'])]); return ''; } @@ -574,20 +573,20 @@ class Processor $recursion_depth = $activity['recursion-depth'] ?? 0; if (!$in_background && ($recursion_depth < DI::config()->get('system', 'max_recursion_depth'))) { - Logger::info('Parent not found. Try to refetch it.', ['completion' => $completion, 'recursion-depth' => $recursion_depth, 'parent' => $activity['reply-to-id']]); + DI::logger()->info('Parent not found. Try to refetch it.', ['completion' => $completion, 'recursion-depth' => $recursion_depth, 'parent' => $activity['reply-to-id']]); $result = self::fetchMissingActivity($activity['reply-to-id'], $activity, '', Receiver::COMPLETION_AUTO); if (empty($result) && self::isActivityGone($activity['reply-to-id'])) { - Logger::notice('The activity is gone, the queue entry will be deleted', ['parent' => $activity['reply-to-id']]); + DI::logger()->notice('The activity is gone, the queue entry will be deleted', ['parent' => $activity['reply-to-id']]); if (!empty($activity['entry-id'])) { Queue::deleteById($activity['entry-id']); } } elseif (!empty($result)) { $post = Post::selectFirstPost(['uri'], ['uri' => [$result, $activity['reply-to-id']]]); if (!empty($post['uri'])) { - Logger::info('The activity has been fetched and created.', ['result' => $result, 'uri' => $post['uri']]); + DI::logger()->info('The activity has been fetched and created.', ['result' => $result, 'uri' => $post['uri']]); return $post['uri']; } else { - Logger::notice('The activity exists but has not been created, the queue entry will be deleted.', ['parent' => $result]); + DI::logger()->notice('The activity exists but has not been created, the queue entry will be deleted.', ['parent' => $result]); if (!empty($activity['entry-id'])) { Queue::deleteById($activity['entry-id']); } @@ -595,7 +594,7 @@ class Processor } return ''; } elseif (self::isActivityGone($activity['reply-to-id'])) { - Logger::notice('The activity is gone. We will not spawn a worker. The queue entry will be deleted', ['parent' => $activity['reply-to-id']]); + DI::logger()->notice('The activity is gone. We will not spawn a worker. The queue entry will be deleted', ['parent' => $activity['reply-to-id']]); if ($in_background) { // fetching in background is done for all activities where we have got the conversation // There we only delete the single activity and not the whole thread since we can store the @@ -606,19 +605,19 @@ class Processor } return ''; } elseif ($in_background) { - Logger::notice('Fetching is done in the background.', ['parent' => $activity['reply-to-id']]); + DI::logger()->notice('Fetching is done in the background.', ['parent' => $activity['reply-to-id']]); } else { - Logger::notice('Recursion level is too high.', ['parent' => $activity['reply-to-id'], 'recursion-depth' => $recursion_depth]); + DI::logger()->notice('Recursion level is too high.', ['parent' => $activity['reply-to-id'], 'recursion-depth' => $recursion_depth]); } if (!Fetch::hasWorker($activity['reply-to-id'])) { - Logger::notice('Fetching is done by worker.', ['parent' => $activity['reply-to-id'], 'recursion-depth' => $recursion_depth]); + DI::logger()->notice('Fetching is done by worker.', ['parent' => $activity['reply-to-id'], 'recursion-depth' => $recursion_depth]); Fetch::add($activity['reply-to-id']); $activity['recursion-depth'] = 0; $wid = Worker::add(Worker::PRIORITY_HIGH, 'FetchMissingActivity', $activity['reply-to-id'], $activity, '', Receiver::COMPLETION_ASYNC); Fetch::setWorkerId($activity['reply-to-id'], $wid); } else { - Logger::debug('Activity will already be fetched via a worker.', ['url' => $activity['reply-to-id']]); + DI::logger()->debug('Activity will already be fetched via a worker.', ['url' => $activity['reply-to-id']]); } return ''; @@ -640,7 +639,7 @@ class Processor try { $curlResult = HTTPSignature::fetchRaw($url, 0); } catch (\Exception $exception) { - Logger::notice('Error fetching url', ['url' => $url, 'exception' => $exception]); + DI::logger()->notice('Error fetching url', ['url' => $url, 'exception' => $exception]); return true; } @@ -677,7 +676,7 @@ class Processor { $owner = Contact::getIdForURL($activity['actor']); - Logger::info('Deleting item', ['object' => $activity['object_id'], 'owner' => $owner]); + DI::logger()->info('Deleting item', ['object' => $activity['object_id'], 'owner' => $owner]); Item::markForDeletion(['uri' => $activity['object_id'], 'owner-id' => $owner]); Queue::remove($activity); } @@ -703,12 +702,12 @@ class Processor } if (($item['author-link'] != $activity['actor']) && !$item['origin']) { - Logger::info('Not origin, not from the author, skipping update', ['id' => $item['id'], 'author' => $item['author-link'], 'actor' => $activity['actor']]); + DI::logger()->info('Not origin, not from the author, skipping update', ['id' => $item['id'], 'author' => $item['author-link'], 'actor' => $activity['actor']]); continue; } Tag::store($item['uri-id'], Tag::HASHTAG, $activity['object_content'], $activity['object_id']); - Logger::info('Tagged item', ['id' => $item['id'], 'tag' => $activity['object_content'], 'uri' => $activity['target_id'], 'actor' => $activity['actor']]); + DI::logger()->info('Tagged item', ['id' => $item['id'], 'tag' => $activity['object_content'], 'uri' => $activity['target_id'], 'actor' => $activity['actor']]); } } @@ -725,7 +724,7 @@ class Processor $activity['reply-to-id'] = $activity['object_id']; $item = self::createItem($activity, false); if (empty($item)) { - Logger::debug('Activity was not prepared', ['id' => $activity['object_id']]); + DI::logger()->debug('Activity was not prepared', ['id' => $activity['object_id']]); return; } @@ -795,7 +794,7 @@ class Processor return; } - Logger::debug('Add post to featured collection', ['post' => $post]); + DI::logger()->debug('Add post to featured collection', ['post' => $post]); Post\Collection::add($post['uri-id'], Post\Collection::FEATURED, $post['author-id']); Queue::remove($activity); @@ -814,7 +813,7 @@ class Processor return; } - Logger::debug('Remove post from featured collection', ['post' => $post]); + DI::logger()->debug('Remove post from featured collection', ['post' => $post]); Post\Collection::remove($post['uri-id'], Post\Collection::FEATURED); Queue::remove($activity); @@ -860,7 +859,7 @@ class Processor $event_id = Event::store($event); - Logger::info('Event was stored', ['id' => $event_id]); + DI::logger()->info('Event was stored', ['id' => $event_id]); return $event_id; } @@ -907,15 +906,15 @@ class Processor if ($id) { $shared_item = Post::selectFirst(['uri-id'], ['id' => $id]); $item['quote-uri-id'] = $shared_item['uri-id']; - Logger::debug('Quote is found', ['guid' => $item['guid'], 'uri-id' => $item['uri-id'], 'quote' => $activity['quote-url'], 'quote-uri-id' => $item['quote-uri-id']]); + DI::logger()->debug('Quote is found', ['guid' => $item['guid'], 'uri-id' => $item['uri-id'], 'quote' => $activity['quote-url'], 'quote-uri-id' => $item['quote-uri-id']]); } elseif ($uri_id = ItemURI::getIdByURI($activity['quote-url'], false)) { - Logger::info('Quote was not fetched but the uri-id existed', ['guid' => $item['guid'], 'uri-id' => $item['uri-id'], 'quote' => $activity['quote-url'], 'quote-uri-id' => $uri_id]); + DI::logger()->info('Quote was not fetched but the uri-id existed', ['guid' => $item['guid'], 'uri-id' => $item['uri-id'], 'quote' => $activity['quote-url'], 'quote-uri-id' => $uri_id]); $item['quote-uri-id'] = $uri_id; } elseif (Queue::exists($activity['quote-url'], 'as:Create')) { $item['quote-uri-id'] = ItemURI::getIdByURI($activity['quote-url']); - Logger::info('Quote is queued but not processed yet', ['guid' => $item['guid'], 'uri-id' => $item['uri-id'], 'quote' => $activity['quote-url'], 'quote-uri-id' => $item['quote-uri-id']]); + DI::logger()->info('Quote is queued but not processed yet', ['guid' => $item['guid'], 'uri-id' => $item['uri-id'], 'quote' => $activity['quote-url'], 'quote-uri-id' => $item['quote-uri-id']]); } else { - Logger::notice('Quote was not fetched', ['guid' => $item['guid'], 'uri-id' => $item['uri-id'], 'quote' => $activity['quote-url']]); + DI::logger()->notice('Quote was not fetched', ['guid' => $item['guid'], 'uri-id' => $item['uri-id'], 'quote' => $activity['quote-url']]); } } @@ -934,7 +933,7 @@ class Processor if (empty($activity['directmessage']) && ($parent_uri != $item['uri']) && ($item['gravity'] == Item::GRAVITY_COMMENT)) { $parent = Post::selectFirst(['id', 'uri-id', 'private', 'author-link', 'alias'], ['uri' => $parent_uri]); if (!DBA::isResult($parent)) { - Logger::warning('Unknown parent item.', ['uri' => $parent_uri]); + DI::logger()->warning('Unknown parent item.', ['uri' => $parent_uri]); return false; } $content = self::removeImplicitMentionsFromBody($content, $parent); @@ -946,7 +945,7 @@ class Processor foreach (Tag::getFromBody($item['body'], Tag::TAG_CHARACTER[Tag::EXCLUSIVE_MENTION]) as $tag) { $actor = APContact::getByURL($tag[2], false); if (($actor['type'] ?? 'Person') == 'Group') { - Logger::debug('Group post detected via exclusive mention.', ['mention' => $actor['url'], 'actor' => $activity['actor'], 'author' => $activity['author']]); + DI::logger()->debug('Group post detected via exclusive mention.', ['mention' => $actor['url'], 'actor' => $activity['actor'], 'author' => $activity['author']]); $item['isGroup'] = true; $item['group-link'] = $item['owner-link'] = $actor['url']; $item['owner-id'] = Contact::getIdForURL($actor['url']); @@ -1042,38 +1041,38 @@ class Processor // The checks are split to improve the support when searching why a message was accepted. if (count($activity['receiver']) != 1) { // The message has more than one receiver, so it is wanted. - Logger::debug('Message has got several receivers - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); + DI::logger()->debug('Message has got several receivers - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); return true; } if ($item['private'] == Item::PRIVATE) { // We only look at public posts here. Private posts are expected to be intentionally posted to the single receiver. - Logger::debug('Message is private - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); + DI::logger()->debug('Message is private - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); return true; } if (!empty($activity['from-relay'])) { // We check relay posts at another place. When it arrived here, the message is already checked. - Logger::debug('Message is a relay post that is already checked - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); + DI::logger()->debug('Message is a relay post that is already checked - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); return true; } if (in_array($activity['completion-mode'] ?? Receiver::COMPLETION_NONE, [Receiver::COMPLETION_MANUAL, Receiver::COMPLETION_ANNOUNCE])) { // Manual completions and completions caused by reshares are allowed without any further checks. - Logger::debug('Message is in completion mode - accepted', ['mode' => $activity['completion-mode'], 'uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); + DI::logger()->debug('Message is in completion mode - accepted', ['mode' => $activity['completion-mode'], 'uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); return true; } if ($item['gravity'] != Item::GRAVITY_PARENT) { // We cannot reliably check at this point if a comment or activity belongs to an accepted post or needs to be fetched // This can possibly be improved in the future. - Logger::debug('Message is no parent - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); + DI::logger()->debug('Message is no parent - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); return true; } $tags = array_column(Tag::getByURIId($item['uri-id'], [Tag::HASHTAG]), 'name'); if (Relay::isSolicitedPost($tags, $item['title'] . ' ' . ($item['content-warning'] ?? '') . ' ' . $item['body'], $item['author-id'], $item['uri'], Protocol::ACTIVITYPUB, $activity['thread-completion'] ?? 0)) { - Logger::debug('Post is accepted because of the relay settings', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); + DI::logger()->debug('Post is accepted because of the relay settings', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); return true; } else { return false; @@ -1164,7 +1163,7 @@ class Processor } elseif (($item['post-reason'] == Item::PR_FOLLOWER) && !empty($activity['from-relay'])) { // When a post arrives via a relay and we follow the author, we have to override the causer. // Otherwise the system assumes that we follow the relay. (See "addRowInformation") - Logger::debug('Relay post for follower', ['receiver' => $receiver, 'guid' => $item['guid'], 'relay' => $activity['from-relay']]); + DI::logger()->debug('Relay post for follower', ['receiver' => $receiver, 'guid' => $item['guid'], 'relay' => $activity['from-relay']]); $item['causer-id'] = ($item['gravity'] == Item::GRAVITY_PARENT) ? $item['owner-id'] : $item['author-id']; } @@ -1189,13 +1188,13 @@ class Processor if (($receiver != 0) && ($item['gravity'] == Item::GRAVITY_PARENT) && !in_array($item['post-reason'], [Item::PR_FOLLOWER, Item::PR_TAG, Item::PR_TO, Item::PR_CC, Item::PR_AUDIENCE])) { if (!$item['isGroup']) { if ($item['post-reason'] == Item::PR_BCC) { - Logger::info('Top level post via BCC from a non sharer, ignoring', ['uid' => $receiver, 'contact' => $item['contact-id'], 'url' => $item['uri']]); + DI::logger()->info('Top level post via BCC from a non sharer, ignoring', ['uid' => $receiver, 'contact' => $item['contact-id'], 'url' => $item['uri']]); continue; } if ((DI::pConfig()->get($receiver, 'system', 'accept_only_sharer') != Item::COMPLETION_LIKE) && in_array($activity['thread-children-type'] ?? '', Receiver::ACTIVITY_TYPES)) { - Logger::info('Top level post from thread completion from a non sharer had been initiated via an activity, ignoring', + DI::logger()->info('Top level post from thread completion from a non sharer had been initiated via an activity, ignoring', ['type' => $activity['thread-children-type'], 'user' => $item['uid'], 'causer' => $item['causer-link'], 'author' => $activity['author'], 'url' => $item['uri']]); continue; } @@ -1210,11 +1209,11 @@ class Processor if ((DI::pConfig()->get($receiver, 'system', 'accept_only_sharer') == Item::COMPLETION_NONE) && ((!$isGroup && !$item['isGroup'] && ($activity['type'] != 'as:Announce')) || !Contact::isSharingByURL($activity['actor'], $receiver))) { - Logger::info('Actor is a non sharer, is no group or it is no announce', ['uid' => $receiver, 'actor' => $activity['actor'], 'url' => $item['uri'], 'type' => $activity['type']]); + DI::logger()->info('Actor is a non sharer, is no group or it is no announce', ['uid' => $receiver, 'actor' => $activity['actor'], 'url' => $item['uri'], 'type' => $activity['type']]); continue; } - Logger::info('Accepting post', ['uid' => $receiver, 'url' => $item['uri']]); + DI::logger()->info('Accepting post', ['uid' => $receiver, 'url' => $item['uri']]); } if (!self::hasParents($item, $receiver)) { @@ -1229,12 +1228,12 @@ class Processor $item_id = Item::insert($item); if ($item_id) { - Logger::info('Item insertion successful', ['user' => $item['uid'], 'item_id' => $item_id]); + DI::logger()->info('Item insertion successful', ['user' => $item['uid'], 'item_id' => $item_id]); $success = true; } else { - Logger::notice('Item insertion aborted', ['uri' => $item['uri'], 'uid' => $item['uid']]); + DI::logger()->notice('Item insertion aborted', ['uri' => $item['uri'], 'uid' => $item['uid']]); if (($item['uid'] == 0) && (count($activity['receiver']) > 1)) { - Logger::info('Public item was aborted. We skip for all users.', ['uri' => $item['uri']]); + DI::logger()->info('Public item was aborted. We skip for all users.', ['uri' => $item['uri']]); break; } } @@ -1255,7 +1254,7 @@ class Processor $author = APContact::getByURL($item['owner-link'], false); // We send automatic follow requests for reshared messages. (We don't need though for group posts) if ($author['type'] != 'Group') { - Logger::info('Send follow request', ['uri' => $item['uri'], 'stored' => $stored, 'to' => $item['author-link']]); + DI::logger()->info('Send follow request', ['uri' => $item['uri'], 'stored' => $stored, 'to' => $item['author-link']]); ActivityPub\Transmitter::sendFollowObject($item['uri'], $item['author-link']); } } @@ -1314,15 +1313,15 @@ class Processor $stored = Item::storeForUserByUriId($item['parent-uri-id'], $receiver, $fields); $has_parents = (bool)$stored; if ($stored) { - Logger::notice('Inserted missing parent post', ['stored' => $stored, 'uid' => $receiver, 'parent' => $item['parent-uri']]); + DI::logger()->notice('Inserted missing parent post', ['stored' => $stored, 'uid' => $receiver, 'parent' => $item['parent-uri']]); } else { - Logger::notice('Parent could not be added.', ['uid' => $receiver, 'uri' => $item['uri'], 'parent' => $item['parent-uri']]); + DI::logger()->notice('Parent could not be added.', ['uid' => $receiver, 'uri' => $item['uri'], 'parent' => $item['parent-uri']]); return false; } } elseif ($add_parent) { - Logger::debug('Parent does not exist.', ['uid' => $receiver, 'uri' => $item['uri'], 'parent' => $item['parent-uri']]); + DI::logger()->debug('Parent does not exist.', ['uid' => $receiver, 'uri' => $item['uri'], 'parent' => $item['parent-uri']]); } else { - Logger::debug('Parent should not be added.', ['uid' => $receiver, 'gravity' => $item['gravity'], 'verb' => $item['verb'], 'guid' => $item['guid'], 'uri' => $item['uri'], 'parent' => $item['parent-uri']]); + DI::logger()->debug('Parent should not be added.', ['uid' => $receiver, 'gravity' => $item['gravity'], 'verb' => $item['verb'], 'guid' => $item['guid'], 'uri' => $item['uri'], 'parent' => $item['parent-uri']]); } } @@ -1333,14 +1332,14 @@ class Processor $stored = Item::storeForUserByUriId($item['thr-parent-id'], $receiver, $fields); $has_parents = $has_parents || (bool)$stored; if ($stored) { - Logger::notice('Inserted missing thread parent post', ['stored' => $stored, 'uid' => $receiver, 'thread-parent' => $item['thr-parent']]); + DI::logger()->notice('Inserted missing thread parent post', ['stored' => $stored, 'uid' => $receiver, 'thread-parent' => $item['thr-parent']]); } else { - Logger::notice('Thread parent could not be added.', ['uid' => $receiver, 'uri' => $item['uri'], 'thread-parent' => $item['thr-parent']]); + DI::logger()->notice('Thread parent could not be added.', ['uid' => $receiver, 'uri' => $item['uri'], 'thread-parent' => $item['thr-parent']]); } } elseif ($add_parent) { - Logger::debug('Thread parent does not exist.', ['uid' => $receiver, 'uri' => $item['uri'], 'thread-parent' => $item['thr-parent']]); + DI::logger()->debug('Thread parent does not exist.', ['uid' => $receiver, 'uri' => $item['uri'], 'thread-parent' => $item['thr-parent']]); } else { - Logger::debug('Thread parent should not be added.', ['uid' => $receiver, 'gravity' => $item['gravity'], 'verb' => $item['verb'], 'guid' => $item['guid'], 'uri' => $item['uri'], 'thread-parent' => $item['thr-parent']]); + DI::logger()->debug('Thread parent should not be added.', ['uid' => $receiver, 'gravity' => $item['gravity'], 'verb' => $item['verb'], 'guid' => $item['guid'], 'uri' => $item['uri'], 'thread-parent' => $item['thr-parent']]); } } @@ -1403,12 +1402,12 @@ class Processor } elseif ($host = parse_url($receiver, PHP_URL_HOST)) { $name = $host; } else { - Logger::warning('Unable to coerce name from receiver', ['element' => $element, 'type' => $type, 'receiver' => $receiver]); + DI::logger()->warning('Unable to coerce name from receiver', ['element' => $element, 'type' => $type, 'receiver' => $receiver]); $name = ''; } $target = Tag::getTargetType($receiver); - Logger::debug('Got target type', ['type' => $target, 'url' => $receiver]); + DI::logger()->debug('Got target type', ['type' => $target, 'url' => $receiver]); Tag::store($uriid, $type, $name, $receiver, $target); } } @@ -1429,7 +1428,7 @@ class Processor } elseif ($host = parse_url($capability, PHP_URL_HOST)) { $name = $host; } else { - Logger::warning('Unable to coerce name from capability', ['element' => $element, 'type' => $type, 'capability' => $capability]); + DI::logger()->warning('Unable to coerce name from capability', ['element' => $element, 'type' => $type, 'capability' => $capability]); $name = ''; } $restricted = false; @@ -1452,16 +1451,16 @@ class Processor private static function postMail(array $item) { if (($item['gravity'] != Item::GRAVITY_PARENT) && !DBA::exists('mail', ['uri' => $item['thr-parent'], 'uid' => $item['uid']])) { - Logger::info('Parent not found, mail will be discarded.', ['uid' => $item['uid'], 'uri' => $item['thr-parent']]); + DI::logger()->info('Parent not found, mail will be discarded.', ['uid' => $item['uid'], 'uri' => $item['thr-parent']]); return false; } if (!Contact::isFollower($item['contact-id'], $item['uid']) && !Contact::isSharing($item['contact-id'], $item['uid'])) { - Logger::info('Contact is not a sharer or follower, mail will be discarded.', ['item' => $item]); + DI::logger()->info('Contact is not a sharer or follower, mail will be discarded.', ['item' => $item]); return false; } - Logger::info('Direct Message', $item); + DI::logger()->info('Direct Message', $item); $msg = []; $msg['uid'] = $item['uid']; @@ -1517,17 +1516,17 @@ class Processor */ public static function fetchFeaturedPosts(string $url) { - Logger::info('Fetch featured posts', ['contact' => $url]); + DI::logger()->info('Fetch featured posts', ['contact' => $url]); $apcontact = APContact::getByURL($url); if (empty($apcontact['featured'])) { - Logger::info('Contact does not have a featured collection', ['contact' => $url]); + DI::logger()->info('Contact does not have a featured collection', ['contact' => $url]); return; } $pcid = Contact::getIdForURL($url, 0, false); if (empty($pcid)) { - Logger::notice('Contact not found', ['contact' => $url]); + DI::logger()->notice('Contact not found', ['contact' => $url]); return; } @@ -1540,11 +1539,11 @@ class Processor $featured = ActivityPub::fetchItems($apcontact['featured']); if (empty($featured)) { - Logger::info('Contact does not have featured posts', ['contact' => $url]); + DI::logger()->info('Contact does not have featured posts', ['contact' => $url]); foreach ($old_featured as $uri_id) { Post\Collection::remove($uri_id, Post\Collection::FEATURED); - Logger::debug('Removed no longer featured post', ['uri-id' => $uri_id, 'contact' => $url]); + DI::logger()->debug('Removed no longer featured post', ['uri-id' => $uri_id, 'contact' => $url]); } return; } @@ -1562,10 +1561,10 @@ class Processor if (!empty($item['uri-id'])) { if (!$item['featured']) { Post\Collection::add($item['uri-id'], Post\Collection::FEATURED, $item['author-id']); - Logger::debug('Added featured post', ['uri-id' => $item['uri-id'], 'contact' => $url]); + DI::logger()->debug('Added featured post', ['uri-id' => $item['uri-id'], 'contact' => $url]); $new++; } else { - Logger::debug('Post already had been featured', ['uri-id' => $item['uri-id'], 'contact' => $url]); + DI::logger()->debug('Post already had been featured', ['uri-id' => $item['uri-id'], 'contact' => $url]); $old++; } @@ -1579,10 +1578,10 @@ class Processor foreach ($old_featured as $uri_id) { Post\Collection::remove($uri_id, Post\Collection::FEATURED); - Logger::debug('Removed no longer featured post', ['uri-id' => $uri_id, 'contact' => $url]); + DI::logger()->debug('Removed no longer featured post', ['uri-id' => $uri_id, 'contact' => $url]); } - Logger::info('Fetched featured posts', ['new' => $new, 'old' => $old, 'contact' => $url]); + DI::logger()->info('Fetched featured posts', ['new' => $new, 'old' => $old, 'contact' => $url]); } public static function fetchCachedActivity(string $url, int $uid): array @@ -1592,9 +1591,9 @@ class Processor if (!is_null($object)) { if (!empty($object)) { - Logger::debug('Fetch from cache', ['url' => $url, 'uid' => $uid]); + DI::logger()->debug('Fetch from cache', ['url' => $url, 'uid' => $uid]); } else { - Logger::debug('Fetch from negative cache', ['url' => $url, 'uid' => $uid]); + DI::logger()->debug('Fetch from negative cache', ['url' => $url, 'uid' => $uid]); } return $object; } @@ -1606,14 +1605,14 @@ class Processor } if (empty($object)) { - Logger::notice('Activity was not fetchable, aborting.', ['url' => $url, 'uid' => $uid]); + DI::logger()->notice('Activity was not fetchable, aborting.', ['url' => $url, 'uid' => $uid]); // We perform negative caching. DI::cache()->set($cachekey, [], Duration::FIVE_MINUTES); return []; } if (empty($object['id'])) { - Logger::notice('Activity has got not id, aborting. ', ['url' => $url, 'object' => $object]); + DI::logger()->notice('Activity has got not id, aborting. ', ['url' => $url, 'object' => $object]); return []; } @@ -1623,7 +1622,7 @@ class Processor DI::cache()->set($cachekey, $object, Duration::FIVE_MINUTES); - Logger::debug('Activity was fetched successfully', ['url' => $url, 'uid' => $uid]); + DI::logger()->debug('Activity was fetched successfully', ['url' => $url, 'uid' => $uid]); return $object; } @@ -1647,14 +1646,14 @@ class Processor } if (!empty($child['children']) && in_array($url, $child['children'])) { - Logger::notice('id is already in the list of children', ['depth' => count($child['children']), 'children' => $child['children'], 'id' => $url]); + DI::logger()->notice('id is already in the list of children', ['depth' => count($child['children']), 'children' => $child['children'], 'id' => $url]); return null; } try { $curlResult = HTTPSignature::fetchRaw($url, $uid); } catch (\Exception $exception) { - Logger::notice('Error fetching url', ['url' => $url, 'exception' => $exception]); + DI::logger()->notice('Error fetching url', ['url' => $url, 'exception' => $exception]); return ''; } @@ -1673,7 +1672,7 @@ class Processor } if (empty($object) || !is_array($object)) { - Logger::notice('Invalid JSON data', ['url' => $url, 'content-type' => $curlResult->getContentType()]); + DI::logger()->notice('Invalid JSON data', ['url' => $url, 'content-type' => $curlResult->getContentType()]); return null; } @@ -1724,7 +1723,7 @@ class Processor if (Item::searchByLink($object_id)) { return $object_id; } - Logger::debug('Fetch announced activity', ['type' => $type, 'id' => $object_id, 'actor' => $relay_actor, 'signer' => $signer]); + DI::logger()->debug('Fetch announced activity', ['type' => $type, 'id' => $object_id, 'actor' => $relay_actor, 'signer' => $signer]); if (!self::alreadyKnown($object_id, $child['id'] ?? '')) { $child['callstack'] = self::addToCallstack($child['callstack'] ?? []); @@ -1745,7 +1744,7 @@ class Processor $ldactivity['callstack'] = $child['callstack'] ?? []; // This check is mostly superfluous, since there are similar checks before. This covers the case, when the fetched id doesn't match the url if (in_array($activity['id'], $ldactivity['children'])) { - Logger::notice('Fetched id is already in the list of children. It will not be processed.', ['id' => $activity['id'], 'children' => $ldactivity['children'], 'depth' => count($ldactivity['children'])]); + DI::logger()->notice('Fetched id is already in the list of children. It will not be processed.', ['id' => $activity['id'], 'children' => $ldactivity['children'], 'depth' => count($ldactivity['children'])]); return null; } if (!empty($child['id'])) { @@ -1783,11 +1782,11 @@ class Processor } if (($completion == Receiver::COMPLETION_RELAY) && Queue::exists($url, 'as:Create')) { - Logger::info('Activity has already been queued.', ['url' => $url, 'object' => $activity['id']]); + DI::logger()->info('Activity has already been queued.', ['url' => $url, 'object' => $activity['id']]); } elseif (ActivityPub\Receiver::processActivity($ldactivity, json_encode($activity), $uid, true, false, $signer, '', $completion)) { - Logger::info('Activity had been fetched and processed.', ['url' => $url, 'entry' => $child['entry-id'] ?? 0, 'completion' => $completion, 'object' => $activity['id']]); + DI::logger()->info('Activity had been fetched and processed.', ['url' => $url, 'entry' => $child['entry-id'] ?? 0, 'completion' => $completion, 'object' => $activity['id']]); } else { - Logger::info('Activity had been fetched and will be processed later.', ['url' => $url, 'entry' => $child['entry-id'] ?? 0, 'completion' => $completion, 'object' => $activity['id']]); + DI::logger()->info('Activity had been fetched and will be processed later.', ['url' => $url, 'entry' => $child['entry-id'] ?? 0, 'completion' => $completion, 'object' => $activity['id']]); } return $activity['id']; @@ -1812,7 +1811,7 @@ class Processor $maximum_fetchreplies_depth = DI::config()->get('system', 'max_fetchreplies_depth'); if (max($callstack_count, $system_count) == $maximum_fetchreplies_depth) { - Logger::notice('Maximum callstack depth reached', ['max' => $maximum_fetchreplies_depth, 'count' => $callstack_count, 'system-count' => $system_count, 'replies' => $url, 'callstack' => $child['callstack'] ?? [], 'system' => $callstack]); + DI::logger()->notice('Maximum callstack depth reached', ['max' => $maximum_fetchreplies_depth, 'count' => $callstack_count, 'system-count' => $system_count, 'replies' => $url, 'callstack' => $child['callstack'] ?? [], 'system' => $callstack]); return; } @@ -1820,10 +1819,10 @@ class Processor $replies = ActivityPub::fetchItems($url); if (empty($replies)) { - Logger::notice('No replies', ['replies' => $url]); + DI::logger()->notice('No replies', ['replies' => $url]); return; } - Logger::notice('Fetch replies - start', ['replies' => $url, 'callstack' => $child['callstack'], 'system' => $callstack]); + DI::logger()->notice('Fetch replies - start', ['replies' => $url, 'callstack' => $child['callstack'], 'system' => $callstack]); $fetched = 0; foreach ($replies as $reply) { $id = ''; @@ -1835,11 +1834,11 @@ class Processor continue; } if (!empty($child['children']) && in_array($id, $child['children'])) { - Logger::debug('Replies id is already in the list of children', ['depth' => count($child['children']), 'children' => $child['children'], 'id' => $id]); + DI::logger()->debug('Replies id is already in the list of children', ['depth' => count($child['children']), 'children' => $child['children'], 'id' => $id]); continue; } if (parse_url($id, PHP_URL_HOST) == parse_url($url, PHP_URL_HOST)) { - Logger::debug('Incluced activity will be processed', ['replies' => $url, 'id' => $id]); + DI::logger()->debug('Incluced activity will be processed', ['replies' => $url, 'id' => $id]); self::processActivity($reply, $id, $child, '', Receiver::COMPLETION_REPLIES); ++$fetched; continue; @@ -1852,22 +1851,22 @@ class Processor ++$fetched; } } - Logger::notice('Fetch replies - done', ['fetched' => $fetched, 'total' => count($replies), 'replies' => $url]); + DI::logger()->notice('Fetch replies - done', ['fetched' => $fetched, 'total' => count($replies), 'replies' => $url]); } public static function alreadyKnown(string $id, string $child): bool { if ($id == $child) { - Logger::debug('Activity is currently processed', ['id' => $id, 'child' => $child]); + DI::logger()->debug('Activity is currently processed', ['id' => $id, 'child' => $child]); return true; } elseif (Item::searchByLink($id)) { - Logger::debug('Activity already exists', ['id' => $id, 'child' => $child]); + DI::logger()->debug('Activity already exists', ['id' => $id, 'child' => $child]); return true; } elseif (Queue::exists($id, 'as:Create')) { - Logger::debug('Activity is already queued', ['id' => $id, 'child' => $child]); + DI::logger()->debug('Activity is already queued', ['id' => $id, 'child' => $child]); return true; } - Logger::debug('Activity is unknown', ['id' => $id, 'child' => $child]); + DI::logger()->debug('Activity is unknown', ['id' => $id, 'child' => $child]); return false; } @@ -1875,13 +1874,13 @@ class Processor { $ldobject = JsonLD::compact($object); if (empty($ldobject)) { - Logger::info('Invalid object', ['url' => $url]); + DI::logger()->info('Invalid object', ['url' => $url]); return $object; } $id = JsonLD::fetchElement($ldobject, '@id'); if (empty($id)) { - Logger::info('No id found in object', ['url' => $url, 'object' => $object]); + DI::logger()->info('No id found in object', ['url' => $url, 'object' => $object]); return $object; } @@ -1892,7 +1891,7 @@ class Processor return $object; } - Logger::notice('Refetch activity because of a host mismatch between requested and received id', ['url-host' => $url_host, 'id-host' => $id_host, 'url' => $url, 'id' => $id]); + DI::logger()->notice('Refetch activity because of a host mismatch between requested and received id', ['url-host' => $url_host, 'id-host' => $id_host, 'url' => $url, 'id' => $id]); return HTTPSignature::fetch($id); } @@ -1900,13 +1899,13 @@ class Processor { $ldobject = JsonLD::compact($object); if (empty($ldobject)) { - Logger::info('Invalid object'); + DI::logger()->info('Invalid object'); return false; } $id = JsonLD::fetchElement($ldobject, '@id'); if (empty($id)) { - Logger::info('No id found in object'); + DI::logger()->info('No id found in object'); return false; } @@ -1921,7 +1920,7 @@ class Processor if (!empty($actor) && !in_array($type, Receiver::CONTENT_TYPES) && !empty($object_id)) { $actor_host = parse_url($actor, PHP_URL_HOST); if ($actor_host != $id_host) { - Logger::notice('Host mismatch between received id and actor', ['id-host' => $id_host, 'actor-host' => $actor_host, 'id' => $id, 'type' => $type, 'object-id' => $object_id, 'object_type' => $object_type, 'actor' => $actor, 'attributed_to' => $attributed_to]); + DI::logger()->notice('Host mismatch between received id and actor', ['id-host' => $id_host, 'actor-host' => $actor_host, 'id' => $id, 'type' => $type, 'object-id' => $object_id, 'object_type' => $object_type, 'actor' => $actor, 'attributed_to' => $attributed_to]); return false; } if (!empty($object_type)) { @@ -1929,14 +1928,14 @@ class Processor $attributed_to_host = parse_url($object_attributed_to, PHP_URL_HOST); $object_id_host = parse_url($object_id, PHP_URL_HOST); if (!empty($attributed_to_host) && ($attributed_to_host != $object_id_host)) { - Logger::notice('Host mismatch between received object id and attributed actor', ['id-object-host' => $object_id_host, 'attributed-host' => $attributed_to_host, 'id' => $id, 'type' => $type, 'object-id' => $object_id, 'object_type' => $object_type, 'actor' => $actor, 'object_attributed_to' => $object_attributed_to]); + DI::logger()->notice('Host mismatch between received object id and attributed actor', ['id-object-host' => $object_id_host, 'attributed-host' => $attributed_to_host, 'id' => $id, 'type' => $type, 'object-id' => $object_id, 'object_type' => $object_type, 'actor' => $actor, 'object_attributed_to' => $object_attributed_to]); return false; } } } elseif (!empty($attributed_to)) { $attributed_to_host = parse_url($attributed_to, PHP_URL_HOST); if ($attributed_to_host != $id_host) { - Logger::notice('Host mismatch between received id and attributed actor', ['id-host' => $id_host, 'attributed-host' => $attributed_to_host, 'id' => $id, 'type' => $type, 'object-id' => $object_id, 'object_type' => $object_type, 'actor' => $actor, 'attributed_to' => $attributed_to]); + DI::logger()->notice('Host mismatch between received id and attributed actor', ['id-host' => $id_host, 'attributed-host' => $attributed_to_host, 'id' => $id, 'type' => $type, 'object-id' => $object_id, 'object_type' => $object_type, 'actor' => $actor, 'attributed_to' => $attributed_to]); return false; } } @@ -1977,7 +1976,7 @@ class Processor { if (empty($activity['as:object'])) { $id = JsonLD::fetchElement($activity, '@id'); - Logger::info('No object field in activity - accepted', ['id' => $id]); + DI::logger()->info('No object field in activity - accepted', ['id' => $id]); return true; } @@ -1986,7 +1985,7 @@ class Processor $replyto = JsonLD::fetchElement($activity['as:object'], 'as:inReplyTo', '@id'); $uriid = ItemURI::getIdByURI($replyto ?? ''); if (Post::exists(['uri-id' => $uriid])) { - Logger::info('Post is a reply to an existing post - accepted', ['id' => $id, 'uri-id' => $uriid, 'replyto' => $replyto]); + DI::logger()->info('Post is a reply to an existing post - accepted', ['id' => $id, 'uri-id' => $uriid, 'replyto' => $replyto]); return true; } @@ -2121,7 +2120,7 @@ class Processor Contact::update(['hub-verify' => $activity['id'], 'protocol' => Protocol::ACTIVITYPUB], ['id' => $cid]); - Logger::notice('Follow user ' . $uid . ' from contact ' . $cid . ' with id ' . $activity['id']); + DI::logger()->notice('Follow user ' . $uid . ' from contact ' . $cid . ' with id ' . $activity['id']); Queue::remove($activity); } @@ -2164,7 +2163,7 @@ class Processor return; } - Logger::info('Updating profile', ['object' => $activity['object_id']]); + DI::logger()->info('Updating profile', ['object' => $activity['object_id']]); Contact::updateFromProbeByURL($activity['object_id']); Queue::remove($activity); } @@ -2179,13 +2178,13 @@ class Processor public static function deletePerson(array $activity) { if (empty($activity['object_id']) || empty($activity['actor'])) { - Logger::info('Empty object id or actor.'); + DI::logger()->info('Empty object id or actor.'); Queue::remove($activity); return; } if ($activity['object_id'] != $activity['actor']) { - Logger::info('Object id does not match actor.'); + DI::logger()->info('Object id does not match actor.'); Queue::remove($activity); return; } @@ -2196,7 +2195,7 @@ class Processor } DBA::close($contacts); - Logger::info('Deleted contact', ['object' => $activity['object_id']]); + DI::logger()->info('Deleted contact', ['object' => $activity['object_id']]); Queue::remove($activity); } @@ -2215,14 +2214,14 @@ class Processor } if ($activity['object_id'] != $activity['actor']) { - Logger::notice('Object is not the actor', ['activity' => $activity]); + DI::logger()->notice('Object is not the actor', ['activity' => $activity]); Queue::remove($activity); return; } $from = Contact::getByURL($activity['object_id'], false, ['uri-id']); if (empty($from['uri-id'])) { - Logger::info('Object not found', ['activity' => $activity]); + DI::logger()->info('Object not found', ['activity' => $activity]); Queue::remove($activity); return; } @@ -2230,7 +2229,7 @@ class Processor $contacts = DBA::select('contact', ['uid', 'url'], ["`uri-id` = ? AND `uid` != ? AND `rel` IN (?, ?)", $from['uri-id'], 0, Contact::FRIEND, Contact::SHARING]); while ($from_contact = DBA::fetch($contacts)) { $result = Contact::createFromProbeForUser($from_contact['uid'], $activity['target_id']); - Logger::debug('Follower added', ['from' => $from_contact, 'result' => $result]); + DI::logger()->debug('Follower added', ['from' => $from_contact, 'result' => $result]); } DBA::close($contacts); Queue::remove($activity); @@ -2257,7 +2256,7 @@ class Processor Contact\User::setIsBlocked($cid, $uid, true); - Logger::info('Contact blocked user', ['contact' => $cid, 'user' => $uid]); + DI::logger()->info('Contact blocked user', ['contact' => $cid, 'user' => $uid]); Queue::remove($activity); } @@ -2282,7 +2281,7 @@ class Processor Contact\User::setIsBlocked($cid, $uid, false); - Logger::info('Contact unblocked user', ['contact' => $cid, 'user' => $uid]); + DI::logger()->info('Contact unblocked user', ['contact' => $cid, 'user' => $uid]); Queue::remove($activity); } @@ -2297,14 +2296,14 @@ class Processor { $account = Contact::getByURL($activity['object_id'], null, ['id', 'gsid']); if (empty($account)) { - Logger::info('Unknown account', ['activity' => $activity]); + DI::logger()->info('Unknown account', ['activity' => $activity]); Queue::remove($activity); return; } $reporter_id = Contact::getIdForURL($activity['actor']); if (empty($reporter_id)) { - Logger::info('Unknown actor', ['activity' => $activity]); + DI::logger()->info('Unknown actor', ['activity' => $activity]); Queue::remove($activity); return; } @@ -2320,7 +2319,7 @@ class Processor $report = DI::reportFactory()->createFromReportsRequest(System::getRules(true), $reporter_id, $account['id'], $account['gsid'], $activity['content'], 'other', false, $uri_ids); DI::report()->save($report); - Logger::info('Stored report', ['reporter' => $reporter_id, 'account' => $account, 'comment' => $activity['content'], 'object_ids' => $activity['object_ids']]); + DI::logger()->info('Stored report', ['reporter' => $reporter_id, 'account' => $account, 'comment' => $activity['content'], 'object_ids' => $activity['object_ids']]); } /** @@ -2342,23 +2341,23 @@ class Processor } if (empty($uid)) { - Logger::notice('User could not be detected', ['activity' => $activity]); + DI::logger()->notice('User could not be detected', ['activity' => $activity]); Queue::remove($activity); return; } $cid = Contact::getIdForURL($activity['actor'], $uid); if (empty($cid)) { - Logger::notice('No contact found', ['actor' => $activity['actor']]); + DI::logger()->notice('No contact found', ['actor' => $activity['actor']]); Queue::remove($activity); return; } $id = Transmitter::activityIDFromContact($cid); if ($id == $activity['object_id']) { - Logger::info('Successful id check', ['uid' => $uid, 'cid' => $cid]); + DI::logger()->info('Successful id check', ['uid' => $uid, 'cid' => $cid]); } else { - Logger::info('Unsuccessful id check', ['uid' => $uid, 'cid' => $cid, 'id' => $id, 'object_id' => $activity['object_id']]); + DI::logger()->info('Unsuccessful id check', ['uid' => $uid, 'cid' => $cid, 'id' => $id, 'object_id' => $activity['object_id']]); if ($check_id) { Queue::remove($activity); return; @@ -2376,7 +2375,7 @@ class Processor $condition = ['id' => $cid]; Contact::update($fields, $condition); - Logger::info('Accept contact request', ['contact' => $cid, 'user' => $uid]); + DI::logger()->info('Accept contact request', ['contact' => $cid, 'user' => $uid]); Queue::remove($activity); } @@ -2396,7 +2395,7 @@ class Processor $cid = Contact::getIdForURL($activity['actor'], $uid); if (empty($cid)) { - Logger::info('No contact found', ['actor' => $activity['actor']]); + DI::logger()->info('No contact found', ['actor' => $activity['actor']]); return; } @@ -2405,11 +2404,11 @@ class Processor $contact = Contact::getById($cid, ['rel']); if ($contact['rel'] == Contact::SHARING) { Contact::remove($cid); - Logger::info('Rejected contact request - contact removed', ['contact' => $cid, 'user' => $uid]); + DI::logger()->info('Rejected contact request - contact removed', ['contact' => $cid, 'user' => $uid]); } elseif ($contact['rel'] == Contact::FRIEND) { Contact::update(['rel' => Contact::FOLLOWER], ['id' => $cid]); } else { - Logger::info('Rejected contact request', ['contact' => $cid, 'user' => $uid]); + DI::logger()->info('Rejected contact request', ['contact' => $cid, 'user' => $uid]); } Queue::remove($activity); } @@ -2461,7 +2460,7 @@ class Processor $cid = Contact::getIdForURL($activity['actor'], $uid); if (empty($cid)) { - Logger::info('No contact found', ['actor' => $activity['actor']]); + DI::logger()->info('No contact found', ['actor' => $activity['actor']]); return; } @@ -2473,7 +2472,7 @@ class Processor } Contact::removeFollower($contact); - Logger::info('Undo following request', ['contact' => $cid, 'user' => $uid]); + DI::logger()->info('Undo following request', ['contact' => $cid, 'user' => $uid]); Queue::remove($activity); } @@ -2491,7 +2490,7 @@ class Processor return; } - Logger::info('Change existing contact', ['cid' => $cid, 'previous' => $contact['network']]); + DI::logger()->info('Change existing contact', ['cid' => $cid, 'previous' => $contact['network']]); Contact::updateFromProbe($cid); } @@ -2512,7 +2511,7 @@ class Processor $implicit_mentions = []; if (empty($parent_author['url'])) { - Logger::notice('Author public contact unknown.', ['author-link' => $parent['author-link'], 'parent-id' => $parent['id']]); + DI::logger()->notice('Author public contact unknown.', ['author-link' => $parent['author-link'], 'parent-id' => $parent['id']]); } else { $implicit_mentions[] = $parent_author['url']; $implicit_mentions[] = $parent_author['nurl']; @@ -2616,7 +2615,7 @@ class Processor $function = array_shift($functions); if (in_array($function, $callstack)) { - Logger::notice('Callstack already contains "' . $function . '"', ['callstack' => $callstack]); + DI::logger()->notice('Callstack already contains "' . $function . '"', ['callstack' => $callstack]); } $callstack[] = $function; diff --git a/src/Protocol/ActivityPub/Queue.php b/src/Protocol/ActivityPub/Queue.php index 8d78620c3e..bf89363de7 100644 --- a/src/Protocol/ActivityPub/Queue.php +++ b/src/Protocol/ActivityPub/Queue.php @@ -7,7 +7,6 @@ namespace Friendica\Protocol\ActivityPub; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\Database; use Friendica\Database\DBA; @@ -129,7 +128,7 @@ class Queue return; } - Logger::debug('Delete inbox-entry', ['id' => $entry['id']]); + DI::logger()->debug('Delete inbox-entry', ['id' => $entry['id']]); DBA::delete('inbox-entry', ['id' => $entry['id']]); @@ -187,7 +186,7 @@ class Queue } if (!self::isProcessable($id)) { - Logger::debug('Other queue entries need to be processed first.', ['id' => $id]); + DI::logger()->debug('Other queue entries need to be processed first.', ['id' => $id]); return false; } @@ -197,13 +196,13 @@ class Queue if ($entry['wid'] != $wid) { $workerqueue = DBA::selectFirst('workerqueue', ['pid'], ['id' => $entry['wid'], 'done' => false]); if (!empty($workerqueue['pid']) && posix_kill($workerqueue['pid'], 0)) { - Logger::notice('Entry is already processed via another process.', ['current' => $wid, 'processor' => $entry['wid']]); + DI::logger()->notice('Entry is already processed via another process.', ['current' => $wid, 'processor' => $entry['wid']]); return false; } } } - Logger::debug('Processing queue entry', ['id' => $entry['id'], 'type' => $entry['type'], 'object-type' => $entry['object-type'], 'uri' => $entry['object-id'], 'in-reply-to' => $entry['in-reply-to-id']]); + DI::logger()->debug('Processing queue entry', ['id' => $entry['id'], 'type' => $entry['type'], 'object-type' => $entry['object-type'], 'uri' => $entry['object-id'], 'in-reply-to' => $entry['in-reply-to-id']]); $activity = json_decode($entry['activity'], true); $type = $entry['type']; @@ -259,16 +258,16 @@ class Queue if (!$entry['trust'] || !self::isProcessable($entry['id'])) { continue; } - Logger::debug('Process leftover entry', $entry); + DI::logger()->debug('Process leftover entry', $entry); self::process($entry['id'], false); } DBA::close($entries); // Optimizing this table only last seconds if (DI::config()->get('system', 'optimize_tables')) { - Logger::info('Optimize start'); + DI::logger()->info('Optimize start'); DBA::optimizeTable('inbox-entry'); - Logger::info('Optimize end'); + DI::logger()->info('Optimize end'); } } @@ -316,14 +315,14 @@ class Queue if (!Processor::alreadyKnown($entry['in-reply-to-id'], '')) { // This entry belongs to some other entry that need to be fetched first if (Fetch::hasWorker($entry['in-reply-to-id'])) { - Logger::debug('Fetching of the activity is already queued', ['id' => $entry['activity-id'], 'reply-to-id' => $entry['in-reply-to-id']]); + DI::logger()->debug('Fetching of the activity is already queued', ['id' => $entry['activity-id'], 'reply-to-id' => $entry['in-reply-to-id']]); self::retrial($id); return false; } Fetch::add($entry['in-reply-to-id']); $activity = json_decode($entry['activity'], true); if (in_array($entry['in-reply-to-id'], $activity['children'] ?? [])) { - Logger::notice('reply-to-id is already in the list of children', ['id' => $entry['in-reply-to-id'], 'children' => $activity['children'], 'depth' => count($activity['children'])]); + DI::logger()->notice('reply-to-id is already in the list of children', ['id' => $entry['in-reply-to-id'], 'children' => $activity['children'], 'depth' => count($activity['children'])]); self::retrial($id); return false; } @@ -331,7 +330,7 @@ class Queue $activity['callstack'] = Processor::addToCallstack($activity['callstack'] ?? []); $wid = Worker::add(Worker::PRIORITY_HIGH, 'FetchMissingActivity', $entry['in-reply-to-id'], $activity, '', Receiver::COMPLETION_ASYNC); Fetch::setWorkerId($entry['in-reply-to-id'], $wid); - Logger::debug('Fetch missing activity', ['wid' => $wid, 'id' => $entry['activity-id'], 'reply-to-id' => $entry['in-reply-to-id']]); + DI::logger()->debug('Fetch missing activity', ['wid' => $wid, 'id' => $entry['activity-id'], 'reply-to-id' => $entry['in-reply-to-id']]); self::retrial($id); return false; } diff --git a/src/Protocol/ActivityPub/Receiver.php b/src/Protocol/ActivityPub/Receiver.php index d5a12b5218..34732022b5 100644 --- a/src/Protocol/ActivityPub/Receiver.php +++ b/src/Protocol/ActivityPub/Receiver.php @@ -11,7 +11,6 @@ use Friendica\Content\Text\BBCode; use Friendica\Database\DBA; use Friendica\Content\Text\HTML; use Friendica\Content\Text\Markdown; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\System; use Friendica\Core\Worker; @@ -83,7 +82,7 @@ class Receiver { $activity = json_decode($body, true); if (empty($activity)) { - Logger::warning('Invalid body.'); + DI::logger()->warning('Invalid body.'); return; } @@ -94,7 +93,7 @@ class Receiver $apcontact = APContact::getByURL($actor); if (empty($apcontact)) { - Logger::notice('Unable to retrieve AP contact for actor - message is discarded', ['actor' => $actor]); + DI::logger()->notice('Unable to retrieve AP contact for actor - message is discarded', ['actor' => $actor]); return; } elseif (APContact::isRelay($apcontact) && self::isRelayPost($ldactivity)) { self::processRelayPost($ldactivity, $actor); @@ -105,52 +104,52 @@ class Receiver $sig_contact = HTTPSignature::getKeyIdContact($header); if (APContact::isRelay($sig_contact) && self::isRelayPost($ldactivity)) { - Logger::info('Message from a relay', ['url' => $sig_contact['url']]); + DI::logger()->info('Message from a relay', ['url' => $sig_contact['url']]); self::processRelayPost($ldactivity, $sig_contact['url']); return; } $http_signer = HTTPSignature::getSigner($body, $header); if ($http_signer === false) { - Logger::notice('Invalid HTTP signature, message will not be trusted.', ['uid' => $uid, 'actor' => $actor, 'header' => $header, 'body' => $body]); + DI::logger()->notice('Invalid HTTP signature, message will not be trusted.', ['uid' => $uid, 'actor' => $actor, 'header' => $header, 'body' => $body]); $signer = []; } elseif (empty($http_signer)) { - Logger::info('Signer is a tombstone. The message will be discarded, the signer account is deleted.'); + DI::logger()->info('Signer is a tombstone. The message will be discarded, the signer account is deleted.'); return; } else { - Logger::info('Valid HTTP signature', ['signer' => $http_signer]); + DI::logger()->info('Valid HTTP signature', ['signer' => $http_signer]); $signer = [$http_signer]; } - Logger::info('Message for user ' . $uid . ' is from actor ' . $actor); + DI::logger()->info('Message for user ' . $uid . ' is from actor ' . $actor); if ($http_signer === false) { $trust_source = false; } elseif (LDSignature::isSigned($activity)) { $ld_signer = LDSignature::getSigner($activity); if (empty($ld_signer)) { - Logger::info('Invalid JSON-LD signature from ' . $actor); + DI::logger()->info('Invalid JSON-LD signature from ' . $actor); } elseif ($ld_signer != $http_signer) { $signer[] = $ld_signer; } if (!empty($ld_signer && ($actor == $http_signer))) { - Logger::info('The HTTP and the JSON-LD signature belong to ' . $ld_signer); + DI::logger()->info('The HTTP and the JSON-LD signature belong to ' . $ld_signer); $trust_source = true; } elseif (!empty($ld_signer)) { - Logger::info('JSON-LD signature is signed by ' . $ld_signer); + DI::logger()->info('JSON-LD signature is signed by ' . $ld_signer); $trust_source = true; } elseif ($actor == $http_signer) { - Logger::info('Bad JSON-LD signature, but HTTP signer fits the actor.'); + DI::logger()->info('Bad JSON-LD signature, but HTTP signer fits the actor.'); $trust_source = true; } else { - Logger::info('Invalid JSON-LD signature and the HTTP signer is different.'); + DI::logger()->info('Invalid JSON-LD signature and the HTTP signer is different.'); $trust_source = false; } } elseif ($actor == $http_signer) { - Logger::info('Trusting post without JSON-LD signature, The actor fits the HTTP signer.'); + DI::logger()->info('Trusting post without JSON-LD signature, The actor fits the HTTP signer.'); $trust_source = true; } else { - Logger::info('No JSON-LD signature, different actor.'); + DI::logger()->info('No JSON-LD signature, different actor.'); $trust_source = false; } @@ -196,7 +195,7 @@ class Receiver { $type = JsonLD::fetchElement($activity, '@type'); if (!$type) { - Logger::notice('Empty type', ['activity' => $activity, 'actor' => $actor]); + DI::logger()->notice('Empty type', ['activity' => $activity, 'actor' => $actor]); return; } @@ -204,43 +203,43 @@ class Receiver $object_id = JsonLD::fetchElement($activity, 'as:object', '@id'); if (empty($object_id)) { - Logger::notice('No object id found', ['type' => $type, 'object_type' => $object_type, 'actor' => $actor, 'activity' => $activity]); + DI::logger()->notice('No object id found', ['type' => $type, 'object_type' => $object_type, 'actor' => $actor, 'activity' => $activity]); return; } $contact = Contact::getByURL($actor); if (empty($contact)) { - Logger::info('Relay contact not found', ['actor' => $actor]); + DI::logger()->info('Relay contact not found', ['actor' => $actor]); return; } if (!in_array($contact['rel'], [Contact::SHARING, Contact::FRIEND])) { - Logger::notice('Relay is no sharer', ['actor' => $actor]); + DI::logger()->notice('Relay is no sharer', ['actor' => $actor]); return; } - Logger::debug('Process post from relay server', ['type' => $type, 'object_type' => $object_type, 'object_id' => $object_id, 'actor' => $actor]); + DI::logger()->debug('Process post from relay server', ['type' => $type, 'object_type' => $object_type, 'object_id' => $object_id, 'actor' => $actor]); $item_id = Item::searchByLink($object_id); if ($item_id) { - Logger::info('Relayed message already exists', ['id' => $object_id, 'item' => $item_id, 'actor' => $actor]); + DI::logger()->info('Relayed message already exists', ['id' => $object_id, 'item' => $item_id, 'actor' => $actor]); return; } if (!DI::config()->get('system', 'decoupled_receiver')) { $id = Processor::fetchMissingActivity($object_id, [], $actor, self::COMPLETION_RELAY); if (!empty($id)) { - Logger::notice('Relayed message is fetched', ['result' => $id, 'id' => $object_id, 'actor' => $actor]); + DI::logger()->notice('Relayed message is fetched', ['result' => $id, 'id' => $object_id, 'actor' => $actor]); } else { - Logger::notice('Relayed message had not been fetched', ['id' => $object_id, 'actor' => $actor, 'activity' => $activity]); + DI::logger()->notice('Relayed message had not been fetched', ['id' => $object_id, 'actor' => $actor, 'activity' => $activity]); } } elseif (!Fetch::hasWorker($object_id)) { - Logger::notice('Fetching is done by worker.', ['id' => $object_id]); + DI::logger()->notice('Fetching is done by worker.', ['id' => $object_id]); Fetch::add($object_id); $wid = Worker::add(Worker::PRIORITY_HIGH, 'FetchMissingActivity', $object_id, [], $actor, self::COMPLETION_RELAY); Fetch::setWorkerId($object_id, $wid); } else { - Logger::debug('Activity will already be fetched via a worker.', ['url' => $object_id]); + DI::logger()->debug('Activity will already be fetched via a worker.', ['url' => $object_id]); } } @@ -334,25 +333,25 @@ class Receiver $fetched_type = JsonLD::fetchElement($object, '@type'); if (($fetched_id == $id) && !empty($fetched_type) && ($fetched_type == $type)) { - Logger::info('Activity had been fetched successfully', ['id' => $id]); + DI::logger()->info('Activity had been fetched successfully', ['id' => $id]); $trust_source = true; $activity = $object; } elseif (($fetched_id == $object_id) && !empty($fetched_type) && ($fetched_type == $object_type)) { - Logger::info('Fetched data is the object instead of the activity', ['id' => $id]); + DI::logger()->info('Fetched data is the object instead of the activity', ['id' => $id]); $trust_source = true; unset($object['@context']); $activity['as:object'] = $object; } else { - Logger::info('Activity id is not equal', ['id' => $id, 'fetched' => $fetched_id]); + DI::logger()->info('Activity id is not equal', ['id' => $id, 'fetched' => $fetched_id]); } } else { - Logger::info('Activity could not been fetched', ['id' => $id]); + DI::logger()->info('Activity could not been fetched', ['id' => $id]); } } $actor = JsonLD::fetchElement($activity, 'as:actor', '@id'); if (empty($actor)) { - Logger::info('Empty actor', ['activity' => $activity]); + DI::logger()->info('Empty actor', ['activity' => $activity]); return []; } @@ -388,12 +387,12 @@ class Receiver $object_id = JsonLD::fetchElement($activity, 'as:object', '@id'); if (empty($object_id)) { - Logger::info('No object found'); + DI::logger()->info('No object found'); return []; } if (!is_string($object_id)) { - Logger::info('Invalid object id', ['object' => $object_id]); + DI::logger()->info('Invalid object id', ['object' => $object_id]); return []; } @@ -424,7 +423,7 @@ class Receiver // We can receive "#emojiReaction" when fetching content from Hubzilla systems $object_data = self::fetchObject($object_id, $activity['as:object'], $trust_source, $fetch_uid); if (empty($object_data)) { - Logger::info("Object data couldn't be processed"); + DI::logger()->info("Object data couldn't be processed"); return []; } @@ -498,7 +497,7 @@ class Receiver $account = Contact::selectFirstAccount(['platform'], ['nurl' => Strings::normaliseLink($actor)]); $platform = $account['platform'] ?? ''; - Logger::info('Processing', ['type' => $object_data['type'], 'object_type' => $object_data['object_type'], 'id' => $object_data['id'], 'actor' => $actor, 'platform' => $platform]); + DI::logger()->info('Processing', ['type' => $object_data['type'], 'object_type' => $object_data['object_type'], 'id' => $object_data['id'], 'actor' => $actor, 'platform' => $platform]); return $object_data; } @@ -571,7 +570,7 @@ class Receiver } $object_data['directmessage'] = true; - Logger::debug('Got Misskey Chat'); + DI::logger()->debug('Got Misskey Chat'); return $object_data; } @@ -612,23 +611,23 @@ class Receiver { $type = JsonLD::fetchElement($activity, '@type'); if (!$type) { - Logger::info('Empty type', ['activity' => $activity]); + DI::logger()->info('Empty type', ['activity' => $activity]); return true; } if (!DI::config()->get('system', 'process_view') && ($type == 'as:View')) { - Logger::info('View activities are ignored.', ['signer' => $signer, 'http_signer' => $http_signer]); + DI::logger()->info('View activities are ignored.', ['signer' => $signer, 'http_signer' => $http_signer]); return true; } if (!JsonLD::fetchElement($activity, 'as:object', '@id')) { - Logger::info('Empty object', ['activity' => $activity]); + DI::logger()->info('Empty object', ['activity' => $activity]); return true; } $actor = JsonLD::fetchElement($activity, 'as:actor', '@id'); if ($actor === null || $actor === '') { - Logger::info('Empty actor', ['activity' => $activity]); + DI::logger()->info('Empty actor', ['activity' => $activity]); return true; } @@ -641,7 +640,7 @@ class Receiver if (!empty($published) && $object_id !== null && in_array($type, ['as:Create', 'as:Update']) && in_array($object_type, self::CONTENT_TYPES) && ($push || ($completion != self::COMPLETION_MANUAL)) && DI::contentItem()->isTooOld($published) && !Post::exists(['uri' => $object_id])) { - Logger::debug('Activity is too old. It will not be processed', ['push' => $push, 'completion' => $completion, 'type' => $type, 'object-type' => $object_type, 'published' => $published, 'id' => $id, 'object-id' => $object_id]); + DI::logger()->debug('Activity is too old. It will not be processed', ['push' => $push, 'completion' => $completion, 'type' => $type, 'object-type' => $object_type, 'published' => $published, 'id' => $id, 'object-id' => $object_id]); return true; } } else { @@ -665,22 +664,22 @@ class Receiver if (($type == 'as:Announce') && !empty($object_type) && !in_array($object_type, self::CONTENT_TYPES) && self::isGroup($actor)) { $object_object_type = JsonLD::fetchElement($activity['as:object']['as:object'] ?? [], '@type'); if (in_array($object_type, ['as:Create']) && in_array($object_object_type, self::CONTENT_TYPES)) { - Logger::debug('Replace "create" activity with inner object', ['type' => $object_type, 'object_type' => $object_object_type]); + DI::logger()->debug('Replace "create" activity with inner object', ['type' => $object_type, 'object_type' => $object_object_type]); $activity['as:object'] = $activity['as:object']['as:object']; } elseif (in_array($object_type, array_merge(self::ACTIVITY_TYPES, ['as:Delete', 'as:Undo', 'as:Update']))) { - Logger::debug('Change announced activity to activity', ['type' => $object_type]); + DI::logger()->debug('Change announced activity to activity', ['type' => $object_type]); $original_actor = $actor; $type = $object_type; $activity = $activity['as:object']; } else { - Logger::info('Unhandled announced activity', ['type' => $object_type, 'object_type' => $object_object_type]); + DI::logger()->info('Unhandled announced activity', ['type' => $object_type, 'object_type' => $object_object_type]); } } // $trust_source is called by reference and is set to true if the content was retrieved successfully $object_data = self::prepareObjectData($activity, $uid, $push, $trust_source, $original_actor); if (empty($object_data)) { - Logger::info('No object data found', ['activity' => $activity]); + DI::logger()->info('No object data found', ['activity' => $activity]); return true; } @@ -712,13 +711,13 @@ class Receiver if (($type == 'as:Create') && $trust_source && !in_array($completion, [self::COMPLETION_MANUAL, self::COMPLETION_ANNOUNCE])) { if (self::hasArrived($object_data['object_id'])) { - Logger::info('The activity already arrived.', ['id' => $object_data['object_id']]); + DI::logger()->info('The activity already arrived.', ['id' => $object_data['object_id']]); return true; } self::addArrivedId($object_data['object_id']); if (Queue::exists($object_data['object_id'], $type)) { - Logger::info('The activity is already added.', ['id' => $object_data['object_id']]); + DI::logger()->info('The activity is already added.', ['id' => $object_data['object_id']]); return true; } } elseif (($type == 'as:Create') && $trust_source && !self::hasArrived($object_data['object_id'])) { @@ -735,7 +734,7 @@ class Receiver } if (!$trust_source) { - Logger::info('Activity trust could not be achieved.', ['id' => $object_data['object_id'], 'type' => $type, 'signer' => $signer, 'actor' => $actor, 'attributedTo' => $attributed_to]); + DI::logger()->info('Activity trust could not be achieved.', ['id' => $object_data['object_id'], 'type' => $type, 'signer' => $signer, 'actor' => $actor, 'attributedTo' => $attributed_to]); return true; } @@ -743,11 +742,11 @@ class Receiver if (Queue::isProcessable($object_data['entry-id'])) { // We delay by 5 seconds to allow to accumulate all receivers $delayed = date(DateTimeFormat::MYSQL, time() + 5); - Logger::debug('Initiate processing', ['id' => $object_data['entry-id'], 'uri' => $object_data['object_id']]); + DI::logger()->debug('Initiate processing', ['id' => $object_data['entry-id'], 'uri' => $object_data['object_id']]); $wid = Worker::add(['priority' => Worker::PRIORITY_HIGH, 'delayed' => $delayed], 'ProcessQueue', $object_data['entry-id']); Queue::setWorkerId($object_data['entry-id'], $wid); } else { - Logger::debug('Other queue entries need to be processed first.', ['id' => $object_data['entry-id']]); + DI::logger()->debug('Other queue entries need to be processed first.', ['id' => $object_data['entry-id']]); } return false; } @@ -829,15 +828,15 @@ class Receiver if (in_array($object_data['object_type'], self::CONTENT_TYPES)) { if (!Processor::alreadyKnown($object_data['object_id'], '')) { if (ActivityPub\Processor::fetchMissingActivity($object_data['object_id'], [], $object_data['actor'], self::COMPLETION_ANNOUNCE, $uid)) { - Logger::debug('Created announced id', ['uid' => $uid, 'id' => $object_data['object_id']]); + DI::logger()->debug('Created announced id', ['uid' => $uid, 'id' => $object_data['object_id']]); Queue::remove($object_data); } else { - Logger::debug('Announced id was not created', ['uid' => $uid, 'id' => $object_data['object_id']]); + DI::logger()->debug('Announced id was not created', ['uid' => $uid, 'id' => $object_data['object_id']]); Queue::remove($object_data); return true; } } else { - Logger::info('Announced id already exists', ['uid' => $uid, 'id' => $object_data['object_id']]); + DI::logger()->info('Announced id already exists', ['uid' => $uid, 'id' => $object_data['object_id']]); Queue::remove($object_data); } @@ -957,7 +956,7 @@ class Receiver if (!empty($object_data['object_actor'])) { ActivityPub\Processor::acceptFollowUser($object_data); } else { - Logger::notice('Unhandled "accept follow" message.', ['object_data' => $object_data]); + DI::logger()->notice('Unhandled "accept follow" message.', ['object_data' => $object_data]); } } elseif (in_array($object_data['object_type'], self::CONTENT_TYPES)) { ActivityPub\Processor::createActivity($object_data, Activity::ATTEND); @@ -1047,7 +1046,7 @@ class Receiver break; default: - Logger::info('Unknown activity: ' . $type . ' ' . $object_data['object_type']); + DI::logger()->info('Unknown activity: ' . $type . ' ' . $object_data['object_type']); return false; } return true; @@ -1085,7 +1084,7 @@ class Receiver $tempfile = tempnam(System::getTempPath(), $file); file_put_contents($tempfile, json_encode(['activity' => $activity, 'body' => $body, 'uid' => $uid, 'trust_source' => $trust_source, 'push' => $push, 'signer' => $signer, 'object_data' => $object_data], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)); - Logger::notice('Unknown activity stored', ['type' => $type, 'object_type' => $object_data['object_type'], 'object_object_type' => $object_data['object_object_type'] ?? '', 'file' => $tempfile]); + DI::logger()->notice('Unknown activity stored', ['type' => $type, 'object_type' => $object_data['object_type'], 'object_object_type' => $object_data['object_object_type'] ?? '', 'file' => $tempfile]); } /** @@ -1135,7 +1134,7 @@ class Receiver foreach ($receiver_list as $receiver) { if ($receiver == 'Public') { - Logger::warning('Not compacted public collection found', ['activity' => $activity]); + DI::logger()->warning('Not compacted public collection found', ['activity' => $activity]); $receiver = ActivityPub::PUBLIC_COLLECTION; } if ($receiver == self::PUBLIC_COLLECTION) { @@ -1186,9 +1185,9 @@ class Receiver $profile = APContact::getByURL($actor); $followers = $profile['followers'] ?? ''; $isGroup = ($profile['type'] ?? '') == 'Group'; - Logger::info('Got actor and followers', ['actor' => $actor, 'followers' => $followers]); + DI::logger()->info('Got actor and followers', ['actor' => $actor, 'followers' => $followers]); } else { - Logger::info('Empty actor', ['activity' => $activity]); + DI::logger()->info('Empty actor', ['activity' => $activity]); $followers = ''; $isGroup = false; } @@ -1307,11 +1306,11 @@ class Receiver if (empty($receivers) && $fetch_unlisted && Contact::isPlatform($actor, 'birdsitelive')) { $receivers[0] = ['uid' => 0, 'type' => self::TARGET_GLOBAL]; $receivers[-1] = ['uid' => -1, 'type' => self::TARGET_GLOBAL]; - Logger::notice('Post from "birdsitelive" is set to "unlisted"', ['id' => JsonLD::fetchElement($activity, '@id')]); + DI::logger()->notice('Post from "birdsitelive" is set to "unlisted"', ['id' => JsonLD::fetchElement($activity, '@id')]); } elseif (empty($receivers) && in_array($activity_type, ['as:Delete', 'as:Undo'])) { $receivers[0] = ['uid' => 0, 'type' => self::TARGET_GLOBAL]; } elseif (empty($receivers)) { - Logger::notice('Post has got no receivers', ['fetch_unlisted' => $fetch_unlisted, 'actor' => $actor, 'id' => JsonLD::fetchElement($activity, '@id'), 'type' => $activity_type]); + DI::logger()->notice('Post has got no receivers', ['fetch_unlisted' => $fetch_unlisted, 'actor' => $actor, 'id' => JsonLD::fetchElement($activity, '@id'), 'type' => $activity_type]); } return $receivers; @@ -1408,7 +1407,7 @@ class Receiver // Some systems (e.g. GNU Social) don't reply to the "id" field but the "uri" field. $objectId = Item::getURIByLink($object_data['object_id']); if (!empty($objectId) && ($object_data['object_id'] != $objectId)) { - Logger::notice('Fix wrong object-id', ['received' => $object_data['object_id'], 'correct' => $objectId]); + DI::logger()->notice('Fix wrong object-id', ['received' => $object_data['object_id'], 'correct' => $objectId]); $object_data['object_id'] = $objectId; } } @@ -1437,37 +1436,37 @@ class Receiver $data = Processor::fetchCachedActivity($object_id, $uid); if (!empty($data)) { $object = JsonLD::compact($data); - Logger::info('Fetched content for ' . $object_id); + DI::logger()->info('Fetched content for ' . $object_id); } else { - Logger::info('Empty content for ' . $object_id . ', check if content is available locally.'); + DI::logger()->info('Empty content for ' . $object_id . ', check if content is available locally.'); $item = Post::selectFirst(Item::DELIVER_FIELDLIST, ['uri' => $object_id]); if (!DBA::isResult($item)) { - Logger::info('Object with url ' . $object_id . ' was not found locally.'); + DI::logger()->info('Object with url ' . $object_id . ' was not found locally.'); return false; } - Logger::info('Using already stored item for url ' . $object_id); + DI::logger()->info('Using already stored item for url ' . $object_id); $data = ActivityPub\Transmitter::createNote($item); $object = JsonLD::compact($data); } $id = JsonLD::fetchElement($object, '@id'); if (empty($id)) { - Logger::info('Empty id'); + DI::logger()->info('Empty id'); return false; } if ($id != $object_id) { - Logger::info('Fetched id differs from provided id', ['provided' => $object_id, 'fetched' => $id]); + DI::logger()->info('Fetched id differs from provided id', ['provided' => $object_id, 'fetched' => $id]); return false; } } else { - Logger::info('Using original object for url ' . $object_id); + DI::logger()->info('Using original object for url ' . $object_id); } $type = JsonLD::fetchElement($object, '@type'); if (empty($type)) { - Logger::info('Empty type'); + DI::logger()->info('Empty type'); return false; } @@ -1481,7 +1480,7 @@ class Receiver return $object_data; } - Logger::info('Unhandled object type: ' . $type); + DI::logger()->info('Unhandled object type: ' . $type); return false; } @@ -1965,7 +1964,7 @@ class Receiver // Some systems (e.g. GNU Social) don't reply to the "id" field but the "uri" field. $replyToId = Item::getURIByLink($object_data['reply-to-id']); if (!empty($replyToId) && ($object_data['reply-to-id'] != $replyToId)) { - Logger::notice('Fix wrong reply-to', ['received' => $object_data['reply-to-id'], 'correct' => $replyToId]); + DI::logger()->notice('Fix wrong reply-to', ['received' => $object_data['reply-to-id'], 'correct' => $replyToId]); $object_data['reply-to-id'] = $replyToId; } } diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index 1f03bd2118..c183b5313b 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -12,7 +12,6 @@ use Friendica\Content\Feature; use Friendica\Content\Smilies; use Friendica\Content\Text\BBCode; use Friendica\Core\Cache\Enum\Duration; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\System; use Friendica\Database\DBA; @@ -908,14 +907,14 @@ class Transmitter { $tags = Tag::getByURIId($uri_id, [Tag::TO, Tag::CC, Tag::BTO, Tag::BCC, Tag::AUDIENCE]); if (empty($tags)) { - Logger::debug('No receivers found', ['uri-id' => $uri_id]); + DI::logger()->debug('No receivers found', ['uri-id' => $uri_id]); $post = Post::selectFirst(Item::DELIVER_FIELDLIST, ['uri-id' => $uri_id, 'origin' => true]); if (!empty($post)) { ActivityPub\Transmitter::storeReceiversForItem($post); $tags = Tag::getByURIId($uri_id, [Tag::TO, Tag::CC, Tag::BTO, Tag::BCC, Tag::AUDIENCE]); - Logger::debug('Receivers are created', ['uri-id' => $uri_id, 'receivers' => count($tags)]); + DI::logger()->debug('Receivers are created', ['uri-id' => $uri_id, 'receivers' => count($tags)]); } else { - Logger::debug('Origin item not found', ['uri-id' => $uri_id]); + DI::logger()->debug('Origin item not found', ['uri-id' => $uri_id]); } } @@ -1328,7 +1327,7 @@ class Transmitter if (!$api_mode) { $condition['parent-network'] = Protocol::NATIVE_SUPPORT; } - Logger::info('Fetching activity', $condition); + DI::logger()->info('Fetching activity', $condition); $item = Post::selectFirst(Item::DELIVER_FIELDLIST, $condition); if (!DBA::isResult($item)) { return false; @@ -1351,7 +1350,7 @@ class Transmitter if (!$api_mode) { $condition['parent-network'] = Protocol::NATIVE_SUPPORT; } - Logger::info('Fetching activity', $condition); + DI::logger()->info('Fetching activity', $condition); $item = Post::selectFirst(Item::DELIVER_FIELDLIST, $condition, ['order' => ['uid' => true]]); if (!DBA::isResult($item)) { return false; @@ -1375,17 +1374,17 @@ class Transmitter $data = Post\Activity::getByURIId($item['uri-id']); if (!$item['origin'] && !empty($data)) { if (!$object_mode) { - Logger::info('Return stored conversation', ['item' => $item['id']]); + DI::logger()->info('Return stored conversation', ['item' => $item['id']]); return $data; } elseif (!empty($data['object'])) { - Logger::info('Return stored conversation object', ['item' => $item['id']]); + DI::logger()->info('Return stored conversation object', ['item' => $item['id']]); return $data['object']; } } } if (!$api_mode && !$item['deleted'] && !$item['origin']) { - Logger::debug('Post is not ours and is not stored', ['id' => $item['id'], 'uri-id' => $item['uri-id']]); + DI::logger()->debug('Post is not ours and is not stored', ['id' => $item['id'], 'uri-id' => $item['uri-id']]); return false; } @@ -1467,7 +1466,7 @@ class Transmitter $uid = $item['uid']; } - Logger::info('Fetched activity', ['item' => $item['id'], 'uid' => $uid]); + DI::logger()->info('Fetched activity', ['item' => $item['id'], 'uid' => $uid]); // We only sign our own activities if (!$api_mode && !$object_mode && $item['origin']) { @@ -2118,7 +2117,7 @@ class Transmitter $signed = LDSignature::sign($data, $owner); - Logger::info('Deliver profile deletion for user ' . $owner['uid'] . ' to ' . $inbox . ' via ActivityPub'); + DI::logger()->info('Deliver profile deletion for user ' . $owner['uid'] . ' to ' . $inbox . ' via ActivityPub'); return HTTPSignature::transmit($signed, $inbox, $owner); } @@ -2146,7 +2145,7 @@ class Transmitter $signed = LDSignature::sign($data, $owner); - Logger::info('Deliver profile relocation for user ' . $owner['uid'] . ' to ' . $inbox . ' via ActivityPub'); + DI::logger()->info('Deliver profile relocation for user ' . $owner['uid'] . ' to ' . $inbox . ' via ActivityPub'); return HTTPSignature::transmit($signed, $inbox, $owner); } @@ -2161,7 +2160,7 @@ class Transmitter public static function sendProfileDeletion(array $owner, string $inbox): bool { if (empty($owner['uprvkey'])) { - Logger::error('No private key for owner found, the deletion message cannot be processed.', ['user' => $owner['uid']]); + DI::logger()->error('No private key for owner found, the deletion message cannot be processed.', ['user' => $owner['uid']]); return false; } @@ -2179,7 +2178,7 @@ class Transmitter $signed = LDSignature::sign($data, $owner); - Logger::info('Deliver profile deletion for user ' . $owner['uid'] . ' to ' . $inbox . ' via ActivityPub'); + DI::logger()->info('Deliver profile deletion for user ' . $owner['uid'] . ' to ' . $inbox . ' via ActivityPub'); return HTTPSignature::transmit($signed, $inbox, $owner); } @@ -2211,7 +2210,7 @@ class Transmitter $signed = LDSignature::sign($data, $owner); - Logger::info('Deliver profile update for user ' . $owner['uid'] . ' to ' . $inbox . ' via ActivityPub'); + DI::logger()->info('Deliver profile update for user ' . $owner['uid'] . ' to ' . $inbox . ' via ActivityPub'); return HTTPSignature::transmit($signed, $inbox, $owner); } @@ -2231,13 +2230,13 @@ class Transmitter { $profile = APContact::getByURL($target); if (empty($profile['inbox'])) { - Logger::warning('No inbox found for target', ['target' => $target, 'profile' => $profile]); + DI::logger()->warning('No inbox found for target', ['target' => $target, 'profile' => $profile]); return false; } $owner = User::getOwnerDataById($uid); if (empty($owner)) { - Logger::warning('No user found for actor, aborting', ['uid' => $uid]); + DI::logger()->warning('No user found for actor, aborting', ['uid' => $uid]); return false; } @@ -2255,7 +2254,7 @@ class Transmitter 'to' => [$profile['url']], ]; - Logger::info('Sending activity ' . $activity . ' to ' . $target . ' for user ' . $uid); + DI::logger()->info('Sending activity ' . $activity . ' to ' . $target . ' for user ' . $uid); $signed = LDSignature::sign($data, $owner); return HTTPSignature::transmit($signed, $profile['inbox'], $owner); @@ -2277,7 +2276,7 @@ class Transmitter { $profile = APContact::getByURL($target); if (empty($profile['inbox'])) { - Logger::warning('No inbox found for target', ['target' => $target, 'profile' => $profile]); + DI::logger()->warning('No inbox found for target', ['target' => $target, 'profile' => $profile]); return false; } @@ -2285,7 +2284,7 @@ class Transmitter // We need to use some user as a sender. It doesn't care who it will send. We will use an administrator account. $admin = User::getFirstAdmin(['uid']); if (!$admin) { - Logger::warning('No available admin user for transmission', ['target' => $target]); + DI::logger()->warning('No available admin user for transmission', ['target' => $target]); return false; } @@ -2297,7 +2296,7 @@ class Transmitter 'author-id' => Contact::getPublicIdByUserId($uid) ]; if (Post::exists($condition)) { - Logger::info('Follow for ' . $object . ' for user ' . $uid . ' does already exist.'); + DI::logger()->info('Follow for ' . $object . ' for user ' . $uid . ' does already exist.'); return false; } @@ -2313,7 +2312,7 @@ class Transmitter 'to' => [$profile['url']], ]; - Logger::info('Sending follow ' . $object . ' to ' . $target . ' for user ' . $uid); + DI::logger()->info('Sending follow ' . $object . ' to ' . $target . ' for user ' . $uid); $signed = LDSignature::sign($data, $owner); return HTTPSignature::transmit($signed, $profile['inbox'], $owner); @@ -2333,13 +2332,13 @@ class Transmitter { $profile = APContact::getByURL($target); if (empty($profile['inbox'])) { - Logger::warning('No inbox found for target', ['target' => $target, 'profile' => $profile]); + DI::logger()->warning('No inbox found for target', ['target' => $target, 'profile' => $profile]); return; } $owner = User::getOwnerDataById($uid); if (!$owner) { - Logger::notice('No user found for actor', ['uid' => $uid]); + DI::logger()->notice('No user found for actor', ['uid' => $uid]); return; } @@ -2358,7 +2357,7 @@ class Transmitter 'to' => [$profile['url']], ]; - Logger::debug('Sending accept to ' . $target . ' for user ' . $uid . ' with id ' . $id); + DI::logger()->debug('Sending accept to ' . $target . ' for user ' . $uid . ' with id ' . $id); $signed = LDSignature::sign($data, $owner); HTTPSignature::transmit($signed, $profile['inbox'], $owner); @@ -2378,7 +2377,7 @@ class Transmitter { $profile = APContact::getByURL($target); if (empty($profile['inbox'])) { - Logger::warning('No inbox found for target', ['target' => $target, 'profile' => $profile]); + DI::logger()->warning('No inbox found for target', ['target' => $target, 'profile' => $profile]); return false; } @@ -2397,7 +2396,7 @@ class Transmitter 'to' => [$profile['url']], ]; - Logger::debug('Sending reject to ' . $target . ' for user ' . $owner['uid'] . ' with id ' . $objectId); + DI::logger()->debug('Sending reject to ' . $target . ' for user ' . $owner['uid'] . ' with id ' . $objectId); $signed = LDSignature::sign($data, $owner); return HTTPSignature::transmit($signed, $profile['inbox'], $owner); @@ -2418,7 +2417,7 @@ class Transmitter { $profile = APContact::getByURL($target); if (empty($profile['inbox'])) { - Logger::warning('No inbox found for target', ['target' => $target, 'profile' => $profile]); + DI::logger()->warning('No inbox found for target', ['target' => $target, 'profile' => $profile]); return false; } @@ -2444,7 +2443,7 @@ class Transmitter 'to' => [$profile['url']], ]; - Logger::info('Sending undo to ' . $target . ' for user ' . $owner['uid'] . ' with id ' . $objectId); + DI::logger()->info('Sending undo to ' . $target . ' for user ' . $owner['uid'] . ' with id ' . $objectId); $signed = LDSignature::sign($data, $owner); return HTTPSignature::transmit($signed, $profile['inbox'], $owner); @@ -2465,7 +2464,7 @@ class Transmitter { $profile = APContact::getByURL($target); if (empty($profile['inbox'])) { - Logger::warning('No inbox found for target', ['target' => $target, 'profile' => $profile]); + DI::logger()->warning('No inbox found for target', ['target' => $target, 'profile' => $profile]); return false; } @@ -2491,7 +2490,7 @@ class Transmitter 'to' => [$profile['url']], ]; - Logger::info('Sending undo to ' . $target . ' for user ' . $owner['uid'] . ' with id ' . $objectId); + DI::logger()->info('Sending undo to ' . $target . ' for user ' . $owner['uid'] . ' with id ' . $objectId); $signed = LDSignature::sign($data, $owner); return HTTPSignature::transmit($signed, $profile['inbox'], $owner); diff --git a/src/Protocol/DFRN.php b/src/Protocol/DFRN.php index 93b0d7f9ba..3e28fe53f3 100644 --- a/src/Protocol/DFRN.php +++ b/src/Protocol/DFRN.php @@ -13,7 +13,6 @@ use DOMNode; use DOMXPath; use Friendica\App; use Friendica\Content\Text\BBCode; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\DBA; use Friendica\DI; @@ -716,7 +715,7 @@ class DFRN $mentioned = []; if (!$item['parent']) { - Logger::warning('Item without parent found.', ['type' => $type, 'item' => $item]); + DI::logger()->warning('Item without parent found.', ['type' => $type, 'item' => $item]); return null; } @@ -938,14 +937,14 @@ class DFRN { if (!$public_batch) { if (empty($contact['addr'])) { - Logger::notice('Empty contact handle for ' . $contact['id'] . ' - ' . $contact['url'] . ' - trying to update it.'); + DI::logger()->notice('Empty contact handle for ' . $contact['id'] . ' - ' . $contact['url'] . ' - trying to update it.'); if (Contact::updateFromProbe($contact['id'])) { $new_contact = DBA::selectFirst('contact', ['addr'], ['id' => $contact['id']]); $contact['addr'] = $new_contact['addr']; } if (empty($contact['addr'])) { - Logger::notice('Unable to find contact handle for ' . $contact['id'] . ' - ' . $contact['url']); + DI::logger()->notice('Unable to find contact handle for ' . $contact['id'] . ' - ' . $contact['url']); return -21; } } @@ -953,7 +952,7 @@ class DFRN try { $pubkey = DI::dsprContact()->getByAddr(WebFingerUri::fromString($contact['addr']))->pubKey; } catch (HTTPException\NotFoundException|\InvalidArgumentException $e) { - Logger::notice('Unable to find contact details for ' . $contact['id'] . ' - ' . $contact['addr']); + DI::logger()->notice('Unable to find contact details for ' . $contact['id'] . ' - ' . $contact['addr']); return -22; } } else { @@ -974,7 +973,7 @@ class DFRN $dest_url = ($public_batch ? $contact['batch'] : $contact['notify']); if (empty($dest_url)) { - Logger::info('Empty destination', ['public' => $public_batch, 'contact' => $contact]); + DI::logger()->info('Empty destination', ['public' => $public_batch, 'contact' => $contact]); return -24; } @@ -983,7 +982,7 @@ class DFRN try { $postResult = DI::httpClient()->post($dest_url, $envelope, ['Content-Type' => $content_type], 0, HttpClientRequest::DFRN); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return -25; } @@ -995,7 +994,7 @@ class DFRN } if (empty($curl_stat) || empty($xml)) { - Logger::notice('Empty answer from ' . $contact['id'] . ' - ' . $dest_url); + DI::logger()->notice('Empty answer from ' . $contact['id'] . ' - ' . $dest_url); return -9; // timed out } @@ -1004,8 +1003,8 @@ class DFRN } if (strpos($xml, 'notice('No valid XML returned from ' . $contact['id'] . ' - ' . $dest_url); + DI::logger()->debug('Returned XML: ' . $xml); return 3; } @@ -1021,7 +1020,7 @@ class DFRN } if (!empty($res->message)) { - Logger::info('Transmit to ' . $dest_url . ' returned status '.$res->status.' - '.$res->message); + DI::logger()->info('Transmit to ' . $dest_url . ' returned status '.$res->status.' - '.$res->message); } return intval($res->status); @@ -1063,7 +1062,7 @@ class DFRN $author["contact-id"] = $contact_old["id"]; $author["network"] = $contact_old["network"]; } else { - Logger::info('Contact not found', ['condition' => $condition]); + DI::logger()->info('Contact not found', ['condition' => $condition]); $author["contact-unknown"] = true; $contact = Contact::getByURL($author["link"], null, ["id", "network"]); @@ -1112,12 +1111,12 @@ class DFRN } if (empty($author['avatar'])) { - Logger::notice('Empty author: ' . $xml); + DI::logger()->notice('Empty author: ' . $xml); $author['avatar'] = ''; } if (DBA::isResult($contact_old) && !$onlyfetch) { - Logger::info("Check if contact details for contact " . $contact_old["id"] . " (" . $contact_old["nick"] . ") have to be updated."); + DI::logger()->info("Check if contact details for contact " . $contact_old["id"] . " (" . $contact_old["nick"] . ") have to be updated."); $poco = ["url" => $contact_old["url"], "network" => $contact_old["network"]]; @@ -1178,7 +1177,7 @@ class DFRN // If the "hide" element is present then the profile isn't searchable. $hide = intval(XML::getFirstNodeValue($xpath, $element . "/dfrn:hide/text()", $context) == "true"); - Logger::info("Hidden status for contact " . $contact_old["url"] . ": " . $hide); + DI::logger()->info("Hidden status for contact " . $contact_old["url"] . ": " . $hide); // If the contact isn't searchable then set the contact to "hidden". // Problem: This can be manually overridden by the user. @@ -1318,7 +1317,7 @@ class DFRN */ private static function processMail(DOMXPath $xpath, DOMNode $mail, array $importer) { - Logger::info("Processing mails"); + DI::logger()->info("Processing mails"); $msg = []; $msg['uid'] = $importer['importer_uid']; @@ -1346,7 +1345,7 @@ class DFRN */ private static function processSuggestion(DOMXPath $xpath, DOMNode $suggestion, array $importer) { - Logger::info('Processing suggestions'); + DI::logger()->info('Processing suggestions'); $url = $xpath->evaluate('string(dfrn:url[1]/text())', $suggestion); $cid = Contact::getIdForURL($url); @@ -1422,7 +1421,7 @@ class DFRN */ private static function processRelocation(DOMXPath $xpath, DOMNode $relocation, array $importer): bool { - Logger::info("Processing relocations"); + DI::logger()->info("Processing relocations"); /// @TODO Rewrite this to one statement $relocate = []; @@ -1452,7 +1451,7 @@ class DFRN // update contact $old = Contact::selectFirst(['photo', 'url'], ['id' => $importer['id'], 'uid' => $importer['importer_uid']]); if (!DBA::isResult($old)) { - Logger::warning('Existing contact had not been fetched', ['id' => $importer['id']]); + DI::logger()->warning('Existing contact had not been fetched', ['id' => $importer['id']]); return false; } @@ -1475,7 +1474,7 @@ class DFRN Contact::updateAvatar($importer['id'], $relocate['avatar'], true); - Logger::info('Contacts are updated.'); + DI::logger()->info('Contacts are updated.'); /// @TODO /// merge with current record, current contents have priority @@ -1558,7 +1557,7 @@ class DFRN */ private static function processVerbs(int $entrytype, array $importer, array &$item) { - Logger::info('Process verb ' . $item['verb'] . ' and object-type ' . $item['object-type'] . ' for entrytype ' . $entrytype); + DI::logger()->info('Process verb ' . $item['verb'] . ' and object-type ' . $item['object-type'] . ' for entrytype ' . $entrytype); if (($entrytype == self::TOP_LEVEL) && !empty($importer['id'])) { // The filling of the "contact" variable is done for legacy reasons @@ -1570,22 +1569,22 @@ class DFRN // Big question: Do we need these functions? They were part of the "consume_feed" function. // This function once was responsible for DFRN and OStatus. if ($activity->match($item['verb'], Activity::FOLLOW)) { - Logger::info("New follower"); + DI::logger()->info("New follower"); Contact::addRelationship($importer, $contact, $item); return false; } if ($activity->match($item['verb'], Activity::UNFOLLOW)) { - Logger::info("Lost follower"); + DI::logger()->info("Lost follower"); Contact::removeFollower($contact); return false; } if ($activity->match($item['verb'], Activity::REQ_FRIEND)) { - Logger::info("New friend request"); + DI::logger()->info("New friend request"); Contact::addRelationship($importer, $contact, $item, true); return false; } if ($activity->match($item['verb'], Activity::UNFRIEND)) { - Logger::info("Lost sharer"); + DI::logger()->info("Lost sharer"); Contact::removeSharer($contact); return false; } @@ -1631,7 +1630,7 @@ class DFRN if ($xt->type == Activity\ObjectType::NOTE) { $item_tag = Post::selectFirst(['id', 'uri-id'], ['uri' => $xt->id, 'uid' => $importer['importer_uid']]); if (!DBA::isResult($item_tag)) { - Logger::warning('Post had not been fetched', ['uri' => $xt->id, 'uid' => $importer['importer_uid']]); + DI::logger()->warning('Post had not been fetched', ['uri' => $xt->id, 'uid' => $importer['importer_uid']]); return false; } @@ -1696,23 +1695,23 @@ class DFRN { if (DBA::exists('contact', ["`nurl` = ? AND `uid` != ? AND `rel` IN (?, ?)", Strings::normaliseLink($item["author-link"]), 0, Contact::FRIEND, Contact::SHARING])) { - Logger::debug('Author has got followers - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri'], 'author' => $item["author-link"]]); + DI::logger()->debug('Author has got followers - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri'], 'author' => $item["author-link"]]); return true; } if ($importer['importer_uid'] != 0) { - Logger::debug('Message is directed to a user - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri'], 'importer' => $importer['importer_uid']]); + DI::logger()->debug('Message is directed to a user - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri'], 'importer' => $importer['importer_uid']]); return true; } if ($item['uri'] != $item['thr-parent']) { - Logger::debug('Message is no parent - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); + DI::logger()->debug('Message is no parent - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]); return true; } $tags = array_column(Tag::getByURIId($item['uri-id'], [Tag::HASHTAG]), 'name'); if (Relay::isSolicitedPost($tags, $item['body'], $item['author-id'], $item['uri'], Protocol::DFRN)) { - Logger::debug('Post is accepted because of the relay settings', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri'], 'author' => $item["author-link"]]); + DI::logger()->debug('Post is accepted because of the relay settings', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri'], 'author' => $item["author-link"]]); return true; } else { return false; @@ -1735,7 +1734,7 @@ class DFRN */ private static function processEntry(array $header, DOMXPath $xpath, DOMNode $entry, array $importer, string $xml, int $protocol) { - Logger::info("Processing entries"); + DI::logger()->info("Processing entries"); $item = $header; @@ -1751,7 +1750,7 @@ class DFRN ); // Is there an existing item? if (DBA::isResult($current) && !self::isEditedTimestampNewer($current, $item)) { - Logger::info("Item " . $item['uri'] . " (" . $item['edited'] . ") already existed."); + DI::logger()->info("Item " . $item['uri'] . " (" . $item['edited'] . ") already existed."); return; } @@ -1961,10 +1960,10 @@ class DFRN // Is it an event? if (($item['object-type'] == Activity\ObjectType::EVENT) && !$owner_unknown) { - Logger::info("Item " . $item['uri'] . " seems to contain an event."); + DI::logger()->info("Item " . $item['uri'] . " seems to contain an event."); $ev = Event::fromBBCode($item['body']); if ((!empty($ev['desc']) || !empty($ev['summary'])) && !empty($ev['start'])) { - Logger::info("Event in item " . $item['uri'] . " was found."); + DI::logger()->info("Event in item " . $item['uri'] . " was found."); $ev['cid'] = $importer['id']; $ev['uid'] = $importer['importer_uid']; $ev['uri'] = $item['uri']; @@ -1984,7 +1983,7 @@ class DFRN } $event_id = Event::store($ev); - Logger::info('Event was stored', ['id' => $event_id]); + DI::logger()->info('Event was stored', ['id' => $event_id]); $item = Event::getItemArrayForImportedId($event_id, $item); } @@ -1992,13 +1991,13 @@ class DFRN } if (!self::processVerbs($entrytype, $importer, $item)) { - Logger::info("Exiting because 'processVerbs' told us so"); + DI::logger()->info("Exiting because 'processVerbs' told us so"); return; } // This check is done here to be able to receive connection requests in "processVerbs" if (($entrytype == self::TOP_LEVEL) && $owner_unknown) { - Logger::info("Item won't be stored because user " . $importer['importer_uid'] . " doesn't follow " . $item['owner-link'] . "."); + DI::logger()->info("Item won't be stored because user " . $importer['importer_uid'] . " doesn't follow " . $item['owner-link'] . "."); return; } @@ -2006,9 +2005,9 @@ class DFRN // Update content if 'updated' changes if (DBA::isResult($current)) { if (self::updateContent($current, $item, $importer, $entrytype)) { - Logger::info("Item " . $item['uri'] . " was updated."); + DI::logger()->info("Item " . $item['uri'] . " was updated."); } else { - Logger::info("Item " . $item['uri'] . " already existed."); + DI::logger()->info("Item " . $item['uri'] . " already existed."); } return; } @@ -2016,20 +2015,20 @@ class DFRN if (in_array($entrytype, [self::REPLY, self::REPLY_RC])) { if (($item['uid'] != 0) && !Post::exists(['uid' => $item['uid'], 'uri' => $item['thr-parent']])) { if (DI::pConfig()->get($item['uid'], 'system', 'accept_only_sharer') == Item::COMPLETION_NONE) { - Logger::info('Completion is set to "none", so we stop here.', ['uid' => $item['uid'], 'owner-id' => $item['owner-id'], 'author-id' => $item['author-id'], 'gravity' => $item['gravity'], 'uri' => $item['uri']]); + DI::logger()->info('Completion is set to "none", so we stop here.', ['uid' => $item['uid'], 'owner-id' => $item['owner-id'], 'author-id' => $item['author-id'], 'gravity' => $item['gravity'], 'uri' => $item['uri']]); return; } if (!Contact::isSharing($item['owner-id'], $item['uid']) && !Contact::isSharing($item['author-id'], $item['uid'])) { - Logger::info('Contact is not sharing with the user', ['uid' => $item['uid'], 'owner-id' => $item['owner-id'], 'author-id' => $item['author-id'], 'gravity' => $item['gravity'], 'uri' => $item['uri']]); + DI::logger()->info('Contact is not sharing with the user', ['uid' => $item['uid'], 'owner-id' => $item['owner-id'], 'author-id' => $item['author-id'], 'gravity' => $item['gravity'], 'uri' => $item['uri']]); return; } if (($item['gravity'] == Item::GRAVITY_ACTIVITY) && DI::pConfig()->get($item['uid'], 'system', 'accept_only_sharer') == Item::COMPLETION_COMMENT) { - Logger::info('Completion is set to "comment", but this is an activity. so we stop here.', ['uid' => $item['uid'], 'owner-id' => $item['owner-id'], 'author-id' => $item['author-id'], 'gravity' => $item['gravity'], 'uri' => $item['uri']]); + DI::logger()->info('Completion is set to "comment", but this is an activity. so we stop here.', ['uid' => $item['uid'], 'owner-id' => $item['owner-id'], 'author-id' => $item['author-id'], 'gravity' => $item['gravity'], 'uri' => $item['uri']]); return; } - Logger::debug('Post is accepted.', ['uid' => $item['uid'], 'owner-id' => $item['owner-id'], 'author-id' => $item['author-id'], 'gravity' => $item['gravity'], 'uri' => $item['uri']]); + DI::logger()->debug('Post is accepted.', ['uid' => $item['uid'], 'owner-id' => $item['owner-id'], 'author-id' => $item['author-id'], 'gravity' => $item['gravity'], 'uri' => $item['uri']]); } else { - Logger::debug('Thread parent exists.', ['uid' => $item['uid'], 'owner-id' => $item['owner-id'], 'author-id' => $item['author-id'], 'gravity' => $item['gravity'], 'uri' => $item['uri']]); + DI::logger()->debug('Thread parent exists.', ['uid' => $item['uid'], 'owner-id' => $item['owner-id'], 'author-id' => $item['author-id'], 'gravity' => $item['gravity'], 'uri' => $item['uri']]); } // Will be overwritten for sharing accounts in Item::insert @@ -2039,7 +2038,7 @@ class DFRN $posted_id = Item::insert($item); if ($posted_id) { - Logger::info("Reply from contact " . $item['contact-id'] . " was stored with id " . $posted_id); + DI::logger()->info("Reply from contact " . $item['contact-id'] . " was stored with id " . $posted_id); if ($item['uid'] == 0) { Item::distribute($posted_id); @@ -2049,7 +2048,7 @@ class DFRN } } else { // $entrytype == self::TOP_LEVEL if (($item['uid'] != 0) && !Contact::isSharing($item['owner-id'], $item['uid']) && !Contact::isSharing($item['author-id'], $item['uid'])) { - Logger::info('Contact is not sharing with the user', ['uid' => $item['uid'], 'owner-id' => $item['owner-id'], 'author-id' => $item['author-id'], 'gravity' => $item['gravity'], 'uri' => $item['uri']]); + DI::logger()->info('Contact is not sharing with the user', ['uid' => $item['uid'], 'owner-id' => $item['owner-id'], 'author-id' => $item['author-id'], 'gravity' => $item['gravity'], 'uri' => $item['uri']]); return; } @@ -2064,7 +2063,7 @@ class DFRN $posted_id = $notify; } - Logger::info("Item was stored with id " . $posted_id); + DI::logger()->info("Item was stored with id " . $posted_id); if ($item['uid'] == 0) { Item::distribute($posted_id); @@ -2083,7 +2082,7 @@ class DFRN */ private static function processDeletion(DOMXPath $xpath, DOMNode $deletion, array $importer) { - Logger::info("Processing deletions"); + DI::logger()->info("Processing deletions"); $uri = null; foreach ($deletion->attributes as $attributes) { @@ -2099,18 +2098,18 @@ class DFRN $condition = ['uri' => $uri, 'uid' => $importer['importer_uid']]; $item = Post::selectFirst(['id', 'parent', 'contact-id', 'uri-id', 'deleted', 'gravity'], $condition); if (!DBA::isResult($item)) { - Logger::info('Item with URI ' . $uri . ' for user ' . $importer['importer_uid'] . ' was not found.'); + DI::logger()->info('Item with URI ' . $uri . ' for user ' . $importer['importer_uid'] . ' was not found.'); return; } if (DBA::exists('post-category', ['uri-id' => $item['uri-id'], 'uid' => $importer['importer_uid'], 'type' => Post\Category::FILE])) { - Logger::notice('Item is filed. It will not be deleted.', ['uri' => $uri, 'uri-id' => $item['uri_id'], 'uid' => $importer['importer_uid']]); + DI::logger()->notice('Item is filed. It will not be deleted.', ['uri' => $uri, 'uri-id' => $item['uri_id'], 'uid' => $importer['importer_uid']]); return; } // When it is a starting post it has to belong to the person that wants to delete it if (($item['gravity'] == Item::GRAVITY_PARENT) && ($item['contact-id'] != $importer['id'])) { - Logger::info('Item with URI ' . $uri . ' do not belong to contact ' . $importer['id'] . ' - ignoring deletion.'); + DI::logger()->info('Item with URI ' . $uri . ' do not belong to contact ' . $importer['id'] . ' - ignoring deletion.'); return; } @@ -2118,7 +2117,7 @@ class DFRN if (($item['gravity'] != Item::GRAVITY_PARENT) && ($item['contact-id'] != $importer['id'])) { $condition = ['id' => $item['parent'], 'contact-id' => $importer['id']]; if (!Post::exists($condition)) { - Logger::info('Item with URI ' . $uri . ' was not found or must not be deleted by contact ' . $importer['id'] . ' - ignoring deletion.'); + DI::logger()->info('Item with URI ' . $uri . ' was not found or must not be deleted by contact ' . $importer['id'] . ' - ignoring deletion.'); return; } } @@ -2127,7 +2126,7 @@ class DFRN return; } - Logger::info('deleting item '.$item['id'].' uri='.$uri); + DI::logger()->info('deleting item '.$item['id'].' uri='.$uri); Item::markForDeletion(['id' => $item['id']]); } @@ -2190,7 +2189,7 @@ class DFRN self::fetchauthor($xpath, $doc->firstChild, $importer, 'dfrn:owner', false, $xml); } - Logger::info("Import DFRN message for user " . $importer['importer_uid'] . " from contact " . $importer['id']); + DI::logger()->info("Import DFRN message for user " . $importer['importer_uid'] . " from contact " . $importer['id']); if (!empty($importer['gsid']) && ($protocol == Conversation::PARCEL_DIASPORA_DFRN)) { GServer::setProtocol($importer['gsid'], Post\DeliveryData::DFRN); @@ -2263,7 +2262,7 @@ class DFRN self::processDeletion($xpath, $deletion, $importer); } if (count($deletions) > 0) { - Logger::info(count($deletions) . ' deletions had been processed'); + DI::logger()->info(count($deletions) . ' deletions had been processed'); return 200; } } @@ -2273,7 +2272,7 @@ class DFRN self::processEntry($header, $xpath, $entry, $importer, $xml, $protocol); } - Logger::info("Import done for user " . $importer['importer_uid'] . " from contact " . $importer['id']); + DI::logger()->info("Import done for user " . $importer['importer_uid'] . " from contact " . $importer['id']); return 200; } diff --git a/src/Protocol/Delivery.php b/src/Protocol/Delivery.php index c18de6264c..d13b106aeb 100644 --- a/src/Protocol/Delivery.php +++ b/src/Protocol/Delivery.php @@ -9,7 +9,6 @@ namespace Friendica\Protocol; use Friendica\Contact\FriendSuggest\Collection\FriendSuggests; use Friendica\Contact\FriendSuggest\Exception\FriendSuggestNotFoundException; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Worker; use Friendica\Database\DBA; @@ -42,7 +41,7 @@ class Delivery */ public static function deliver(string $cmd, int $post_uriid, int $contact_id, int $sender_uid = 0): bool { - Logger::info('Invoked', ['cmd' => $cmd, 'target' => $post_uriid, 'sender_uid' => $sender_uid, 'contact' => $contact_id]); + DI::logger()->info('Invoked', ['cmd' => $cmd, 'target' => $post_uriid, 'sender_uid' => $sender_uid, 'contact' => $contact_id]); $top_level = false; $followup = false; @@ -71,7 +70,7 @@ class Delivery } else { $item = Post::selectFirst(['id', 'parent'], ['uri-id' => $post_uriid, 'uid' => $sender_uid]); if (!DBA::isResult($item) || empty($item['parent'])) { - Logger::warning('Post not found', ['uri-id' => $post_uriid, 'uid' => $sender_uid]); + DI::logger()->warning('Post not found', ['uri-id' => $post_uriid, 'uid' => $sender_uid]); return true; } $target_id = intval($item['id']); @@ -97,12 +96,12 @@ class Delivery DBA::close($itemdata); if (empty($target_item)) { - Logger::warning("No target item data. Quitting here.", ['id' => $target_id]); + DI::logger()->warning("No target item data. Quitting here.", ['id' => $target_id]); return true; } if (empty($parent)) { - Logger::warning('Parent ' . $parent_id . ' for item ' . $target_id . "wasn't found. Quitting here."); + DI::logger()->warning('Parent ' . $parent_id . ' for item ' . $target_id . "wasn't found. Quitting here."); self::setFailedQueue($cmd, $target_item); return true; } @@ -112,7 +111,7 @@ class Delivery } elseif (!empty($target_item['uid'])) { $uid = $target_item['uid']; } else { - Logger::info('Only public users for item ' . $target_id); + DI::logger()->info('Only public users for item ' . $target_id); self::setFailedQueue($cmd, $target_item); return true; } @@ -126,7 +125,7 @@ class Delivery } if (!empty($contact_id) && Contact::isArchived($contact_id)) { - Logger::info('Contact is archived', ['id' => $contact_id, 'cmd' => $cmd, 'item' => $target_item['id']]); + DI::logger()->info('Contact is archived', ['id' => $contact_id, 'cmd' => $cmd, 'item' => $target_item['id']]); self::setFailedQueue($cmd, $target_item); return true; } @@ -161,7 +160,7 @@ class Delivery */ if (!$top_level && ($parent['wall'] == 0) && stristr($target_item['uri'], $localhost)) { - Logger::info('Followup ' . $target_item["guid"]); + DI::logger()->info('Followup ' . $target_item["guid"]); // local followup to remote post $followup = true; } @@ -176,7 +175,7 @@ class Delivery } if (empty($items)) { - Logger::warning('No delivery data', ['command' => $cmd, 'uri-id' => $post_uriid, 'cid' => $contact_id]); + DI::logger()->warning('No delivery data', ['command' => $cmd, 'uri-id' => $post_uriid, 'cid' => $contact_id]); } $owner = User::getOwnerDataById($uid); @@ -206,11 +205,11 @@ class Delivery // This is done since the uri wouldn't match (Diaspora doesn't transmit it) // Also transmit relayed posts from Diaspora contacts via Diaspora. if (($contact['network'] != Protocol::DIASPORA) && in_array(Protocol::DIASPORA, [$parent['network'] ?? '', $thr_parent['network'] ?? '', $target_item['network'] ?? ''])) { - Logger::info('Enforcing the Diaspora protocol', ['id' => $contact['id'], 'network' => $contact['network'], 'parent' => $parent['network'], 'thread-parent' => $thr_parent['network'], 'post' => $target_item['network']]); + DI::logger()->info('Enforcing the Diaspora protocol', ['id' => $contact['id'], 'network' => $contact['network'], 'parent' => $parent['network'], 'thread-parent' => $thr_parent['network'], 'post' => $target_item['network']]); $contact['network'] = Protocol::DIASPORA; } - Logger::notice('Delivering', ['cmd' => $cmd, 'uri-id' => $post_uriid, 'followup' => $followup, 'network' => $contact['network']]); + DI::logger()->notice('Delivering', ['cmd' => $cmd, 'uri-id' => $post_uriid, 'followup' => $followup, 'network' => $contact['network']]); switch ($contact['network']) { case Protocol::DFRN: @@ -273,11 +272,11 @@ class Delivery // Transmit Diaspora reshares via Diaspora if the Friendica contact support Diaspora if (Diaspora::getReshareDetails($target_item) && Diaspora::isSupportedByContactUrl($contact['addr'])) { - Logger::info('Reshare will be transmitted via Diaspora', ['url' => $contact['url'], 'guid' => $target_item_id]); + DI::logger()->info('Reshare will be transmitted via Diaspora', ['url' => $contact['url'], 'guid' => $target_item_id]); return self::deliverDiaspora($cmd, $contact, $owner, $items, $target_item, $public_message, $top_level, $followup); } - Logger::info('Deliver ' . ($target_item_id ?? 'relocation') . ' via DFRN to ' . ($contact['addr'] ?? '' ?: $contact['url'])); + DI::logger()->info('Deliver ' . ($target_item_id ?? 'relocation') . ' via DFRN to ' . ($contact['addr'] ?? '' ?: $contact['url'])); if ($cmd == self::MAIL) { $item = $target_item; @@ -309,7 +308,7 @@ class Delivery $atom = DFRN::entries($msgitems, $owner); } - Logger::debug('Notifier entry: ' . $contact['url'] . ' ' . ($target_item_id ?? 'relocation') . ' entry: ' . $atom); + DI::logger()->debug('Notifier entry: ' . $contact['url'] . ' ' . ($target_item_id ?? 'relocation') . ' entry: ' . $atom); $protocol = Post\DeliveryData::DFRN; @@ -323,7 +322,7 @@ class Delivery // We never spool failed relay deliveries if ($public_dfrn) { - Logger::info('Relay delivery to ' . $contact['url'] . ' with guid ' . $target_item['guid'] . ' returns ' . $deliver_status); + DI::logger()->info('Relay delivery to ' . $contact['url'] . ' with guid ' . $target_item['guid'] . ' returns ' . $deliver_status); $success = ($deliver_status >= 200) && ($deliver_status <= 299); @@ -345,7 +344,7 @@ class Delivery $deliver_status = DFRN::transmit($owner, $contact, $atom); } - Logger::info('DFRN Delivery', ['cmd' => $cmd, 'url' => $contact['url'], 'guid' => $target_item_id, 'return' => $deliver_status]); + DI::logger()->info('DFRN Delivery', ['cmd' => $cmd, 'url' => $contact['url'], 'guid' => $target_item_id, 'return' => $deliver_status]); if (($deliver_status >= 200) && ($deliver_status <= 299)) { // We successfully delivered a message, the contact is alive @@ -361,7 +360,7 @@ class Delivery // The message could not be delivered. We mark the contact as "dead" Contact::markForArchival($contact); - Logger::info('Delivery failed: defer message', ['id' => $target_item_id]); + DI::logger()->info('Delivery failed: defer message', ['id' => $target_item_id]); if (!Worker::defer() && $cmd == Delivery::POST) { Post\DeliveryData::incrementQueueFailed($target_item['uri-id']); } @@ -397,7 +396,7 @@ class Delivery $loc = $contact['addr']; } - Logger::notice('Deliver via Diaspora', ['target' => $target_item['id'], 'guid' => $target_item['guid'], 'to' => $loc]); + DI::logger()->notice('Deliver via Diaspora', ['target' => $target_item['id'], 'guid' => $target_item['guid'], 'to' => $loc]); if (!DI::config()->get('system', 'diaspora_enabled')) { return true; @@ -420,22 +419,22 @@ class Delivery $deliver_status = Diaspora::sendAccountMigration($owner, $contact, $owner['uid']); } elseif ($target_item['deleted'] && (($target_item['uri'] === $target_item['parent-uri']) || $followup)) { // top-level retraction - Logger::notice('diaspora retract: ' . $loc); + DI::logger()->notice('diaspora retract: ' . $loc); $deliver_status = Diaspora::sendRetraction($target_item, $owner, $contact, $public_message); } elseif ($followup) { // send comments and likes to owner to relay - Logger::notice('diaspora followup: ' . $loc); + DI::logger()->notice('diaspora followup: ' . $loc); $deliver_status = Diaspora::sendFollowup($target_item, $owner, $contact, $public_message); } elseif ($target_item['uri'] !== $target_item['parent-uri']) { // we are the relay - send comments, likes and relayable_retractions to our conversants - Logger::notice('diaspora relay: ' . $loc); + DI::logger()->notice('diaspora relay: ' . $loc); $deliver_status = Diaspora::sendRelay($target_item, $owner, $contact, $public_message); } elseif ($top_level && !$walltowall) { // currently no workable solution for sending walltowall - Logger::notice('diaspora status: ' . $loc); + DI::logger()->notice('diaspora status: ' . $loc); $deliver_status = Diaspora::sendStatus($target_item, $owner, $contact, $public_message); } else { - Logger::warning('Unknown mode', ['command' => $cmd, 'target' => $loc]); + DI::logger()->warning('Unknown mode', ['command' => $cmd, 'target' => $loc]); return true; } @@ -459,7 +458,7 @@ class Delivery } if (empty($contact['contact-type']) || ($contact['contact-type'] != Contact::TYPE_RELAY)) { - Logger::info('Delivery failed: defer message', ['id' => ($target_item['guid'] ?? '') ?: $target_item['id']]); + DI::logger()->info('Delivery failed: defer message', ['id' => ($target_item['guid'] ?? '') ?: $target_item['id']]); // defer message for redelivery if (!Worker::defer() && $cmd == Delivery::POST) { Post\DeliveryData::incrementQueueFailed($target_item['uri-id']); @@ -508,10 +507,10 @@ class Delivery $data = json_decode($thr_parent['object'], true); if (!empty($data['reply_to'])) { $addr = $data['reply_to'][0]['mailbox'] . '@' . $data['reply_to'][0]['host']; - Logger::info('Use "reply-to" address of the thread parent', ['addr' => $addr]); + DI::logger()->info('Use "reply-to" address of the thread parent', ['addr' => $addr]); } elseif (!empty($data['from'])) { $addr = $data['from'][0]['mailbox'] . '@' . $data['from'][0]['host']; - Logger::info('Use "from" address of the thread parent', ['addr' => $addr]); + DI::logger()->info('Use "from" address of the thread parent', ['addr' => $addr]); } } @@ -520,7 +519,7 @@ class Delivery return true; } - Logger::info('About to deliver via mail', ['guid' => $target_item['guid'], 'to' => $addr]); + DI::logger()->info('About to deliver via mail', ['guid' => $target_item['guid'], 'to' => $addr]); $reply_to = ''; $mailacct = DBA::selectFirst('mailacct', ['reply_to'], ['uid' => $owner['uid']]); @@ -583,10 +582,10 @@ class Delivery if ($success) { // Success Post\DeliveryData::incrementQueueDone($target_item['uri-id'], Post\DeliveryData::MAIL); - Logger::info('Delivered via mail', ['guid' => $target_item['guid'], 'to' => $addr, 'subject' => $subject]); + DI::logger()->info('Delivered via mail', ['guid' => $target_item['guid'], 'to' => $addr, 'subject' => $subject]); } else { // Failed - Logger::warning('Delivery of mail has FAILED', ['to' => $addr, 'subject' => $subject, 'guid' => $target_item['guid']]); + DI::logger()->warning('Delivery of mail has FAILED', ['to' => $addr, 'subject' => $subject, 'guid' => $target_item['guid']]); } return $success; } diff --git a/src/Protocol/Diaspora.php b/src/Protocol/Diaspora.php index b791c2572f..952f6f3b96 100644 --- a/src/Protocol/Diaspora.php +++ b/src/Protocol/Diaspora.php @@ -11,7 +11,6 @@ use Friendica\Content\Feature; use Friendica\Content\Text\BBCode; use Friendica\Content\Text\Markdown; use Friendica\Core\Cache\Enum\Duration; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\System; use Friendica\Core\Worker; @@ -69,7 +68,7 @@ class Diaspora public static function participantsForThread(array $item, array $contacts): array { if (!in_array($item['private'], [Item::PUBLIC, Item::UNLISTED]) || in_array($item['verb'], [Activity::FOLLOW, Activity::TAG])) { - Logger::info('Item is private or a participation request. It will not be relayed', ['guid' => $item['guid'], 'private' => $item['private'], 'verb' => $item['verb']]); + DI::logger()->info('Item is private or a participation request. It will not be relayed', ['guid' => $item['guid'], 'private' => $item['private'], 'verb' => $item['verb']]); return $contacts; } @@ -99,7 +98,7 @@ class Diaspora } if (!$exists) { - Logger::info('Add participant to receiver list', ['parent' => $item['parent-guid'], 'item' => $item['guid'], 'participant' => $contact['url']]); + DI::logger()->info('Add participant to receiver list', ['parent' => $item['parent-guid'], 'item' => $item['guid'], 'participant' => $contact['url']]); $contacts[] = $contact; } } @@ -122,14 +121,14 @@ class Diaspora $basedom = XML::parseString($envelope, true); if (!is_object($basedom)) { - Logger::notice('Envelope is no XML file'); + DI::logger()->notice('Envelope is no XML file'); return false; } $children = $basedom->children(ActivityNamespace::SALMON_ME); if (sizeof($children) == 0) { - Logger::notice('XML has no children'); + DI::logger()->notice('XML has no children'); return false; } @@ -154,7 +153,7 @@ class Diaspora $signable_data = $msg . '.' . Strings::base64UrlEncode($type) . '.' . Strings::base64UrlEncode($encoding) . '.' . Strings::base64UrlEncode($alg); if ($handle == '') { - Logger::notice('No author could be decoded. Discarding. Message: ' . $envelope); + DI::logger()->notice('No author could be decoded. Discarding. Message: ' . $envelope); return false; } @@ -164,13 +163,13 @@ class Diaspora throw new \InvalidArgumentException(); } } catch (\InvalidArgumentException $e) { - Logger::notice("Couldn't get a key for handle " . $handle . ". Discarding."); + DI::logger()->notice("Couldn't get a key for handle " . $handle . ". Discarding."); return false; } $verify = Crypto::rsaVerify($signable_data, $sig, $key); if (!$verify) { - Logger::notice('Message from ' . $handle . ' did not verify. Discarding.'); + DI::logger()->notice('Message from ' . $handle . ' did not verify. Discarding.'); return false; } @@ -227,7 +226,7 @@ class Diaspora if (is_object($data)) { try { if (!isset($data->aes_key) || !isset($data->encrypted_magic_envelope)) { - Logger::info('Missing keys "aes_key" and/or "encrypted_magic_envelope"', ['data' => $data]); + DI::logger()->info('Missing keys "aes_key" and/or "encrypted_magic_envelope"', ['data' => $data]); throw new \RuntimeException('Missing keys "aes_key" and/or "encrypted_magic_envelope"'); } @@ -239,12 +238,12 @@ class Diaspora $j_outer_key_bundle = json_decode($outer_key_bundle); if (!is_object($j_outer_key_bundle)) { - Logger::info('Unable to decode outer key bundle', ['outer_key_bundle' => $outer_key_bundle]); + DI::logger()->info('Unable to decode outer key bundle', ['outer_key_bundle' => $outer_key_bundle]); throw new \RuntimeException('Unable to decode outer key bundle'); } if (!isset($j_outer_key_bundle->iv) || !isset($j_outer_key_bundle->key)) { - Logger::info('Missing keys "iv" and/or "key" from outer Salmon', ['j_outer_key_bundle' => $j_outer_key_bundle]); + DI::logger()->info('Missing keys "iv" and/or "key" from outer Salmon', ['j_outer_key_bundle' => $j_outer_key_bundle]); throw new \RuntimeException('Missing keys "iv" and/or "key" from outer Salmon'); } @@ -253,7 +252,7 @@ class Diaspora $xml = self::aesDecrypt($outer_key, $outer_iv, $ciphertext); } catch (\Throwable $e) { - Logger::notice('Outer Salmon did not verify. Discarding.'); + DI::logger()->notice('Outer Salmon did not verify. Discarding.'); if ($no_exit) { return false; } else { @@ -267,7 +266,7 @@ class Diaspora $basedom = XML::parseString($xml, true); if (!is_object($basedom)) { - Logger::notice('Received data does not seem to be an XML. Discarding. ' . $xml); + DI::logger()->notice('Received data does not seem to be an XML. Discarding. ' . $xml); if ($no_exit) { return false; } else { @@ -293,7 +292,7 @@ class Diaspora $key_id = $base->sig[0]->attributes()->key_id[0]; $author_addr = base64_decode($key_id); if ($author_addr == '') { - Logger::notice('No author could be decoded. Discarding. Message: ' . $xml); + DI::logger()->notice('No author could be decoded. Discarding. Message: ' . $xml); if ($no_exit) { return false; } else { @@ -308,7 +307,7 @@ class Diaspora throw new \InvalidArgumentException(); } } catch (\InvalidArgumentException $e) { - Logger::notice("Couldn't get a key for handle " . $author_addr . ". Discarding."); + DI::logger()->notice("Couldn't get a key for handle " . $author_addr . ". Discarding."); if ($no_exit) { return false; } else { @@ -318,7 +317,7 @@ class Diaspora $verify = Crypto::rsaVerify($signed_data, $signature, $key); if (!$verify) { - Logger::notice('Message did not verify. Discarding.'); + DI::logger()->notice('Message did not verify. Discarding.'); if ($no_exit) { return false; } else { @@ -352,7 +351,7 @@ class Diaspora $basedom = XML::parseString($xml); if (!is_object($basedom)) { - Logger::notice('XML is not parseable.'); + DI::logger()->notice('XML is not parseable.'); return false; } $children = $basedom->children('https://joindiaspora.com/protocol'); @@ -366,7 +365,7 @@ class Diaspora } else { // This happens with posts from a relais if (empty($privKey)) { - Logger::info('This is no private post in the old format'); + DI::logger()->info('This is no private post in the old format'); return false; } @@ -385,7 +384,7 @@ class Diaspora $decrypted = self::aesDecrypt($outer_key, $outer_iv, $ciphertext); - Logger::info('decrypted', ['data' => $decrypted]); + DI::logger()->info('decrypted', ['data' => $decrypted]); $idom = XML::parseString($decrypted); $inner_iv = base64_decode($idom->iv); @@ -395,7 +394,7 @@ class Diaspora try { $author = WebFingerUri::fromString($idom->author_id); } catch (\Throwable $e) { - Logger::notice('Could not retrieve author URI.', ['idom' => $idom]); + DI::logger()->notice('Could not retrieve author URI.', ['idom' => $idom]); throw new \Friendica\Network\HTTPException\BadRequestException(); } @@ -413,7 +412,7 @@ class Diaspora } if (!$base) { - Logger::notice('unable to locate salmon data in xml'); + DI::logger()->notice('unable to locate salmon data in xml'); throw new HTTPException\BadRequestException(); } @@ -450,21 +449,21 @@ class Diaspora // Once we have the author URI, go to the web and try to find their public key // (first this will look it up locally if it is in the diaspora-contact cache) // This will also convert diaspora public key from pkcs#1 to pkcs#8 - Logger::info('Fetching key for ' . $author); + DI::logger()->info('Fetching key for ' . $author); $key = self::key($author); if (!$key) { - Logger::notice('Could not retrieve author key.'); + DI::logger()->notice('Could not retrieve author key.'); throw new HTTPException\BadRequestException(); } $verify = Crypto::rsaVerify($signed_data, $signature, $key); if (!$verify) { - Logger::notice('Message did not verify. Discarding.'); + DI::logger()->notice('Message did not verify. Discarding.'); throw new HTTPException\BadRequestException(); } - Logger::info('Message verified.'); + DI::logger()->info('Message verified.'); return [ 'message' => $inner_decrypted, @@ -487,12 +486,12 @@ class Diaspora public static function dispatchPublic(array $msg, int $direction) { if (!DI::config()->get('system', 'diaspora_enabled')) { - Logger::notice('Diaspora is disabled'); + DI::logger()->notice('Diaspora is disabled'); return false; } if (!($fields = self::validPosting($msg))) { - Logger::notice('Invalid posting', ['msg' => $msg]); + DI::logger()->notice('Invalid posting', ['msg' => $msg]); return false; } @@ -527,7 +526,7 @@ class Diaspora if (is_null($fields)) { $private = true; if (!($fields = self::validPosting($msg))) { - Logger::notice('Invalid posting', ['msg' => $msg]); + DI::logger()->notice('Invalid posting', ['msg' => $msg]); return false; } } else { @@ -536,12 +535,12 @@ class Diaspora $type = $fields->getName(); - Logger::info('Received message', ['type' => $type, 'sender' => $sender->getAddr(), 'user' => $importer['uid']]); + DI::logger()->info('Received message', ['type' => $type, 'sender' => $sender->getAddr(), 'user' => $importer['uid']]); switch ($type) { case 'account_migration': if (!$private) { - Logger::notice('Message with type ' . $type . ' is not private, quitting.'); + DI::logger()->notice('Message with type ' . $type . ' is not private, quitting.'); return false; } return self::receiveAccountMigration($importer, $fields); @@ -554,14 +553,14 @@ class Diaspora case 'contact': if (!$private) { - Logger::notice('Message with type ' . $type . ' is not private, quitting.'); + DI::logger()->notice('Message with type ' . $type . ' is not private, quitting.'); return false; } return self::receiveContactRequest($importer, $fields); case 'conversation': if (!$private) { - Logger::notice('Message with type ' . $type . ' is not private, quitting.'); + DI::logger()->notice('Message with type ' . $type . ' is not private, quitting.'); return false; } return self::receiveConversation($importer, $msg, $fields); @@ -571,14 +570,14 @@ class Diaspora case 'message': if (!$private) { - Logger::notice('Message with type ' . $type . ' is not private, quitting.'); + DI::logger()->notice('Message with type ' . $type . ' is not private, quitting.'); return false; } return self::receiveMessage($importer, $fields); case 'participation': if (!$private) { - Logger::notice('Message with type ' . $type . ' is not private, quitting.'); + DI::logger()->notice('Message with type ' . $type . ' is not private, quitting.'); return false; } return self::receiveParticipation($importer, $fields, $direction); @@ -591,7 +590,7 @@ class Diaspora case 'profile': if (!$private) { - Logger::notice('Message with type ' . $type . ' is not private, quitting.'); + DI::logger()->notice('Message with type ' . $type . ' is not private, quitting.'); return false; } return self::receiveProfile($importer, $fields); @@ -606,7 +605,7 @@ class Diaspora return self::receiveStatusMessage($importer, $fields, $msg['message'], $direction); default: - Logger::notice('Unknown message type ' . $type); + DI::logger()->notice('Unknown message type ' . $type); return false; } } @@ -628,7 +627,7 @@ class Diaspora $element = XML::parseString($msg['message']); if (!is_object($element)) { - Logger::info('No valid XML', ['message' => $msg['message']]); + DI::logger()->info('No valid XML', ['message' => $msg['message']]); return false; } @@ -645,7 +644,7 @@ class Diaspora $type = $element->getName(); $orig_type = $type; - Logger::debug('Got message', ['type' => $type, 'message' => $msg['message']]); + DI::logger()->debug('Got message', ['type' => $type, 'message' => $msg['message']]); // All retractions are handled identically from now on. // In the new version there will only be "retraction". @@ -722,7 +721,7 @@ class Diaspora // This is something that shouldn't happen at all. if (in_array($type, ['status_message', 'reshare', 'profile'])) { if ($msg['author'] != $fields->author) { - Logger::notice('Message handle is not the same as envelope sender. Quitting this message.', ['author1' => $msg['author'], 'author2' => $fields->author]); + DI::logger()->notice('Message handle is not the same as envelope sender. Quitting this message.', ['author1' => $msg['author'], 'author2' => $fields->author]); return false; } } @@ -733,25 +732,25 @@ class Diaspora } if (!isset($author_signature) && ($msg['author'] == $fields->author)) { - Logger::debug('No author signature, but the sender matches the author', ['type' => $type, 'msg-author' => $msg['author'], 'message' => $msg['message']]); + DI::logger()->debug('No author signature, but the sender matches the author', ['type' => $type, 'msg-author' => $msg['author'], 'message' => $msg['message']]); return $fields; } // No author_signature? This is a must, so we quit. if (!isset($author_signature)) { - Logger::info('No author signature', ['type' => $type, 'msg-author' => $msg['author'], 'fields-author' => $fields->author, 'message' => $msg['message']]); + DI::logger()->info('No author signature', ['type' => $type, 'msg-author' => $msg['author'], 'fields-author' => $fields->author, 'message' => $msg['message']]); return false; } if (isset($parent_author_signature)) { $key = self::key(WebFingerUri::fromString($msg['author'])); if (empty($key)) { - Logger::info('No key found for parent', ['author' => $msg['author']]); + DI::logger()->info('No key found for parent', ['author' => $msg['author']]); return false; } if (!Crypto::rsaVerify($signed_data, $parent_author_signature, $key, 'sha256')) { - Logger::info('No valid parent author signature', ['author' => $msg['author'], 'type' => $type, 'signed data' => $signed_data, 'message' => $msg['message'], 'signature' => $parent_author_signature]); + DI::logger()->info('No valid parent author signature', ['author' => $msg['author'], 'type' => $type, 'signed data' => $signed_data, 'message' => $msg['message'], 'signature' => $parent_author_signature]); return false; } } @@ -762,12 +761,12 @@ class Diaspora throw new \InvalidArgumentException(); } } catch (\Throwable $e) { - Logger::info('No key found', ['author' => $fields->author]); + DI::logger()->info('No key found', ['author' => $fields->author]); return false; } if (!Crypto::rsaVerify($signed_data, $author_signature, $key, 'sha256')) { - Logger::info('No valid author signature for author', ['author' => $fields->author, 'type' => $type, 'signed data' => $signed_data, 'message' => $msg['message'], 'signature' => $author_signature]); + DI::logger()->info('No valid author signature for author', ['author' => $fields->author, 'type' => $type, 'signed data' => $signed_data, 'message' => $msg['message'], 'signature' => $author_signature]); return false; } else { return $fields; @@ -785,7 +784,7 @@ class Diaspora */ private static function key(WebFingerUri $uri): string { - Logger::info('Fetching diaspora key', ['handle' => $uri->getAddr()]); + DI::logger()->info('Fetching diaspora key', ['handle' => $uri->getAddr()]); try { return DI::dsprContact()->getByAddr($uri)->pubKey; } catch (NotFoundException | \InvalidArgumentException $e) { @@ -856,7 +855,7 @@ class Diaspora // ); // // $contact["rel"] = Contact::FRIEND; - // Logger::notice("defining user ".$contact["nick"]." as friend"); + // DI::logger()->notice("defining user ".$contact["nick"]." as friend"); //} // Contact server is blocked @@ -894,7 +893,7 @@ class Diaspora { $contact = self::contactByHandle($importer['uid'], $contact_uri); if (!$contact) { - Logger::notice('A Contact for handle ' . $contact_uri . ' and user ' . $importer['uid'] . ' was not found'); + DI::logger()->notice('A Contact for handle ' . $contact_uri . ' and user ' . $importer['uid'] . ' was not found'); // If a contact isn't found, we accept it anyway if it is a comment if ($is_comment && ($importer['uid'] != 0)) { return self::contactByHandle(0, $contact_uri); @@ -906,7 +905,7 @@ class Diaspora } if (!self::postAllow($importer, $contact, $is_comment)) { - Logger::notice('The handle: ' . $contact_uri . ' is not allowed to post to user ' . $importer['uid']); + DI::logger()->notice('The handle: ' . $contact_uri . ' is not allowed to post to user ' . $importer['uid']); return false; } return $contact; @@ -925,7 +924,7 @@ class Diaspora { $item = Post::selectFirst(['id'], ['uid' => $uid, 'guid' => $guid]); if (DBA::isResult($item)) { - Logger::notice('Message already exists.', ['uid' => $uid, 'guid' => $guid, 'id' => $item['id']]); + DI::logger()->notice('Message already exists.', ['uid' => $uid, 'guid' => $guid, 'id' => $item['id']]); return $item['id']; } @@ -1031,7 +1030,7 @@ class Diaspora $server = $serverparts['scheme'] . '://' . $serverparts['host']; - Logger::info('Trying to fetch item ' . $guid . ' from ' . $server); + DI::logger()->info('Trying to fetch item ' . $guid . ' from ' . $server); $msg = self::message($guid, $server); @@ -1039,7 +1038,7 @@ class Diaspora return false; } - Logger::info('Successfully fetched item ' . $guid . ' from ' . $server); + DI::logger()->info('Successfully fetched item ' . $guid . ' from ' . $server); // Now call the dispatcher return self::dispatchPublic($msg, $force ? self::FORCED_FETCH : self::FETCHED); @@ -1067,16 +1066,16 @@ class Diaspora // This will work for new Diaspora servers and Friendica servers from 3.5 $source_url = $server . '/fetch/post/' . urlencode($guid); - Logger::info('Fetch post from ' . $source_url); + DI::logger()->info('Fetch post from ' . $source_url); $envelope = DI::httpClient()->fetch($source_url, HttpClientAccept::MAGIC, 0, '', HttpClientRequest::DIASPORA); if ($envelope) { - Logger::info('Envelope was fetched.'); + DI::logger()->info('Envelope was fetched.'); $x = self::verifyMagicEnvelope($envelope); if (!$x) { - Logger::info('Envelope could not be verified.'); + DI::logger()->info('Envelope could not be verified.'); } else { - Logger::info('Envelope was verified.'); + DI::logger()->info('Envelope was verified.'); } } else { $x = false; @@ -1094,11 +1093,11 @@ class Diaspora if ($source_xml->post->reshare) { // Reshare of a reshare - old Diaspora version - Logger::info('Message is a reshare'); + DI::logger()->info('Message is a reshare'); return self::message($source_xml->post->reshare->root_guid, $server, ++$level); } elseif ($source_xml->getName() == 'reshare') { // Reshare of a reshare - new Diaspora version - Logger::info('Message is a new reshare'); + DI::logger()->info('Message is a new reshare'); return self::message($source_xml->root_guid, $server, ++$level); } @@ -1115,7 +1114,7 @@ class Diaspora $author = WebFingerUri::fromString($author_handle); } catch (\InvalidArgumentException $e) { // If this isn't a "status_message" then quit - Logger::info("Message doesn't seem to be a status message"); + DI::logger()->info("Message doesn't seem to be a status message"); return false; } @@ -1140,7 +1139,7 @@ class Diaspora { // Check for Diaspora (and Friendica) typical paths if (!preg_match('=(https?://.+)/(?:posts|display|objects)/([a-zA-Z0-9-_@.:%]+[a-zA-Z0-9])=i', $url, $matches)) { - Logger::notice('Invalid url', ['url' => $url]); + DI::logger()->notice('Invalid url', ['url' => $url]); return false; } @@ -1148,20 +1147,20 @@ class Diaspora $item = Post::selectFirst(['id'], ['guid' => $guid, 'uid' => $uid]); if (DBA::isResult($item)) { - Logger::info('Found', ['id' => $item['id']]); + DI::logger()->info('Found', ['id' => $item['id']]); return $item['id']; } - Logger::info('Fetch GUID from origin', ['guid' => $guid, 'server' => $matches[1]]); + DI::logger()->info('Fetch GUID from origin', ['guid' => $guid, 'server' => $matches[1]]); $ret = self::storeByGuid($guid, $matches[1], true); - Logger::info('Result', ['ret' => $ret]); + DI::logger()->info('Result', ['ret' => $ret]); $item = Post::selectFirst(['id'], ['guid' => $guid, 'uid' => $uid]); if (DBA::isResult($item)) { - Logger::info('Found', ['id' => $item['id']]); + DI::logger()->info('Found', ['id' => $item['id']]); return $item['id']; } else { - Logger::notice('Not found', ['guid' => $guid, 'uid' => $uid]); + DI::logger()->notice('Not found', ['guid' => $guid, 'uid' => $uid]); return false; } } @@ -1199,20 +1198,20 @@ class Diaspora } if ($result) { - Logger::info('Fetched missing item ' . $guid . ' - result: ' . $result); + DI::logger()->info('Fetched missing item ' . $guid . ' - result: ' . $result); $item = Post::selectFirst($fields, $condition); } } catch (HTTPException\NotFoundException $e) { - Logger::notice('Unable to retrieve author details', ['author' => $author->getAddr()]); + DI::logger()->notice('Unable to retrieve author details', ['author' => $author->getAddr()]); } } if (!DBA::isResult($item)) { - Logger::notice('Parent item not found: parent: ' . $guid . ' - user: ' . $uid); + DI::logger()->notice('Parent item not found: parent: ' . $guid . ' - user: ' . $uid); return false; } else { - Logger::info('Parent item found: parent: ' . $guid . ' - user: ' . $uid); + DI::logger()->info('Parent item found: parent: ' . $guid . ' - user: ' . $uid); return $item; } } @@ -1274,28 +1273,28 @@ class Diaspora { $contact = Contact::getByURL($addr); if (empty($contact)) { - Logger::info('No contact data for address', ['addr' => $addr]); + DI::logger()->info('No contact data for address', ['addr' => $addr]); return ''; } if (empty($contact['baseurl'])) { $contact['baseurl'] = 'https://' . substr($addr, strpos($addr, '@') + 1); - Logger::info('Create baseurl from address', ['baseurl' => $contact['baseurl'], 'url' => $contact['url']]); + DI::logger()->info('Create baseurl from address', ['baseurl' => $contact['baseurl'], 'url' => $contact['url']]); } $platform = ''; $gserver = DBA::selectFirst('gserver', ['platform'], ['nurl' => Strings::normaliseLink($contact['baseurl'])]); if (!empty($gserver['platform'])) { $platform = strtolower($gserver['platform']); - Logger::info('Detected platform', ['platform' => $platform, 'url' => $contact['url']]); + DI::logger()->info('Detected platform', ['platform' => $platform, 'url' => $contact['url']]); } if (!in_array($platform, ['diaspora', 'friendica', 'hubzilla', 'socialhome'])) { if (self::isHubzilla($contact['url'])) { - Logger::info('Detected unknown platform as Hubzilla', ['platform' => $platform, 'url' => $contact['url']]); + DI::logger()->info('Detected unknown platform as Hubzilla', ['platform' => $platform, 'url' => $contact['url']]); $platform = 'hubzilla'; } elseif ($contact['network'] == Protocol::DFRN) { - Logger::info('Detected unknown platform as Friendica', ['platform' => $platform, 'url' => $contact['url']]); + DI::logger()->info('Detected unknown platform as Friendica', ['platform' => $platform, 'url' => $contact['url']]); $platform = 'friendica'; } } @@ -1313,7 +1312,7 @@ class Diaspora } if ($platform != 'diaspora') { - Logger::info('Unknown platform', ['platform' => $platform, 'url' => $contact['url']]); + DI::logger()->info('Unknown platform', ['platform' => $platform, 'url' => $contact['url']]); return ''; } @@ -1340,7 +1339,7 @@ class Diaspora $old_author = WebFingerUri::fromString(XML::unescape($data->author)); $new_author = WebFingerUri::fromString(XML::unescape($data->profile->author)); } catch (\Throwable $e) { - Logger::notice('Cannot find handles for sender and user', ['data' => $data]); + DI::logger()->notice('Cannot find handles for sender and user', ['data' => $data]); return false; } @@ -1348,17 +1347,17 @@ class Diaspora $contact = self::contactByHandle($importer['uid'], $old_author); if (!$contact) { - Logger::notice('Cannot find contact for sender: ' . $old_author . ' and user ' . $importer['uid']); + DI::logger()->notice('Cannot find contact for sender: ' . $old_author . ' and user ' . $importer['uid']); return false; } - Logger::info('Got migration for ' . $old_author . ', to ' . $new_author . ' with user ' . $importer['uid']); + DI::logger()->info('Got migration for ' . $old_author . ', to ' . $new_author . ' with user ' . $importer['uid']); // Check signature $signed_text = 'AccountMigration:' . $old_author . ':' . $new_author; $key = self::key($old_author); if (!Crypto::rsaVerify($signed_text, $signature, $key, 'sha256')) { - Logger::notice('No valid signature for migration.'); + DI::logger()->notice('No valid signature for migration.'); return false; } @@ -1368,7 +1367,7 @@ class Diaspora // change the technical stuff in contact $data = Probe::uri($new_author); if ($data['network'] == Protocol::PHANTOM) { - Logger::notice("Account for " . $new_author . " couldn't be probed."); + DI::logger()->notice("Account for " . $new_author . " couldn't be probed."); return false; } @@ -1386,7 +1385,7 @@ class Diaspora Contact::update($fields, ['addr' => $old_author->getAddr()]); - Logger::info('Contacts are updated.'); + DI::logger()->info('Contacts are updated.'); return true; } @@ -1409,7 +1408,7 @@ class Diaspora } DBA::close($contacts); - Logger::info('Removed contacts for ' . $author_handle); + DI::logger()->info('Removed contacts for ' . $author_handle); return true; } @@ -1528,7 +1527,7 @@ class Diaspora try { $author_url = (string)DI::dsprContact()->getByAddr($author)->url; } catch (HTTPException\NotFoundException | \InvalidArgumentException $e) { - Logger::notice('Unable to find author details', ['author' => $author->getAddr()]); + DI::logger()->notice('Unable to find author details', ['author' => $author->getAddr()]); return false; } @@ -1592,7 +1591,7 @@ class Diaspora } if (DI::contentItem()->isTooOld($datarray['created'], $datarray['uid'])) { - Logger::info('Comment is too old', ['created' => $datarray['created'], 'uid' => $datarray['uid'], 'guid' => $datarray['guid']]); + DI::logger()->info('Comment is too old', ['created' => $datarray['created'], 'uid' => $datarray['uid'], 'guid' => $datarray['guid']]); return false; } @@ -1603,7 +1602,7 @@ class Diaspora } if ($message_id) { - Logger::info('Stored comment ' . $datarray['guid'] . ' with message id ' . $message_id); + DI::logger()->info('Stored comment ' . $datarray['guid'] . ' with message id ' . $message_id); if ($datarray['uid'] == 0) { Item::distribute($message_id, json_encode($data)); } @@ -1654,7 +1653,7 @@ class Diaspora $msg_created_at = DateTimeFormat::utc(XML::unescape($mesg->created_at)); if ($msg_conversation_guid != $guid) { - Logger::notice('Message conversation guid does not belong to the current conversation.', ['guid' => $guid]); + DI::logger()->notice('Message conversation guid does not belong to the current conversation.', ['guid' => $guid]); return false; } @@ -1697,7 +1696,7 @@ class Diaspora $messages = $data->message; if (!count($messages)) { - Logger::notice('Empty conversation'); + DI::logger()->notice('Empty conversation'); return false; } @@ -1727,7 +1726,7 @@ class Diaspora } } if (!$conversation) { - Logger::warning('Unable to create conversation.'); + DI::logger()->warning('Unable to create conversation.'); return false; } @@ -1786,7 +1785,7 @@ class Diaspora try { $author_url = (string)DI::dsprContact()->getByAddr($author)->url; } catch (HTTPException\NotFoundException | \InvalidArgumentException $e) { - Logger::notice('Unable to find author details', ['author' => $author->getAddr()]); + DI::logger()->notice('Unable to find author details', ['author' => $author->getAddr()]); return false; } @@ -1850,7 +1849,7 @@ class Diaspora } if (DI::contentItem()->isTooOld($datarray['created'], $datarray['uid'])) { - Logger::info('Like is too old', ['created' => $datarray['created'], 'uid' => $datarray['uid'], 'guid' => $datarray['guid']]); + DI::logger()->info('Like is too old', ['created' => $datarray['created'], 'uid' => $datarray['uid'], 'guid' => $datarray['guid']]); return false; } @@ -1861,7 +1860,7 @@ class Diaspora } if ($message_id) { - Logger::info('Stored like ' . $datarray['guid'] . ' with message id ' . $message_id); + DI::logger()->info('Stored like ' . $datarray['guid'] . ' with message id ' . $message_id); if ($datarray['uid'] == 0) { Item::distribute($message_id, json_encode($data)); } @@ -1899,14 +1898,14 @@ class Diaspora $condition = ['uid' => $importer['uid'], 'guid' => $conversation_guid]; $conversation = DBA::selectFirst('conv', [], $condition); if (!DBA::isResult($conversation)) { - Logger::notice('Conversation not available.'); + DI::logger()->notice('Conversation not available.'); return false; } try { $author = DI::dsprContact()->getByAddr($author_uri); } catch (HTTPException\NotFoundException | \InvalidArgumentException $e) { - Logger::notice('Unable to find author details', ['author' => $author_uri->getAddr()]); + DI::logger()->notice('Unable to find author details', ['author' => $author_uri->getAddr()]); return false; } @@ -1967,18 +1966,18 @@ class Diaspora } if (!$toplevel_parent_item['origin']) { - Logger::info('Not our origin. Participation is ignored', ['parent_guid' => $parent_guid, 'guid' => $guid, 'author' => $author]); + DI::logger()->info('Not our origin. Participation is ignored', ['parent_guid' => $parent_guid, 'guid' => $guid, 'author' => $author]); } if (!in_array($toplevel_parent_item['private'], [Item::PUBLIC, Item::UNLISTED])) { - Logger::info('Item is not public, participation is ignored', ['parent_guid' => $parent_guid, 'guid' => $guid, 'author' => $author]); + DI::logger()->info('Item is not public, participation is ignored', ['parent_guid' => $parent_guid, 'guid' => $guid, 'author' => $author]); return false; } try { $author_url = (string)DI::dsprContact()->getByAddr($author)->url; } catch (HTTPException\NotFoundException | \InvalidArgumentException $e) { - Logger::notice('unable to find author details', ['author' => $author->getAddr()]); + DI::logger()->notice('unable to find author details', ['author' => $author->getAddr()]); return false; } @@ -2013,13 +2012,13 @@ class Diaspora $datarray['changed'] = $datarray['created'] = $datarray['edited'] = DateTimeFormat::utcNow(); if (DI::contentItem()->isTooOld($datarray['created'], $datarray['uid'])) { - Logger::info('Participation is too old', ['created' => $datarray['created'], 'uid' => $datarray['uid'], 'guid' => $datarray['guid']]); + DI::logger()->info('Participation is too old', ['created' => $datarray['created'], 'uid' => $datarray['uid'], 'guid' => $datarray['guid']]); return false; } $message_id = Item::insert($datarray); - Logger::info('Participation stored', ['id' => $message_id, 'guid' => $guid, 'parent_guid' => $parent_guid, 'author' => $author]); + DI::logger()->info('Participation stored', ['id' => $message_id, 'guid' => $guid, 'parent_guid' => $parent_guid, 'author' => $author]); // Send all existing comments and likes to the requesting server $comments = Post::select( @@ -2028,21 +2027,21 @@ class Diaspora ); while ($comment = Post::fetch($comments)) { if (($comment['gravity'] == Item::GRAVITY_ACTIVITY) && !in_array($comment['verb'], [Activity::LIKE, Activity::DISLIKE])) { - Logger::info('Unsupported activities are not relayed', ['item' => $comment['id'], 'verb' => $comment['verb']]); + DI::logger()->info('Unsupported activities are not relayed', ['item' => $comment['id'], 'verb' => $comment['verb']]); continue; } if ($comment['author-network'] == Protocol::ACTIVITYPUB) { - Logger::info('Comments from ActivityPub authors are not relayed', ['item' => $comment['id']]); + DI::logger()->info('Comments from ActivityPub authors are not relayed', ['item' => $comment['id']]); continue; } if ($comment['parent-author-network'] == Protocol::ACTIVITYPUB) { - Logger::info('Comments to comments from ActivityPub authors are not relayed', ['item' => $comment['id']]); + DI::logger()->info('Comments to comments from ActivityPub authors are not relayed', ['item' => $comment['id']]); continue; } - Logger::info('Deliver participation', ['item' => $comment['id'], 'contact' => $author_contact['cid']]); + DI::logger()->info('Deliver participation', ['item' => $comment['id'], 'contact' => $author_contact['cid']]); if (Worker::add(Worker::PRIORITY_HIGH, 'Delivery', Delivery::POST, $comment['uri-id'], $author_contact['cid'], $datarray['uid'])) { Post\DeliveryData::incrementQueueCount($comment['uri-id'], 1); } @@ -2160,7 +2159,7 @@ class Diaspora Contact::update($fields, ['id' => $contact['id']]); - Logger::info('Profile of contact ' . $contact['id'] . ' stored for user ' . $importer['uid']); + DI::logger()->info('Profile of contact ' . $contact['id'] . ' stored for user ' . $importer['uid']); return true; } @@ -2223,7 +2222,7 @@ class Diaspora // That makes us friends. if ($contact) { if ($following) { - Logger::info('Author ' . $author . ' (Contact ' . $contact['id'] . ') wants to follow us.'); + DI::logger()->info('Author ' . $author . ' (Contact ' . $contact['id'] . ') wants to follow us.'); self::receiveRequestMakeFriend($importer, $contact); // refetch the contact array @@ -2234,36 +2233,36 @@ class Diaspora if (in_array($contact['rel'], [Contact::FRIEND])) { $user = DBA::selectFirst('user', [], ['uid' => $importer['uid']]); if (DBA::isResult($user)) { - Logger::info('Sending share message to author ' . $author . ' - Contact: ' . $contact['id'] . ' - User: ' . $importer['uid']); + DI::logger()->info('Sending share message to author ' . $author . ' - Contact: ' . $contact['id'] . ' - User: ' . $importer['uid']); self::sendShare($user, $contact); } } return true; } else { - Logger::info("Author " . $author . " doesn't want to follow us anymore."); + DI::logger()->info("Author " . $author . " doesn't want to follow us anymore."); Contact::removeFollower($contact); return true; } } if (!$following && $sharing && in_array($importer['page-flags'], [User::PAGE_FLAGS_SOAPBOX, User::PAGE_FLAGS_NORMAL])) { - Logger::info("Author " . $author . " wants to share with us - but doesn't want to listen. Request is ignored."); + DI::logger()->info("Author " . $author . " wants to share with us - but doesn't want to listen. Request is ignored."); return false; } elseif (!$following && !$sharing) { - Logger::info("Author " . $author . " doesn't want anything - and we don't know the author. Request is ignored."); + DI::logger()->info("Author " . $author . " doesn't want anything - and we don't know the author. Request is ignored."); return false; } elseif (!$following && $sharing) { - Logger::info("Author " . $author . " wants to share with us."); + DI::logger()->info("Author " . $author . " wants to share with us."); } elseif ($following && $sharing) { - Logger::info("Author " . $author . " wants to have a bidirectional connection."); + DI::logger()->info("Author " . $author . " wants to have a bidirectional connection."); } elseif ($following && !$sharing) { - Logger::info("Author " . $author . " wants to listen to us."); + DI::logger()->info("Author " . $author . " wants to listen to us."); } try { $author_url = (string)DI::dsprContact()->getByAddr($author)->url; } catch (HTTPException\NotFoundException | \InvalidArgumentException $e) { - Logger::notice('Cannot resolve diaspora handle for recipient', ['author' => $author->getAddr(), 'recipient' => $recipient]); + DI::logger()->notice('Cannot resolve diaspora handle for recipient', ['author' => $author->getAddr(), 'recipient' => $recipient]); return false; } @@ -2283,7 +2282,7 @@ class Diaspora if ($result === true) { $contact_record = self::contactByHandle($importer['uid'], $author); if (!$contact_record) { - Logger::info('unable to locate newly created contact record.'); + DI::logger()->info('unable to locate newly created contact record.'); return false; } @@ -2383,7 +2382,7 @@ class Diaspora self::fetchGuid($datarray); if (DI::contentItem()->isTooOld($datarray['created'], $datarray['uid'])) { - Logger::info('Reshare is too old', ['created' => $datarray['created'], 'uid' => $datarray['uid'], 'guid' => $datarray['guid']]); + DI::logger()->info('Reshare is too old', ['created' => $datarray['created'], 'uid' => $datarray['uid'], 'guid' => $datarray['guid']]); return false; } @@ -2392,7 +2391,7 @@ class Diaspora self::sendParticipation($contact, $datarray); if ($message_id) { - Logger::info('Stored reshare ' . $datarray['guid'] . ' with message id ' . $message_id); + DI::logger()->info('Stored reshare ' . $datarray['guid'] . ' with message id ' . $message_id); if ($datarray['uid'] == 0) { Item::distribute($message_id); } @@ -2407,14 +2406,14 @@ class Diaspora $shared_item = Post::selectFirst(['uri-id'], ['guid' => $guid, 'uid' => [$uid, 0], 'private' => [Item::PUBLIC, Item::UNLISTED]]); if (!DBA::isResult($shared_item) && !empty($host) && Diaspora::storeByGuid($guid, $host, true)) { - Logger::debug('Fetched post', ['guid' => $guid, 'host' => $host, 'uid' => $uid]); + DI::logger()->debug('Fetched post', ['guid' => $guid, 'host' => $host, 'uid' => $uid]); $shared_item = Post::selectFirst(['uri-id'], ['guid' => $guid, 'uid' => [$uid, 0], 'private' => [Item::PUBLIC, Item::UNLISTED]]); } elseif (DBA::isResult($shared_item)) { - Logger::debug('Found existing post', ['guid' => $guid, 'host' => $host, 'uid' => $uid]); + DI::logger()->debug('Found existing post', ['guid' => $guid, 'host' => $host, 'uid' => $uid]); } if (!DBA::isResult($shared_item)) { - Logger::notice('Post does not exist.', ['guid' => $guid, 'host' => $host, 'uid' => $uid]); + DI::logger()->notice('Post does not exist.', ['guid' => $guid, 'host' => $host, 'uid' => $uid]); return 0; } @@ -2440,7 +2439,7 @@ class Diaspora try { $author = DI::dsprContact()->getByAddr($author_uri); } catch (HTTPException\NotFoundException | \InvalidArgumentException $e) { - Logger::notice('Unable to find details for author', ['author' => $author_uri->getAddr()]); + DI::logger()->notice('Unable to find details for author', ['author' => $author_uri->getAddr()]); return false; } @@ -2458,13 +2457,13 @@ class Diaspora $r = Post::select($fields, $condition); if (!DBA::isResult($r)) { - Logger::notice('Target guid ' . $target_guid . ' was not found on this system for user ' . $importer['uid'] . '.'); + DI::logger()->notice('Target guid ' . $target_guid . ' was not found on this system for user ' . $importer['uid'] . '.'); return false; } while ($item = Post::fetch($r)) { if (DBA::exists('post-category', ['uri-id' => $item['uri-id'], 'uid' => $item['uid'], 'type' => Post\Category::FILE])) { - Logger::info("Target guid " . $target_guid . " for user " . $item['uid'] . " is filed. So it won't be deleted."); + DI::logger()->info("Target guid " . $target_guid . " for user " . $item['uid'] . " is filed. So it won't be deleted."); continue; } @@ -2473,13 +2472,13 @@ class Diaspora // Only delete it if the parent author really fits if (!Strings::compareLink($parent['author-link'], $contact_url) && !Strings::compareLink($item['author-link'], $contact_url)) { - Logger::info("Thread author " . $parent['author-link'] . " and item author " . $item['author-link'] . " don't fit to expected contact " . $contact_url); + DI::logger()->info("Thread author " . $parent['author-link'] . " and item author " . $item['author-link'] . " don't fit to expected contact " . $contact_url); continue; } Item::markForDeletion(['id' => $item['id']]); - Logger::info('Deleted target ' . $target_guid . ' (' . $item['id'] . ') from user ' . $item['uid'] . ' parent: ' . $item['parent']); + DI::logger()->info('Deleted target ' . $target_guid . ' (' . $item['id'] . ') from user ' . $item['uid'] . ' parent: ' . $item['parent']); } DBA::close($r); @@ -2502,7 +2501,7 @@ class Diaspora $contact = self::contactByHandle($importer['uid'], $sender); if (!$contact && (in_array($target_type, ['Contact', 'Person']))) { - Logger::notice('Cannot find contact for sender: ' . $sender . ' and user ' . $importer['uid']); + DI::logger()->notice('Cannot find contact for sender: ' . $sender . ' and user ' . $importer['uid']); return false; } @@ -2510,7 +2509,7 @@ class Diaspora $contact = []; } - Logger::info('Got retraction for ' . $target_type . ', sender ' . $sender . ' and user ' . $importer['uid']); + DI::logger()->info('Got retraction for ' . $target_type . ', sender ' . $sender . ' and user ' . $importer['uid']); switch ($target_type) { case 'Comment': @@ -2526,7 +2525,7 @@ class Diaspora break; default: - Logger::notice('Unknown target type ' . $target_type); + DI::logger()->notice('Unknown target type ' . $target_type); return false; } return true; @@ -2546,18 +2545,18 @@ class Diaspora { $contact = Contact::getByURL($author); if (DBA::exists('contact', ['`nurl` = ? AND `uid` != ? AND `rel` IN (?, ?)', $contact['nurl'], 0, Contact::FRIEND, Contact::SHARING])) { - Logger::debug('Author has got followers - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri'], 'author' => $author]); + DI::logger()->debug('Author has got followers - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri'], 'author' => $author]); return true; } if ($direction == self::FORCED_FETCH) { - Logger::debug('Post is a forced fetch - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri'], 'author' => $author]); + DI::logger()->debug('Post is a forced fetch - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri'], 'author' => $author]); return true; } $tags = array_column(Tag::getByURIId($item['uri-id'], [Tag::HASHTAG]), 'name'); if (Relay::isSolicitedPost($tags, $body, $contact['id'], $item['uri'], Protocol::DIASPORA)) { - Logger::debug('Post is accepted because of the relay settings', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri'], 'author' => $author]); + DI::logger()->debug('Post is accepted because of the relay settings', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri'], 'author' => $author]); return true; } else { return false; @@ -2575,7 +2574,7 @@ class Diaspora private static function storePhotoAsMedia(int $uriid, $photo) { // @TODO Need to find object type, roland@f.haeder.net - Logger::debug('photo=' . get_class($photo)); + DI::logger()->debug('photo=' . get_class($photo)); $data = [ 'uri-id' => $uriid, 'type' => Post\Media::IMAGE, @@ -2728,7 +2727,7 @@ class Diaspora self::fetchGuid($datarray); if (DI::contentItem()->isTooOld($datarray['created'], $datarray['uid'])) { - Logger::info('Status is too old', ['created' => $datarray['created'], 'uid' => $datarray['uid'], 'guid' => $datarray['guid']]); + DI::logger()->info('Status is too old', ['created' => $datarray['created'], 'uid' => $datarray['uid'], 'guid' => $datarray['guid']]); return false; } @@ -2737,7 +2736,7 @@ class Diaspora self::sendParticipation($contact, $datarray); if ($message_id) { - Logger::info('Stored item ' . $datarray['guid'] . ' with message id ' . $message_id); + DI::logger()->info('Stored item ' . $datarray['guid'] . ' with message id ' . $message_id); if ($datarray['uid'] == 0) { Item::distribute($message_id); } @@ -2791,11 +2790,11 @@ class Diaspora */ public static function encodePrivateData(string $msg, array $user, array $contact, string $prvkey, string $pubkey): string { - Logger::debug('Message: ' . $msg); + DI::logger()->debug('Message: ' . $msg); // without a public key nothing will work if (!$pubkey) { - Logger::notice('pubkey missing: contact id: ' . $contact['id']); + DI::logger()->notice('pubkey missing: contact id: ' . $contact['id']); return false; } @@ -2946,11 +2945,11 @@ class Diaspora } if (!$dest_url) { - Logger::notice('No URL for contact: ' . $contact['id'] . ' batch mode =' . $public_batch); + DI::logger()->notice('No URL for contact: ' . $contact['id'] . ' batch mode =' . $public_batch); return 0; } - Logger::info('transmit: ' . $logid . '-' . $guid . ' ' . $dest_url); + DI::logger()->info('transmit: ' . $logid . '-' . $guid . ' ' . $dest_url); if (!intval(DI::config()->get('system', 'diaspora_test'))) { $content_type = (($public_batch) ? 'application/magic-envelope+xml' : 'application/json'); @@ -2958,12 +2957,12 @@ class Diaspora try { $postResult = DI::httpClient()->post($dest_url . '/', $envelope, ['Content-Type' => $content_type], 0, HttpClientRequest::DIASPORA); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return 0; } $return_code = $postResult->getReturnCode(); } else { - Logger::notice('test_mode'); + DI::logger()->notice('test_mode'); return 200; } @@ -2974,7 +2973,7 @@ class Diaspora GServer::setReachableById($contact['gsid'], Protocol::DIASPORA); } - Logger::info('transmit: ' . $logid . '-' . $guid . ' to ' . $dest_url . ' returns: ' . $return_code); + DI::logger()->info('transmit: ' . $logid . '-' . $guid . ' to ' . $dest_url . ' returns: ' . $return_code); return $return_code ? $return_code : -1; } @@ -3030,14 +3029,14 @@ class Diaspora // The "addr" field should always be filled. // If this isn't the case, it will raise a notice some lines later. // And in the log we will see where it came from, and we can handle it there. - Logger::notice('Empty addr', ['contact' => $contact]); + DI::logger()->notice('Empty addr', ['contact' => $contact]); } $envelope = self::buildMessage($msg, $owner, $contact, $owner['uprvkey'], $pubkey ?? '', $public_batch); $return_code = self::transmit($contact, $envelope, $public_batch, $guid); - Logger::info('Transmitted message', ['owner' => $owner['uid'], 'target' => $contact['addr'], 'type' => $type, 'guid' => $guid, 'result' => $return_code]); + DI::logger()->info('Transmitted message', ['owner' => $owner['uid'], 'target' => $contact['addr'], 'type' => $type, 'guid' => $guid, 'result' => $return_code]); return $return_code; } @@ -3086,7 +3085,7 @@ class Diaspora 'parent_guid' => $item['guid'] ]; - Logger::info('Send participation for ' . $item['guid'] . ' by ' . $author_handle); + DI::logger()->info('Send participation for ' . $item['guid'] . ' by ' . $author_handle); // It doesn't matter what we store, we only want to avoid sending repeated notifications for the same item DI::cache()->set($cachekey, $item['guid'], Duration::QUARTER_HOUR); @@ -3119,7 +3118,7 @@ class Diaspora 'signature' => $signature ]; - Logger::info('Send account migration', ['msg' => $message]); + DI::logger()->info('Send account migration', ['msg' => $message]); return self::buildAndTransmit($owner, $contact, 'account_migration', $message); } @@ -3165,7 +3164,7 @@ class Diaspora 'sharing' => 'true' ]; - Logger::info('Send share', ['msg' => $message]); + DI::logger()->info('Send share', ['msg' => $message]); return self::buildAndTransmit($owner, $contact, 'contact', $message); } @@ -3188,7 +3187,7 @@ class Diaspora 'sharing' => 'false' ]; - Logger::info('Send unshare', ['msg' => $message]); + DI::logger()->info('Send unshare', ['msg' => $message]); return self::buildAndTransmit($owner, $contact, 'contact', $message); } @@ -3559,7 +3558,7 @@ class Diaspora $attend_answer = 'tentative'; break; default: - Logger::warning('Unknown verb ' . $item['verb'] . ' in item ' . $item['guid']); + DI::logger()->warning('Unknown verb ' . $item['verb'] . ' in item ' . $item['guid']); return false; } @@ -3592,7 +3591,7 @@ class Diaspora $toplevel_item = Post::selectFirst(['guid', 'author-id', 'author-link', 'gravity'], ['id' => $item['parent'], 'parent' => $item['parent']]); if (!DBA::isResult($toplevel_item)) { - Logger::error('Missing parent conversation item', ['parent' => $item['parent']]); + DI::logger()->error('Missing parent conversation item', ['parent' => $item['parent']]); return false; } @@ -3698,7 +3697,7 @@ class Diaspora $type = 'comment'; } - Logger::info('Got relayable data ' . $type . ' for item ' . $item['guid'] . ' (' . $item['id'] . ')'); + DI::logger()->info('Got relayable data ' . $type . ' for item ' . $item['guid'] . ' (' . $item['id'] . ')'); $msg = json_decode($item['signed_text'] ?? '', true); @@ -3717,12 +3716,12 @@ class Diaspora $message[$field] = $data; } } else { - Logger::info('Signature text for item ' . $item['guid'] . ' (' . $item['id'] . ') could not be extracted: ' . $item['signed_text']); + DI::logger()->info('Signature text for item ' . $item['guid'] . ' (' . $item['id'] . ') could not be extracted: ' . $item['signed_text']); } $message['parent_author_signature'] = self::signature($owner, $message); - Logger::info('Relayed data', ['msg' => $message]); + DI::logger()->info('Relayed data', ['msg' => $message]); return self::buildAndTransmit($owner, $contact, $type, $message, $public_batch, $item['guid']); } @@ -3759,7 +3758,7 @@ class Diaspora 'target_type' => $target_type ]; - Logger::info('Got message', ['msg' => $message]); + DI::logger()->info('Got message', ['msg' => $message]); return self::buildAndTransmit($owner, $contact, $msg_type, $message, $public_batch, $item['guid']); } @@ -3781,7 +3780,7 @@ class Diaspora $cnv = DBA::selectFirst('conv', [], ['id' => $item['convid'], 'uid' => $item['uid']]); if (!DBA::isResult($cnv)) { - Logger::notice('Conversation not found.'); + DI::logger()->notice('Conversation not found.'); return -1; } @@ -3955,23 +3954,23 @@ class Diaspora public static function sendProfile(int $uid, array $recipients = []) { if (!$uid) { - Logger::warning('Parameter "uid" is empty'); + DI::logger()->warning('Parameter "uid" is empty'); return; } $owner = User::getOwnerDataById($uid); if (empty($owner)) { - Logger::warning('Cannot fetch User record', ['uid' => $uid]); + DI::logger()->warning('Cannot fetch User record', ['uid' => $uid]); return; } if (empty($recipients)) { - Logger::debug('No recipients provided, fetching for user', ['uid' => $uid]); + DI::logger()->debug('No recipients provided, fetching for user', ['uid' => $uid]); $recipients = DBA::selectToArray('contact', [], ['network' => Protocol::DIASPORA, 'uid' => $uid, 'rel' => [Contact::FOLLOWER, Contact::FRIEND]]); } if (empty($recipients)) { - Logger::warning('Cannot fetch recipients', ['uid' => $uid]); + DI::logger()->warning('Cannot fetch recipients', ['uid' => $uid]); return; } @@ -3980,7 +3979,7 @@ class Diaspora // @todo Split this into single worker jobs foreach ($recipients as $recipient) { if ((empty($recipient['gsid']) || GServer::isReachableById($recipient['gsid'])) && !Contact\User::isBlocked($recipient['id'], $uid)) { - Logger::info('Send updated profile data for user ' . $uid . ' to contact ' . $recipient['id']); + DI::logger()->info('Send updated profile data for user ' . $uid . ' to contact ' . $recipient['id']); self::buildAndTransmit($owner, $recipient, 'profile', $message); } } @@ -3999,12 +3998,12 @@ class Diaspora { $owner = User::getOwnerDataById($uid); if (empty($owner)) { - Logger::info('No owner post, so not storing signature', ['uid' => $uid]); + DI::logger()->info('No owner post, so not storing signature', ['uid' => $uid]); return false; } if (!in_array($item['verb'], [Activity::LIKE, Activity::DISLIKE])) { - Logger::warning('Item is neither a like nor a dislike', ['uid' => $uid, 'item[verb]' => $item['verb']]);; + DI::logger()->warning('Item is neither a like nor a dislike', ['uid' => $uid, 'item[verb]' => $item['verb']]);; return false; } @@ -4034,7 +4033,7 @@ class Diaspora } else { $contact = Contact::getById($item['author-id'], ['url']); if (empty($contact['url'])) { - Logger::warning('Author Contact not found', ['author-id' => $item['author-id']]); + DI::logger()->warning('Author Contact not found', ['author-id' => $item['author-id']]); return false; } $url = $contact['url']; @@ -4042,13 +4041,13 @@ class Diaspora $uid = User::getIdForURL($url); if (empty($uid)) { - Logger::info('No owner post, so not storing signature', ['url' => $contact['url'] ?? 'No contact loaded']); + DI::logger()->info('No owner post, so not storing signature', ['url' => $contact['url'] ?? 'No contact loaded']); return false; } $owner = User::getOwnerDataById($uid); if (empty($owner)) { - Logger::info('No owner post, so not storing signature'); + DI::logger()->info('No owner post, so not storing signature'); return false; } @@ -4058,7 +4057,7 @@ class Diaspora } if (!self::parentSupportDiaspora($item['thr-parent-id'], $uid)) { - Logger::info('One of the parents does not support Diaspora. A signature will not be created.', ['uri-id' => $item['uri-id'], 'guid' => $item['guid']]); + DI::logger()->info('One of the parents does not support Diaspora. A signature will not be created.', ['uri-id' => $item['uri-id'], 'guid' => $item['guid']]); return false; } @@ -4085,17 +4084,17 @@ class Diaspora { $parent_post = Post::selectFirst(['gravity', 'signed_text', 'author-link', 'thr-parent-id', 'protocol'], ['uri-id' => $parent_id, 'uid' => [0, $uid]]); if (empty($parent_post['thr-parent-id'])) { - Logger::warning('Parent post does not exist.', ['parent-id' => $parent_id]); + DI::logger()->warning('Parent post does not exist.', ['parent-id' => $parent_id]); return false; } if (!self::isSupportedByContactUrl($parent_post['author-link'])) { - Logger::info('Parent author is no Diaspora contact.', ['parent-id' => $parent_id]); + DI::logger()->info('Parent author is no Diaspora contact.', ['parent-id' => $parent_id]); return false; } if (($parent_post['protocol'] != Conversation::PARCEL_DIASPORA) && ($parent_post['gravity'] == Item::GRAVITY_COMMENT) && empty($parent_post['signed_text'])) { - Logger::info('Parent comment has got no Diaspora signature.', ['parent-id' => $parent_id]); + DI::logger()->info('Parent comment has got no Diaspora signature.', ['parent-id' => $parent_id]); return false; } diff --git a/src/Protocol/Email.php b/src/Protocol/Email.php index e44c9a7085..a2d87eeaa9 100644 --- a/src/Protocol/Email.php +++ b/src/Protocol/Email.php @@ -8,10 +8,10 @@ namespace Friendica\Protocol; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Content\Text\BBCode; use Friendica\Content\Text\HTML; use Friendica\Core\Protocol; +use Friendica\DI; use Friendica\Model\Item; use Friendica\Util\Strings; use IMAP\Connection; @@ -38,12 +38,12 @@ class Email $errors = imap_errors(); if (!empty($errors)) { - Logger::notice('IMAP Errors occurred', ['errors' => $errors]); + DI::logger()->notice('IMAP Errors occurred', ['errors' => $errors]); } $alerts = imap_alerts(); if (!empty($alerts)) { - Logger::notice('IMAP Alerts occurred: ', ['alerts' => $alerts]); + DI::logger()->notice('IMAP Alerts occurred: ', ['alerts' => $alerts]); } if (empty($errors) && empty($alerts)) { @@ -67,7 +67,7 @@ class Email if (!$search1) { $search1 = []; } else { - Logger::debug("Found mails from ".$email_addr); + DI::logger()->debug("Found mails from ".$email_addr); Item::incrementInbound(Protocol::MAIL); } @@ -75,7 +75,7 @@ class Email if (!$search2) { $search2 = []; } else { - Logger::debug("Found mails to ".$email_addr); + DI::logger()->debug("Found mails to ".$email_addr); Item::incrementInbound(Protocol::MAIL); } @@ -83,7 +83,7 @@ class Email if (!$search3) { $search3 = []; } else { - Logger::debug("Found mails cc ".$email_addr); + DI::logger()->debug("Found mails cc ".$email_addr); Item::incrementInbound(Protocol::MAIL); } @@ -131,7 +131,7 @@ class Email $struc = (($mbox && $uid) ? @imap_fetchstructure($mbox, $uid, FT_UID) : null); if (!$struc) { - Logger::notice("IMAP structure couldn't be fetched", ['uid' => $uid]); + DI::logger()->notice("IMAP structure couldn't be fetched", ['uid' => $uid]); return $ret; } @@ -395,7 +395,7 @@ class Email //$message = '' . $html . ''; //$message = html2plain($html); - Logger::notice('notifier: email delivery to ' . $addr); + DI::logger()->notice('notifier: email delivery to ' . $addr); $success = mail($addr, $subject, $body, $headers); if ($success) { Item::incrementOutbound(Protocol::MAIL); diff --git a/src/Protocol/Feed.php b/src/Protocol/Feed.php index da635884d9..4fea37e4e8 100644 --- a/src/Protocol/Feed.php +++ b/src/Protocol/Feed.php @@ -15,7 +15,6 @@ use Friendica\Contact\LocalRelationship\Entity\LocalRelationship; use Friendica\Content\PageInfo; use Friendica\Content\Text\BBCode; use Friendica\Content\Text\HTML; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Worker; use Friendica\Database\DBA; @@ -56,15 +55,15 @@ class Feed $dryRun = empty($importer) && empty($contact); if ($dryRun) { - Logger::info("Test Atom/RSS feed"); + DI::logger()->info("Test Atom/RSS feed"); } else { - Logger::info('Import Atom/RSS feed "' . $contact['name'] . '" (Contact ' . $contact['id'] . ') for user ' . $importer['uid']); + DI::logger()->info('Import Atom/RSS feed "' . $contact['name'] . '" (Contact ' . $contact['id'] . ') for user ' . $importer['uid']); } $xml = trim($xml); if (empty($xml)) { - Logger::info('XML is empty.'); + DI::logger()->info('XML is empty.'); return []; } @@ -274,7 +273,7 @@ class Feed $datarray['direction'] = Conversation::PULL; if (!is_object($entries)) { - Logger::info("There are no entries in this feed."); + DI::logger()->info("There are no entries in this feed."); return []; } @@ -383,7 +382,7 @@ class Feed try { $item['plink'] = DI::httpClient()->finalUrl($item['plink']); } catch (TransferException $exception) { - Logger::notice('Item URL couldn\'t get expanded', ['url' => $item['plink'], 'exception' => $exception]); + DI::logger()->notice('Item URL couldn\'t get expanded', ['url' => $item['plink'], 'exception' => $exception]); } } @@ -442,7 +441,7 @@ class Feed if (DBA::isResult($previous)) { // Use the creation date when the post had been stored. It can happen this date changes in the feed. $creation_dates[] = $previous['created']; - Logger::info('Item with URI ' . $item['uri'] . ' for user ' . $importer['uid'] . ' already existed under id ' . $previous['id']); + DI::logger()->info('Item with URI ' . $item['uri'] . ' for user ' . $importer['uid'] . ' already existed under id ' . $previous['id']); continue; } $creation_dates[] = DateTimeFormat::utc($item['created']); @@ -550,10 +549,10 @@ class Feed $items[] = $item; break; } elseif (!Item::isValid($item)) { - Logger::info('Feed item is invalid', ['created' => $item['created'], 'uid' => $item['uid'], 'uri' => $item['uri']]); + DI::logger()->info('Feed item is invalid', ['created' => $item['created'], 'uid' => $item['uid'], 'uri' => $item['uri']]); continue; } elseif (DI::contentItem()->isTooOld($item['created'], $item['uid'])) { - Logger::info('Feed is too old', ['created' => $item['created'], 'uid' => $item['uid'], 'uri' => $item['uri']]); + DI::logger()->info('Feed is too old', ['created' => $item['created'], 'uid' => $item['uid'], 'uri' => $item['uri']]); continue; } @@ -673,7 +672,7 @@ class Feed $item['post-type'] = Item::PT_NOTE; } - Logger::info('Stored feed', ['item' => $item]); + DI::logger()->info('Stored feed', ['item' => $item]); $notify = Item::isRemoteSelf($contact, $item); $item['wall'] = (bool)$notify; @@ -702,7 +701,7 @@ class Feed ]; } } else { - Logger::info('Post already created or exists in the delayed posts queue', ['uid' => $item['uid'], 'uri' => $item['uri']]); + DI::logger()->info('Post already created or exists in the delayed posts queue', ['uid' => $item['uid'], 'uri' => $item['uri']]); } } @@ -713,7 +712,7 @@ class Feed // Posts shouldn't be delayed more than a day $interval = min(1440, self::getPollInterval($contact)); $delay = max(round(($interval * 60) / $total), 60 * $min_posting); - Logger::info('Got posting delay', ['delay' => $delay, 'interval' => $interval, 'items' => $total, 'cid' => $contact['id'], 'url' => $contact['url']]); + DI::logger()->info('Got posting delay', ['delay' => $delay, 'interval' => $interval, 'items' => $total, 'cid' => $contact['id'], 'url' => $contact['url']]); } else { $delay = 0; } @@ -790,7 +789,7 @@ class Feed private static function adjustPollFrequency(array $contact, array $creation_dates) { if ($contact['network'] != Protocol::FEED) { - Logger::info('Contact is no feed, skip.', ['id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url'], 'network' => $contact['network']]); + DI::logger()->info('Contact is no feed, skip.', ['id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url'], 'network' => $contact['network']]); return; } @@ -831,22 +830,22 @@ class Feed } if (count($creation_dates) == 1) { - Logger::info('Feed had posted a single time, switching to daily polling', ['newest' => $newest_date, 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); + DI::logger()->info('Feed had posted a single time, switching to daily polling', ['newest' => $newest_date, 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); $priority = 8; // Poll once a day } if (empty($priority) && (((time() / 86400) - $newest) > 730)) { - Logger::info('Feed had not posted for two years, switching to monthly polling', ['newest' => $newest_date, 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); + DI::logger()->info('Feed had not posted for two years, switching to monthly polling', ['newest' => $newest_date, 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); $priority = 10; // Poll every month } if (empty($priority) && (((time() / 86400) - $newest) > 365)) { - Logger::info('Feed had not posted for a year, switching to weekly polling', ['newest' => $newest_date, 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); + DI::logger()->info('Feed had not posted for a year, switching to weekly polling', ['newest' => $newest_date, 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); $priority = 9; // Poll every week } if (empty($priority) && empty($frequency)) { - Logger::info('Feed had not posted for at least a week, switching to daily polling', ['newest' => $newest_date, 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); + DI::logger()->info('Feed had not posted for at least a week, switching to daily polling', ['newest' => $newest_date, 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); $priority = 8; // Poll once a day } @@ -883,15 +882,15 @@ class Feed } else { $priority = 7; // Poll twice a day } - Logger::info('Calculated priority by the posts per day', ['priority' => $priority, 'max' => round($max, 2), 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); + DI::logger()->info('Calculated priority by the posts per day', ['priority' => $priority, 'max' => round($max, 2), 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); } } else { - Logger::info('No posts, switching to daily polling', ['id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); + DI::logger()->info('No posts, switching to daily polling', ['id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); $priority = 8; // Poll once a day } if ($contact['rating'] != $priority) { - Logger::notice('Adjusting priority', ['old' => $contact['rating'], 'new' => $priority, 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); + DI::logger()->notice('Adjusting priority', ['old' => $contact['rating'], 'new' => $priority, 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]); Contact::update(['rating' => $priority], ['id' => $contact['id']]); } } @@ -1066,7 +1065,7 @@ class Feed $feeddata = trim($doc->saveXML()); - Logger::info('Feed duration', ['seconds' => number_format(microtime(true) - $stamp, 3), 'nick' => $owner['nickname'], 'filter' => $filter, 'created' => $previous_created]); + DI::logger()->info('Feed duration', ['seconds' => number_format(microtime(true) - $stamp, 3), 'nick' => $owner['nickname'], 'filter' => $filter, 'created' => $previous_created]); return $feeddata; } @@ -1153,7 +1152,7 @@ class Feed private static function noteEntry(DOMDocument $doc, array $item, array $owner): DOMElement { if (($item['gravity'] != Item::GRAVITY_PARENT) && (Strings::normaliseLink($item['author-link']) != Strings::normaliseLink($owner['url']))) { - Logger::info('Feed entry author does not match feed owner', ['owner' => $owner['url'], 'author' => $item['author-link']]); + DI::logger()->info('Feed entry author does not match feed owner', ['owner' => $owner['url'], 'author' => $item['author-link']]); } $entry = self::entryHeader($doc, $owner, $item, false); @@ -1307,7 +1306,7 @@ class Feed if (!HTML::isHTML($body)) { $html = BBCode::convert($body, false, BBCode::EXTERNAL); if ($body != $html) { - Logger::debug('Body contained no HTML', ['original' => $body, 'converted' => $html]); + DI::logger()->debug('Body contained no HTML', ['original' => $body, 'converted' => $html]); $body = $html; } } diff --git a/src/Protocol/Relay.php b/src/Protocol/Relay.php index ec0b0f25f5..994772d191 100644 --- a/src/Protocol/Relay.php +++ b/src/Protocol/Relay.php @@ -11,7 +11,6 @@ use Exception; use Friendica\Content\Smilies; use Friendica\Content\Text\BBCode; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\DBA; use Friendica\DI; @@ -54,24 +53,24 @@ class Relay $config = DI::config(); if (Contact::hasFollowers($authorid)) { - Logger::info('Author has got followers on this server - accepted', ['network' => $network, 'url' => $url, 'author' => $authorid, 'tags' => $tags]); + DI::logger()->info('Author has got followers on this server - accepted', ['network' => $network, 'url' => $url, 'author' => $authorid, 'tags' => $tags]); return true; } $scope = $config->get('system', 'relay_scope'); if ($scope == self::SCOPE_NONE) { - Logger::info('Server does not accept relay posts - rejected', ['network' => $network, 'url' => $url]); + DI::logger()->info('Server does not accept relay posts - rejected', ['network' => $network, 'url' => $url]); return false; } if (Contact::isBlocked($authorid)) { - Logger::info('Author is blocked - rejected', ['author' => $authorid, 'network' => $network, 'url' => $url]); + DI::logger()->info('Author is blocked - rejected', ['author' => $authorid, 'network' => $network, 'url' => $url]); return false; } if (Contact::isHidden($authorid)) { - Logger::info('Author is hidden - rejected', ['author' => $authorid, 'network' => $network, 'url' => $url]); + DI::logger()->info('Author is hidden - rejected', ['author' => $authorid, 'network' => $network, 'url' => $url]); return false; } @@ -101,7 +100,7 @@ class Relay $content_cleaned = mb_strtolower(BBCode::toPlaintext($cleaned, false)); if (strlen($content_cleaned) < strlen($content) / 2) { - Logger::info('Possible hashtag spam detected - rejected', ['hashtags' => $tags, 'network' => $network, 'url' => $url, 'causer' => $causer, 'content' => $content]); + DI::logger()->info('Possible hashtag spam detected - rejected', ['hashtags' => $tags, 'network' => $network, 'url' => $url, 'causer' => $causer, 'content' => $content]); return false; } } @@ -109,35 +108,35 @@ class Relay foreach ($tags as $tag) { $tag = mb_strtolower($tag); if (in_array($tag, $denyTags)) { - Logger::info('Unwanted hashtag found - rejected', ['hashtag' => $tag, 'network' => $network, 'url' => $url, 'causer' => $causer]); + DI::logger()->info('Unwanted hashtag found - rejected', ['hashtag' => $tag, 'network' => $network, 'url' => $url, 'causer' => $causer]); return false; } if (in_array($tag, $tagList)) { - Logger::info('Subscribed hashtag found - accepted', ['hashtag' => $tag, 'network' => $network, 'url' => $url, 'causer' => $causer]); + DI::logger()->info('Subscribed hashtag found - accepted', ['hashtag' => $tag, 'network' => $network, 'url' => $url, 'causer' => $causer]); return true; } // We check with "strpos" for performance issues. Only when this is true, the regular expression check is used // RegExp is taken from here: https://medium.com/@shiba1014/regex-word-boundaries-with-unicode-207794f6e7ed if ((strpos($content, $tag) !== false) && preg_match('/(?<=[\s,.:;"\']|^)' . preg_quote($tag, '/') . '(?=[\s,.:;"\']|$)/', $content)) { - Logger::info('Subscribed hashtag found in content - accepted', ['hashtag' => $tag, 'network' => $network, 'url' => $url, 'causer' => $causer]); + DI::logger()->info('Subscribed hashtag found in content - accepted', ['hashtag' => $tag, 'network' => $network, 'url' => $url, 'causer' => $causer]); return true; } } } if (!self::isWantedLanguage($body, 0, $authorid, $languages)) { - Logger::info('Unwanted or Undetected language found - rejected', ['network' => $network, 'url' => $url, 'causer' => $causer, 'tags' => $tags]); + DI::logger()->info('Unwanted or Undetected language found - rejected', ['network' => $network, 'url' => $url, 'causer' => $causer, 'tags' => $tags]); return false; } if ($scope == self::SCOPE_ALL) { - Logger::info('Server accept all posts - accepted', ['network' => $network, 'url' => $url, 'causer' => $causer, 'tags' => $tags]); + DI::logger()->info('Server accept all posts - accepted', ['network' => $network, 'url' => $url, 'causer' => $causer, 'tags' => $tags]); return true; } - Logger::info('No matching hashtags found - rejected', ['network' => $network, 'url' => $url, 'causer' => $causer, 'tags' => $tags]); + DI::logger()->info('No matching hashtags found - rejected', ['network' => $network, 'url' => $url, 'causer' => $causer, 'tags' => $tags]); return false; } @@ -181,7 +180,7 @@ class Relay } if (empty($body) || Smilies::isEmojiPost($body)) { - Logger::debug('Empty body or only emojis', ['body' => $body]); + DI::logger()->debug('Empty body or only emojis', ['body' => $body]); return true; } @@ -189,17 +188,17 @@ class Relay foreach ($detected as $language) { if (in_array($language, $user_languages)) { - Logger::debug('Wanted language found in detected languages', ['language' => $language, 'detected' => $detected, 'userlang' => $user_languages, 'body' => $body]); + DI::logger()->debug('Wanted language found in detected languages', ['language' => $language, 'detected' => $detected, 'userlang' => $user_languages, 'body' => $body]); return true; } } foreach ($languages as $language) { if (in_array($language, $user_languages)) { - Logger::debug('Wanted language found in defined languages', ['language' => $language, 'languages' => $languages, 'detected' => $detected, 'userlang' => $user_languages, 'body' => $body]); + DI::logger()->debug('Wanted language found in defined languages', ['language' => $language, 'languages' => $languages, 'detected' => $detected, 'userlang' => $user_languages, 'body' => $body]); return true; } } - Logger::debug('No wanted language found', ['languages' => $languages, 'detected' => $detected, 'userlang' => $user_languages, 'body' => $body]); + DI::logger()->debug('No wanted language found', ['languages' => $languages, 'detected' => $detected, 'userlang' => $user_languages, 'body' => $body]); return false; } @@ -216,9 +215,9 @@ class Relay if (in_array($gserver['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN])) { $system = APContact::getByURL($gserver['url'] . '/friendica'); if (!empty($system['sharedinbox'])) { - Logger::info('Successfully probed for relay contact', ['server' => $gserver['url']]); + DI::logger()->info('Successfully probed for relay contact', ['server' => $gserver['url']]); $id = Contact::updateFromProbeByURL($system['url']); - Logger::info('Updated relay contact', ['server' => $gserver['url'], 'id' => $id]); + DI::logger()->info('Updated relay contact', ['server' => $gserver['url'], 'id' => $id]); return; } } @@ -231,10 +230,10 @@ class Relay if (DBA::isResult($old)) { $fields['gsid'] = $gserver['id']; $fields['contact-type'] = Contact::TYPE_RELAY; - Logger::info('Assigning missing data for relay contact', ['server' => $gserver['url'], 'id' => $old['id']]); + DI::logger()->info('Assigning missing data for relay contact', ['server' => $gserver['url'], 'id' => $old['id']]); } } elseif (empty($fields) && $old['unsearchable']) { - Logger::info('No content to update, quitting', ['server' => $gserver['url']]); + DI::logger()->info('No content to update, quitting', ['server' => $gserver['url']]); return; } @@ -242,7 +241,7 @@ class Relay $fields['updated'] = DateTimeFormat::utcNow(); $fields['unsearchable'] = true; - Logger::info('Update relay contact', ['server' => $gserver['url'], 'id' => $old['id'], 'fields' => $fields]); + DI::logger()->info('Update relay contact', ['server' => $gserver['url'], 'id' => $old['id'], 'fields' => $fields]); Contact::update($fields, ['id' => $old['id']], $old); } else { $default = ['created' => DateTimeFormat::utcNow(), @@ -258,7 +257,7 @@ class Relay $fields = array_merge($default, $fields); - Logger::info('Create relay contact', ['server' => $gserver['url'], 'fields' => $fields]); + DI::logger()->info('Create relay contact', ['server' => $gserver['url'], 'fields' => $fields]); Contact::insert($fields); } } @@ -291,7 +290,7 @@ class Relay } if (!empty($relay_contact)) { - Logger::info('Relay contact will be marked for archival', ['id' => $relay_contact['id'], 'url' => $relay_contact['url']]); + DI::logger()->info('Relay contact will be marked for archival', ['id' => $relay_contact['id'], 'url' => $relay_contact['url']]); Contact::markForArchival($relay_contact); } } @@ -421,7 +420,7 @@ class Relay { foreach (self::getList() as $server) { $success = ActivityPub\Transmitter::sendRelayFollow($server['url']); - Logger::debug('Resubscribed', ['profile' => $server['url'], 'success' => $success]); + DI::logger()->debug('Resubscribed', ['profile' => $server['url'], 'success' => $success]); } } } diff --git a/src/Protocol/ZOT.php b/src/Protocol/ZOT.php index 24704ec237..b5604bcc84 100644 --- a/src/Protocol/ZOT.php +++ b/src/Protocol/ZOT.php @@ -9,7 +9,6 @@ namespace Friendica\Protocol; use Friendica\App; use Friendica\Core\Addon; -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Module; use Friendica\Module\Register; @@ -30,7 +29,7 @@ class ZOT public static function isRequest(): bool { if (stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/x-zot+json')) { - Logger::debug('Is ZOT request', ['accept' => $_SERVER['HTTP_ACCEPT'], 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); + DI::logger()->debug('Is ZOT request', ['accept' => $_SERVER['HTTP_ACCEPT'], 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); return true; } diff --git a/src/Security/BasicAuth.php b/src/Security/BasicAuth.php index c5da5b9f72..a04e050c6a 100644 --- a/src/Security/BasicAuth.php +++ b/src/Security/BasicAuth.php @@ -9,12 +9,10 @@ namespace Friendica\Security; use Exception; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\User; use Friendica\Network\HTTPException\UnauthorizedException; -use Friendica\Util\DateTimeFormat; /** * Authentication via the basic auth method @@ -75,9 +73,9 @@ class BasicAuth $source = 'Twidere'; } - Logger::info('Unrecognized user-agent', ['http_user_agent' => $_SERVER['HTTP_USER_AGENT']]); + DI::logger()->info('Unrecognized user-agent', ['http_user_agent' => $_SERVER['HTTP_USER_AGENT']]); } else { - Logger::info('Empty user-agent'); + DI::logger()->info('Empty user-agent'); } if (empty($source)) { @@ -160,7 +158,7 @@ class BasicAuth if (!$do_login) { return 0; } - Logger::debug('Access denied', ['parameters' => $_SERVER]); + DI::logger()->debug('Access denied', ['parameters' => $_SERVER]); // Checking for commandline for the tests, we have to avoid to send a header if (DI::config()->get('system', 'basicauth') && (php_sapi_name() !== 'cli')) { header('WWW-Authenticate: Basic realm="Friendica"'); diff --git a/src/Security/OAuth.php b/src/Security/OAuth.php index d169cb7eab..d00d27b8d3 100644 --- a/src/Security/OAuth.php +++ b/src/Security/OAuth.php @@ -7,10 +7,10 @@ namespace Friendica\Security; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\Database; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\User; use Friendica\Module\BaseApi; @@ -85,10 +85,10 @@ class OAuth $token = DBA::selectFirst('application-view', ['uid', 'id', 'name', 'website', 'created_at', 'read', 'write', 'follow', 'push'], $condition); if (!DBA::isResult($token)) { - Logger::notice('Token not found', $condition); + DI::logger()->notice('Token not found', $condition); return []; } - Logger::debug('Token found', $token); + DI::logger()->debug('Token found', $token); $user = User::getById($token['uid'], ['uid', 'parent-uid', 'last-activity', 'login_date']); if (!empty($user)) { @@ -125,14 +125,14 @@ class OAuth $application = DBA::selectFirst('application', [], $condition); if (!DBA::isResult($application)) { - Logger::warning('Application not found', $condition); + DI::logger()->warning('Application not found', $condition); return []; } // The redirect_uri could contain several URI that are separated by spaces or new lines. $uris = explode(' ', str_replace(["\n", "\r", "\t"], ' ', $application['redirect_uri'])); if (!in_array($redirect_uri, $uris)) { - Logger::warning('Redirection uri does not match', ['redirect_uri' => $redirect_uri, 'application-redirect_uri' => $application['redirect_uri']]); + DI::logger()->warning('Redirection uri does not match', ['redirect_uri' => $redirect_uri, 'application-redirect_uri' => $application['redirect_uri']]); return []; } @@ -191,7 +191,7 @@ class OAuth foreach ([BaseApi::SCOPE_READ, BaseApi::SCOPE_WRITE, BaseApi::SCOPE_FOLLOW, BaseApi::SCOPE_PUSH] as $scope) { if ($fields[$scope] && !$application[$scope]) { - Logger::warning('Requested token scope is not allowed for the application', ['token' => $fields, 'application' => $application]); + DI::logger()->warning('Requested token scope is not allowed for the application', ['token' => $fields, 'application' => $application]); } } diff --git a/src/Security/OpenWebAuth.php b/src/Security/OpenWebAuth.php index 5dd3cf1a27..8ca4baf5d1 100644 --- a/src/Security/OpenWebAuth.php +++ b/src/Security/OpenWebAuth.php @@ -9,7 +9,6 @@ namespace Friendica\Security; use Friendica\Core\Cache\Enum\Duration; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; @@ -61,31 +60,31 @@ class OpenWebAuth // Try to find the public contact entry of the visitor. $contact = Contact::getByURL($my_url, null, ['id', 'url', 'gsid']); if (empty($contact)) { - Logger::info('No contact record found', ['url' => $my_url]); + DI::logger()->info('No contact record found', ['url' => $my_url]); return; } if (DI::userSession()->getRemoteUserId() && DI::userSession()->getRemoteUserId() == $contact['id']) { - Logger::info('The visitor is already authenticated', ['url' => $my_url]); + DI::logger()->info('The visitor is already authenticated', ['url' => $my_url]); return; } $gserver = DBA::selectFirst('gserver', ['url', 'authredirect'], ['id' => $contact['gsid']]); if (empty($gserver) || empty($gserver['authredirect'])) { - Logger::info('No server record found or magic path not defined for server', ['id' => $contact['gsid'], 'gserver' => $gserver]); + DI::logger()->info('No server record found or magic path not defined for server', ['id' => $contact['gsid'], 'gserver' => $gserver]); return; } // Avoid endless loops $cachekey = 'zrlInit:' . $my_url; if (DI::cache()->get($cachekey)) { - Logger::info('URL ' . $my_url . ' already tried to authenticate.'); + DI::logger()->info('URL ' . $my_url . ' already tried to authenticate.'); return; } else { DI::cache()->set($cachekey, true, Duration::MINUTE); } - Logger::info('Not authenticated. Invoking reverse magic-auth', ['url' => $my_url]); + DI::logger()->info('Not authenticated. Invoking reverse magic-auth', ['url' => $my_url]); // Remove the "addr" parameter from the destination. It is later added as separate parameter again. $addr_request = 'addr=' . urlencode($addr); @@ -97,7 +96,7 @@ class OpenWebAuth if ($gserver['url'] != DI::baseUrl() && !strstr($dest, '/magic')) { $magic_path = $gserver['authredirect'] . '?f=&rev=1&owa=1&dest=' . $dest . '&' . $addr_request; - Logger::info('Doing magic auth for visitor ' . $my_url . ' to ' . $magic_path); + DI::logger()->info('Doing magic auth for visitor ' . $my_url . ' to ' . $magic_path); System::externalRedirect($magic_path); } } @@ -149,7 +148,7 @@ class OpenWebAuth DI::sysmsg()->addInfo(DI::l10n()->t('OpenWebAuth: %1$s welcomes %2$s', DI::baseUrl()->getHost(), $visitor['name'])); - Logger::info('OpenWebAuth: auth success from ' . $visitor['addr']); + DI::logger()->info('OpenWebAuth: auth success from ' . $visitor['addr']); } /** @@ -166,7 +165,7 @@ class OpenWebAuth // Try to find the public contact entry of the visitor. $cid = Contact::getIdForURL($handle); if (!$cid) { - Logger::info('Handle not found', ['handle' => $handle]); + DI::logger()->info('Handle not found', ['handle' => $handle]); return []; } @@ -186,7 +185,7 @@ class OpenWebAuth $appHelper->setContactId($visitor['id']); - Logger::info('Authenticated visitor', ['url' => $visitor['url']]); + DI::logger()->info('Authenticated visitor', ['url' => $visitor['url']]); return $visitor; } diff --git a/src/Util/Crypto.php b/src/Util/Crypto.php index 8113697639..da4645ea0e 100644 --- a/src/Util/Crypto.php +++ b/src/Util/Crypto.php @@ -8,7 +8,6 @@ namespace Friendica\Util; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\DI; use phpseclib3\Crypt\PublicKeyLoader; @@ -27,7 +26,7 @@ class Crypto public static function rsaSign($data, $key, $alg = 'sha256') { if (empty($key)) { - Logger::warning('Empty key parameter'); + DI::logger()->warning('Empty key parameter'); } openssl_sign($data, $sig, $key, (($alg == 'sha1') ? OPENSSL_ALGO_SHA1 : $alg)); return $sig; @@ -43,7 +42,7 @@ class Crypto public static function rsaVerify($data, $sig, $key, $alg = 'sha256') { if (empty($key)) { - Logger::warning('Empty key parameter'); + DI::logger()->warning('Empty key parameter'); } return openssl_verify($data, $sig, $key, (($alg == 'sha1') ? OPENSSL_ALGO_SHA1 : $alg)); } @@ -80,7 +79,7 @@ class Crypto $result = openssl_pkey_new($openssl_options); if (empty($result)) { - Logger::notice('new_keypair: failed'); + DI::logger()->notice('new_keypair: failed'); return false; } @@ -161,7 +160,7 @@ class Crypto private static function encapsulateOther($data, $pubkey, $alg) { if (!$pubkey) { - Logger::notice('no key. data: '.$data); + DI::logger()->notice('no key. data: '.$data); } $fn = 'encrypt' . strtoupper($alg); if (method_exists(__CLASS__, $fn)) { @@ -173,7 +172,7 @@ class Crypto // log the offending call so we can track it down if (!openssl_public_encrypt($key, $k, $pubkey)) { $x = debug_backtrace(); - Logger::notice('RSA failed', ['trace' => $x[0]]); + DI::logger()->notice('RSA failed', ['trace' => $x[0]]); } $result['alg'] = $alg; @@ -203,7 +202,7 @@ class Crypto private static function encapsulateAes($data, $pubkey) { if (!$pubkey) { - Logger::notice('aes_encapsulate: no key. data: ' . $data); + DI::logger()->notice('aes_encapsulate: no key. data: ' . $data); } $key = random_bytes(32); @@ -214,7 +213,7 @@ class Crypto // log the offending call so we can track it down if (!openssl_public_encrypt($key, $k, $pubkey)) { $x = debug_backtrace(); - Logger::notice('aes_encapsulate: RSA failed.', ['data' => $x[0]]); + DI::logger()->notice('aes_encapsulate: RSA failed.', ['data' => $x[0]]); } $result['alg'] = 'aes256cbc'; diff --git a/src/Util/DateTimeFormat.php b/src/Util/DateTimeFormat.php index a8a900fd36..3e10eb1b53 100644 --- a/src/Util/DateTimeFormat.php +++ b/src/Util/DateTimeFormat.php @@ -7,10 +7,10 @@ namespace Friendica\Util; -use Friendica\Core\Logger; use DateTime; use DateTimeZone; use Exception; +use Friendica\DI; /** * Temporal class @@ -140,7 +140,7 @@ class DateTimeFormat try { $d = new DateTime(self::fix($s), $from_obj); } catch (\Throwable $e) { - Logger::warning('DateTimeFormat::convert: exception: ' . $e->getMessage()); + DI::logger()->warning('DateTimeFormat::convert: exception: ' . $e->getMessage()); $d = new DateTime('now', $from_obj); } } diff --git a/src/Util/HTTPSignature.php b/src/Util/HTTPSignature.php index 5f668255ca..a544119616 100644 --- a/src/Util/HTTPSignature.php +++ b/src/Util/HTTPSignature.php @@ -7,7 +7,6 @@ namespace Friendica\Util; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\Database; use Friendica\Database\DBA; @@ -72,7 +71,7 @@ class HTTPSignature $sig_block = self::parseSigheader($headers['authorization']); if (!$sig_block) { - Logger::notice('no signature provided.'); + DI::logger()->notice('no signature provided.'); return $result; } @@ -102,7 +101,7 @@ class HTTPSignature $key = $key($sig_block['keyId']); } - Logger::info('Got keyID ' . $sig_block['keyId']); + DI::logger()->info('Got keyID ' . $sig_block['keyId']); if (!$key) { return $result; @@ -110,7 +109,7 @@ class HTTPSignature $x = Crypto::rsaVerify($signed_data, $sig_block['signature'], $key, $algorithm); - Logger::info('verified: ' . $x); + DI::logger()->info('verified: ' . $x); if (!$x) { return $result; @@ -293,7 +292,7 @@ class HTTPSignature $postResult = DI::httpClient()->post($target, $content, $headers, DI::config()->get('system', 'curl_timeout'), HttpClientRequest::ACTIVITYPUB); $return_code = $postResult->getReturnCode(); - Logger::info('Transmit to ' . $target . ' returned ' . $return_code); + DI::logger()->info('Transmit to ' . $target . ' returned ' . $return_code); self::setInboxStatus($target, ($return_code >= 200) && ($return_code <= 299)); @@ -327,7 +326,7 @@ class HTTPSignature return false; } - Logger::debug('Process directly', ['uid' => $uid, 'target' => $target, 'type' => $type]); + DI::logger()->debug('Process directly', ['uid' => $uid, 'target' => $target, 'type' => $type]); return Receiver::routeActivities($object_data, $type, true, true, $uid); } @@ -371,7 +370,7 @@ class HTTPSignature try { $postResult = self::post($data, $target, $owner); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return false; } $return_code = $postResult->getReturnCode(); @@ -402,7 +401,7 @@ class HTTPSignature $status = DBA::selectFirst('inbox-status', [], ['url' => $url]); if (empty($status)) { - Logger::warning('Unable to insert inbox-status row', $insertFields); + DI::logger()->warning('Unable to insert inbox-status row', $insertFields); return; } } @@ -476,12 +475,12 @@ class HTTPSignature try { $curlResult = self::fetchRaw($request, $uid); } catch (\Exception $exception) { - Logger::notice('Error fetching url', ['url' => $request, 'exception' => $exception]); + DI::logger()->notice('Error fetching url', ['url' => $request, 'exception' => $exception]); return []; } if (!$curlResult->isSuccess() || empty($curlResult->getBodyString())) { - Logger::debug('Fetching was unsuccessful', ['url' => $request, 'return-code' => $curlResult->getReturnCode(), 'error-number' => $curlResult->getErrorNumber(), 'error' => $curlResult->getError()]); + DI::logger()->debug('Fetching was unsuccessful', ['url' => $request, 'return-code' => $curlResult->getReturnCode(), 'error-number' => $curlResult->getErrorNumber(), 'error' => $curlResult->getError()]); return []; } @@ -510,7 +509,7 @@ class HTTPSignature } if (current(explode(';', $contentType)) == 'application/json') { - Logger::notice('Unexpected content type, possibly from a remote system that is not standard compliant.', ['content-type' => $contentType, 'url' => $url]); + DI::logger()->notice('Unexpected content type, possibly from a remote system that is not standard compliant.', ['content-type' => $contentType, 'url' => $url]); } return false; } @@ -572,7 +571,7 @@ class HTTPSignature } $return_code = $curlResult->getReturnCode(); - Logger::info('Fetched for user ' . $uid . ' from ' . $request . ' returned ' . $return_code); + DI::logger()->info('Fetched for user ' . $uid . ' from ' . $request . ' returned ' . $return_code); return $curlResult; } @@ -587,14 +586,14 @@ class HTTPSignature public static function getKeyIdContact(array $http_headers): array { if (empty($http_headers['HTTP_SIGNATURE'])) { - Logger::debug('No HTTP_SIGNATURE header', ['header' => $http_headers]); + DI::logger()->debug('No HTTP_SIGNATURE header', ['header' => $http_headers]); return []; } $sig_block = self::parseSigHeader($http_headers['HTTP_SIGNATURE']); if (empty($sig_block['keyId'])) { - Logger::debug('No keyId', ['sig_block' => $sig_block]); + DI::logger()->debug('No keyId', ['sig_block' => $sig_block]); return []; } @@ -614,14 +613,14 @@ class HTTPSignature public static function getSigner(string $content, array $http_headers) { if (empty($http_headers['HTTP_SIGNATURE'])) { - Logger::debug('No HTTP_SIGNATURE header'); + DI::logger()->debug('No HTTP_SIGNATURE header'); return false; } if (!empty($content)) { $object = json_decode($content, true); if (empty($object)) { - Logger::info('No object'); + DI::logger()->info('No object'); return false; } @@ -659,7 +658,7 @@ class HTTPSignature } if (empty($sig_block) || empty($sig_block['headers']) || empty($sig_block['keyId'])) { - Logger::info('No headers or keyId'); + DI::logger()->info('No headers or keyId'); return false; } @@ -668,13 +667,13 @@ class HTTPSignature if (array_key_exists($h, $headers)) { $signed_data .= $h . ': ' . $headers[$h] . "\n"; } else { - Logger::info('Requested header field not found', ['field' => $h, 'header' => $headers]); + DI::logger()->info('Requested header field not found', ['field' => $h, 'header' => $headers]); } } $signed_data = rtrim($signed_data, "\n"); if (empty($signed_data)) { - Logger::info('Signed data is empty'); + DI::logger()->info('Signed data is empty'); return false; } @@ -697,18 +696,18 @@ class HTTPSignature } if (empty($algorithm)) { - Logger::info('No algorithm'); + DI::logger()->info('No algorithm'); return false; } $key = self::fetchKey($sig_block['keyId'], $actor); if (empty($key)) { - Logger::info('Empty key'); + DI::logger()->info('Empty key'); return false; } if (!empty($key['url']) && !empty($key['type']) && ($key['type'] == 'Tombstone')) { - Logger::info('Actor is a tombstone', ['key' => $key]); + DI::logger()->info('Actor is a tombstone', ['key' => $key]); if (!Contact::isLocal($key['url'])) { // We now delete everything that we possibly knew from this actor @@ -718,12 +717,12 @@ class HTTPSignature } if (empty($key['pubkey'])) { - Logger::info('Empty pubkey'); + DI::logger()->info('Empty pubkey'); return false; } if (!Crypto::rsaVerify($signed_data, $sig_block['signature'], $key['pubkey'], $algorithm)) { - Logger::info('Verification failed', ['signed_data' => $signed_data, 'algorithm' => $algorithm, 'header' => $sig_block['headers'], 'http_headers' => $http_headers]); + DI::logger()->info('Verification failed', ['signed_data' => $signed_data, 'algorithm' => $algorithm, 'header' => $sig_block['headers'], 'http_headers' => $http_headers]); return false; } @@ -742,7 +741,7 @@ class HTTPSignature /// @todo add all hashes from the rfc if (!empty($hashalg) && base64_encode(hash($hashalg, $content, true)) != $digest[1]) { - Logger::info('Digest does not match'); + DI::logger()->info('Digest does not match'); return false; } @@ -769,23 +768,23 @@ class HTTPSignature // Calculate with a grace period of 60 seconds to avoid slight time differences between the servers if (($created - 60) > $current) { - Logger::notice('Signature created in the future', ['created' => date(DateTimeFormat::MYSQL, $created), 'expired' => date(DateTimeFormat::MYSQL, $expired), 'current' => date(DateTimeFormat::MYSQL, $current)]); + DI::logger()->notice('Signature created in the future', ['created' => date(DateTimeFormat::MYSQL, $created), 'expired' => date(DateTimeFormat::MYSQL, $expired), 'current' => date(DateTimeFormat::MYSQL, $current)]); return false; } if ($current > $expired) { - Logger::notice('Signature expired', ['created' => date(DateTimeFormat::MYSQL, $created), 'expired' => date(DateTimeFormat::MYSQL, $expired), 'current' => date(DateTimeFormat::MYSQL, $current)]); + DI::logger()->notice('Signature expired', ['created' => date(DateTimeFormat::MYSQL, $created), 'expired' => date(DateTimeFormat::MYSQL, $expired), 'current' => date(DateTimeFormat::MYSQL, $current)]); return false; } - Logger::debug('Valid creation date', ['created' => date(DateTimeFormat::MYSQL, $created), 'expired' => date(DateTimeFormat::MYSQL, $expired), 'current' => date(DateTimeFormat::MYSQL, $current)]); + DI::logger()->debug('Valid creation date', ['created' => date(DateTimeFormat::MYSQL, $created), 'expired' => date(DateTimeFormat::MYSQL, $expired), 'current' => date(DateTimeFormat::MYSQL, $current)]); $hasGoodSignedContent = true; } // Check the content-length when it is part of the signed data if (in_array('content-length', $sig_block['headers'])) { if (strlen($content) != $headers['content-length']) { - Logger::info('Content length does not match'); + DI::logger()->info('Content length does not match'); return false; } } @@ -793,7 +792,7 @@ class HTTPSignature // Ensure that the authentication had been done with some content // Without this check someone could authenticate with fakeable data if (!$hasGoodSignedContent) { - Logger::info('No good signed content'); + DI::logger()->info('No good signed content'); return false; } @@ -815,17 +814,17 @@ class HTTPSignature $profile = APContact::getByURL($url); if (!empty($profile)) { - Logger::info('Taking key from id', ['id' => $id]); + DI::logger()->info('Taking key from id', ['id' => $id]); return ['url' => $url, 'pubkey' => $profile['pubkey'], 'type' => $profile['type']]; } elseif ($url != $actor) { $profile = APContact::getByURL($actor); if (!empty($profile)) { - Logger::info('Taking key from actor', ['actor' => $actor]); + DI::logger()->info('Taking key from actor', ['actor' => $actor]); return ['url' => $actor, 'pubkey' => $profile['pubkey'], 'type' => $profile['type']]; } } - Logger::notice('Key could not be fetched', ['url' => $url, 'actor' => $actor]); + DI::logger()->notice('Key could not be fetched', ['url' => $url, 'actor' => $actor]); return []; } } diff --git a/src/Util/Images.php b/src/Util/Images.php index f478a0b8b2..804ba73877 100644 --- a/src/Util/Images.php +++ b/src/Util/Images.php @@ -8,7 +8,6 @@ namespace Friendica\Util; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Model\Photo; use Friendica\Network\HTTPClient\Client\HttpClientAccept; @@ -103,7 +102,7 @@ class Images } } - Logger::debug('Undetected mimetype', ['mimetype' => $mimetype]); + DI::logger()->debug('Undetected mimetype', ['mimetype' => $mimetype]); return 0; } @@ -116,7 +115,7 @@ class Images public static function getExtensionByImageType(int $type): string { if (empty($type)) { - Logger::debug('Invalid image type', ['type' => $type]); + DI::logger()->debug('Invalid image type', ['type' => $type]); return ''; } @@ -201,7 +200,7 @@ class Images return $image['mime']; } - Logger::debug('Undetected mime type', ['image' => $image, 'size' => strlen($image_data)]); + DI::logger()->debug('Undetected mime type', ['image' => $image, 'size' => strlen($image_data)]); return ''; } @@ -284,7 +283,7 @@ class Images } } - Logger::debug('Unhandled extension', ['filename' => $filename, 'extension' => $ext]); + DI::logger()->debug('Unhandled extension', ['filename' => $filename, 'extension' => $ext]); return ''; } @@ -345,7 +344,7 @@ class Images try { $img_str = DI::httpClient()->fetch($url, HttpClientAccept::IMAGE, 4, '', HttpClientRequest::MEDIAVERIFIER); } catch (\Exception $exception) { - Logger::notice('Image is invalid', ['url' => $url, 'exception' => $exception]); + DI::logger()->notice('Image is invalid', ['url' => $url, 'exception' => $exception]); return []; } } diff --git a/src/Util/JsonLD.php b/src/Util/JsonLD.php index fc91bcd0b6..833de559d7 100644 --- a/src/Util/JsonLD.php +++ b/src/Util/JsonLD.php @@ -8,7 +8,6 @@ namespace Friendica\Util; use Friendica\Core\Cache\Enum\Duration; -use Friendica\Core\Logger; use Exception; use Friendica\Core\System; use Friendica\DI; @@ -72,7 +71,7 @@ class JsonLD $url = DI::basePath() . '/static/apschema.jsonld'; break; default: - Logger::info('Got url', ['url' => $url]); + DI::logger()->info('Got url', ['url' => $url]); break; } } @@ -89,7 +88,7 @@ class JsonLD } if ($recursion > 5) { - Logger::error('jsonld bomb detected at: ' . $url); + DI::logger()->error('jsonld bomb detected at: ' . $url); System::exit(); } @@ -127,9 +126,9 @@ class JsonLD $messages[] = $currentException->getMessage(); } while ($currentException = $currentException->getPrevious()); - Logger::notice('JsonLD normalize error', ['messages' => $messages]); - Logger::info('JsonLD normalize error', ['trace' => $e->getTraceAsString()]); - Logger::debug('JsonLD normalize error', ['jsonobj' => $jsonobj]); + DI::logger()->notice('JsonLD normalize error', ['messages' => $messages]); + DI::logger()->info('JsonLD normalize error', ['trace' => $e->getTraceAsString()]); + DI::logger()->debug('JsonLD normalize error', ['jsonobj' => $jsonobj]); } return $normalized; @@ -176,18 +175,18 @@ class JsonLD $compacted = jsonld_compact($jsonobj, $context); } catch (Exception $e) { $compacted = false; - Logger::notice('compacting error', ['msg' => $e->getMessage(), 'previous' => $e->getPrevious(), 'line' => $e->getLine()]); + DI::logger()->notice('compacting error', ['msg' => $e->getMessage(), 'previous' => $e->getPrevious(), 'line' => $e->getLine()]); if ($logfailed && DI::config()->get('debug', 'ap_log_failure')) { $tempfile = tempnam(System::getTempPath(), 'failed-jsonld'); file_put_contents($tempfile, json_encode(['json' => $orig_json, 'msg' => $e->getMessage(), 'previous' => $e->getPrevious()], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)); - Logger::notice('Failed message stored', ['file' => $tempfile]); + DI::logger()->notice('Failed message stored', ['file' => $tempfile]); } } $json = json_decode(json_encode($compacted, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE), true); if ($json === false) { - Logger::notice('JSON encode->decode failed', ['orig_json' => $orig_json, 'compacted' => $compacted]); + DI::logger()->notice('JSON encode->decode failed', ['orig_json' => $orig_json, 'compacted' => $compacted]); $json = []; } @@ -212,7 +211,7 @@ class JsonLD // Workaround for servers with missing context // See issue https://github.com/nextcloud/social/issues/330 if (!in_array('https://w3id.org/security/v1', $json['@context'])) { - Logger::debug('Missing security context'); + DI::logger()->debug('Missing security context'); $json['@context'][] = 'https://w3id.org/security/v1'; } } @@ -220,16 +219,16 @@ class JsonLD // Issue 14448: Peertube transmits an unexpected type and schema URL. array_walk_recursive($json['@context'], function (&$value, $key) { if ($key == '@type' && $value == '@json') { - Logger::debug('"@json" converted to "@id"'); + DI::logger()->debug('"@json" converted to "@id"'); $value = '@id'; } if ($key == 'sc' && $value == 'http://schema.org/') { - Logger::debug('schema.org path fixed'); + DI::logger()->debug('schema.org path fixed'); $value = 'http://schema.org#'; } // Issue 14630: Wordpress Event Bridge uses a URL that cannot be retrieved if (is_int($key) && $value == 'https://schema.org/') { - Logger::debug('https schema.org path fixed'); + DI::logger()->debug('https schema.org path fixed'); $value = 'https://schema.org/docs/jsonldcontext.json#'; } }); @@ -237,7 +236,7 @@ class JsonLD // Bookwyrm transmits "id" fields with "null", which isn't allowed. array_walk_recursive($json, function (&$value, $key) { if ($key == 'id' && is_null($value)) { - Logger::debug('Fixed null id'); + DI::logger()->debug('Fixed null id'); $value = ''; } }); diff --git a/src/Util/LDSignature.php b/src/Util/LDSignature.php index 9d0c08d33b..8728915dd0 100644 --- a/src/Util/LDSignature.php +++ b/src/Util/LDSignature.php @@ -7,7 +7,7 @@ namespace Friendica\Util; -use Friendica\Core\Logger; +use Friendica\DI; use Friendica\Model\APContact; /** @@ -55,7 +55,7 @@ class LDSignature $dhash = self::hash(self::signableData($data)); $x = Crypto::rsaVerify($ohash . $dhash, base64_decode($data['signature']['signatureValue']), $pubkey); - Logger::info('LD-verify', ['verified' => (int)$x, 'actor' => $profile['url']]); + DI::logger()->info('LD-verify', ['verified' => (int)$x, 'actor' => $profile['url']]); if (empty($x)) { return false; diff --git a/src/Util/Network.php b/src/Util/Network.php index 60f4bbab23..a9c14779c7 100644 --- a/src/Util/Network.php +++ b/src/Util/Network.php @@ -8,7 +8,6 @@ namespace Friendica\Util; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Model\Contact; use Friendica\Network\HTTPClient\Client\HttpClientAccept; @@ -79,13 +78,13 @@ class Network try { $curlResult = DI::httpClient()->get($url, HttpClientAccept::DEFAULT, $options); } catch (\Exception $e) { - Logger::notice('Got exception', ['code' => $e->getCode(), 'message' => $e->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $e->getCode(), 'message' => $e->getMessage()]); return false; } } if (!$curlResult->isSuccess()) { - Logger::notice('Url not reachable', ['host' => $host, 'url' => $url]); + DI::logger()->notice('Url not reachable', ['host' => $host, 'url' => $url]); return false; } elseif ($curlResult->isRedirectUrl()) { $url = $curlResult->getRedirectUrl(); @@ -184,7 +183,7 @@ class Network try { return self::isUriBlocked(new Uri($url)); } catch (\Throwable $e) { - Logger::warning('Invalid URL', ['url' => $url]); + DI::logger()->warning('Invalid URL', ['url' => $url]); return false; } } @@ -310,7 +309,7 @@ class Network $avatar['url'] = DI::baseUrl() . Contact::DEFAULT_AVATAR_PHOTO; } - Logger::info('Avatar: ' . $avatar['email'] . ' ' . $avatar['url']); + DI::logger()->info('Avatar: ' . $avatar['email'] . ' ' . $avatar['url']); return $avatar['url']; } @@ -508,7 +507,7 @@ class Network private static function idnToAscii(string $uri): string { if (!function_exists('idn_to_ascii')) { - Logger::error('IDN functions are missing.'); + DI::logger()->error('IDN functions are missing.'); return $uri; } return idn_to_ascii($uri); @@ -634,7 +633,7 @@ class Network } if ($sanitized != $url) { - Logger::debug('Link got sanitized', ['url' => $url, 'sanitzed' => $sanitized]); + DI::logger()->debug('Link got sanitized', ['url' => $url, 'sanitzed' => $sanitized]); } return $sanitized; } @@ -654,7 +653,7 @@ class Network try { return new Uri($uri); } catch (\Exception $e) { - Logger::debug('Invalid URI', ['code' => $e->getCode(), 'message' => $e->getMessage(), 'uri' => $uri]); + DI::logger()->debug('Invalid URI', ['code' => $e->getCode(), 'message' => $e->getMessage(), 'uri' => $uri]); return null; } } @@ -662,10 +661,10 @@ class Network /** * Remove an Url parameter * - * @param string $url - * @param string $parameter - * @return string - * @throws MalformedUriException + * @param string $url + * @param string $parameter + * @return string + * @throws MalformedUriException */ public static function removeUrlParameter(string $url, string $parameter): string { diff --git a/src/Util/ParseUrl.php b/src/Util/ParseUrl.php index 97ecdb977b..f717d17d8b 100644 --- a/src/Util/ParseUrl.php +++ b/src/Util/ParseUrl.php @@ -12,7 +12,6 @@ use DOMXPath; use Friendica\Content\Text\HTML; use Friendica\Protocol\HTTP\MediaType; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Database\Database; use Friendica\Database\DBA; use Friendica\DI; @@ -68,17 +67,17 @@ class ParseUrl try { $curlResult = DI::httpClient()->get($url, $accept, array_merge([HttpClientOptions::CONTENT_LENGTH => 1000000], $options)); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return []; } } if (!$curlResult->isSuccess()) { - Logger::debug('Got HTTP Error', ['http error' => $curlResult->getReturnCode(), 'url' => $url]); + DI::logger()->debug('Got HTTP Error', ['http error' => $curlResult->getReturnCode(), 'url' => $url]); return []; } - $contenttype = $curlResult->getContentType(); + $contenttype = $curlResult->getContentType(); if (empty($contenttype)) { return ['application', 'octet-stream']; } @@ -109,16 +108,14 @@ class ParseUrl { if (empty($url)) { return [ - 'url' => '', + 'url' => '', 'type' => 'error', ]; } $urlHash = hash('sha256', $url); - $parsed_url = DBA::selectFirst('parsed_url', ['content'], - ['url_hash' => $urlHash, 'oembed' => false] - ); + $parsed_url = DBA::selectFirst('parsed_url', ['content'], ['url_hash' => $urlHash, 'oembed' => false]); if (!empty($parsed_url['content'])) { $data = unserialize($parsed_url['content']); return $data; @@ -187,7 +184,7 @@ class ParseUrl { if (empty($url)) { return [ - 'url' => '', + 'url' => '', 'type' => 'error', ]; } @@ -204,13 +201,13 @@ class ParseUrl $url = Network::stripTrackingQueryParams($url); $siteinfo = [ - 'url' => $url, - 'type' => 'link', + 'url' => $url, + 'type' => 'link', 'expires' => DateTimeFormat::utc(self::DEFAULT_EXPIRATION_FAILURE), ]; if ($count > 10) { - Logger::warning('Endless loop detected', ['url' => $url]); + DI::logger()->warning('Endless loop detected', ['url' => $url]); return $siteinfo; } @@ -219,25 +216,25 @@ class ParseUrl } else { $type = self::getContentType($url); } - Logger::info('Got content-type', ['content-type' => $type, 'url' => $url]); + DI::logger()->info('Got content-type', ['content-type' => $type, 'url' => $url]); if (!empty($type) && in_array($type[0], ['image', 'video', 'audio'])) { $siteinfo['type'] = $type[0]; return $siteinfo; } if ((count($type) >= 2) && (($type[0] != 'text') || ($type[1] != 'html'))) { - Logger::info('Unparseable content-type, quitting here, ', ['content-type' => $type, 'url' => $url]); + DI::logger()->info('Unparseable content-type, quitting here, ', ['content-type' => $type, 'url' => $url]); return $siteinfo; } try { $curlResult = DI::httpClient()->get($url, HttpClientAccept::HTML, [HttpClientOptions::CONTENT_LENGTH => 1000000, HttpClientOptions::REQUEST => HttpClientRequest::SITEINFO]); } catch (\Throwable $th) { - Logger::info('Exception when fetching', ['url' => $url, 'code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->info('Exception when fetching', ['url' => $url, 'code' => $th->getCode(), 'message' => $th->getMessage()]); return $siteinfo; } if (!$curlResult->isSuccess() || empty($curlResult->getBodyString())) { - Logger::info('Empty body or error when fetching', ['url' => $url, 'success' => $curlResult->isSuccess(), 'code' => $curlResult->getReturnCode()]); + DI::logger()->info('Empty body or error when fetching', ['url' => $url, 'success' => $curlResult->isSuccess(), 'code' => $curlResult->getReturnCode()]); return $siteinfo; } @@ -246,11 +243,13 @@ class ParseUrl if ($cacheControlHeader = $curlResult->getHeader('Cache-Control')[0] ?? '') { if (preg_match('/max-age=([0-9]+)/i', $cacheControlHeader, $matches)) { $maxAge = max(86400, (int)array_pop($matches)); + $siteinfo['expires'] = DateTimeFormat::utc("now + $maxAge seconds"); } } $body = $curlResult->getBodyString(); + $siteinfo['size'] = mb_strlen($body); $charset = ''; @@ -260,7 +259,8 @@ class ParseUrl if (isset($mediaType->parameters['charset'])) { $charset = $mediaType->parameters['charset']; } - } catch(\InvalidArgumentException $e) {} + } catch(\InvalidArgumentException $e) { + } $siteinfo['charset'] = $charset; @@ -268,7 +268,7 @@ class ParseUrl // See https://github.com/friendica/friendica/issues/5470#issuecomment-418351211 $charset = str_ireplace('latin-1', 'latin1', $charset); - Logger::info('detected charset', ['charset' => $charset]); + DI::logger()->info('detected charset', ['charset' => $charset]); $body = iconv($charset, 'UTF-8//TRANSLIT', $body); } @@ -306,10 +306,9 @@ class ParseUrl } if (@$meta_tag['http-equiv'] == 'refresh') { - $path = $meta_tag['content']; - $pathinfo = explode(';', $path); + $path = $meta_tag['content']; $content = ''; - foreach ($pathinfo as $value) { + foreach (explode(';', $path) as $value) { if (substr(strtolower($value), 0, 4) == 'url=') { $content = substr($value, 4); } @@ -455,7 +454,8 @@ class ParseUrl $list = $xpath->query("//script[@type='application/ld+json']"); foreach ($list as $node) { if (!empty($node->nodeValue)) { - if ($jsonld = json_decode($node->nodeValue, true)) { + $jsonld = json_decode($node->nodeValue, true); + if (is_array($jsonld)) { $siteinfo = self::parseParts($siteinfo, $jsonld); } } @@ -488,13 +488,14 @@ class ParseUrl if (!empty($siteinfo['text']) && mb_strlen($siteinfo['text']) > self::MAX_DESC_COUNT) { $siteinfo['text'] = mb_substr($siteinfo['text'], 0, self::MAX_DESC_COUNT) . '…'; + $pos = mb_strrpos($siteinfo['text'], '.'); if ($pos > self::MIN_DESC_COUNT) { $siteinfo['text'] = mb_substr($siteinfo['text'], 0, $pos + 1); } } - Logger::info('Siteinfo fetched', ['url' => $url, 'siteinfo' => $siteinfo]); + DI::logger()->info('Siteinfo fetched', ['url' => $url, 'siteinfo' => $siteinfo]); Hook::callAll('getsiteinfo', $siteinfo); @@ -511,7 +512,7 @@ class ParseUrl * @param array $siteinfo * @return array */ - private static function checkMedia(string $page_url, array $siteinfo) : array + private static function checkMedia(string $page_url, array $siteinfo): array { if (!empty($siteinfo['images'])) { array_walk($siteinfo['images'], function (&$image) use ($page_url) { @@ -522,13 +523,14 @@ class ParseUrl */ if (!empty($image['url'])) { $image['url'] = self::completeUrl($image['url'], $page_url); + $photodata = Images::getInfoFromURLCached($image['url']); if (($photodata) && ($photodata[0] > 50) && ($photodata[1] > 50)) { - $image['src'] = $image['url']; - $image['width'] = $photodata[0]; - $image['height'] = $photodata[1]; + $image['src'] = $image['url']; + $image['width'] = $photodata[0]; + $image['height'] = $photodata[1]; $image['contenttype'] = $photodata['mime']; - $image['blurhash'] = $photodata['blurhash'] ?? null; + $image['blurhash'] = $photodata['blurhash'] ?? null; unset($image['url']); ksort($image); } else { @@ -545,13 +547,14 @@ class ParseUrl foreach (['audio', 'video'] as $element) { if (!empty($siteinfo[$element])) { array_walk($siteinfo[$element], function (&$media) use ($page_url, &$siteinfo) { - $url = ''; - $embed = ''; - $content = ''; + $url = ''; + $embed = ''; + $content = ''; $contenttype = ''; foreach (['embed', 'content', 'url'] as $field) { if (!empty($media[$field])) { $media[$field] = self::completeUrl($media[$field], $page_url); + $type = self::getContentType($media[$field]); if (($type[0] ?? '') == 'text') { if ($field == 'embed') { @@ -560,7 +563,7 @@ class ParseUrl $url = $media[$field]; } } elseif (!empty($type[0])) { - $content = $media[$field]; + $content = $media[$field]; $contenttype = implode('/', $type); } } @@ -707,7 +710,7 @@ class ParseUrl } elseif (!empty($jsonld['@type'])) { $siteinfo = self::parseJsonLd($siteinfo, $jsonld); } elseif (!empty($jsonld)) { - $keys = array_keys($jsonld); + $keys = array_keys($jsonld); $numeric_keys = true; foreach ($keys as $key) { if (!is_int($key)) { @@ -746,7 +749,7 @@ class ParseUrl { $type = JsonLD::fetchElement($jsonld, '@type'); if (empty($type)) { - Logger::info('Empty type', ['url' => $siteinfo['url']]); + DI::logger()->info('Empty type', ['url' => $siteinfo['url']]); return $siteinfo; } @@ -811,7 +814,7 @@ class ParseUrl case 'Person': case 'Patient': case 'PerformingGroup': - case 'DanceGroup'; + case 'DanceGroup': case 'MusicGroup': case 'TheaterGroup': return self::parseJsonLdWebPerson($siteinfo, $jsonld); @@ -823,7 +826,7 @@ class ParseUrl case 'ImageObject': return self::parseJsonLdMediaObject($siteinfo, $jsonld, 'images'); default: - Logger::info('Unknown type', ['type' => $type, 'url' => $siteinfo['url']]); + DI::logger()->info('Unknown type', ['type' => $type, 'url' => $siteinfo['url']]); return $siteinfo; } } @@ -907,7 +910,7 @@ class ParseUrl $jsonldinfo['author_name'] = trim($jsonld['author']); } - Logger::info('Fetched Author information', ['fetched' => $jsonldinfo]); + DI::logger()->info('Fetched Author information', ['fetched' => $jsonldinfo]); return array_merge($siteinfo, $jsonldinfo); } @@ -954,8 +957,7 @@ class ParseUrl $content = JsonLD::fetchElement($jsonld, 'keywords'); if (!empty($content)) { $siteinfo['keywords'] = []; - $keywords = explode(',', $content); - foreach ($keywords as $keyword) { + foreach (explode(',', $content) as $keyword) { $siteinfo['keywords'][] = trim($keyword); } } @@ -978,7 +980,7 @@ class ParseUrl $jsonldinfo = self::parseJsonLdAuthor($jsonldinfo, $jsonld); - Logger::info('Fetched article information', ['url' => $siteinfo['url'], 'fetched' => $jsonldinfo]); + DI::logger()->info('Fetched article information', ['url' => $siteinfo['url'], 'fetched' => $jsonldinfo]); return array_merge($siteinfo, $jsonldinfo); } @@ -1018,7 +1020,7 @@ class ParseUrl $jsonldinfo = self::parseJsonLdAuthor($jsonldinfo, $jsonld); - Logger::info('Fetched WebPage information', ['url' => $siteinfo['url'], 'fetched' => $jsonldinfo]); + DI::logger()->info('Fetched WebPage information', ['url' => $siteinfo['url'], 'fetched' => $jsonldinfo]); return array_merge($siteinfo, $jsonldinfo); } @@ -1058,7 +1060,7 @@ class ParseUrl $jsonldinfo = self::parseJsonLdAuthor($jsonldinfo, $jsonld); - Logger::info('Fetched WebSite information', ['url' => $siteinfo['url'], 'fetched' => $jsonldinfo]); + DI::logger()->info('Fetched WebSite information', ['url' => $siteinfo['url'], 'fetched' => $jsonldinfo]); return array_merge($siteinfo, $jsonldinfo); } @@ -1107,7 +1109,7 @@ class ParseUrl $jsonldinfo['publisher_url'] = Network::sanitizeUrl($content); } - Logger::info('Fetched Organization information', ['url' => $siteinfo['url'], 'fetched' => $jsonldinfo]); + DI::logger()->info('Fetched Organization information', ['url' => $siteinfo['url'], 'fetched' => $jsonldinfo]); return array_merge($siteinfo, $jsonldinfo); } @@ -1146,14 +1148,14 @@ class ParseUrl $content = JsonLD::fetchElement($jsonld, 'image', 'url', '@type', 'ImageObject'); if (!empty($content) && !is_string($content)) { - Logger::notice('Unexpected return value for the author image', ['content' => $content]); + DI::logger()->notice('Unexpected return value for the author image', ['content' => $content]); } if (!empty($content) && is_string($content)) { $jsonldinfo['author_img'] = trim($content); } - Logger::info('Fetched Person information', ['url' => $siteinfo['url'], 'fetched' => $jsonldinfo]); + DI::logger()->info('Fetched Person information', ['url' => $siteinfo['url'], 'fetched' => $jsonldinfo]); return array_merge($siteinfo, $jsonldinfo); } @@ -1229,7 +1231,7 @@ class ParseUrl } } - Logger::info('Fetched Media information', ['url' => $siteinfo['url'], 'fetched' => $media]); + DI::logger()->info('Fetched Media information', ['url' => $siteinfo['url'], 'fetched' => $media]); $siteinfo[$name][] = $media; return $siteinfo; } diff --git a/src/Util/Proxy.php b/src/Util/Proxy.php index 82e852b6e7..1e49f7bbf5 100644 --- a/src/Util/Proxy.php +++ b/src/Util/Proxy.php @@ -8,7 +8,6 @@ namespace Friendica\Util; use Friendica\Content\Text\BBCode; -use Friendica\Core\Logger; use Friendica\DI; use GuzzleHttp\Psr7\Uri; diff --git a/src/Util/Strings.php b/src/Util/Strings.php index fbf691879e..60bb83e0d5 100644 --- a/src/Util/Strings.php +++ b/src/Util/Strings.php @@ -8,7 +8,7 @@ namespace Friendica\Util; use Friendica\Content\ContactSelector; -use Friendica\Core\Logger; +use Friendica\DI; use ParagonIE\ConstantTime\Base64; /** @@ -498,7 +498,7 @@ class Strings ); if (is_null($return)) { - Logger::notice('Received null value from preg_replace_callback', ['text' => $text, 'regex' => $regex, 'blocks' => $blocks, 'executionId' => $executionId]); + DI::logger()->notice('Received null value from preg_replace_callback', ['text' => $text, 'regex' => $regex, 'blocks' => $blocks, 'executionId' => $executionId]); } $text = $callback($return ?? $text) ?? ''; diff --git a/src/Util/XML.php b/src/Util/XML.php index 52a1d9f3bf..8cf0e86b82 100644 --- a/src/Util/XML.php +++ b/src/Util/XML.php @@ -11,7 +11,7 @@ use DOMDocument; use DOMElement; use DOMNode; use DOMXPath; -use Friendica\Core\Logger; +use Friendica\DI; use SimpleXMLElement; /** @@ -256,7 +256,7 @@ class XML } if (!function_exists('xml_parser_create')) { - Logger::error('Xml::toArray: parser function missing'); + DI::logger()->error('Xml::toArray: parser function missing'); return []; } @@ -272,7 +272,7 @@ class XML } if (!$parser) { - Logger::warning('Xml::toArray: xml_parser_create: no resource'); + DI::logger()->warning('Xml::toArray: xml_parser_create: no resource'); return []; } @@ -284,9 +284,9 @@ class XML @xml_parser_free($parser); if (! $xml_values) { - Logger::debug('Xml::toArray: libxml: parse error: ' . $contents); + DI::logger()->debug('Xml::toArray: libxml: parse error: ' . $contents); foreach (libxml_get_errors() as $err) { - Logger::debug('libxml: parse: ' . $err->code . ' at ' . $err->line . ':' . $err->column . ' : ' . $err->message); + DI::logger()->debug('libxml: parse: ' . $err->code . ' at ' . $err->line . ':' . $err->column . ' : ' . $err->message); } libxml_clear_errors(); return []; @@ -436,11 +436,11 @@ class XML $x = @simplexml_load_string($s); if (!$x) { if (!$suppress_log) { - Logger::error('Error(s) while parsing XML string.'); + DI::logger()->error('Error(s) while parsing XML string.'); foreach (libxml_get_errors() as $err) { - Logger::info('libxml error', ['code' => $err->code, 'position' => $err->line . ':' . $err->column, 'message' => $err->message]); + DI::logger()->info('libxml error', ['code' => $err->code, 'position' => $err->line . ':' . $err->column, 'message' => $err->message]); } - Logger::debug('Erroring XML string', ['xml' => $s]); + DI::logger()->debug('Erroring XML string', ['xml' => $s]); } libxml_clear_errors(); } diff --git a/src/Worker/APDelivery.php b/src/Worker/APDelivery.php index a3966de8c4..2d1df8cca4 100644 --- a/src/Worker/APDelivery.php +++ b/src/Worker/APDelivery.php @@ -7,8 +7,8 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\Worker; +use Friendica\DI; use Friendica\Model\Post; use Friendica\Model\User; use Friendica\Protocol\ActivityPub; @@ -29,7 +29,7 @@ class APDelivery public static function execute(string $cmd, int $item_id, string $inbox, int $uid, array $receivers = [], int $uri_id = 0) { if (ActivityPub\Transmitter::archivedInbox($inbox)) { - Logger::info('Inbox is archived', ['cmd' => $cmd, 'inbox' => $inbox, 'id' => $item_id, 'uri-id' => $uri_id, 'uid' => $uid]); + DI::logger()->info('Inbox is archived', ['cmd' => $cmd, 'inbox' => $inbox, 'id' => $item_id, 'uri-id' => $uri_id, 'uid' => $uid]); if (empty($uri_id) && !empty($item_id)) { $item = Post::selectFirst(['uri-id'], ['id' => $item_id]); $uri_id = $item['uri-id'] ?? 0; @@ -48,7 +48,7 @@ class APDelivery return; } - Logger::debug('Invoked', ['cmd' => $cmd, 'inbox' => $inbox, 'id' => $item_id, 'uri-id' => $uri_id, 'uid' => $uid]); + DI::logger()->debug('Invoked', ['cmd' => $cmd, 'inbox' => $inbox, 'id' => $item_id, 'uri-id' => $uri_id, 'uid' => $uid]); if (empty($uri_id)) { $result = ActivityPub\Delivery::deliver($inbox); diff --git a/src/Worker/BulkDelivery.php b/src/Worker/BulkDelivery.php index 269a04fa58..3d42424a82 100644 --- a/src/Worker/BulkDelivery.php +++ b/src/Worker/BulkDelivery.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\DI; use Friendica\Model\GServer; @@ -24,7 +23,7 @@ class BulkDelivery foreach ($deliveryQueueItems as $deliveryQueueItem) { if (!$server_failure && ProtocolDelivery::deliver($deliveryQueueItem->command, $deliveryQueueItem->postUriId, $deliveryQueueItem->targetContactId, $deliveryQueueItem->senderUserId)) { DI::deliveryQueueItemRepo()->remove($deliveryQueueItem); - Logger::debug('Delivery successful', $deliveryQueueItem->toArray()); + DI::logger()->debug('Delivery successful', $deliveryQueueItem->toArray()); } else { DI::deliveryQueueItemRepo()->incrementFailed($deliveryQueueItem); $delivery_failure = true; @@ -32,7 +31,7 @@ class BulkDelivery if (!$server_failure) { $server_failure = !GServer::isReachableById($gsid); } - Logger::debug('Delivery failed', ['server_failure' => $server_failure, 'post' => $deliveryQueueItem]); + DI::logger()->debug('Delivery failed', ['server_failure' => $server_failure, 'post' => $deliveryQueueItem]); } } diff --git a/src/Worker/CheckRelMeProfileLink.php b/src/Worker/CheckRelMeProfileLink.php index 0aeaf49c2c..3b0f1800e3 100644 --- a/src/Worker/CheckRelMeProfileLink.php +++ b/src/Worker/CheckRelMeProfileLink.php @@ -9,7 +9,6 @@ namespace Friendica\Worker; use DOMDocument; use Friendica\Content\Text\HTML; -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Model\Profile; use Friendica\Model\User; @@ -41,12 +40,12 @@ class CheckRelMeProfileLink */ public static function execute(int $uid) { - Logger::notice('Verifying the homepage', ['uid' => $uid]); + DI::logger()->notice('Verifying the homepage', ['uid' => $uid]); Profile::update(['homepage_verified' => false], $uid); $owner = User::getOwnerDataById($uid); if (empty($owner['homepage'])) { - Logger::notice('The user has no homepage link.', ['uid' => $uid]); + DI::logger()->notice('The user has no homepage link.', ['uid' => $uid]); return; } @@ -54,31 +53,31 @@ class CheckRelMeProfileLink try { $curlResult = DI::httpClient()->get($owner['homepage'], HttpClientAccept::HTML, [HttpClientOptions::TIMEOUT => $xrd_timeout, HttpClientOptions::REQUEST => HttpClientRequest::CONTACTVERIFIER]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return; } if (!$curlResult->isSuccess()) { - Logger::notice('Could not cURL the homepage URL', ['owner homepage' => $owner['homepage']]); + DI::logger()->notice('Could not cURL the homepage URL', ['owner homepage' => $owner['homepage']]); return; } $content = $curlResult->getBodyString(); if (!$content) { - Logger::notice('Empty body of the fetched homepage link). Cannot verify the relation to profile of UID %s.', ['uid' => $uid, 'owner homepage' => $owner['homepage']]); + DI::logger()->notice('Empty body of the fetched homepage link). Cannot verify the relation to profile of UID %s.', ['uid' => $uid, 'owner homepage' => $owner['homepage']]); return; } $doc = new DOMDocument(); if (!@$doc->loadHTML($content)) { - Logger::notice('Could not parse the content'); + DI::logger()->notice('Could not parse the content'); return; } if (HTML::checkRelMeLink($doc, new Uri($owner['url']))) { Profile::update(['homepage_verified' => true], $uid); - Logger::notice('Homepage URL verified', ['uid' => $uid, 'owner homepage' => $owner['homepage']]); + DI::logger()->notice('Homepage URL verified', ['uid' => $uid, 'owner homepage' => $owner['homepage']]); } else { - Logger::notice('Homepage URL could not be verified', ['uid' => $uid, 'owner homepage' => $owner['homepage']]); + DI::logger()->notice('Homepage URL could not be verified', ['uid' => $uid, 'owner homepage' => $owner['homepage']]); } } } diff --git a/src/Worker/CheckVersion.php b/src/Worker/CheckVersion.php index c62cc5f182..2a8f7264ae 100644 --- a/src/Worker/CheckVersion.php +++ b/src/Worker/CheckVersion.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Network\HTTPClient\Client\HttpClientAccept; @@ -22,7 +21,7 @@ class CheckVersion { public static function execute() { - Logger::notice('checkversion: start'); + DI::logger()->notice('checkversion: start'); $checkurl = DI::config()->get('system', 'check_new_version_url', 'none'); @@ -38,15 +37,15 @@ class CheckVersion // don't check return; } - Logger::info("Checking VERSION from: ".$checked_url); + DI::logger()->info("Checking VERSION from: ".$checked_url); // fetch the VERSION file $gitversion = DBA::escape(trim(DI::httpClient()->fetch($checked_url, HttpClientAccept::TEXT))); - Logger::notice("Upstream VERSION is: ".$gitversion); + DI::logger()->notice("Upstream VERSION is: ".$gitversion); DI::keyValue()->set('git_friendica_version', $gitversion); - Logger::notice('checkversion: end'); + DI::logger()->notice('checkversion: end'); return; } diff --git a/src/Worker/Contact/Remove.php b/src/Worker/Contact/Remove.php index 870edbb502..d9c4c96a41 100644 --- a/src/Worker/Contact/Remove.php +++ b/src/Worker/Contact/Remove.php @@ -7,8 +7,8 @@ namespace Friendica\Worker\Contact; -use Friendica\Core\Logger; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\Contact; /** @@ -29,7 +29,7 @@ class Remove extends RemoveContent } $ret = Contact::deleteById($id); - Logger::info('Deleted contact', ['id' => $id, 'result' => $ret]); + DI::logger()->info('Deleted contact', ['id' => $id, 'result' => $ret]); return true; } diff --git a/src/Worker/Contact/RemoveContent.php b/src/Worker/Contact/RemoveContent.php index 5aea6f8e63..762ff7a6d4 100644 --- a/src/Worker/Contact/RemoveContent.php +++ b/src/Worker/Contact/RemoveContent.php @@ -7,7 +7,6 @@ namespace Friendica\Worker\Contact; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\Database\DBStructure; use Friendica\DI; @@ -25,7 +24,7 @@ class RemoveContent return false; } - Logger::info('Start deleting contact content', ['cid' => $id]); + DI::logger()->info('Start deleting contact content', ['cid' => $id]); // Now we delete the contact and all depending tables DBA::delete('post-tag', ['cid' => $id]); diff --git a/src/Worker/Cron.php b/src/Worker/Cron.php index c10a548559..3438b9e55a 100644 --- a/src/Worker/Cron.php +++ b/src/Worker/Cron.php @@ -9,7 +9,6 @@ namespace Friendica\Worker; use Friendica\Core\Addon; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\DI; @@ -30,12 +29,12 @@ class Cron if ($last) { $next = $last + ($poll_interval * 60); if ($next > time()) { - Logger::notice('cron interval not reached'); + DI::logger()->notice('cron interval not reached'); return; } } - Logger::notice('start'); + DI::logger()->notice('start'); // Ensure to have a .htaccess file. // this is a precaution for systems that update automatically @@ -151,7 +150,7 @@ class Cron DI::keyValue()->set('last_cron_daily', time()); } - Logger::notice('end'); + DI::logger()->notice('end'); DI::keyValue()->set('last_cron', time()); } @@ -163,7 +162,7 @@ class Cron */ private static function deleteSleepingProcesses() { - Logger::info('Looking for sleeping processes'); + DI::logger()->info('Looking for sleeping processes'); DBA::deleteSleepingProcesses(); } diff --git a/src/Worker/DelayedPublish.php b/src/Worker/DelayedPublish.php index a484ddbc6a..8020a042d4 100644 --- a/src/Worker/DelayedPublish.php +++ b/src/Worker/DelayedPublish.php @@ -7,7 +7,7 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; +use Friendica\DI; use Friendica\Model\Post; class DelayedPublish @@ -26,6 +26,6 @@ class DelayedPublish public static function execute(array $item, int $notify = 0, array $taglist = [], array $attachments = [], int $preparation_mode = Post\Delayed::PREPARED, string $uri = '') { $id = Post\Delayed::publish($item, $notify, $taglist, $attachments, $preparation_mode, $uri); - Logger::notice('Post published', ['id' => $id, 'uid' => $item['uid'], 'notify' => $notify, 'unprepared' => $preparation_mode]); + DI::logger()->notice('Post published', ['id' => $id, 'uid' => $item['uid'], 'notify' => $notify, 'unprepared' => $preparation_mode]); } } diff --git a/src/Worker/Directory.php b/src/Worker/Directory.php index b5025d7710..e9a9102277 100644 --- a/src/Worker/Directory.php +++ b/src/Worker/Directory.php @@ -8,7 +8,6 @@ namespace Friendica\Worker; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Search; use Friendica\Core\Worker; use Friendica\Database\DBA; @@ -40,7 +39,7 @@ class Directory Hook::callAll('globaldir_update', $arr); - Logger::info('Updating directory: ' . $arr['url']); + DI::logger()->info('Updating directory: ' . $arr['url']); if (strlen($arr['url'])) { DI::httpClient()->fetch($dir . '?url=' . bin2hex($arr['url']), HttpClientAccept::HTML, 0, '', HttpClientRequest::CONTACTDISCOVER); } diff --git a/src/Worker/Expire.php b/src/Worker/Expire.php index baaef454ff..77a37e4b5f 100644 --- a/src/Worker/Expire.php +++ b/src/Worker/Expire.php @@ -8,7 +8,6 @@ namespace Friendica\Worker; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\DI; @@ -28,39 +27,39 @@ class Expire if (intval($param) > 0) { $user = DBA::selectFirst('user', ['uid', 'username', 'expire'], ['uid' => $param]); if (DBA::isResult($user)) { - Logger::info('Expire items', ['user' => $user['uid'], 'username' => $user['username'], 'interval' => $user['expire']]); + DI::logger()->info('Expire items', ['user' => $user['uid'], 'username' => $user['username'], 'interval' => $user['expire']]); $expired = Item::expire($user['uid'], $user['expire']); - Logger::info('Expire items done', ['user' => $user['uid'], 'username' => $user['username'], 'interval' => $user['expire'], 'expired' => $expired]); + DI::logger()->info('Expire items done', ['user' => $user['uid'], 'username' => $user['username'], 'interval' => $user['expire'], 'expired' => $expired]); } return; } elseif ($param == 'hook' && !empty($hook_function)) { foreach (Hook::getByName('expire') as $hook) { if ($hook[1] == $hook_function) { - Logger::info('Calling expire hook', ['hook' => $hook[1]]); + DI::logger()->info('Calling expire hook', ['hook' => $hook[1]]); Hook::callSingle('expire', $hook, $data); } } return; } - Logger::notice('start expiry'); + DI::logger()->notice('start expiry'); $r = DBA::select('user', ['uid', 'username'], ["`expire` != ?", 0]); while ($row = DBA::fetch($r)) { - Logger::info('Calling expiry', ['user' => $row['uid'], 'username' => $row['username']]); + DI::logger()->info('Calling expiry', ['user' => $row['uid'], 'username' => $row['username']]); Worker::add(['priority' => $appHelper->getQueueValue('priority'), 'created' => $appHelper->getQueueValue('created'), 'dont_fork' => true], 'Expire', (int)$row['uid']); } DBA::close($r); - Logger::notice('calling hooks'); + DI::logger()->notice('calling hooks'); foreach (Hook::getByName('expire') as $hook) { - Logger::info('Calling expire', ['hook' => $hook[1]]); + DI::logger()->info('Calling expire', ['hook' => $hook[1]]); Worker::add(['priority' => $appHelper->getQueueValue('priority'), 'created' => $appHelper->getQueueValue('created'), 'dont_fork' => true], 'Expire', 'hook', $hook[1]); } - Logger::notice('calling hooks done'); + DI::logger()->notice('calling hooks done'); return; } diff --git a/src/Worker/ExpireAndRemoveUsers.php b/src/Worker/ExpireAndRemoveUsers.php index 0679f9fdab..816475e8ee 100644 --- a/src/Worker/ExpireAndRemoveUsers.php +++ b/src/Worker/ExpireAndRemoveUsers.php @@ -7,9 +7,9 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\Database\DBStructure; +use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\Photo; use Friendica\Model\User; @@ -45,21 +45,21 @@ class ExpireAndRemoveUsers while ($user = DBA::fetch($users)) { $pcid = Contact::getPublicIdByUserId($user['uid']); - Logger::info('Removing user - start', ['uid' => $user['uid'], 'pcid' => $pcid]); + DI::logger()->info('Removing user - start', ['uid' => $user['uid'], 'pcid' => $pcid]); // We have to delete photo entries by hand because otherwise the photo data won't be deleted $result = Photo::delete(['uid' => $user['uid']]); if ($result) { - Logger::debug('Deleted user photos', ['result' => $result, 'rows' => DBA::affectedRows()]); + DI::logger()->debug('Deleted user photos', ['result' => $result, 'rows' => DBA::affectedRows()]); } else { - Logger::warning('Error deleting user photos', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); + DI::logger()->warning('Error deleting user photos', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); } if (!empty($pcid)) { $result = DBA::delete('post-tag', ['cid' => $pcid]); if ($result) { - Logger::debug('Deleted post-tag entries', ['result' => $result, 'rows' => DBA::affectedRows()]); + DI::logger()->debug('Deleted post-tag entries', ['result' => $result, 'rows' => DBA::affectedRows()]); } else { - Logger::warning('Error deleting post-tag entries', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); + DI::logger()->warning('Error deleting post-tag entries', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); } $tables = ['post', 'post-user', 'post-thread', 'post-thread-user']; @@ -73,9 +73,9 @@ class ExpireAndRemoveUsers foreach (['owner-id', 'author-id', 'causer-id'] as $field) { $result = DBA::delete($table, [$field => $pcid]); if ($result) { - Logger::debug('Deleted entries', ['table' => $table, 'field' => $field, 'result' => $result, 'rows' => DBA::affectedRows()]); + DI::logger()->debug('Deleted entries', ['table' => $table, 'field' => $field, 'result' => $result, 'rows' => DBA::affectedRows()]); } else { - Logger::warning('Error deleting entries', ['table' => $table, 'field' => $field, 'errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); + DI::logger()->warning('Error deleting entries', ['table' => $table, 'field' => $field, 'errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); } } } @@ -86,18 +86,18 @@ class ExpireAndRemoveUsers if (DBA::isResult($self)) { $result = DBA::delete('contact', ['nurl' => $self['nurl'], 'self' => false]); if ($result) { - Logger::debug('Deleted the user contact for other users', ['result' => $result, 'rows' => DBA::affectedRows()]); + DI::logger()->debug('Deleted the user contact for other users', ['result' => $result, 'rows' => DBA::affectedRows()]); } else { - Logger::warning('Error deleting the user contact for other users', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); + DI::logger()->warning('Error deleting the user contact for other users', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); } } // Delete all contacts of this user $result = DBA::delete('contact', ['uid' => $user['uid']]); if ($result) { - Logger::debug('Deleted user contacts', ['result' => $result, 'rows' => DBA::affectedRows()]); + DI::logger()->debug('Deleted user contacts', ['result' => $result, 'rows' => DBA::affectedRows()]); } else { - Logger::warning('Error deleting user contacts', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); + DI::logger()->warning('Error deleting user contacts', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); } // These tables contain the permissionset which will also be deleted when a user is deleted. @@ -107,33 +107,33 @@ class ExpireAndRemoveUsers if (DBStructure::existsTable('item')) { $result = DBA::delete('item', ['uid' => $user['uid']]); if ($result) { - Logger::debug('Deleted user items', ['result' => $result, 'rows' => DBA::affectedRows()]); + DI::logger()->debug('Deleted user items', ['result' => $result, 'rows' => DBA::affectedRows()]); } else { - Logger::warning('Error deleting user items', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); + DI::logger()->warning('Error deleting user items', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); } } $result = DBA::delete('post-user', ['uid' => $user['uid']]); if ($result) { - Logger::debug('Deleted post-user entries', ['result' => $result, 'rows' => DBA::affectedRows()]); + DI::logger()->debug('Deleted post-user entries', ['result' => $result, 'rows' => DBA::affectedRows()]); } else { - Logger::warning('Error deleting post-user entries', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); + DI::logger()->warning('Error deleting post-user entries', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); } $result = DBA::delete('profile_field', ['uid' => $user['uid']]); if ($result) { - Logger::debug('Deleted profile_field entries', ['result' => $result, 'rows' => DBA::affectedRows()]); + DI::logger()->debug('Deleted profile_field entries', ['result' => $result, 'rows' => DBA::affectedRows()]); } else { - Logger::warning('Error deleting profile_field entries', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); + DI::logger()->warning('Error deleting profile_field entries', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); } $result = DBA::delete('user', ['uid' => $user['uid']]); if ($result) { - Logger::debug('Deleted user record', ['result' => $result, 'rows' => DBA::affectedRows()]); + DI::logger()->debug('Deleted user record', ['result' => $result, 'rows' => DBA::affectedRows()]); } else { - Logger::warning('Error deleting user record', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); + DI::logger()->warning('Error deleting user record', ['errno' => DBA::errorNo(), 'errmsg' => DBA::errorMessage()]); } - Logger::info('Removing user - done', ['uid' => $user['uid']]); + DI::logger()->info('Removing user - done', ['uid' => $user['uid']]); } DBA::close($users); } diff --git a/src/Worker/ExpirePosts.php b/src/Worker/ExpirePosts.php index 74a11687e8..e1c8fe1685 100644 --- a/src/Worker/ExpirePosts.php +++ b/src/Worker/ExpirePosts.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\Database; use Friendica\Database\DBA; @@ -27,36 +26,36 @@ class ExpirePosts */ public static function execute() { - Logger::notice('Expire posts - start'); + DI::logger()->notice('Expire posts - start'); if (!DBA::acquireOptimizeLock()) { - Logger::warning('Lock could not be acquired'); + DI::logger()->warning('Lock could not be acquired'); Worker::defer(); return; } - Logger::notice('Expire posts - Delete expired origin posts'); + DI::logger()->notice('Expire posts - Delete expired origin posts'); self::deleteExpiredOriginPosts(); - Logger::notice('Expire posts - Delete orphaned entries'); + DI::logger()->notice('Expire posts - Delete orphaned entries'); self::deleteOrphanedEntries(); - Logger::notice('Expire posts - delete external posts'); + DI::logger()->notice('Expire posts - delete external posts'); self::deleteExpiredExternalPosts(); if (DI::config()->get('system', 'add_missing_posts')) { - Logger::notice('Expire posts - add missing posts'); + DI::logger()->notice('Expire posts - add missing posts'); self::addMissingEntries(); } - Logger::notice('Expire posts - delete unused attachments'); + DI::logger()->notice('Expire posts - delete unused attachments'); self::deleteUnusedAttachments(); - Logger::notice('Expire posts - delete unused item-uri entries'); + DI::logger()->notice('Expire posts - delete unused item-uri entries'); self::deleteUnusedItemUri(); DBA::releaseOptimizeLock(); - Logger::notice('Expire posts - done'); + DI::logger()->notice('Expire posts - done'); } /** @@ -71,7 +70,7 @@ class ExpirePosts return; } - Logger::notice('Delete expired posts'); + DI::logger()->notice('Delete expired posts'); // physically remove anything that has been deleted for more than two months $condition = ["`gravity` = ? AND `deleted` AND `edited` < ?", Item::GRAVITY_PARENT, DateTimeFormat::utc('now - 60 days')]; $pass = 0; @@ -80,7 +79,7 @@ class ExpirePosts $rows = DBA::select('post-user', ['uri-id', 'uid'], $condition, ['limit' => $limit]); $affected_count = 0; while ($row = Post::fetch($rows)) { - Logger::info('Delete expired item', ['pass' => $pass, 'uri-id' => $row['uri-id']]); + DI::logger()->info('Delete expired item', ['pass' => $pass, 'uri-id' => $row['uri-id']]); Post\User::delete(['parent-uri-id' => $row['uri-id'], 'uid' => $row['uid']]); $affected_count += DBA::affectedRows(); Post\Origin::delete(['parent-uri-id' => $row['uri-id'], 'uid' => $row['uid']]); @@ -88,7 +87,7 @@ class ExpirePosts } DBA::close($rows); DBA::commit(); - Logger::notice('Delete expired posts - done', ['pass' => $pass, 'rows' => $affected_count]); + DI::logger()->notice('Delete expired posts - done', ['pass' => $pass, 'rows' => $affected_count]); } while ($affected_count); } @@ -99,7 +98,7 @@ class ExpirePosts */ private static function deleteOrphanedEntries() { - Logger::notice('Delete orphaned entries'); + DI::logger()->notice('Delete orphaned entries'); // "post-user" is the leading table. So we delete every entry that isn't found there $tables = ['item', 'post', 'post-content', 'post-thread', 'post-thread-user']; @@ -108,10 +107,10 @@ class ExpirePosts continue; } - Logger::notice('Start collecting orphaned entries', ['table' => $table]); + DI::logger()->notice('Start collecting orphaned entries', ['table' => $table]); $uris = DBA::select($table, ['uri-id'], ["NOT `uri-id` IN (SELECT `uri-id` FROM `post-user`)"]); $affected_count = 0; - Logger::notice('Deleting orphaned entries - start', ['table' => $table]); + DI::logger()->notice('Deleting orphaned entries - start', ['table' => $table]); while ($rows = DBA::toArray($uris, false, 100)) { $ids = array_column($rows, 'uri-id'); DBA::delete($table, ['uri-id' => $ids]); @@ -119,9 +118,9 @@ class ExpirePosts } DBA::close($uris); DBA::commit(); - Logger::notice('Orphaned entries deleted', ['table' => $table, 'rows' => $affected_count]); + DI::logger()->notice('Orphaned entries deleted', ['table' => $table, 'rows' => $affected_count]); } - Logger::notice('Delete orphaned entries - done'); + DI::logger()->notice('Delete orphaned entries - done'); } /** @@ -131,7 +130,7 @@ class ExpirePosts */ private static function addMissingEntries() { - Logger::notice('Adding missing entries'); + DI::logger()->notice('Adding missing entries'); $rows = 0; $userposts = DBA::select('post-user', [], ["`uri-id` not in (select `uri-id` from `post`)"]); @@ -142,9 +141,9 @@ class ExpirePosts } DBA::close($userposts); if ($rows > 0) { - Logger::notice('Added post entries', ['rows' => $rows]); + DI::logger()->notice('Added post entries', ['rows' => $rows]); } else { - Logger::notice('No post entries added'); + DI::logger()->notice('No post entries added'); } $rows = 0; @@ -157,9 +156,9 @@ class ExpirePosts } DBA::close($userposts); if ($rows > 0) { - Logger::notice('Added post-thread entries', ['rows' => $rows]); + DI::logger()->notice('Added post-thread entries', ['rows' => $rows]); } else { - Logger::notice('No post-thread entries added'); + DI::logger()->notice('No post-thread entries added'); } $rows = 0; @@ -172,9 +171,9 @@ class ExpirePosts } DBA::close($userposts); if ($rows > 0) { - Logger::notice('Added post-thread-user entries', ['rows' => $rows]); + DI::logger()->notice('Added post-thread-user entries', ['rows' => $rows]); } else { - Logger::notice('No post-thread-user entries added'); + DI::logger()->notice('No post-thread-user entries added'); } } @@ -196,10 +195,10 @@ class ExpirePosts ['order' => ['received' => true]] ); if (empty($item['uri-id'])) { - Logger::warning('No item with uri-id found - we better quit here'); + DI::logger()->warning('No item with uri-id found - we better quit here'); return; } - Logger::notice('Start collecting orphaned URI-ID', ['last-id' => $item['uri-id']]); + DI::logger()->notice('Start collecting orphaned URI-ID', ['last-id' => $item['uri-id']]); $condition = [ "`id` < ? AND NOT EXISTS(SELECT `uri-id` FROM `post-user` WHERE `uri-id` = `item-uri`.`id`) @@ -226,17 +225,17 @@ class ExpirePosts ++$pass; $uris = DBA::select('item-uri', ['id'], $condition, ['limit' => $limit]); $total = DBA::numRows($uris); - Logger::notice('Start deleting orphaned URI-ID', ['pass' => $pass, 'last-id' => $item['uri-id']]); + DI::logger()->notice('Start deleting orphaned URI-ID', ['pass' => $pass, 'last-id' => $item['uri-id']]); $affected_count = 0; while ($rows = DBA::toArray($uris, false, 100)) { $ids = array_column($rows, 'id'); DBA::delete('item-uri', ['id' => $ids]); $affected_count += DBA::affectedRows(); - Logger::debug('Deleted', ['pass' => $pass, 'affected_count' => $affected_count, 'total' => $total]); + DI::logger()->debug('Deleted', ['pass' => $pass, 'affected_count' => $affected_count, 'total' => $total]); } DBA::close($uris); DBA::commit(); - Logger::notice('Orphaned URI-ID entries removed', ['pass' => $pass, 'rows' => $affected_count]); + DI::logger()->notice('Orphaned URI-ID entries removed', ['pass' => $pass, 'rows' => $affected_count]); } while ($affected_count); } @@ -257,7 +256,7 @@ class ExpirePosts } if (!empty($expire_days)) { - Logger::notice('Start collecting expired threads', ['expiry_days' => $expire_days]); + DI::logger()->notice('Start collecting expired threads', ['expiry_days' => $expire_days]); $condition = [ "`received` < ? AND NOT `uri-id` IN (SELECT `uri-id` FROM `post-thread-user` @@ -281,7 +280,7 @@ class ExpirePosts ++$pass; $uris = DBA::select('post-thread', ['uri-id'], $condition, ['limit' => $limit]); - Logger::notice('Start deleting expired threads', ['pass' => $pass]); + DI::logger()->notice('Start deleting expired threads', ['pass' => $pass]); $affected_count = 0; while ($rows = DBA::toArray($uris, false, 100)) { $ids = array_column($rows, 'uri-id'); @@ -290,12 +289,12 @@ class ExpirePosts } DBA::close($uris); DBA::commit(); - Logger::notice('Deleted expired threads', ['pass' => $pass, 'rows' => $affected_count]); + DI::logger()->notice('Deleted expired threads', ['pass' => $pass, 'rows' => $affected_count]); } while ($affected_count); } if (!empty($expire_days_unclaimed)) { - Logger::notice('Start collecting unclaimed public items', ['expiry_days' => $expire_days_unclaimed]); + DI::logger()->notice('Start collecting unclaimed public items', ['expiry_days' => $expire_days_unclaimed]); $condition = [ "`gravity` = ? AND `uid` = ? AND `received` < ? AND NOT `uri-id` IN (SELECT `parent-uri-id` FROM `post-user` AS `i` WHERE `i`.`uid` != ? @@ -309,17 +308,17 @@ class ExpirePosts ++$pass; $uris = DBA::select('post-user', ['uri-id'], $condition, ['limit' => $limit]); $total = DBA::numRows($uris); - Logger::notice('Start deleting unclaimed public items', ['pass' => $pass]); + DI::logger()->notice('Start deleting unclaimed public items', ['pass' => $pass]); $affected_count = 0; while ($rows = DBA::toArray($uris, false, 100)) { $ids = array_column($rows, 'uri-id'); DBA::delete('item-uri', ['id' => $ids]); $affected_count += DBA::affectedRows(); - Logger::debug('Deleted', ['pass' => $pass, 'affected_count' => $affected_count, 'total' => $total]); + DI::logger()->debug('Deleted', ['pass' => $pass, 'affected_count' => $affected_count, 'total' => $total]); } DBA::close($uris); DBA::commit(); - Logger::notice('Deleted unclaimed public items', ['pass' => $pass, 'rows' => $affected_count]); + DI::logger()->notice('Deleted unclaimed public items', ['pass' => $pass, 'rows' => $affected_count]); } while ($affected_count); } } diff --git a/src/Worker/FetchFeaturedPosts.php b/src/Worker/FetchFeaturedPosts.php index de8bc96b9a..be314decb7 100644 --- a/src/Worker/FetchFeaturedPosts.php +++ b/src/Worker/FetchFeaturedPosts.php @@ -7,7 +7,7 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; +use Friendica\DI; use Friendica\Protocol\ActivityPub; class FetchFeaturedPosts @@ -18,8 +18,8 @@ class FetchFeaturedPosts */ public static function execute(string $url) { - Logger::info('Start fetching featured posts', ['url' => $url]); + DI::logger()->info('Start fetching featured posts', ['url' => $url]); ActivityPub\Processor::fetchFeaturedPosts($url); - Logger::info('Finished fetching featured posts', ['url' => $url]); + DI::logger()->info('Finished fetching featured posts', ['url' => $url]); } } diff --git a/src/Worker/FetchMissingActivity.php b/src/Worker/FetchMissingActivity.php index 5b6e8ffd03..4cbc47976d 100644 --- a/src/Worker/FetchMissingActivity.php +++ b/src/Worker/FetchMissingActivity.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\DI; use Friendica\Protocol\ActivityPub; @@ -26,18 +25,18 @@ class FetchMissingActivity */ public static function execute(string $url, array $child = [], string $relay_actor = '', int $completion = Receiver::COMPLETION_MANUAL) { - Logger::info('Start fetching missing activity', ['url' => $url]); + DI::logger()->info('Start fetching missing activity', ['url' => $url]); if (ActivityPub\Processor::alreadyKnown($url, $child['id'] ?? '')) { - Logger::info('Activity is already known.', ['url' => $url]); + DI::logger()->info('Activity is already known.', ['url' => $url]); return; } $result = ActivityPub\Processor::fetchMissingActivity($url, $child, $relay_actor, $completion); if ($result) { - Logger::info('Successfully fetched missing activity', ['url' => $url]); + DI::logger()->info('Successfully fetched missing activity', ['url' => $url]); } elseif (is_null($result)) { - Logger::info('Permament error, activity could not be fetched', ['url' => $url]); + DI::logger()->info('Permament error, activity could not be fetched', ['url' => $url]); } elseif (!Worker::defer(self::WORKER_DEFER_LIMIT)) { - Logger::info('Defer limit reached, activity could not be fetched', ['url' => $url]); + DI::logger()->info('Defer limit reached, activity could not be fetched', ['url' => $url]); // recursively delete all entries that belong to this worker task $queue = DI::appHelper()->getQueue(); @@ -45,7 +44,7 @@ class FetchMissingActivity Queue::deleteByWorkerId($queue['id']); } } else { - Logger::info('Fetching deferred', ['url' => $url]); + DI::logger()->info('Fetching deferred', ['url' => $url]); } } } diff --git a/src/Worker/MergeContact.php b/src/Worker/MergeContact.php index 5c32f80fec..cdb464211b 100644 --- a/src/Worker/MergeContact.php +++ b/src/Worker/MergeContact.php @@ -7,9 +7,9 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\Database\DBStructure; +use Friendica\DI; use Friendica\Model\Contact; class MergeContact @@ -28,7 +28,7 @@ class MergeContact return; } - Logger::info('Handling duplicate', ['search' => $old_cid, 'replace' => $new_cid]); + DI::logger()->info('Handling duplicate', ['search' => $old_cid, 'replace' => $new_cid]); foreach (['item', 'thread', 'post-user', 'post-thread-user'] as $table) { if (DBStructure::existsTable($table)) { diff --git a/src/Worker/NodeInfo.php b/src/Worker/NodeInfo.php index 89fca9a1b3..363d2ce1f9 100644 --- a/src/Worker/NodeInfo.php +++ b/src/Worker/NodeInfo.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Model\Nodeinfo as ModelNodeInfo; use Friendica\Network\HTTPClient\Client\HttpClientAccept; @@ -16,13 +15,13 @@ class NodeInfo { public static function execute() { - Logger::info('start'); + DI::logger()->info('start'); ModelNodeInfo::update(); // Now trying to register $url = 'http://the-federation.info/register/' . DI::baseUrl()->getHost(); - Logger::debug('Check registering url', ['url' => $url]); + DI::logger()->debug('Check registering url', ['url' => $url]); $ret = DI::httpClient()->fetch($url, HttpClientAccept::HTML); - Logger::debug('Check registering answer', ['answer' => $ret]); - Logger::info('end'); + DI::logger()->debug('Check registering answer', ['answer' => $ret]); + DI::logger()->info('end'); } } diff --git a/src/Worker/Notifier.php b/src/Worker/Notifier.php index 35e206bf38..eccb0bb602 100644 --- a/src/Worker/Notifier.php +++ b/src/Worker/Notifier.php @@ -9,7 +9,6 @@ namespace Friendica\Worker; use Exception; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Worker; use Friendica\Database\DBA; @@ -46,7 +45,7 @@ class Notifier { $appHelper = DI::appHelper(); - Logger::info('Invoked', ['cmd' => $cmd, 'target' => $post_uriid, 'sender_uid' => $sender_uid]); + DI::logger()->info('Invoked', ['cmd' => $cmd, 'target' => $post_uriid, 'sender_uid' => $sender_uid]); $target_id = $post_uriid; $recipients = []; @@ -70,7 +69,7 @@ class Notifier $inboxes = ActivityPub\Transmitter::fetchTargetInboxesFromMail($target_id); foreach ($inboxes as $inbox => $receivers) { $ap_contacts = array_merge($ap_contacts, $receivers); - Logger::info('Delivery via ActivityPub', ['cmd' => $cmd, 'target' => $target_id, 'inbox' => $inbox]); + DI::logger()->info('Delivery via ActivityPub', ['cmd' => $cmd, 'target' => $target_id, 'inbox' => $inbox]); Worker::add(['priority' => Worker::PRIORITY_HIGH, 'created' => $appHelper->getQueueValue('created'), 'dont_fork' => true], 'APDelivery', $cmd, $target_id, $inbox, $uid, $receivers, $post_uriid); } @@ -88,7 +87,7 @@ class Notifier } else { $post = Post::selectFirst(['id'], ['uri-id' => $post_uriid, 'uid' => $sender_uid]); if (!DBA::isResult($post)) { - Logger::warning('Post not found', ['uri-id' => $post_uriid, 'uid' => $sender_uid]); + DI::logger()->warning('Post not found', ['uri-id' => $post_uriid, 'uid' => $sender_uid]); return; } $target_id = $post['id']; @@ -99,7 +98,7 @@ class Notifier $target_item = Post\Media::addHTMLAttachmentToItem($target_item); if (!DBA::isResult($target_item) || !intval($target_item['parent'])) { - Logger::info('No target item', ['cmd' => $cmd, 'target' => $target_id]); + DI::logger()->info('No target item', ['cmd' => $cmd, 'target' => $target_id]); return; } @@ -108,7 +107,7 @@ class Notifier } elseif (!empty($target_item['uid'])) { $uid = $target_item['uid']; } else { - Logger::info('Only public users, quitting', ['target' => $target_id]); + DI::logger()->info('Only public users, quitting', ['target' => $target_id]); return; } @@ -116,7 +115,7 @@ class Notifier $params = ['order' => ['id']]; $items_stmt = Post::select(Item::DELIVER_FIELDLIST, $condition, $params); if (!DBA::isResult($items_stmt)) { - Logger::info('No item found', ['cmd' => $cmd, 'target' => $target_id]); + DI::logger()->info('No item found', ['cmd' => $cmd, 'target' => $target_id]); return; } @@ -132,7 +131,7 @@ class Notifier $owner = User::getOwnerDataById($uid); if (!$owner) { - Logger::info('Owner not found', ['cmd' => $cmd, 'target' => $target_id]); + DI::logger()->info('Owner not found', ['cmd' => $cmd, 'target' => $target_id]); return; } @@ -159,7 +158,7 @@ class Notifier $thr_parent = $parent; } - Logger::info('Got post', ['guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'network' => $target_item['network'], 'parent-network' => $parent['network'], 'thread-parent-network' => $thr_parent['network']]); + DI::logger()->info('Got post', ['guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'network' => $target_item['network'], 'parent-network' => $parent['network'], 'thread-parent-network' => $thr_parent['network']]); // Restrict distribution to AP, when there are no permissions. if (!self::isRemovalActivity($cmd, $owner, Protocol::ACTIVITYPUB) && ($target_item['private'] == Item::PRIVATE) && empty($target_item['allow_cid']) && empty($target_item['allow_gid']) && empty($target_item['deny_cid']) && empty($target_item['deny_gid'])) { @@ -171,7 +170,7 @@ class Notifier if (!$target_item['origin'] && $target_item['network'] == Protocol::ACTIVITYPUB) { $only_ap_delivery = true; $diaspora_delivery = false; - Logger::debug('Remote post arrived via AP', ['guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'network' => $target_item['network'], 'parent-network' => $parent['network'], 'thread-parent-network' => $thr_parent['network']]); + DI::logger()->debug('Remote post arrived via AP', ['guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'network' => $target_item['network'], 'parent-network' => $parent['network'], 'thread-parent-network' => $thr_parent['network']]); } // Only deliver threaded replies (comment to a comment) to Diaspora @@ -179,10 +178,10 @@ class Notifier if ($thr_parent['author-link'] && $target_item['parent-uri'] != $target_item['thr-parent']) { $diaspora_delivery = Diaspora::isSupportedByContactUrl($thr_parent['author-link']); if ($diaspora_delivery && empty($target_item['signed_text'])) { - Logger::debug('Post has got no Diaspora signature, so there will be no Diaspora delivery', ['guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id']]); + DI::logger()->debug('Post has got no Diaspora signature, so there will be no Diaspora delivery', ['guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id']]); $diaspora_delivery = false; } - Logger::info('Threaded comment', ['diaspora_delivery' => (int)$diaspora_delivery]); + DI::logger()->info('Threaded comment', ['diaspora_delivery' => (int)$diaspora_delivery]); } $unlisted = $target_item['private'] == Item::UNLISTED; @@ -215,11 +214,11 @@ class Notifier $exclusive_targets = Tag::getByURIId($parent['uri-id'], [Tag::EXCLUSIVE_MENTION]); if (!empty($exclusive_targets)) { $exclusive_delivery = true; - Logger::info('Possible Exclusively delivering', ['uid' => $target_item['uid'], 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id']]); + DI::logger()->info('Possible Exclusively delivering', ['uid' => $target_item['uid'], 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id']]); foreach ($exclusive_targets as $target) { if (Strings::compareLink($owner['url'], $target['url'])) { $exclusive_delivery = false; - Logger::info('False Exclusively delivering', ['uid' => $target_item['uid'], 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'url' => $target['url']]); + DI::logger()->info('False Exclusively delivering', ['uid' => $target_item['uid'], 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'url' => $target['url']]); } } } @@ -231,7 +230,7 @@ class Notifier $recipients = [$parent['contact-id']]; $recipients_followup = [$parent['contact-id']]; - Logger::info('Followup', ['target' => $target_id, 'guid' => $target_item['guid'], 'to' => $parent['contact-id']]); + DI::logger()->info('Followup', ['target' => $target_id, 'guid' => $target_item['guid'], 'to' => $parent['contact-id']]); } elseif ($exclusive_delivery) { $followup = true; @@ -239,18 +238,18 @@ class Notifier $cid = Contact::getIdForURL($target['url'], $uid, false); if ($cid) { $recipients_followup[] = $cid; - Logger::info('Exclusively delivering', ['uid' => $target_item['uid'], 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'url' => $target['url']]); + DI::logger()->info('Exclusively delivering', ['uid' => $target_item['uid'], 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'url' => $target['url']]); } } } else { $followup = false; - Logger::info('Distributing directly', ['target' => $target_id, 'guid' => $target_item['guid']]); + DI::logger()->info('Distributing directly', ['target' => $target_id, 'guid' => $target_item['guid']]); // don't send deletions onward for other people's stuff if ($target_item['deleted'] && !intval($target_item['wall'])) { - Logger::notice('Ignoring delete notification for non-wall item'); + DI::logger()->notice('Ignoring delete notification for non-wall item'); return; } @@ -305,7 +304,7 @@ class Notifier if ($diaspora_delivery) { $networks = [Protocol::DFRN, Protocol::DIASPORA, Protocol::MAIL]; if (($parent['network'] == Protocol::DIASPORA) || ($thr_parent['network'] == Protocol::DIASPORA)) { - Logger::info('Add AP contacts', ['target' => $target_id, 'guid' => $target_item['guid']]); + DI::logger()->info('Add AP contacts', ['target' => $target_id, 'guid' => $target_item['guid']]); $networks[] = Protocol::ACTIVITYPUB; } } else { @@ -375,7 +374,7 @@ class Notifier } if (!empty($target_item)) { - Logger::info('Calling hooks for ' . $cmd . ' ' . $target_id); + DI::logger()->info('Calling hooks for ' . $cmd . ' ' . $target_id); Hook::fork($appHelper->getQueueValue('priority'), 'notifier_normal', $target_item); @@ -420,7 +419,7 @@ class Notifier $delivery_queue_count = 0; if (!empty($target_item['verb']) && ($target_item['verb'] == Activity::ANNOUNCE)) { - Logger::notice('Announces are only delivery via ActivityPub', ['cmd' => $cmd, 'id' => $target_item['id'], 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); + DI::logger()->notice('Announces are only delivery via ActivityPub', ['cmd' => $cmd, 'id' => $target_item['id'], 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); return 0; } @@ -428,40 +427,40 @@ class Notifier // Transmit via Diaspora if the thread had started as Diaspora post. // Also transmit via Diaspora if this is a direct answer to a Diaspora comment. if (($contact['network'] != Protocol::DIASPORA) && in_array(Protocol::DIASPORA, [$parent['network'] ?? '', $thr_parent['network'] ?? '', $target_item['network'] ?? ''])) { - Logger::info('Enforcing the Diaspora protocol', ['id' => $contact['id'], 'network' => $contact['network'], 'parent' => $parent['network'], 'thread-parent' => $thr_parent['network'], 'post' => $target_item['network']]); + DI::logger()->info('Enforcing the Diaspora protocol', ['id' => $contact['id'], 'network' => $contact['network'], 'parent' => $parent['network'], 'thread-parent' => $thr_parent['network'], 'post' => $target_item['network']]); $contact['network'] = Protocol::DIASPORA; } // Direct delivery of local contacts if (!in_array($cmd, [Delivery::RELOCATION, Delivery::SUGGESTION, Delivery::MAIL]) && $target_uid = User::getIdForURL($contact['url'])) { if ($cmd == Delivery::DELETION) { - Logger::info('No need to deliver deletions internally', ['uid' => $target_uid, 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); + DI::logger()->info('No need to deliver deletions internally', ['uid' => $target_uid, 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); continue; } if ($target_item['origin'] || ($target_item['network'] != Protocol::ACTIVITYPUB)) { if ($target_uid != $target_item['uid']) { $fields = ['protocol' => Conversation::PARCEL_LOCAL_DFRN, 'direction' => Conversation::PUSH, 'post-reason' => Item::PR_DIRECT]; Item::storeForUserByUriId($target_item['uri-id'], $target_uid, $fields, $target_item['uid']); - Logger::info('Delivered locally', ['cmd' => $cmd, 'id' => $target_item['id'], 'target' => $target_uid]); + DI::logger()->info('Delivered locally', ['cmd' => $cmd, 'id' => $target_item['id'], 'target' => $target_uid]); } else { - Logger::info('No need to deliver to myself', ['uid' => $target_uid, 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); + DI::logger()->info('No need to deliver to myself', ['uid' => $target_uid, 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); } } else { - Logger::info('Remote item does not need to be delivered locally', ['guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); + DI::logger()->info('Remote item does not need to be delivered locally', ['guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); } continue; } $cdata = Contact::getPublicAndUserContactID($contact['id'], $sender_uid); if (empty($cdata)) { - Logger::info('No contact entry found', ['id' => $contact['id'], 'uid' => $sender_uid]); + DI::logger()->info('No contact entry found', ['id' => $contact['id'], 'uid' => $sender_uid]); continue; } if (in_array($cdata['public'] ?: $contact['id'], $ap_contacts)) { - Logger::info('The public contact is already delivered via AP, so skip delivery via legacy DFRN/Diaspora', ['batch' => $in_batch, 'target' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact['url']]); + DI::logger()->info('The public contact is already delivered via AP, so skip delivery via legacy DFRN/Diaspora', ['batch' => $in_batch, 'target' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact['url']]); continue; } elseif (in_array($cdata['user'] ?: $contact['id'], $ap_contacts)) { - Logger::info('The user contact is already delivered via AP, so skip delivery via legacy DFRN/Diaspora', ['batch' => $in_batch, 'target' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact['url']]); + DI::logger()->info('The user contact is already delivered via AP, so skip delivery via legacy DFRN/Diaspora', ['batch' => $in_batch, 'target' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact['url']]); continue; } @@ -469,29 +468,29 @@ class Notifier // We mark the contact here, since we could have only got here, when the "archived" value on this // specific contact hadn't been set. Contact::markForArchival($contact); - Logger::info('Contact is archived, so skip delivery', ['target' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact['url']]); + DI::logger()->info('Contact is archived, so skip delivery', ['target' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact['url']]); continue; } if (self::isRemovalActivity($cmd, $owner, $contact['network'])) { - Logger::info('Contact does no supports account removal commands, so skip delivery', ['target' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact['url']]); + DI::logger()->info('Contact does no supports account removal commands, so skip delivery', ['target' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact['url']]); continue; } if (self::skipActivityPubForDiaspora($contact, $target_item, $thr_parent)) { - Logger::info('Contact is from Diaspora, but the replied author is from ActivityPub, so skip delivery via Diaspora', ['id' => $post_uriid, 'uid' => $sender_uid, 'url' => $contact['url']]); + DI::logger()->info('Contact is from Diaspora, but the replied author is from ActivityPub, so skip delivery via Diaspora', ['id' => $post_uriid, 'uid' => $sender_uid, 'url' => $contact['url']]); continue; } // Don't deliver to Diaspora if it already had been done as batch delivery if (!$in_batch && $batch_delivery && ($contact['network'] == Protocol::DIASPORA)) { - Logger::info('Diaspora contact is already delivered via batch', ['id' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact]); + DI::logger()->info('Diaspora contact is already delivered via batch', ['id' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact]); continue; } // Don't deliver to folks who have already been delivered to if (in_array($contact['id'], $conversants)) { - Logger::info('Already delivery', ['id' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact]); + DI::logger()->info('Already delivery', ['id' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact]); continue; } @@ -504,16 +503,16 @@ class Notifier } if (!$reachable) { - Logger::info('Server is not reachable', ['id' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact]); + DI::logger()->info('Server is not reachable', ['id' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact]); continue; } if (($contact['network'] == Protocol::ACTIVITYPUB) && !DI::dsprContact()->existsByUriId($contact['uri-id'])) { - Logger::info('The ActivityPub contact does not support Diaspora, so skip delivery via Diaspora', ['id' => $post_uriid, 'uid' => $sender_uid, 'url' => $contact['url']]); + DI::logger()->info('The ActivityPub contact does not support Diaspora, so skip delivery via Diaspora', ['id' => $post_uriid, 'uid' => $sender_uid, 'url' => $contact['url']]); continue; } - Logger::info('Delivery', ['cmd' => $cmd, 'batch' => $in_batch, 'target' => $post_uriid, 'uid' => $sender_uid, 'guid' => $target_item['guid'] ?? '', 'to' => $contact]); + DI::logger()->info('Delivery', ['cmd' => $cmd, 'batch' => $in_batch, 'target' => $post_uriid, 'uid' => $sender_uid, 'guid' => $target_item['guid'] ?? '', 'to' => $contact]); // Ensure that posts with our own protocol arrives before Diaspora posts arrive. // Situation is that sometimes Friendica servers receive Friendica posts over the Diaspora protocol first. @@ -617,7 +616,7 @@ class Notifier $inboxes = ActivityPub\Transmitter::fetchTargetInboxesforUser($self_user_id); foreach ($inboxes as $inbox => $receivers) { - Logger::info('Account removal via ActivityPub', ['uid' => $self_user_id, 'inbox' => $inbox]); + DI::logger()->info('Account removal via ActivityPub', ['uid' => $self_user_id, 'inbox' => $inbox]); Worker::add(['priority' => Worker::PRIORITY_NEGLIGIBLE, 'created' => $created, 'dont_fork' => true], 'APDelivery', Delivery::REMOVAL, 0, $inbox, $self_user_id, $receivers); Worker::coolDown(); @@ -644,25 +643,25 @@ class Notifier { // Don't deliver via AP when the starting post isn't from a federated network if (!in_array($parent['network'] ?? '', Protocol::FEDERATED)) { - Logger::info('Parent network is no federated network, so no AP delivery', ['network' => $parent['network'] ?? '']); + DI::logger()->info('Parent network is no federated network, so no AP delivery', ['network' => $parent['network'] ?? '']); return ['count' => 0, 'contacts' => []]; } // Don't deliver via AP when the starting post is delivered via Diaspora if ($parent['network'] == Protocol::DIASPORA) { - Logger::info('Parent network is Diaspora, so no AP delivery'); + DI::logger()->info('Parent network is Diaspora, so no AP delivery'); return ['count' => 0, 'contacts' => []]; } // Also don't deliver when the direct thread parent was delivered via Diaspora if ($thr_parent['network'] == Protocol::DIASPORA) { - Logger::info('Thread parent network is Diaspora, so no AP delivery'); + DI::logger()->info('Thread parent network is Diaspora, so no AP delivery'); return ['count' => 0, 'contacts' => []]; } // Posts from Diaspora contacts are transmitted via Diaspora if ($target_item['network'] == Protocol::DIASPORA) { - Logger::info('Post network is Diaspora, so no AP delivery'); + DI::logger()->info('Post network is Diaspora, so no AP delivery'); return ['count' => 0, 'contacts' => []]; } @@ -687,10 +686,10 @@ class Notifier $relay_inboxes = ActivityPub\Transmitter::addRelayServerInboxes(); } - Logger::info('Origin item will be distributed', ['id' => $target_item['id'], 'url' => $target_item['uri'], 'verb' => $target_item['verb']]); + DI::logger()->info('Origin item will be distributed', ['id' => $target_item['id'], 'url' => $target_item['uri'], 'verb' => $target_item['verb']]); $check_signature = false; } elseif (!$target_item['deleted'] && !Post\Activity::exists($target_item['uri-id'])) { - Logger::info('Remote activity not found. It will not be distributed.', ['id' => $target_item['id'], 'url' => $target_item['uri'], 'verb' => $target_item['verb']]); + DI::logger()->info('Remote activity not found. It will not be distributed.', ['id' => $target_item['id'], 'url' => $target_item['uri'], 'verb' => $target_item['verb']]); return ['count' => 0, 'contacts' => []]; } elseif ($parent['origin'] && ($target_item['private'] != Item::PRIVATE) && (($target_item['gravity'] != Item::GRAVITY_ACTIVITY) || DI::config()->get('system', 'redistribute_activities'))) { $inboxes = ActivityPub\Transmitter::fetchTargetInboxes($parent, $uid); @@ -699,10 +698,10 @@ class Notifier $inboxes = ActivityPub\Transmitter::addRelayServerInboxesForItem($parent['id'], $inboxes); } - Logger::info('Remote item will be distributed', ['id' => $target_item['id'], 'url' => $target_item['uri'], 'verb' => $target_item['verb']]); + DI::logger()->info('Remote item will be distributed', ['id' => $target_item['id'], 'url' => $target_item['uri'], 'verb' => $target_item['verb']]); $check_signature = ($target_item['gravity'] == Item::GRAVITY_ACTIVITY); } else { - Logger::info('Remote activity will not be distributed', ['id' => $target_item['id'], 'url' => $target_item['uri'], 'verb' => $target_item['verb']]); + DI::logger()->info('Remote activity will not be distributed', ['id' => $target_item['id'], 'url' => $target_item['uri'], 'verb' => $target_item['verb']]); return ['count' => 0, 'contacts' => []]; } @@ -711,19 +710,19 @@ class Notifier } if (empty($inboxes) && empty($relay_inboxes)) { - Logger::info('No inboxes found for item ' . $target_item['id'] . ' with URL ' . $target_item['uri'] . '. It will not be distributed.'); + DI::logger()->info('No inboxes found for item ' . $target_item['id'] . ' with URL ' . $target_item['uri'] . '. It will not be distributed.'); return ['count' => 0, 'contacts' => []]; } // Fill the item cache $activity = ActivityPub\Transmitter::createCachedActivityFromItem($target_item['id'], true); if (empty($activity)) { - Logger::info('Item cache was not created. The post will not be distributed.', ['id' => $target_item['id'], 'url' => $target_item['uri'], 'verb' => $target_item['verb']]); + DI::logger()->info('Item cache was not created. The post will not be distributed.', ['id' => $target_item['id'], 'url' => $target_item['uri'], 'verb' => $target_item['verb']]); return ['count' => 0, 'contacts' => []]; } if ($check_signature && !LDSignature::isSigned($activity)) { - Logger::info('Unsigned remote activity will not be distributed', ['id' => $target_item['id'], 'url' => $target_item['uri'], 'verb' => $target_item['verb']]); + DI::logger()->info('Unsigned remote activity will not be distributed', ['id' => $target_item['id'], 'url' => $target_item['uri'], 'verb' => $target_item['verb']]); return ['count' => 0, 'contacts' => []]; } @@ -737,27 +736,27 @@ class Notifier $contact = Contact::getById($receivers[0], ['url']); if (!in_array($cmd, [Delivery::RELOCATION, Delivery::SUGGESTION, Delivery::MAIL]) && ($target_uid = User::getIdForURL($contact['url']))) { if ($cmd == Delivery::DELETION) { - Logger::info('No need to deliver deletions internally', ['uid' => $target_uid, 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); + DI::logger()->info('No need to deliver deletions internally', ['uid' => $target_uid, 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); continue; } if ($target_item['origin'] || ($target_item['network'] != Protocol::ACTIVITYPUB)) { if ($target_uid != $target_item['uid']) { $fields = ['protocol' => Conversation::PARCEL_LOCAL_DFRN, 'direction' => Conversation::PUSH, 'post-reason' => Item::PR_BCC]; Item::storeForUserByUriId($target_item['uri-id'], $target_uid, $fields, $target_item['uid']); - Logger::info('Delivered locally', ['cmd' => $cmd, 'id' => $target_item['id'], 'inbox' => $inbox]); + DI::logger()->info('Delivered locally', ['cmd' => $cmd, 'id' => $target_item['id'], 'inbox' => $inbox]); } else { - Logger::info('No need to deliver to myself', ['uid' => $target_uid, 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); + DI::logger()->info('No need to deliver to myself', ['uid' => $target_uid, 'guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); } } else { - Logger::info('Remote item does not need to be delivered locally', ['guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); + DI::logger()->info('Remote item does not need to be delivered locally', ['guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); } continue; } } elseif ((count($receivers) >= 1) && DI::baseUrl()->isLocalUrl($inbox)) { - Logger::info('Is this a thing?', ['guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); + DI::logger()->info('Is this a thing?', ['guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id'], 'uri' => $target_item['uri']]); } - Logger::info('Delivery via ActivityPub', ['cmd' => $cmd, 'id' => $target_item['id'], 'inbox' => $inbox]); + DI::logger()->info('Delivery via ActivityPub', ['cmd' => $cmd, 'id' => $target_item['id'], 'inbox' => $inbox]); if (DI::config()->get('system', 'bulk_delivery')) { $delivery_queue_count++; @@ -774,7 +773,7 @@ class Notifier // We deliver posts to relay servers slightly delayed to prioritize the direct delivery foreach ($relay_inboxes as $inbox) { - Logger::info('Delivery to relay servers via ActivityPub', ['cmd' => $cmd, 'id' => $target_item['id'], 'inbox' => $inbox]); + DI::logger()->info('Delivery to relay servers via ActivityPub', ['cmd' => $cmd, 'id' => $target_item['id'], 'inbox' => $inbox]); if (DI::config()->get('system', 'bulk_delivery')) { $delivery_queue_count++; diff --git a/src/Worker/OnePoll.php b/src/Worker/OnePoll.php index c9b16717b7..5fb4293d84 100644 --- a/src/Worker/OnePoll.php +++ b/src/Worker/OnePoll.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\System; use Friendica\Database\DBA; @@ -21,7 +20,6 @@ use Friendica\Network\HTTPClient\Client\HttpClientAccept; use Friendica\Network\HTTPClient\Client\HttpClientOptions; use Friendica\Network\HTTPClient\Client\HttpClientRequest; use Friendica\Protocol\Activity; -use Friendica\Protocol\ActivityPub; use Friendica\Protocol\Email; use Friendica\Protocol\Feed; use Friendica\Util\DateTimeFormat; @@ -32,18 +30,18 @@ class OnePoll { public static function execute(int $contact_id = 0, string $command = '') { - Logger::notice('Start polling/probing contact', ['id' => $contact_id, 'command' => $command]); + DI::logger()->notice('Start polling/probing contact', ['id' => $contact_id, 'command' => $command]); $force = ($command == 'force'); if (empty($contact_id)) { - Logger::notice('no contact provided'); + DI::logger()->notice('no contact provided'); return; } $contact = DBA::selectFirst('contact', [], ['id' => $contact_id]); if (!DBA::isResult($contact)) { - Logger::warning('Contact not found', ['id' => $contact_id]); + DI::logger()->warning('Contact not found', ['id' => $contact_id]); return; } @@ -65,14 +63,14 @@ class OnePoll && in_array($contact['network'], [Protocol::FEED, Protocol::MAIL])) { $importer = User::getOwnerDataById($importer_uid); if (empty($importer)) { - Logger::warning('No self contact for user', ['uid' => $importer_uid]); + DI::logger()->warning('No self contact for user', ['uid' => $importer_uid]); // set the last-update so we don't keep polling Contact::update(['last-update' => $updated], ['id' => $contact['id']]); return; } - Logger::info('Start polling/subscribing', ['protocol' => $contact['network'], 'id' => $contact['id']]); + DI::logger()->info('Start polling/subscribing', ['protocol' => $contact['network'], 'id' => $contact['id']]); if ($contact['network'] === Protocol::FEED) { $success = self::pollFeed($contact, $importer); } elseif ($contact['network'] === Protocol::MAIL) { @@ -81,7 +79,7 @@ class OnePoll $success = self::subscribeToHub($contact['url'], $importer, $contact, $contact['blocked'] ? 'unsubscribe' : 'subscribe'); } if (!$success) { - Logger::notice('Probing had been successful, polling/subscribing failed', ['protocol' => $contact['network'], 'id' => $contact['id'], 'url' => $contact['url']]); + DI::logger()->notice('Probing had been successful, polling/subscribing failed', ['protocol' => $contact['network'], 'id' => $contact['id'], 'url' => $contact['url']]); } } @@ -93,7 +91,7 @@ class OnePoll Contact::markForArchival($contact); } - Logger::notice('End'); + DI::logger()->notice('End'); return; } @@ -136,12 +134,12 @@ class OnePoll { // Are we allowed to import from this person? if ($contact['rel'] == Contact::FOLLOWER || $contact['blocked']) { - Logger::notice('Contact is blocked or only a follower'); + DI::logger()->notice('Contact is blocked or only a follower'); return false; } if (!Network::isValidHttpUrl($contact['poll'])) { - Logger::warning('Poll address is not valid', ['id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url'], 'poll' => $contact['poll']]); + DI::logger()->warning('Poll address is not valid', ['id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url'], 'poll' => $contact['poll']]); return false; } @@ -150,25 +148,25 @@ class OnePoll try { $curlResult = DI::httpClient()->get($contact['poll'], HttpClientAccept::FEED_XML, [HttpClientOptions::COOKIEJAR => $cookiejar, HttpClientOptions::REQUEST => HttpClientRequest::FEEDFETCHER]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return false; } unlink($cookiejar); - Logger::debug('Polled feed', ['url' => $contact['poll'], 'http-code' => $curlResult->getReturnCode(), 'redirect-url' => $curlResult->getRedirectUrl()]); + DI::logger()->debug('Polled feed', ['url' => $contact['poll'], 'http-code' => $curlResult->getReturnCode(), 'redirect-url' => $curlResult->getRedirectUrl()]); if ($curlResult->isTimeout()) { - Logger::notice('Polling timed out', ['id' => $contact['id'], 'url' => $contact['poll']]); + DI::logger()->notice('Polling timed out', ['id' => $contact['id'], 'url' => $contact['poll']]); return false; } if ($curlResult->isGone()) { - Logger::notice('URL is permanently gone', ['id' => $contact['id'], 'url' => $contact['poll']]); + DI::logger()->notice('URL is permanently gone', ['id' => $contact['id'], 'url' => $contact['poll']]); Contact::remove($contact['id']); return false; } if ($curlResult->redirectIsPermanent()) { - Logger::notice('Poll address permanently changed', [ + DI::logger()->notice('Poll address permanently changed', [ 'id' => $contact['id'], 'uid' => $contact['uid'], 'old' => $contact['poll'], @@ -179,21 +177,21 @@ class OnePoll $xml = $curlResult->getBodyString(); if (empty($xml)) { - Logger::notice('Empty content', ['id' => $contact['id'], 'url' => $contact['poll']]); + DI::logger()->notice('Empty content', ['id' => $contact['id'], 'url' => $contact['poll']]); return false; } if (strpos($curlResult->getContentType(), 'xml') === false) { - Logger::notice('Unexpected content type.', ['id' => $contact['id'], 'url' => $contact['poll'], 'content-type' => $curlResult->getContentType()]); + DI::logger()->notice('Unexpected content type.', ['id' => $contact['id'], 'url' => $contact['poll'], 'content-type' => $curlResult->getContentType()]); return false; } if (!strstr($xml, '<')) { - Logger::notice('response did not contain XML.', ['id' => $contact['id'], 'url' => $contact['poll']]); + DI::logger()->notice('response did not contain XML.', ['id' => $contact['id'], 'url' => $contact['poll']]); return false; } - Logger::notice('Consume feed of contact', ['id' => $contact['id'], 'url' => $contact['poll'], 'Content-Type' => $curlResult->getHeader('Content-Type')]); + DI::logger()->notice('Consume feed of contact', ['id' => $contact['id'], 'url' => $contact['poll'], 'Content-Type' => $curlResult->getHeader('Content-Type')]); return !empty(Feed::import($xml, $importer, $contact)); } @@ -210,15 +208,15 @@ class OnePoll */ private static function pollMail(array $contact, int $importer_uid, string $updated): bool { - Logger::info('Fetching mails', ['addr' => $contact['addr']]); + DI::logger()->info('Fetching mails', ['addr' => $contact['addr']]); $mail_disabled = ((function_exists('imap_open') && !DI::config()->get('system', 'imap_disabled')) ? 0 : 1); if ($mail_disabled) { - Logger::notice('Mail is disabled'); + DI::logger()->notice('Mail is disabled'); return false; } - Logger::info('Mail is enabled'); + DI::logger()->info('Mail is enabled'); $mbox = false; $user = DBA::selectFirst('user', ['prvkey'], ['uid' => $importer_uid]); @@ -231,16 +229,16 @@ class OnePoll openssl_private_decrypt(hex2bin($mailconf['pass']), $password, $user['prvkey']); $mbox = Email::connect($mailbox, $mailconf['user'], $password); unset($password); - Logger::notice('Connect', ['user' => $mailconf['user']]); + DI::logger()->notice('Connect', ['user' => $mailconf['user']]); if ($mbox === false) { - Logger::notice('Connection error', ['user' => $mailconf['user'], 'error' => imap_errors()]); + DI::logger()->notice('Connection error', ['user' => $mailconf['user'], 'error' => imap_errors()]); return false; } $fields = ['last_check' => $updated]; DBA::update('mailacct', $fields, ['id' => $mailconf['id']]); - Logger::notice('Connected', ['user' => $mailconf['user']]); + DI::logger()->notice('Connected', ['user' => $mailconf['user']]); } if ($mbox === false) { @@ -250,12 +248,12 @@ class OnePoll $msgs = Email::poll($mbox, $contact['addr']); if (count($msgs)) { - Logger::info('Parsing mails', ['count' => count($msgs), 'addr' => $contact['addr'], 'user' => $mailconf['user']]); + DI::logger()->info('Parsing mails', ['count' => count($msgs), 'addr' => $contact['addr'], 'user' => $mailconf['user']]); $metas = Email::messageMeta($mbox, implode(',', $msgs)); if (count($metas) != count($msgs)) { - Logger::info("for " . $mailconf['user'] . " there are ". count($msgs) . " messages but received " . count($metas) . " metas"); + DI::logger()->info("for " . $mailconf['user'] . " there are ". count($msgs) . " messages but received " . count($metas) . " metas"); } else { $msgs = array_combine($msgs, $metas); @@ -264,7 +262,7 @@ class OnePoll continue; } - Logger::info('Parsing mail', ['message-uid' => $msg_uid]); + DI::logger()->info('Parsing mail', ['message-uid' => $msg_uid]); $datarray = [ 'uid' => $importer_uid, @@ -284,7 +282,7 @@ class OnePoll $condition = ['uid' => $importer_uid, 'uri' => $datarray['uri']]; $item = Post::selectFirst($fields, $condition); if (DBA::isResult($item)) { - Logger::info('Mail: Seen before ' . $msg_uid . ' for ' . $mailconf['user'] . ' UID: ' . $importer_uid . ' URI: ' . $datarray['uri']); + DI::logger()->info('Mail: Seen before ' . $msg_uid . ' for ' . $mailconf['user'] . ' UID: ' . $importer_uid . ' URI: ' . $datarray['uri']); // Only delete when mails aren't automatically moved or deleted if (($mailconf['action'] != 1) && ($mailconf['action'] != 3)) @@ -295,21 +293,21 @@ class OnePoll switch ($mailconf['action']) { case 0: - Logger::info('Mail: Seen before ' . $msg_uid . ' for ' . $mailconf['user'] . '. Doing nothing.'); + DI::logger()->info('Mail: Seen before ' . $msg_uid . ' for ' . $mailconf['user'] . '. Doing nothing.'); break; case 1: - Logger::notice('Mail: Deleting ' . $msg_uid . ' for ' . $mailconf['user']); + DI::logger()->notice('Mail: Deleting ' . $msg_uid . ' for ' . $mailconf['user']); imap_delete($mbox, $msg_uid, FT_UID); break; case 2: - Logger::notice('Mail: Mark as seen ' . $msg_uid . ' for ' . $mailconf['user']); + DI::logger()->notice('Mail: Mark as seen ' . $msg_uid . ' for ' . $mailconf['user']); imap_setflag_full($mbox, $msg_uid, "\\Seen", ST_UID); break; case 3: - Logger::notice('Mail: Moving ' . $msg_uid . ' to ' . $mailconf['movetofolder'] . ' for ' . $mailconf['user']); + DI::logger()->notice('Mail: Moving ' . $msg_uid . ' to ' . $mailconf['movetofolder'] . ' for ' . $mailconf['user']); imap_setflag_full($mbox, $msg_uid, "\\Seen", ST_UID); if ($mailconf['movetofolder'] != '') { imap_mail_move($mbox, $msg_uid, $mailconf['movetofolder'], FT_UID); @@ -421,31 +419,31 @@ class OnePoll $datarray = Email::getMessage($mbox, $msg_uid, $reply, $datarray); if (empty($datarray['body'])) { - Logger::warning('Cannot fetch mail', ['msg-id' => $msg_uid, 'uid' => $mailconf['user']]); + DI::logger()->warning('Cannot fetch mail', ['msg-id' => $msg_uid, 'uid' => $mailconf['user']]); continue; } - Logger::notice('Mail: Importing ' . $msg_uid . ' for ' . $mailconf['user']); + DI::logger()->notice('Mail: Importing ' . $msg_uid . ' for ' . $mailconf['user']); Item::insert($datarray); switch ($mailconf['action']) { case 0: - Logger::info('Mail: Seen before ' . $msg_uid . ' for ' . $mailconf['user'] . '. Doing nothing.'); + DI::logger()->info('Mail: Seen before ' . $msg_uid . ' for ' . $mailconf['user'] . '. Doing nothing.'); break; case 1: - Logger::notice('Mail: Deleting ' . $msg_uid . ' for ' . $mailconf['user']); + DI::logger()->notice('Mail: Deleting ' . $msg_uid . ' for ' . $mailconf['user']); imap_delete($mbox, $msg_uid, FT_UID); break; case 2: - Logger::notice('Mail: Mark as seen ' . $msg_uid . ' for ' . $mailconf['user']); + DI::logger()->notice('Mail: Mark as seen ' . $msg_uid . ' for ' . $mailconf['user']); imap_setflag_full($mbox, $msg_uid, "\\Seen", ST_UID); break; case 3: - Logger::notice('Mail: Moving ' . $msg_uid . ' to ' . $mailconf['movetofolder'] . ' for ' . $mailconf['user']); + DI::logger()->notice('Mail: Moving ' . $msg_uid . ' to ' . $mailconf['movetofolder'] . ' for ' . $mailconf['user']); imap_setflag_full($mbox, $msg_uid, "\\Seen", ST_UID); if ($mailconf['movetofolder'] != '') { imap_mail_move($mbox, $msg_uid, $mailconf['movetofolder'], FT_UID); @@ -455,11 +453,11 @@ class OnePoll } } } else { - Logger::notice('No mails', ['user' => $mailconf['user']]); + DI::logger()->notice('No mails', ['user' => $mailconf['user']]); } - Logger::info('Closing connection', ['user' => $mailconf['user']]); + DI::logger()->info('Closing connection', ['user' => $mailconf['user']]); imap_close($mbox); return true; @@ -492,7 +490,7 @@ class OnePoll $params = 'hub.mode=' . $hubmode . '&hub.callback=' . urlencode($push_url) . '&hub.topic=' . urlencode($contact['poll']) . '&hub.verify=async&hub.verify_token=' . $verify_token; - Logger::info('Hub subscription start', ['mode' => $hubmode, 'name' => $contact['name'], 'hub' => $url, 'endpoint' => $push_url, 'verifier' => $verify_token]); + DI::logger()->info('Hub subscription start', ['mode' => $hubmode, 'name' => $contact['name'], 'hub' => $url, 'endpoint' => $push_url, 'verifier' => $verify_token]); if (!strlen($contact['hub-verify']) || ($contact['hub-verify'] != $verify_token)) { Contact::update(['hub-verify' => $verify_token], ['id' => $contact['id']]); @@ -501,11 +499,11 @@ class OnePoll try { $postResult = DI::httpClient()->post($url, $params, [], 0, HttpClientRequest::PUBSUB); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return false; } - Logger::info('Hub subscription done', ['result' => $postResult->getReturnCode()]); + DI::logger()->info('Hub subscription done', ['result' => $postResult->getReturnCode()]); return $postResult->isSuccess(); } diff --git a/src/Worker/OptimizeTables.php b/src/Worker/OptimizeTables.php index 853abc3c95..85231a0466 100644 --- a/src/Worker/OptimizeTables.php +++ b/src/Worker/OptimizeTables.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\DI; @@ -20,11 +19,11 @@ class OptimizeTables { if (!DI::lock()->acquire('optimize_tables', 0)) { - Logger::warning('Lock could not be acquired'); + DI::logger()->warning('Lock could not be acquired'); return; } - Logger::info('Optimize start'); + DI::logger()->info('Optimize start'); DBA::optimizeTable('cache'); DBA::optimizeTable('locks'); @@ -60,7 +59,7 @@ class OptimizeTables DBA::optimizeTable('tag'); } - Logger::info('Optimize end'); + DI::logger()->info('Optimize end'); DI::lock()->release('optimize_tables'); } diff --git a/src/Worker/PollContacts.php b/src/Worker/PollContacts.php index 66b3cc39da..9a5405bbc5 100644 --- a/src/Worker/PollContacts.php +++ b/src/Worker/PollContacts.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Worker; use Friendica\Database\DBA; @@ -52,7 +51,7 @@ class PollContacts $next_update = DateTimeFormat::utc($contact['last-update'] . ' + ' . $interval . ' minute'); if ($now < $next_update) { - Logger::debug('No update', ['cid' => $contact['id'], 'interval' => $interval, 'next' => $next_update, 'now' => $now]); + DI::logger()->debug('No update', ['cid' => $contact['id'], 'interval' => $interval, 'next' => $next_update, 'now' => $now]); continue; } @@ -64,7 +63,7 @@ class PollContacts $priority = Worker::PRIORITY_LOW; } - Logger::notice("Polling " . $contact["network"] . " " . $contact["id"] . " " . $contact['priority'] . " " . $contact["nick"] . " " . $contact["name"]); + DI::logger()->notice("Polling " . $contact["network"] . " " . $contact["id"] . " " . $contact['priority'] . " " . $contact["nick"] . " " . $contact["name"]); Worker::add(['priority' => $priority, 'dont_fork' => true, 'force_priority' => true], 'OnePoll', (int)$contact['id']); Worker::coolDown(); diff --git a/src/Worker/ProcessQueue.php b/src/Worker/ProcessQueue.php index e5cfa348e6..bf8b8df1a6 100644 --- a/src/Worker/ProcessQueue.php +++ b/src/Worker/ProcessQueue.php @@ -7,7 +7,7 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; +use Friendica\DI; use Friendica\Protocol\ActivityPub\Queue; class ProcessQueue @@ -21,8 +21,8 @@ class ProcessQueue */ public static function execute(int $id) { - Logger::info('Start processing queue entry', ['id' => $id]); + DI::logger()->info('Start processing queue entry', ['id' => $id]); $result = Queue::process($id); - Logger::info('Successfully processed queue entry', ['result' => $result, 'id' => $id]); + DI::logger()->info('Successfully processed queue entry', ['result' => $result, 'id' => $id]); } } diff --git a/src/Worker/ProcessReplyByUri.php b/src/Worker/ProcessReplyByUri.php index ad7bc02278..88b00bc1a2 100644 --- a/src/Worker/ProcessReplyByUri.php +++ b/src/Worker/ProcessReplyByUri.php @@ -7,7 +7,7 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; +use Friendica\DI; use Friendica\Protocol\ActivityPub\Queue; class ProcessReplyByUri @@ -21,8 +21,8 @@ class ProcessReplyByUri */ public static function execute(string $uri) { - Logger::info('Start processing queued replies', ['url' => $uri]); + DI::logger()->info('Start processing queued replies', ['url' => $uri]); $count = Queue::processReplyByUri($uri); - Logger::info('Successfully processed queued replies', ['count' => $count, 'url' => $uri]); + DI::logger()->info('Successfully processed queued replies', ['count' => $count, 'url' => $uri]); } } diff --git a/src/Worker/ProcessUnprocessedEntries.php b/src/Worker/ProcessUnprocessedEntries.php index 2191494275..afde8bb26b 100644 --- a/src/Worker/ProcessUnprocessedEntries.php +++ b/src/Worker/ProcessUnprocessedEntries.php @@ -7,7 +7,7 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; +use Friendica\DI; use Friendica\Protocol\ActivityPub\Queue; class ProcessUnprocessedEntries @@ -19,8 +19,8 @@ class ProcessUnprocessedEntries */ public static function execute() { - Logger::info('Start processing unprocessed entries'); + DI::logger()->info('Start processing unprocessed entries'); Queue::processAll(); - Logger::info('Successfully processed unprocessed entries'); + DI::logger()->info('Successfully processed unprocessed entries'); } } diff --git a/src/Worker/ProfileUpdate.php b/src/Worker/ProfileUpdate.php index 685229b3b5..700da98d8e 100644 --- a/src/Worker/ProfileUpdate.php +++ b/src/Worker/ProfileUpdate.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\DI; use Friendica\Protocol\Delivery; @@ -35,7 +34,7 @@ class ProfileUpdate { $inboxes = ActivityPub\Transmitter::fetchTargetInboxesforUser($uid); foreach ($inboxes as $inbox => $receivers) { - Logger::info('Profile update for user ' . $uid . ' to ' . $inbox .' via ActivityPub'); + DI::logger()->info('Profile update for user ' . $uid . ' to ' . $inbox .' via ActivityPub'); Worker::add(['priority' => $appHelper->getQueueValue('priority'), 'created' => $appHelper->getQueueValue('created'), 'dont_fork' => true], 'APDelivery', Delivery::PROFILEUPDATE, diff --git a/src/Worker/PullDirectory.php b/src/Worker/PullDirectory.php index 4272b91d68..2410be7d96 100644 --- a/src/Worker/PullDirectory.php +++ b/src/Worker/PullDirectory.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\Search; use Friendica\DI; use Friendica\Model\Contact; @@ -22,29 +21,29 @@ class PullDirectory public static function execute() { if (!DI::config()->get('system', 'synchronize_directory')) { - Logger::info('Synchronization deactivated'); + DI::logger()->info('Synchronization deactivated'); return; } $directory = Search::getGlobalDirectory(); if (empty($directory)) { - Logger::info('No directory configured'); + DI::logger()->info('No directory configured'); return; } $now = (int)(DI::keyValue()->get('last-directory-sync') ?? 0); - Logger::info('Synchronization started.', ['now' => $now, 'directory' => $directory]); + DI::logger()->info('Synchronization started.', ['now' => $now, 'directory' => $directory]); $result = DI::httpClient()->fetch($directory . '/sync/pull/since/' . $now, HttpClientAccept::JSON, 0, '', HttpClientRequest::CONTACTDISCOVER); if (empty($result)) { - Logger::info('Directory server return empty result.', ['directory' => $directory]); + DI::logger()->info('Directory server return empty result.', ['directory' => $directory]); return; } $contacts = json_decode($result, true); if (empty($contacts['results'])) { - Logger::info('No results fetched.', ['directory' => $directory]); + DI::logger()->info('No results fetched.', ['directory' => $directory]); return; } @@ -53,6 +52,6 @@ class PullDirectory $now = $contacts['now'] ?? 0; DI::keyValue()->set('last-directory-sync', $now); - Logger::info('Synchronization ended', ['now' => $now, 'count' => $result['count'], 'added' => $result['added'], 'updated' => $result['updated'], 'unchanged' => $result['unchanged'], 'directory' => $directory]); + DI::logger()->info('Synchronization ended', ['now' => $now, 'count' => $result['count'], 'added' => $result['added'], 'updated' => $result['updated'], 'unchanged' => $result['unchanged'], 'directory' => $directory]); } } diff --git a/src/Worker/PushSubscription.php b/src/Worker/PushSubscription.php index 4d47a4b18e..b1c07996f1 100644 --- a/src/Worker/PushSubscription.php +++ b/src/Worker/PushSubscription.php @@ -9,7 +9,6 @@ namespace Friendica\Worker; use Friendica\Content\Text\BBCode; use Friendica\Content\Text\Plaintext; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Factory\Api\Mastodon\Notification as NotificationFactory; @@ -32,30 +31,30 @@ class PushSubscription */ public static function execute(int $sid, int $nid) { - Logger::info('Start', ['subscription' => $sid, 'notification' => $nid]); + DI::logger()->info('Start', ['subscription' => $sid, 'notification' => $nid]); $subscription = DBA::selectFirst('subscription', [], ['id' => $sid]); if (empty($subscription)) { - Logger::info('Subscription not found', ['subscription' => $sid]); + DI::logger()->info('Subscription not found', ['subscription' => $sid]); return; } try { $notification = DI::notification()->selectOneById($nid); } catch (NotFoundException $e) { - Logger::info('Notification not found', ['notification' => $nid]); + DI::logger()->info('Notification not found', ['notification' => $nid]); return; } $application_token = DBA::selectFirst('application-token', [], ['application-id' => $subscription['application-id'], 'uid' => $subscription['uid']]); if (empty($application_token)) { - Logger::info('Application token not found', ['application' => $subscription['application-id']]); + DI::logger()->info('Application token not found', ['application' => $subscription['application-id']]); return; } $user = User::getById($notification->uid); if (empty($user)) { - Logger::info('User not found', ['application' => $subscription['uid']]); + DI::logger()->info('User not found', ['application' => $subscription['uid']]); return; } @@ -97,7 +96,7 @@ class PushSubscription 'body' => $body ?: $l10n->t('Empty Post'), ]; - Logger::info('Payload', ['payload' => $payload]); + DI::logger()->info('Payload', ['payload' => $payload]); $auth = [ 'VAPID' => [ @@ -114,9 +113,9 @@ class PushSubscription $endpoint = $report->getRequest()->getUri()->__toString(); if ($report->isSuccess()) { - Logger::info('Message sent successfully for subscription', ['subscription' => $sid, 'notification' => $nid, 'endpoint' => $endpoint]); + DI::logger()->info('Message sent successfully for subscription', ['subscription' => $sid, 'notification' => $nid, 'endpoint' => $endpoint]); } else { - Logger::info('Message failed to sent for subscription', ['subscription' => $sid, 'notification' => $nid, 'endpoint' => $endpoint, 'reason' => $report->getReason()]); + DI::logger()->info('Message failed to sent for subscription', ['subscription' => $sid, 'notification' => $nid, 'endpoint' => $endpoint, 'reason' => $report->getReason()]); } } } diff --git a/src/Worker/RemoveUnusedAvatars.php b/src/Worker/RemoveUnusedAvatars.php index a6426be115..8cebde12d2 100644 --- a/src/Worker/RemoveUnusedAvatars.php +++ b/src/Worker/RemoveUnusedAvatars.php @@ -8,8 +8,8 @@ namespace Friendica\Worker; use Friendica\Contact\Avatar; -use Friendica\Core\Logger; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\Photo; @@ -32,7 +32,7 @@ class RemoveUnusedAvatars ]; $total = DBA::count('contact', $condition); - Logger::notice('Starting removal', ['total' => $total]); + DI::logger()->notice('Starting removal', ['total' => $total]); $count = 0; $contacts = DBA::select('contact', ['id', 'uri-id', 'uid', 'photo', 'thumb', 'micro'], $condition); while ($contact = DBA::fetch($contacts)) { @@ -40,11 +40,11 @@ class RemoveUnusedAvatars Contact::update(['photo' => '', 'thumb' => '', 'micro' => ''], ['id' => $contact['id']]); } if ((++$count % 1000) == 0) { - Logger::info('In removal', ['count' => $count, 'total' => $total]); + DI::logger()->info('In removal', ['count' => $count, 'total' => $total]); } } DBA::close($contacts); - Logger::notice('Removal done', ['count' => $count, 'total' => $total]); + DI::logger()->notice('Removal done', ['count' => $count, 'total' => $total]); self::fixPhotoContacts(); self::deleteDuplicates(); @@ -56,7 +56,7 @@ class RemoveUnusedAvatars $deleted = 0; $updated1 = 0; $updated2 = 0; - Logger::notice('Starting contact fix'); + DI::logger()->notice('Starting contact fix'); $photos = DBA::select('photo', [], ["`uid` = ? AND `contact-id` IN (SELECT `id` FROM `contact` WHERE `uid` != ?) AND `contact-id` != ? AND `scale` IN (?, ?, ?)", 0, 0, 0, 4, 5, 6]); while ($photo = DBA::fetch($photos)) { $total++; @@ -65,7 +65,7 @@ class RemoveUnusedAvatars if ($photo['resource-id'] == $resource) { $contact = DBA::selectFirst('contact', [], ['nurl' => $photo_contact['nurl'], 'uid' => 0]); if (!empty($contact['photo']) && ($contact['photo'] == $photo_contact['photo'])) { - Logger::notice('Photo updated to public user', ['id' => $photo['id'], 'contact-id' => $contact['id']]); + DI::logger()->notice('Photo updated to public user', ['id' => $photo['id'], 'contact-id' => $contact['id']]); DBA::update('photo', ['contact-id' => $contact['id']], ['id' => $photo['id']]); $updated1++; } @@ -74,7 +74,7 @@ class RemoveUnusedAvatars $contacts = DBA::select('contact', [], ['nurl' => $photo_contact['nurl']]); while ($contact = DBA::fetch($contacts)) { if ($photo['resource-id'] == Photo::ridFromURI($contact['photo'])) { - Logger::notice('Photo updated to given user', ['id' => $photo['id'], 'contact-id' => $contact['id'], 'uid' => $contact['uid']]); + DI::logger()->notice('Photo updated to given user', ['id' => $photo['id'], 'contact-id' => $contact['id'], 'uid' => $contact['uid']]); DBA::update('photo', ['contact-id' => $contact['id'], 'uid' => $contact['uid']], ['id' => $photo['id']]); $updated = true; $updated2++; @@ -82,14 +82,14 @@ class RemoveUnusedAvatars } DBA::close($contacts); if (!$updated) { - Logger::notice('Photo deleted', ['id' => $photo['id']]); + DI::logger()->notice('Photo deleted', ['id' => $photo['id']]); Photo::delete(['id' => $photo['id']]); $deleted++; } } } DBA::close($photos); - Logger::notice('Contact fix done', ['total' => $total, 'updated1' => $updated1, 'updated2' => $updated2, 'deleted' => $deleted]); + DI::logger()->notice('Contact fix done', ['total' => $total, 'updated1' => $updated1, 'updated2' => $updated2, 'deleted' => $deleted]); } private static function deleteDuplicates() @@ -98,20 +98,20 @@ class RemoveUnusedAvatars $total = 0; $deleted = 0; - Logger::notice('Starting duplicate removal'); + DI::logger()->notice('Starting duplicate removal'); $photos = DBA::p("SELECT `photo`.`id`, `photo`.`uid`, `photo`.`scale`, `photo`.`album`, `photo`.`contact-id`, `photo`.`resource-id`, `contact`.`photo`, `contact`.`thumb`, `contact`.`micro` FROM `photo` INNER JOIN `contact` ON `contact`.`id` = `photo`.`contact-id` and `photo`.`contact-id` != ? AND `photo`.`scale` IN (?, ?, ?)", 0, 4, 5, 6); while ($photo = DBA::fetch($photos)) { $resource = Photo::ridFromURI($photo[$size[$photo['scale']]]); if ($resource != $photo['resource-id'] && !empty($resource)) { $total++; if (DBA::exists('photo', ['resource-id' => $resource, 'scale' => $photo['scale']])) { - Logger::notice('Photo deleted', ['id' => $photo['id']]); + DI::logger()->notice('Photo deleted', ['id' => $photo['id']]); Photo::delete(['id' => $photo['id']]); $deleted++; } } } DBA::close($photos); - Logger::notice('Duplicate removal done', ['total' => $total, 'deleted' => $deleted]); + DI::logger()->notice('Duplicate removal done', ['total' => $total, 'deleted' => $deleted]); } } diff --git a/src/Worker/RemoveUnusedContacts.php b/src/Worker/RemoveUnusedContacts.php index 9ee7390ca9..3419b69421 100644 --- a/src/Worker/RemoveUnusedContacts.php +++ b/src/Worker/RemoveUnusedContacts.php @@ -8,7 +8,6 @@ namespace Friendica\Worker; use Friendica\Contact\Avatar; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Worker; use Friendica\Database\DBA; @@ -27,21 +26,21 @@ class RemoveUnusedContacts { $loop = 0; while (self::removeContacts(++$loop)) { - Logger::info('In removal', ['loop' => $loop]); + DI::logger()->info('In removal', ['loop' => $loop]); } - Logger::notice('Remove apcontact entries with no related contact'); + DI::logger()->notice('Remove apcontact entries with no related contact'); DBA::delete('apcontact', ["`uri-id` NOT IN (SELECT `uri-id` FROM `contact`) AND `updated` < ?", DateTimeFormat::utc('now - 30 days')]); - Logger::notice('Removed apcontact entries with no related contact', ['count' => DBA::affectedRows()]); + DI::logger()->notice('Removed apcontact entries with no related contact', ['count' => DBA::affectedRows()]); - Logger::notice('Remove diaspora-contact entries with no related contact'); + DI::logger()->notice('Remove diaspora-contact entries with no related contact'); DBA::delete('diaspora-contact', ["`uri-id` NOT IN (SELECT `uri-id` FROM `contact`) AND `updated` < ?", DateTimeFormat::utc('now - 30 days')]); - Logger::notice('Removed diaspora-contact entries with no related contact', ['count' => DBA::affectedRows()]); + DI::logger()->notice('Removed diaspora-contact entries with no related contact', ['count' => DBA::affectedRows()]); } public static function removeContacts(int $loop): bool { - Logger::notice('Starting removal', ['loop' => $loop]); + DI::logger()->notice('Starting removal', ['loop' => $loop]); $condition = [ "`id` != ? AND `uid` = ? AND NOT `self` AND NOT `uri-id` IN (SELECT `uri-id` FROM `contact` WHERE `uid` != ?) @@ -64,7 +63,7 @@ class RemoveUnusedContacts "(NOT `network` IN (?, ?, ?, ?, ?, ?) OR `archive`)", Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, Protocol::FEED, Protocol::MAIL, Protocol::ACTIVITYPUB ]; - + $condition = DBA::mergeConditions($condition2, $condition); } @@ -102,7 +101,7 @@ class RemoveUnusedContacts Contact::deleteById($contact['id']); } DBA::close($contacts); - Logger::notice('Removal done', ['count' => $count]); + DI::logger()->notice('Removal done', ['count' => $count]); return ($count == 1000 && Worker::isInMaintenanceWindow()); } } diff --git a/src/Worker/SearchDirectory.php b/src/Worker/SearchDirectory.php index 0c83ea2d31..ac7242235f 100644 --- a/src/Worker/SearchDirectory.php +++ b/src/Worker/SearchDirectory.php @@ -8,7 +8,6 @@ namespace Friendica\Worker; use Friendica\Core\Cache\Enum\Duration; -use Friendica\Core\Logger; use Friendica\Core\Search; use Friendica\DI; use Friendica\Model\Contact; @@ -21,7 +20,7 @@ class SearchDirectory public static function execute($search) { if (!DI::config()->get('system', 'poco_local_search')) { - Logger::info('Local search is not enabled'); + DI::logger()->info('Local search is not enabled'); return; } @@ -29,7 +28,7 @@ class SearchDirectory if (!is_null($data)) { // Only search for the same item every 24 hours if (time() < $data + (60 * 60 * 24)) { - Logger::info('Already searched this in the last 24 hours', ['search' => $search]); + DI::logger()->info('Already searched this in the last 24 hours', ['search' => $search]); return; } } diff --git a/src/Worker/SetSeen.php b/src/Worker/SetSeen.php index 2428bd8dec..ea26494abd 100644 --- a/src/Worker/SetSeen.php +++ b/src/Worker/SetSeen.php @@ -7,7 +7,7 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; +use Friendica\DI; use Friendica\Model\Item; /** @@ -18,6 +18,6 @@ class SetSeen public static function execute(int $uid) { $ret = Item::update(['unseen' => false], ['unseen' => true, 'uid' => $uid]); - Logger::debug('Set seen', ['uid' => $uid, 'ret' => $ret]); + DI::logger()->debug('Set seen', ['uid' => $uid, 'ret' => $ret]); } } diff --git a/src/Worker/SpoolPost.php b/src/Worker/SpoolPost.php index 9d0a21f5c3..aab2b7a975 100644 --- a/src/Worker/SpoolPost.php +++ b/src/Worker/SpoolPost.php @@ -7,8 +7,8 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\System; +use Friendica\DI; use Friendica\Model\Item; /** @@ -24,7 +24,7 @@ class SpoolPost { // It is not named like a spool file, so we don't care. if (substr($file, 0, 5) != "item-") { - Logger::info('Spool file does not start with "item-"', ['file' => $file]); + DI::logger()->info('Spool file does not start with "item-"', ['file' => $file]); continue; } @@ -32,13 +32,13 @@ class SpoolPost { // We don't care about directories either if (filetype($fullfile) != "file") { - Logger::info('Spool file is no file', ['file' => $file]); + DI::logger()->info('Spool file is no file', ['file' => $file]); continue; } // We can't read or write the file? So we don't care about it. if (!is_writable($fullfile) || !is_readable($fullfile)) { - Logger::warning('Spool file has insufficent permissions', ['file' => $file, 'writable' => is_writable($fullfile), 'readable' => is_readable($fullfile)]); + DI::logger()->warning('Spool file has insufficent permissions', ['file' => $file, 'writable' => is_writable($fullfile), 'readable' => is_readable($fullfile)]); continue; } @@ -46,19 +46,19 @@ class SpoolPost { // If it isn't an array then it is no spool file if (!is_array($arr)) { - Logger::notice('Spool file is no array', ['file' => $file]); + DI::logger()->notice('Spool file is no array', ['file' => $file]); continue; } // Skip if it doesn't seem to be an item array if (!isset($arr['uid']) && !isset($arr['uri']) && !isset($arr['network'])) { - Logger::warning('Spool file does not contain the needed fields', ['file' => $file]); + DI::logger()->warning('Spool file does not contain the needed fields', ['file' => $file]); continue; } $result = Item::insert($arr); - Logger::info('Spool file is stored', ['file' => $file, 'result' => $result]); + DI::logger()->info('Spool file is stored', ['file' => $file, 'result' => $result]); unlink($fullfile); } closedir($dh); diff --git a/src/Worker/UpdateBlockedServers.php b/src/Worker/UpdateBlockedServers.php index 61ea6ab0eb..ab38a5dd85 100644 --- a/src/Worker/UpdateBlockedServers.php +++ b/src/Worker/UpdateBlockedServers.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\GServer; @@ -20,7 +19,7 @@ class UpdateBlockedServers */ public static function execute() { - Logger::info('Update blocked servers - start'); + DI::logger()->info('Update blocked servers - start'); $gservers = DBA::select('gserver', ['id', 'url', 'blocked']); $changed = 0; $unchanged = 0; @@ -39,12 +38,12 @@ class UpdateBlockedServers $changed++; } DBA::close($gservers); - Logger::info('Update blocked servers - done', ['changed' => $changed, 'unchanged' => $unchanged]); + DI::logger()->info('Update blocked servers - done', ['changed' => $changed, 'unchanged' => $unchanged]); if (DI::config()->get('system', 'delete-blocked-servers')) { - Logger::info('Delete blocked servers - start'); + DI::logger()->info('Delete blocked servers - start'); $ret = DBA::delete('gserver', ["`blocked` AND NOT EXISTS(SELECT `gsid` FROM `inbox-status` WHERE `gsid` = `gserver`.`id`) AND NOT EXISTS(SELECT `gsid` FROM `contact` WHERE gsid= `gserver`.`id`) AND NOT EXISTS(SELECT `gsid` FROM `apcontact` WHERE `gsid` = `gserver`.`id`) AND NOT EXISTS(SELECT `gsid` FROM `delivery-queue` WHERE `gsid` = `gserver`.`id`) AND NOT EXISTS(SELECT `gsid` FROM `diaspora-contact` WHERE `gsid` = `gserver`.`id`) AND NOT EXISTS(SELECT `gserver-id` FROM `gserver-tag` WHERE `gserver-id` = `gserver`.`id`)"]); - Logger::info('Delete blocked servers - done', ['ret' => $ret, 'rows' => DBA::affectedRows()]); + DI::logger()->info('Delete blocked servers - done', ['ret' => $ret, 'rows' => DBA::affectedRows()]); } } } diff --git a/src/Worker/UpdateContact.php b/src/Worker/UpdateContact.php index ded4679fe6..88f157ad51 100644 --- a/src/Worker/UpdateContact.php +++ b/src/Worker/UpdateContact.php @@ -7,8 +7,8 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\Worker; +use Friendica\DI; use Friendica\Model\Contact; use Friendica\Network\HTTPException\InternalServerErrorException; @@ -31,7 +31,7 @@ class UpdateContact $success = Contact::updateFromProbe($contact_id); - Logger::info('Updated from probe', ['id' => $contact_id, 'success' => $success]); + DI::logger()->info('Updated from probe', ['id' => $contact_id, 'success' => $success]); } /** @@ -51,7 +51,7 @@ class UpdateContact return 0; } - Logger::debug('Update contact', ['id' => $contact_id]); + DI::logger()->debug('Update contact', ['id' => $contact_id]); return Worker::add($run_parameters, 'UpdateContact', $contact_id); } } diff --git a/src/Worker/UpdateContacts.php b/src/Worker/UpdateContacts.php index 92c97beff2..bb7e236661 100644 --- a/src/Worker/UpdateContacts.php +++ b/src/Worker/UpdateContacts.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\DI; @@ -30,11 +29,11 @@ class UpdateContacts $updating = Worker::countWorkersByCommand('UpdateContact'); $limit = $update_limit - $updating; if ($limit <= 0) { - Logger::info('The number of currently running jobs exceed the limit'); + DI::logger()->info('The number of currently running jobs exceed the limit'); return; } - Logger::info('Updating contact', ['count' => $limit]); + DI::logger()->info('Updating contact', ['count' => $limit]); $condition = ['self' => false]; @@ -54,20 +53,20 @@ class UpdateContacts if ((!empty($contact['gsid']) || !empty($contact['baseurl'])) && GServer::reachable($contact)) { $stamp = (float)microtime(true); $success = Contact::updateFromProbe($contact['id']); - Logger::debug('Direct update', ['id' => $contact['id'], 'count' => $count, 'duration' => round((float)microtime(true) - $stamp, 3), 'success' => $success]); + DI::logger()->debug('Direct update', ['id' => $contact['id'], 'count' => $count, 'duration' => round((float)microtime(true) - $stamp, 3), 'success' => $success]); ++$count; } elseif (UpdateContact::add(['priority' => Worker::PRIORITY_LOW, 'dont_fork' => true], $contact['id'])) { - Logger::debug('Update by worker', ['id' => $contact['id'], 'count' => $count]); + DI::logger()->debug('Update by worker', ['id' => $contact['id'], 'count' => $count]); ++$count; } } catch (\InvalidArgumentException $e) { - Logger::notice($e->getMessage(), ['contact' => $contact]); + DI::logger()->notice($e->getMessage(), ['contact' => $contact]); } Worker::coolDown(); } DBA::close($contacts); - Logger::info('Initiated update for federated contacts', ['count' => $count]); + DI::logger()->info('Initiated update for federated contacts', ['count' => $count]); } } diff --git a/src/Worker/UpdateGServer.php b/src/Worker/UpdateGServer.php index 7fd6057a92..1c95631da4 100644 --- a/src/Worker/UpdateGServer.php +++ b/src/Worker/UpdateGServer.php @@ -7,15 +7,13 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\GServer; use Friendica\Network\HTTPException\InternalServerErrorException; use Friendica\Util\Network; use Friendica\Util\Strings; -use GuzzleHttp\Psr7\Uri; -use Psr\Http\Message\UriInterface; class UpdateGServer { @@ -62,7 +60,7 @@ class UpdateGServer } $ret = GServer::check($filtered, '', true, $only_nodeinfo); - Logger::info('Updated gserver', ['url' => $filtered, 'result' => $ret]); + DI::logger()->info('Updated gserver', ['url' => $filtered, 'result' => $ret]); } /** diff --git a/src/Worker/UpdateGServers.php b/src/Worker/UpdateGServers.php index d40d86f844..a5eb626dba 100644 --- a/src/Worker/UpdateGServers.php +++ b/src/Worker/UpdateGServers.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\DI; @@ -31,14 +30,14 @@ class UpdateGServers $updating = Worker::countWorkersByCommand('UpdateGServer'); $limit = $update_limit - $updating; if ($limit <= 0) { - Logger::info('The number of currently running jobs exceed the limit'); + DI::logger()->info('The number of currently running jobs exceed the limit'); return; } $total = DBA::count('gserver'); $condition = ["NOT `blocked` AND `next_contact` < ? AND (`nurl` != ? OR `url` != ?)", DateTimeFormat::utcNow(), '', '']; $outdated = DBA::count('gserver', $condition); - Logger::info('Server status', ['total' => $total, 'outdated' => $outdated, 'updating' => $limit]); + DI::logger()->info('Server status', ['total' => $total, 'outdated' => $outdated, 'updating' => $limit]); $gservers = DBA::select('gserver', ['id', 'url', 'nurl', 'failed', 'created', 'last_contact'], $condition, ['limit' => $limit]); if (!DBA::isResult($gservers)) { @@ -49,7 +48,7 @@ class UpdateGServers while ($gserver = DBA::fetch($gservers)) { if (DI::config()->get('system', 'update_active_contacts') && !Contact::exists(['gsid' => $gserver['id'], 'local-data' => true])) { $next_update = GServer::getNextUpdateDate(!$gserver['failed'], $gserver['created'], $gserver['last_contact']); - Logger::debug('Skip server without contacts with local data', ['url' => $gserver['url'], 'failed' => $gserver['failed'], 'next_update' => $next_update]); + DI::logger()->debug('Skip server without contacts with local data', ['url' => $gserver['url'], 'failed' => $gserver['failed'], 'next_update' => $next_update]); GServer::update(['next_contact' => $next_update], ['nurl' => $gserver['nurl']]); continue; } @@ -70,6 +69,6 @@ class UpdateGServers Worker::coolDown(); } DBA::close($gservers); - Logger::info('Updated servers', ['count' => $count]); + DI::logger()->info('Updated servers', ['count' => $count]); } } diff --git a/src/Worker/UpdateScores.php b/src/Worker/UpdateScores.php index ffba5fd3ac..c2086e8cba 100644 --- a/src/Worker/UpdateScores.php +++ b/src/Worker/UpdateScores.php @@ -7,19 +7,19 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\Contact\Relation; use Friendica\Model\Post; /** - * Update the interaction scores + * Update the interaction scores */ class UpdateScores { public static function execute($param = '', $hook_function = '') { - Logger::notice('Start score update'); + DI::logger()->notice('Start score update'); $users = DBA::select('user', ['uid'], ["`verified` AND NOT `blocked` AND NOT `account_removed` AND NOT `account_expired` AND `uid` > ?", 0]); while ($user = DBA::fetch($users)) { @@ -27,7 +27,7 @@ class UpdateScores } DBA::close($users); - Logger::notice('Score update done'); + DI::logger()->notice('Score update done'); Post\Engagement::expire(); diff --git a/src/Worker/UpdateServerDirectory.php b/src/Worker/UpdateServerDirectory.php index cf3634d878..e9482124e8 100644 --- a/src/Worker/UpdateServerDirectory.php +++ b/src/Worker/UpdateServerDirectory.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\GServer; @@ -38,17 +37,17 @@ class UpdateServerDirectory { $result = DI::httpClient()->fetch($gserver['poco'] . '?fields=urls', HttpClientAccept::JSON, 0, '', HttpClientRequest::SERVERDISCOVER); if (empty($result)) { - Logger::info('Empty result', ['url' => $gserver['url']]); + DI::logger()->info('Empty result', ['url' => $gserver['url']]); return; } $contacts = json_decode($result, true); if (empty($contacts['entry'])) { - Logger::info('No contacts', ['url' => $gserver['url']]); + DI::logger()->info('No contacts', ['url' => $gserver['url']]); return; } - Logger::info('PoCo discovery started', ['poco' => $gserver['poco']]); + DI::logger()->info('PoCo discovery started', ['poco' => $gserver['poco']]); $urls = []; foreach (array_column($contacts['entry'], 'urls') as $url_entries) { @@ -64,24 +63,24 @@ class UpdateServerDirectory $result = Contact::addByUrls($urls); - Logger::info('PoCo discovery ended', ['count' => $result['count'], 'added' => $result['added'], 'updated' => $result['updated'], 'unchanged' => $result['unchanged'], 'poco' => $gserver['poco']]); + DI::logger()->info('PoCo discovery ended', ['count' => $result['count'], 'added' => $result['added'], 'updated' => $result['updated'], 'unchanged' => $result['unchanged'], 'poco' => $gserver['poco']]); } private static function discoverMastodonDirectory(array $gserver) { $result = DI::httpClient()->fetch($gserver['url'] . '/api/v1/directory?order=new&local=true&limit=200&offset=0', HttpClientAccept::JSON, 0, '', HttpClientRequest::SERVERDISCOVER); if (empty($result)) { - Logger::info('Empty result', ['url' => $gserver['url']]); + DI::logger()->info('Empty result', ['url' => $gserver['url']]); return; } $accounts = json_decode($result, true); if (!is_array($accounts)) { - Logger::info('No contacts', ['url' => $gserver['url']]); + DI::logger()->info('No contacts', ['url' => $gserver['url']]); return; } - Logger::info('Account discovery started', ['url' => $gserver['url']]); + DI::logger()->info('Account discovery started', ['url' => $gserver['url']]); $urls = []; foreach ($accounts as $account) { @@ -92,6 +91,6 @@ class UpdateServerDirectory $result = Contact::addByUrls($urls); - Logger::info('Account discovery ended', ['count' => $result['count'], 'added' => $result['added'], 'updated' => $result['updated'], 'unchanged' => $result['unchanged'], 'url' => $gserver['url']]); + DI::logger()->info('Account discovery ended', ['count' => $result['count'], 'added' => $result['added'], 'updated' => $result['updated'], 'unchanged' => $result['unchanged'], 'url' => $gserver['url']]); } } diff --git a/src/Worker/UpdateServerPeers.php b/src/Worker/UpdateServerPeers.php index 94e04a240d..4d3846b643 100644 --- a/src/Worker/UpdateServerPeers.php +++ b/src/Worker/UpdateServerPeers.php @@ -7,7 +7,6 @@ namespace Friendica\Worker; -use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\DI; @@ -35,21 +34,21 @@ class UpdateServerPeers try { $ret = DI::httpClient()->get($url . '/api/v1/instance/peers', HttpClientAccept::JSON, [HttpClientOptions::REQUEST => HttpClientRequest::SERVERDISCOVER]); } catch (\Throwable $th) { - Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); + DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]); return; } if (!$ret->isSuccess() || empty($ret->getBodyString())) { - Logger::info('Server is not reachable or does not offer the "peers" endpoint', ['url' => $url]); + DI::logger()->info('Server is not reachable or does not offer the "peers" endpoint', ['url' => $url]); return; } $peers = json_decode($ret->getBodyString()); if (empty($peers) || !is_array($peers)) { - Logger::info('Server does not have any peers listed', ['url' => $url]); + DI::logger()->info('Server does not have any peers listed', ['url' => $url]); return; } - Logger::info('Server peer update start', ['url' => $url]); + DI::logger()->info('Server peer update start', ['url' => $url]); $total = 0; $added = 0; @@ -69,6 +68,6 @@ class UpdateServerPeers ++$added; Worker::coolDown(); } - Logger::info('Server peer update ended', ['total' => $total, 'added' => $added, 'url' => $url]); + DI::logger()->info('Server peer update ended', ['total' => $total, 'added' => $added, 'url' => $url]); } } diff --git a/tests/src/Console/AutomaticInstallationConsoleTest.php b/tests/src/Console/AutomaticInstallationConsoleTest.php index 0c2ffe1072..9bc673ff4f 100644 --- a/tests/src/Console/AutomaticInstallationConsoleTest.php +++ b/tests/src/Console/AutomaticInstallationConsoleTest.php @@ -13,7 +13,6 @@ use Friendica\Console\AutomaticInstallation; use Friendica\Core\Config\ValueObject\Cache; use Friendica\Core\Installer; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Friendica\Database\Database; use Friendica\DI; use Friendica\Test\ConsoleTestCase; @@ -23,7 +22,6 @@ use Mockery; use Mockery\MockInterface; use org\bovigo\vfs\vfsStream; use org\bovigo\vfs\vfsStreamFile; -use Psr\Log\NullLogger; class AutomaticInstallationConsoleTest extends ConsoleTestCase { @@ -104,7 +102,6 @@ class AutomaticInstallationConsoleTest extends ConsoleTestCase }); $this->mode->shouldReceive('isInstall')->andReturn(true); - Logger::init(new NullLogger()); } /** diff --git a/update.php b/update.php index 493c095809..b954247162 100644 --- a/update.php +++ b/update.php @@ -30,7 +30,6 @@ use Friendica\Contact\LocalRelationship\Entity\LocalRelationship; use Friendica\Core\Config\ValueObject\Cache; -use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Storage\Capability\ICanReadFromStorage; use Friendica\Core\Storage\Type\Database as DatabaseStorage; @@ -95,7 +94,7 @@ function update_1298() $fail++; } else { DBA::update('profile', [$translateKey => $key], ['id' => $data['id']]); - Logger::notice('Updated contact', ['action' => 'update', 'contact' => $data['id'], "$translateKey" => $key, + DI::logger()->notice('Updated contact', ['action' => 'update', 'contact' => $data['id'], "$translateKey" => $key, 'was' => $data[$translateKey]]); Contact::updateSelfFromUserID($data['id']); @@ -105,7 +104,7 @@ function update_1298() } } - Logger::notice($translateKey . ' fix completed', ['action' => 'update', 'translateKey' => $translateKey, 'Success' => $success, 'Fail' => $fail ]); + DI::logger()->notice($translateKey . ' fix completed', ['action' => 'update', 'translateKey' => $translateKey, 'Success' => $success, 'Fail' => $fail ]); } return Update::SUCCESS; } @@ -126,7 +125,7 @@ function update_1309() $deliver_options = ['priority' => Worker::PRIORITY_MEDIUM, 'dont_fork' => true]; Worker::add($deliver_options, 'Delivery', Delivery::POST, $item['id'], $entry['cid']); - Logger::info('Added delivery worker', ['item' => $item['id'], 'contact' => $entry['cid']]); + DI::logger()->info('Added delivery worker', ['item' => $item['id'], 'contact' => $entry['cid']]); DBA::delete('queue', ['id' => $entry['id']]); } return Update::SUCCESS; @@ -1388,7 +1387,7 @@ function update_1535() DI::config()->set('system', 'compute_circle_counts', true); } DI::config()->delete('system', 'compute_group_counts'); - + return Update::SUCCESS; } diff --git a/view/theme/frio/templates/media/browser.tpl b/view/theme/frio/templates/media/browser.tpl index 2249cb6e4d..8ddc9bb6bc 100644 --- a/view/theme/frio/templates/media/browser.tpl +++ b/view/theme/frio/templates/media/browser.tpl @@ -40,7 +40,7 @@ diff --git a/view/theme/frio/theme.php b/view/theme/frio/theme.php index a1ab35805b..1d9db39f77 100644 --- a/view/theme/frio/theme.php +++ b/view/theme/frio/theme.php @@ -16,13 +16,11 @@ use Friendica\App\Mode; use Friendica\AppHelper; use Friendica\Content\Text\Plaintext; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Renderer; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\Item; -use Friendica\Model\Profile; const FRIO_SCHEME_ACCENT_BLUE = '#1e87c2'; const FRIO_SCHEME_ACCENT_RED = '#b50404'; @@ -65,7 +63,7 @@ function frio_install() Hook::register('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav'); Hook::register('display_item', 'view/theme/frio/theme.php', 'frio_display_item'); - Logger::info('installed theme frio'); + DI::logger()->info('installed theme frio'); } /** diff --git a/view/theme/vier/style.php b/view/theme/vier/style.php index 9c32e41bce..7590ef248e 100644 --- a/view/theme/vier/style.php +++ b/view/theme/vier/style.php @@ -7,7 +7,6 @@ * */ -use Friendica\Core\Logger; use Friendica\DI; use Friendica\Network\HTTPException\NotModifiedException; @@ -37,7 +36,7 @@ foreach (['style', $style] as $file) { $modified = $stylemodified; } } else { - Logger::warning('Missing CSS file', ['file' => $stylecssfile, 'uid' => $uid]); + DI::logger()->warning('Missing CSS file', ['file' => $stylecssfile, 'uid' => $uid]); } } $modified = gmdate('r', $modified);