]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Contact/Follow.php
Removed redundant maximagesize = INF statements
[friendica.git] / src / Module / Contact / Follow.php
index 7504501d417c4df06866c0d07f99b904bf5e465d..f8b88c05fc7ab35686ede286500d988a34748736 100644 (file)
@@ -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;
        }
@@ -72,11 +69,11 @@ class Follow extends BaseModule
                        throw new ForbiddenException($this->t('Access denied.'));
                }
 
-               if (!empty($request['url'])) {
-                       $this->baseUrl->redirect($request['url']);
+               if (isset($request['cancel']) || empty($request['url'])) {
+                       $this->baseUrl->redirect('contact');
                }
 
-               $url = Probe::cleanURI($this->session->get('url'));
+               $url = Probe::cleanURI($request['url']);
 
                $this->process($url);
        }
@@ -91,7 +88,9 @@ class Follow extends BaseModule
                }
 
                $uid = $this->session->getLocalUserId();
-               $url = Probe::cleanURI(trim($request['url'] ?? ''));
+
+               // uri is used by the /authorize_interaction Mastodon route
+               $url = Probe::cleanURI(trim($request['uri'] ?? $request['url'] ?? ''));
 
                // Issue 6874: Allow remote following from Peertube
                if (strpos($url, 'acct:') === 0) {
@@ -153,8 +152,8 @@ class Follow extends BaseModule
                        $this->process($contact['url']);
                }
 
-               $request = $this->baseUrl . '/follow';
-               $tpl     = Renderer::getMarkupTemplate('auto_request.tpl');
+               $requestUrl = $this->baseUrl . '/contact/follow';
+               $tpl        = Renderer::getMarkupTemplate('auto_request.tpl');
 
                $owner = User::getOwnerDataById($uid);
                if (empty($owner)) {
@@ -173,7 +172,7 @@ class Follow extends BaseModule
                        '$submit'         => $submit,
                        '$cancel'         => $this->t('Cancel'),
 
-                       '$request'  => $request,
+                       '$action'   => $requestUrl,
                        '$name'     => $contact['name'],
                        '$url'      => $contact['url'],
                        '$zrl'      => Profile::zrl($contact['url']),
@@ -184,10 +183,10 @@ class Follow extends BaseModule
                        '$addnote_field' => ['dfrn-request-message', $this->t('Add a personal note:')],
                ]);
 
-               $this['aside'] = '';
+               $this->page['aside'] = '';
 
                if (!in_array($protocol, [Protocol::PHANTOM, Protocol::MAIL])) {
-                       $this['aside'] = VCard::getHTML($contact);
+                       $this->page['aside'] = VCard::getHTML($contact);
 
                        $output .= Renderer::replaceMacros(Renderer::getMarkupTemplate('section_title.tpl'),
                                ['$title' => $this->t('Status Messages and Posts')]
@@ -202,9 +201,9 @@ class Follow extends BaseModule
 
        protected function process(string $url)
        {
-               $returnPath = 'follow?rul=' . 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