]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Contact/Advanced.php
Merge pull request #11019 from foss-/develop
[friendica.git] / src / Module / Contact / Advanced.php
index 521e4f469f841a27e8d7fc801096db4082940973..8d0a4e0f3f1255c575f6f62ebb94f0c36cc5d206 100644 (file)
 
 namespace Friendica\Module\Contact;
 
+use Friendica\App\Page;
 use Friendica\BaseModule;
 use Friendica\Content\Widget;
+use Friendica\Core\L10n;
 use Friendica\Core\Protocol;
 use Friendica\Core\Renderer;
 use Friendica\Core\Session;
-use Friendica\DI;
+use Friendica\Database\Database;
 use Friendica\Model;
 use Friendica\Module\Contact;
 use Friendica\Network\HTTPException\BadRequestException;
 use Friendica\Network\HTTPException\ForbiddenException;
 use Friendica\Util\Strings;
+use Psr\Log\LoggerInterface;
 
 /**
  * GUI for advanced contact details manipulation
  */
 class Advanced extends BaseModule
 {
-       public static function init()
+       /** @var Database */
+       protected $dba;
+       /** @var LoggerInterface */
+       protected $logger;
+       /** @var Page */
+       protected $page;
+
+       public function __construct(Database $dba, LoggerInterface $logger, Page $page, L10n $l10n, array $parameters = [])
        {
+               parent::__construct($l10n, $parameters);
+
+               $this->dba    = $dba;
+               $this->logger = $logger;
+               $this->page   = $page;
+
                if (!Session::isAuthenticated()) {
-                       throw new ForbiddenException(DI::l10n()->t('Permission denied.'));
+                       throw new ForbiddenException($this->t('Permission denied.'));
                }
        }
 
-       public static function post()
+       public function post()
        {
-               $cid = static::$parameters['id'];
+               $cid = $this->parameters['id'];
 
                $contact = Model\Contact::selectFirst([], ['id' => $cid, 'uid' => local_user()]);
                if (empty($contact)) {
-                       throw new BadRequestException(DI::l10n()->t('Contact not found.'));
+                       throw new BadRequestException($this->t('Contact not found.'));
                }
 
                $name        = ($_POST['name'] ?? '') ?: $contact['name'];
@@ -66,7 +82,7 @@ class Advanced extends BaseModule
                $photo       = $_POST['photo'] ?? '';
                $nurl        = Strings::normaliseLink($url);
 
-               $r = DI::dba()->update(
+               $r = $this->dba->update(
                        'contact',
                        [
                                'name'        => $name,
@@ -84,31 +100,29 @@ class Advanced extends BaseModule
                );
 
                if ($photo) {
-                       DI::logger()->notice('Updating photo.', ['photo' => $photo]);
+                       $this->logger->notice('Updating photo.', ['photo' => $photo]);
 
                        Model\Contact::updateAvatar($contact['id'], $photo, true);
                }
 
                if (!$r) {
-                       notice(DI::l10n()->t('Contact update failed.'));
+                       notice($this->t('Contact update failed.'));
                }
-
-               return;
        }
 
-       public static function content()
+       public function content(): string
        {
-               $cid = static::$parameters['id'];
+               $cid = $this->parameters['id'];
 
                $contact = Model\Contact::selectFirst([], ['id' => $cid, 'uid' => local_user()]);
                if (empty($contact)) {
-                       throw new BadRequestException(DI::l10n()->t('Contact not found.'));
+                       throw new BadRequestException($this->t('Contact not found.'));
                }
 
-               DI::page()['aside'] = Widget\VCard::getHTML($contact);
+               $this->page['aside'] = Widget\VCard::getHTML($contact);
 
-               $warning = DI::l10n()->t('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working.');
-               $info    = DI::l10n()->t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.');
+               $warning = $this->t('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working.');
+               $info    = $this->t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.');
 
                $returnaddr = "contact/$cid";
 
@@ -128,20 +142,20 @@ class Advanced extends BaseModule
                        '$warning'           => $warning,
                        '$info'              => $info,
                        '$returnaddr'        => $returnaddr,
-                       '$return'            => DI::l10n()->t('Return to contact editor'),
+                       '$return'            => $this->t('Return to contact editor'),
                        '$contact_id'        => $contact['id'],
-                       '$lbl_submit'        => DI::l10n()->t('Submit'),
-
-                       '$name'    => ['name', DI::l10n()->t('Name'), $contact['name'], '', '', $readonly],
-                       '$nick'    => ['nick', DI::l10n()->t('Account Nickname'), $contact['nick'], '', '', $readonly],
-                       '$attag'   => ['attag', DI::l10n()->t('@Tagname - overrides Name/Nickname'), $contact['attag']],
-                       '$url'     => ['url', DI::l10n()->t('Account URL'), $contact['url'], '', '', $readonly],
-                       '$alias'   => ['alias', DI::l10n()->t('Account URL Alias'), $contact['alias'], '', '', $readonly],
-                       '$request' => ['request', DI::l10n()->t('Friend Request URL'), $contact['request'], '', '', $readonly],
-                       'confirm'  => ['confirm', DI::l10n()->t('Friend Confirm URL'), $contact['confirm'], '', '', $readonly],
-                       'notify'   => ['notify', DI::l10n()->t('Notification Endpoint URL'), $contact['notify'], '', '', $readonly],
-                       'poll'     => ['poll', DI::l10n()->t('Poll/Feed URL'), $contact['poll'], '', '', $readonly],
-                       'photo'    => ['photo', DI::l10n()->t('New photo from this URL'), '', '', '', $readonly],
+                       '$lbl_submit'        => $this->t('Submit'),
+
+                       '$name'    => ['name', $this->t('Name'), $contact['name'], '', '', $readonly],
+                       '$nick'    => ['nick', $this->t('Account Nickname'), $contact['nick'], '', '', $readonly],
+                       '$attag'   => ['attag', $this->t('@Tagname - overrides Name/Nickname'), $contact['attag']],
+                       '$url'     => ['url', $this->t('Account URL'), $contact['url'], '', '', $readonly],
+                       '$alias'   => ['alias', $this->t('Account URL Alias'), $contact['alias'], '', '', $readonly],
+                       '$request' => ['request', $this->t('Friend Request URL'), $contact['request'], '', '', $readonly],
+                       'confirm'  => ['confirm', $this->t('Friend Confirm URL'), $contact['confirm'], '', '', $readonly],
+                       'notify'   => ['notify', $this->t('Notification Endpoint URL'), $contact['notify'], '', '', $readonly],
+                       'poll'     => ['poll', $this->t('Poll/Feed URL'), $contact['poll'], '', '', $readonly],
+                       'photo'    => ['photo', $this->t('New photo from this URL'), '', '', '', $readonly],
                ]);
        }
 }