diff --git a/src/Content/Item.php b/src/Content/Item.php index 3d6443fe3..c867582b9 100644 --- a/src/Content/Item.php +++ b/src/Content/Item.php @@ -401,7 +401,7 @@ class Item if ((($cid == 0) || ($rel == Contact::FOLLOWER)) && in_array($item['network'], Protocol::FEDERATED)) { - $menu[$this->l10n->t('Connect/Follow')] = 'follow?url=' . urlencode($item['author-link']) . '&auto=1'; + $menu[$this->l10n->t('Connect/Follow')] = 'contact/follow?url=' . urlencode($item['author-link']) . '&auto=1'; } } else { $menu = [$this->l10n->t('View Profile') => $item['author-link']]; diff --git a/src/Content/Widget/VCard.php b/src/Content/Widget/VCard.php index 1edbf63c8..adb77319c 100644 --- a/src/Content/Widget/VCard.php +++ b/src/Content/Widget/VCard.php @@ -85,7 +85,7 @@ class VCard if (in_array($rel, [Contact::SHARING, Contact::FRIEND])) { $unfollow_link = 'contact/unfollow?url=' . urlencode($contact['url']) . '&auto=1'; } elseif (!$pending) { - $follow_link = 'follow?url=' . urlencode($contact['url']) . '&auto=1'; + $follow_link = 'contact/follow?url=' . urlencode($contact['url']) . '&auto=1'; } } diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 0ae7003f0..7c83e0351 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -1178,7 +1178,7 @@ class Contact if ($contact['uid'] && in_array($contact['rel'], [self::SHARING, self::FRIEND])) { $unfollow_link = 'contact/unfollow?url=' . urlencode($contact['url']) . '&auto=1'; } elseif(!$contact['pending']) { - $follow_link = 'follow?url=' . urlencode($contact['url']) . '&auto=1'; + $follow_link = 'contact/follow?url=' . urlencode($contact['url']) . '&auto=1'; } } diff --git a/src/Module/Contact/Follow.php b/src/Module/Contact/Follow.php index fe523f491..0e1e129e9 100644 --- a/src/Module/Contact/Follow.php +++ b/src/Module/Contact/Follow.php @@ -48,20 +48,17 @@ class Follow extends BaseModule protected $session; /** @var SystemMessages */ protected $sysMessages; - /** @var App */ - protected $app; /** @var IManageConfigValues */ protected $config; /** @var App\Page */ protected $page; - public function __construct(L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, IHandleUserSessions $session, SystemMessages $sysMessages, App $app, IManageConfigValues $config, App\Page $page, array $server, array $parameters = []) + public function __construct(L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, IHandleUserSessions $session, SystemMessages $sysMessages, IManageConfigValues $config, App\Page $page, array $server, array $parameters = []) { parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters); $this->session = $session; $this->sysMessages = $sysMessages; - $this->app = $app; $this->config = $config; $this->page = $page; } @@ -202,9 +199,9 @@ class Follow extends BaseModule protected function process(string $url) { - $returnPath = 'follow?url=' . urlencode($url); + $returnPath = 'contact/follow?url=' . urlencode($url); - $result = Contact::createFromProbeForUser($this->app->getLoggedInUserId(), $url); + $result = Contact::createFromProbeForUser($this->session->getLocalUserId(), $url); if (!$result['success']) { // Possibly it is a remote item and not an account diff --git a/static/routes.config.php b/static/routes.config.php index d21e9efae..2b7f5b98d 100644 --- a/static/routes.config.php +++ b/static/routes.config.php @@ -387,7 +387,7 @@ return [ '/hidden' => [Module\Contact::class, [R::GET]], '/ignored' => [Module\Contact::class, [R::GET]], '/hovercard' => [Module\Contact\Hovercard::class, [R::GET]], - '/follow[/{url}]' => [Module\Contact\Follow::class, [R::GET, R::POST]], + '/follow[/{url}]' => [Module\Contact\Follow::class, [R::GET, R::POST]], '/unfollow' => [Module\Contact\Unfollow::class, [R::GET, R::POST]], ], diff --git a/view/theme/vier/theme.php b/view/theme/vier/theme.php index 2d313cb29..bb647bc63 100644 --- a/view/theme/vier/theme.php +++ b/view/theme/vier/theme.php @@ -154,7 +154,7 @@ function vier_community_info() foreach ($contacts as $contact) { $entry = Renderer::replaceMacros($tpl, [ '$id' => $contact['id'], - '$profile_link' => 'follow/?url='.urlencode($contact['url']), + '$profile_link' => 'contact/follow/?url='.urlencode($contact['url']), '$photo' => Contact::getMicro($contact), '$alt_text' => $contact['name'], ]);