]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Contact/Revoke.php
Removed redundant maximagesize = INF statements
[friendica.git] / src / Module / Contact / Revoke.php
index e9b5a442433c5300a82e7d781fd20460b46815b3..609ec65842e4a9394d78ab46af35264ce2b376af 100644 (file)
@@ -1,8 +1,8 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
  *
- * @license   GNU AGPL version 3 or any later version
+ * @license GNU AGPL version 3 or any later version
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as
 
 namespace Friendica\Module\Contact;
 
+use Friendica\App;
 use Friendica\BaseModule;
 use Friendica\Content\Nav;
+use Friendica\Core\L10n;
 use Friendica\Core\Protocol;
 use Friendica\Core\Renderer;
-use Friendica\Database\DBA;
+use Friendica\Database\Database;
 use Friendica\DI;
 use Friendica\Model;
 use Friendica\Module\Contact;
+use Friendica\Module\Response;
 use Friendica\Module\Security\Login;
 use Friendica\Network\HTTPException;
+use Friendica\Util\Profiler;
+use Psr\Log\LoggerInterface;
 
 class Revoke extends BaseModule
 {
-       /** @var array */
-       private static $contact;
-
-       public static function init(array $parameters = [])
+       /**
+        * User-specific contact (uid != 0) array
+        * @var array
+        */
+       protected $contact;
+       
+       /** @var Database */
+       protected $dba;
+
+       public function __construct(L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Database $dba, Response $response, array $server, array $parameters = [])
        {
-               if (!local_user()) {
+               parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
+
+               $this->dba     = $dba;
+
+               if (!DI::userSession()->getLocalUserId()) {
                        return;
                }
 
-               $data = Model\Contact::getPublicAndUserContactID($parameters['id'], local_user());
-               if (!DBA::isResult($data)) {
-                       throw new HTTPException\NotFoundException(DI::l10n()->t('Unknown contact.'));
+               $data = Model\Contact::getPublicAndUserContactID($this->parameters['id'], DI::userSession()->getLocalUserId());
+               if (!$this->dba->isResult($data)) {
+                       throw new HTTPException\NotFoundException($this->t('Unknown contact.'));
                }
 
                if (empty($data['user'])) {
                        throw new HTTPException\ForbiddenException();
                }
 
-               self::$contact = Model\Contact::getById($data['user']);
+               $this->contact = Model\Contact::getById($data['user']);
 
-               if (self::$contact['deleted']) {
-                       throw new HTTPException\NotFoundException(DI::l10n()->t('Contact is deleted.'));
+               if ($this->contact['deleted']) {
+                       throw new HTTPException\NotFoundException($this->t('Contact is deleted.'));
                }
 
-               if (!empty(self::$contact['network']) && self::$contact['network'] == Protocol::PHANTOM) {
-                       throw new HTTPException\NotFoundException(DI::l10n()->t('Contact is being deleted.'));
+               if (!empty($this->contact['network']) && $this->contact['network'] == Protocol::PHANTOM) {
+                       throw new HTTPException\NotFoundException($this->t('Contact is being deleted.'));
                }
        }
 
-       public static function post(array $parameters = [])
+       protected function post(array $request = [])
        {
-               if (!local_user()) {
+               if (!DI::userSession()->getLocalUserId()) {
                        throw new HTTPException\UnauthorizedException();
                }
 
-               self::checkFormSecurityTokenRedirectOnError('contact/' . $parameters['id'], 'contact_revoke');
+               self::checkFormSecurityTokenRedirectOnError('contact/' . $this->parameters['id'], 'contact_revoke');
 
-               $result = Model\Contact::revokeFollow(self::$contact);
-               if ($result === true) {
-                       notice(DI::l10n()->t('Follow was successfully revoked.'));
-               } elseif ($result === null) {
-                       notice(DI::l10n()->t('Follow was successfully revoked, however the remote contact won\'t be aware of this revokation.'));
-               } else {
-                       notice(DI::l10n()->t('Unable to revoke follow, please try again later or contact the administrator.'));
-               }
+               Model\Contact::revokeFollow($this->contact);
+
+               DI::sysmsg()->addNotice($this->t('Follow was successfully revoked.'));
 
-               DI::baseUrl()->redirect('contact/' . $parameters['id']);
+               $this->baseUrl->redirect('contact/' . $this->parameters['id']);
        }
 
-       public static function content(array $parameters = []): string
+       protected function content(array $request = []): string
        {
-               if (!local_user()) {
+               if (!DI::userSession()->getLocalUserId()) {
                        return Login::form($_SERVER['REQUEST_URI']);
                }
 
@@ -93,14 +103,14 @@ class Revoke extends BaseModule
 
                return Renderer::replaceMacros(Renderer::getMarkupTemplate('contact_drop_confirm.tpl'), [
                        '$l10n' => [
-                               'header'  => DI::l10n()->t('Revoke Follow'),
-                               'message' => DI::l10n()->t('Do you really want to revoke this contact\'s follow? This cannot be undone and they will have to manually follow you back again.'),
-                               'confirm' => DI::l10n()->t('Yes'),
-                               'cancel'  => DI::l10n()->t('Cancel'),
+                               'header'  => $this->t('Revoke Follow'),
+                               'message' => $this->t('Do you really want to revoke this contact\'s follow? This cannot be undone and they will have to manually follow you back again.'),
+                               'confirm' => $this->t('Yes'),
+                               'cancel'  => $this->t('Cancel'),
                        ],
-                       '$contact'       => Contact::getContactTemplateVars(self::$contact),
+                       '$contact'       => Contact::getContactTemplateVars($this->contact),
                        '$method'        => 'post',
-                       '$confirm_url'   => DI::args()->getCommand(),
+                       '$confirm_url'   => $this->args->getCommand(),
                        '$confirm_name'  => 'form_security_token',
                        '$confirm_value' => BaseModule::getFormSecurityToken('contact_revoke'),
                ]);