Move DI dependency for App\Conversation class

This commit is contained in:
Philipp 2022-10-20 21:32:54 +02:00
parent fa8a32e83c
commit 37ff477b55
No known key found for this signature in database
GPG Key ID: 24A7501396EB5432

View File

@ -33,9 +33,9 @@ use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Session\Capability\IHandleSessions; use Friendica\Core\Session\Capability\IHandleSessions;
use Friendica\Core\Session\Capability\IHandleUserSessions;
use Friendica\Core\Theme; use Friendica\Core\Theme;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\Contact; use Friendica\Model\Contact;
use Friendica\Model\Item as ItemModel; use Friendica\Model\Item as ItemModel;
use Friendica\Model\Post; use Friendica\Model\Post;
@ -80,22 +80,25 @@ class Conversation
private $mode; private $mode;
/** @var IHandleSessions */ /** @var IHandleSessions */
private $session; private $session;
/** @var IHandleUserSessions */
private $userSession;
public function __construct(LoggerInterface $logger, Profiler $profiler, Activity $activity, L10n $l10n, Item $item, Arguments $args, BaseURL $baseURL, IManageConfigValues $config, IManagePersonalConfigValues $pConfig, App\Page $page, App\Mode $mode, App $app, IHandleSessions $session) public function __construct(LoggerInterface $logger, Profiler $profiler, Activity $activity, L10n $l10n, Item $item, Arguments $args, BaseURL $baseURL, IManageConfigValues $config, IManagePersonalConfigValues $pConfig, App\Page $page, App\Mode $mode, App $app, IHandleSessions $session, IHandleUserSessions $userSession)
{ {
$this->activity = $activity; $this->activity = $activity;
$this->item = $item; $this->item = $item;
$this->config = $config; $this->config = $config;
$this->mode = $mode; $this->mode = $mode;
$this->baseURL = $baseURL; $this->baseURL = $baseURL;
$this->profiler = $profiler; $this->profiler = $profiler;
$this->logger = $logger; $this->logger = $logger;
$this->l10n = $l10n; $this->l10n = $l10n;
$this->args = $args; $this->args = $args;
$this->pConfig = $pConfig; $this->pConfig = $pConfig;
$this->page = $page; $this->page = $page;
$this->app = $app; $this->app = $app;
$this->session = $session; $this->session = $session;
$this->userSession = $userSession;
} }
/** /**
@ -172,7 +175,7 @@ class Conversation
continue; continue;
} }
if (DI::userSession()->getPublicContactId() == $activity['author-id']) { if ($this->userSession->getPublicContactId() == $activity['author-id']) {
$conv_responses[$mode][$activity['thr-parent-id']]['self'] = 1; $conv_responses[$mode][$activity['thr-parent-id']]['self'] = 1;
} }
@ -297,7 +300,7 @@ class Conversation
$x['bang'] = $x['bang'] ?? ''; $x['bang'] = $x['bang'] ?? '';
$x['visitor'] = $x['visitor'] ?? 'block'; $x['visitor'] = $x['visitor'] ?? 'block';
$x['is_owner'] = $x['is_owner'] ?? true; $x['is_owner'] = $x['is_owner'] ?? true;
$x['profile_uid'] = $x['profile_uid'] ?? DI::userSession()->getLocalUserId(); $x['profile_uid'] = $x['profile_uid'] ?? $this->userSession->getLocalUserId();
$geotag = !empty($x['allow_location']) ? Renderer::replaceMacros(Renderer::getMarkupTemplate('jot_geotag.tpl'), []) : ''; $geotag = !empty($x['allow_location']) ? Renderer::replaceMacros(Renderer::getMarkupTemplate('jot_geotag.tpl'), []) : '';
@ -360,7 +363,7 @@ class Conversation
'$title' => $x['title'] ?? '', '$title' => $x['title'] ?? '',
'$placeholdertitle' => $this->l10n->t('Set title'), '$placeholdertitle' => $this->l10n->t('Set title'),
'$category' => $x['category'] ?? '', '$category' => $x['category'] ?? '',
'$placeholdercategory' => Feature::isEnabled(DI::userSession()->getLocalUserId(), 'categories') ? $this->l10n->t("Categories \x28comma-separated list\x29") : '', '$placeholdercategory' => Feature::isEnabled($this->userSession->getLocalUserId(), 'categories') ? $this->l10n->t("Categories \x28comma-separated list\x29") : '',
'$scheduled_at' => Temporal::getDateTimeField( '$scheduled_at' => Temporal::getDateTimeField(
new \DateTime(), new \DateTime(),
new \DateTime('now + 6 months'), new \DateTime('now + 6 months'),
@ -398,7 +401,7 @@ class Conversation
'$browser' => $this->l10n->t('Browser'), '$browser' => $this->l10n->t('Browser'),
'$compose_link_title' => $this->l10n->t('Open Compose page'), '$compose_link_title' => $this->l10n->t('Open Compose page'),
'$always_open_compose' => $this->pConfig->get(DI::userSession()->getLocalUserId(), 'frio', 'always_open_compose', false), '$always_open_compose' => $this->pConfig->get($this->userSession->getLocalUserId(), 'frio', 'always_open_compose', false),
]); ]);
@ -437,7 +440,7 @@ class Conversation
$this->page->registerStylesheet(Theme::getPathForFile('js/friendica-tagsinput/friendica-tagsinput.css')); $this->page->registerStylesheet(Theme::getPathForFile('js/friendica-tagsinput/friendica-tagsinput.css'));
$this->page->registerStylesheet(Theme::getPathForFile('js/friendica-tagsinput/friendica-tagsinput-typeahead.css')); $this->page->registerStylesheet(Theme::getPathForFile('js/friendica-tagsinput/friendica-tagsinput-typeahead.css'));
$ssl_state = (bool)DI::userSession()->getLocalUserId(); $ssl_state = (bool)$this->userSession->getLocalUserId();
$live_update_div = ''; $live_update_div = '';
@ -489,11 +492,11 @@ class Conversation
} }
} }
} elseif ($mode === 'notes') { } elseif ($mode === 'notes') {
$items = $this->addChildren($items, false, $order, DI::userSession()->getLocalUserId(), $mode); $items = $this->addChildren($items, false, $order, $this->userSession->getLocalUserId(), $mode);
if (!$update) { if (!$update) {
$live_update_div = '<div id="live-notes"></div>' . "\r\n" $live_update_div = '<div id="live-notes"></div>' . "\r\n"
. "<script> var profile_uid = " . DI::userSession()->getLocalUserId() . "<script> var profile_uid = " . $this->userSession->getLocalUserId()
. "; var netargs = '/?f='; </script>\r\n"; . "; var netargs = '/?f='; </script>\r\n";
} }
} elseif ($mode === 'display') { } elseif ($mode === 'display') {
@ -527,7 +530,7 @@ class Conversation
$live_update_div = '<div id="live-search"></div>' . "\r\n"; $live_update_div = '<div id="live-search"></div>' . "\r\n";
} }
$page_dropping = DI::userSession()->getLocalUserId() && DI::userSession()->getLocalUserId() == $uid; $page_dropping = $this->userSession->getLocalUserId() && $this->userSession->getLocalUserId() == $uid;
if (!$update) { if (!$update) {
$_SESSION['return_path'] = $this->args->getQueryString(); $_SESSION['return_path'] = $this->args->getQueryString();
@ -547,7 +550,7 @@ class Conversation
'announce' => [], 'announce' => [],
]; ];
if ($this->pConfig->get(DI::userSession()->getLocalUserId(), 'system', 'hide_dislike')) { if ($this->pConfig->get($this->userSession->getLocalUserId(), 'system', 'hide_dislike')) {
unset($conv_responses['dislike']); unset($conv_responses['dislike']);
} }
@ -565,7 +568,7 @@ class Conversation
$writable = $items[0]['writable'] || ($items[0]['uid'] == 0) && in_array($items[0]['network'], Protocol::FEDERATED); $writable = $items[0]['writable'] || ($items[0]['uid'] == 0) && in_array($items[0]['network'], Protocol::FEDERATED);
} }
if (!DI::userSession()->getLocalUserId()) { if (!$this->userSession->getLocalUserId()) {
$writable = false; $writable = false;
} }
@ -598,7 +601,7 @@ class Conversation
$threadsid++; $threadsid++;
// prevent private email from leaking. // prevent private email from leaking.
if ($item['network'] === Protocol::MAIL && DI::userSession()->getLocalUserId() != $item['uid']) { if ($item['network'] === Protocol::MAIL && $this->userSession->getLocalUserId() != $item['uid']) {
continue; continue;
} }
@ -642,17 +645,17 @@ class Conversation
'announce' => null, 'announce' => null,
]; ];
if ($this->pConfig->get(DI::userSession()->getLocalUserId(), 'system', 'hide_dislike')) { if ($this->pConfig->get($this->userSession->getLocalUserId(), 'system', 'hide_dislike')) {
unset($likebuttons['dislike']); unset($likebuttons['dislike']);
} }
$body_html = ItemModel::prepareBody($item, true, $preview); $body_html = ItemModel::prepareBody($item, true, $preview);
[$categories, $folders] = $this->item->determineCategoriesTerms($item, DI::userSession()->getLocalUserId()); [$categories, $folders] = $this->item->determineCategoriesTerms($item, $this->userSession->getLocalUserId());
if (!empty($item['title'])) { if (!empty($item['title'])) {
$title = $item['title']; $title = $item['title'];
} elseif (!empty($item['content-warning']) && $this->pConfig->get(DI::userSession()->getLocalUserId(), 'system', 'disable_cw', false)) { } elseif (!empty($item['content-warning']) && $this->pConfig->get($this->userSession->getLocalUserId(), 'system', 'disable_cw', false)) {
$title = ucfirst($item['content-warning']); $title = ucfirst($item['content-warning']);
} else { } else {
$title = ''; $title = '';
@ -746,7 +749,7 @@ class Conversation
$this->builtinActivityPuller($item, $conv_responses); $this->builtinActivityPuller($item, $conv_responses);
// Only add what is visible // Only add what is visible
if ($item['network'] === Protocol::MAIL && DI::userSession()->getLocalUserId() != $item['uid']) { if ($item['network'] === Protocol::MAIL && $this->userSession->getLocalUserId() != $item['uid']) {
continue; continue;
} }
@ -791,11 +794,11 @@ class Conversation
private function getBlocklist(): array private function getBlocklist(): array
{ {
if (!DI::userSession()->getLocalUserId()) { if (!$this->userSession->getLocalUserId()) {
return []; return [];
} }
$str_blocked = str_replace(["\n", "\r"], ",", $this->pConfig->get(DI::userSession()->getLocalUserId(), 'system', 'blocked')); $str_blocked = str_replace(["\n", "\r"], ",", $this->pConfig->get($this->userSession->getLocalUserId(), 'system', 'blocked'));
if (empty($str_blocked)) { if (empty($str_blocked)) {
return []; return [];
} }
@ -865,7 +868,7 @@ class Conversation
$row['direction'] = ['direction' => 4, 'title' => $this->l10n->t('You subscribed to one or more tags in this post.')]; $row['direction'] = ['direction' => 4, 'title' => $this->l10n->t('You subscribed to one or more tags in this post.')];
break; break;
case ItemModel::PR_ANNOUNCEMENT: case ItemModel::PR_ANNOUNCEMENT:
if (!empty($row['causer-id']) && $this->pConfig->get(DI::userSession()->getLocalUserId(), 'system', 'display_resharer')) { if (!empty($row['causer-id']) && $this->pConfig->get($this->userSession->getLocalUserId(), 'system', 'display_resharer')) {
$row['owner-id'] = $row['causer-id']; $row['owner-id'] = $row['causer-id'];
$row['owner-link'] = $row['causer-link']; $row['owner-link'] = $row['causer-link'];
$row['owner-avatar'] = $row['causer-avatar']; $row['owner-avatar'] = $row['causer-avatar'];
@ -1217,7 +1220,7 @@ class Conversation
$parents[$i]['children'] = $this->sortItemChildren($parents[$i]['children']); $parents[$i]['children'] = $this->sortItemChildren($parents[$i]['children']);
} }
if (!$this->pConfig->get(DI::userSession()->getLocalUserId(), 'system', 'no_smart_threading', 0)) { if (!$this->pConfig->get($this->userSession->getLocalUserId(), 'system', 'no_smart_threading', 0)) {
foreach ($parents as $i => $parent) { foreach ($parents as $i => $parent) {
$parents[$i] = $this->smartFlattenConversation($parent); $parents[$i] = $this->smartFlattenConversation($parent);
} }