]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Delegation.php
Fix redirect logging
[friendica.git] / src / Module / Delegation.php
index b6451c85af2d2822bec11cc3288fe636f9b94e0b..45f7fc57d2bca064270de857b0e86e53bc348cc1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2021, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -28,9 +28,10 @@ use Friendica\Core\Session;
 use Friendica\Database\DBA;
 use Friendica\DI;
 use Friendica\Model\Contact;
-use Friendica\Model\Notify\Type;
+use Friendica\Model\Notification;
 use Friendica\Model\User;
 use Friendica\Network\HTTPException\ForbiddenException;
+use Friendica\Util\Proxy;
 
 /**
  * Switches current user between delegates/parent user
@@ -44,7 +45,7 @@ class Delegation extends BaseModule
                }
 
                $uid = local_user();
-               $orig_record = DI::app()->user;
+               $orig_record = User::getById(DI::app()->getLoggedInUserId());
 
                if (Session::get('submanage')) {
                        $user = User::getById(Session::get('submanage'));
@@ -108,7 +109,7 @@ class Delegation extends BaseModule
                $ret = [];
                Hook::callAll('home_init', $ret);
 
-               DI::baseUrl()->redirect('profile/' . DI::app()->user['nickname']);
+               DI::baseUrl()->redirect('profile/' . DI::app()->getLoggedInUserNickname());
                // NOTREACHED
        }
 
@@ -118,20 +119,20 @@ class Delegation extends BaseModule
                        throw new ForbiddenException(DI::l10n()->t('Permission denied.'));
                }
 
-               $identities = DI::app()->identities;
+               $identities = User::identities(DI::session()->get('submanage', local_user()));
 
                //getting additinal information for each identity
                foreach ($identities as $key => $identity) {
-                       $thumb = Contact::selectFirst(['thumb'], ['uid' => $identity['uid'], 'self' => true]);
-                       if (!DBA::isResult($thumb)) {
+                       $self = Contact::selectFirst(['id', 'updated'], ['uid' => $identity['uid'], 'self' => true]);
+                       if (!DBA::isResult($self)) {
                                continue;
                        }
 
-                       $identities[$key]['thumb'] = $thumb['thumb'];
+                       $identities[$key]['thumb'] = Contact::getAvatarUrlForId($self['id'], Proxy::SIZE_THUMB, $self['updated']);
 
-                       $identities[$key]['selected'] = ($identity['nickname'] === DI::app()->user['nickname']);
+                       $identities[$key]['selected'] = ($identity['nickname'] === DI::app()->getLoggedInUserNickname());
 
-                       $condition = ["`uid` = ? AND `msg` != '' AND NOT (`type` IN (?, ?)) AND NOT `seen`", $identity['uid'], Type::INTRO, Type::MAIL];
+                       $condition = ["`uid` = ? AND `msg` != '' AND NOT (`type` IN (?, ?)) AND NOT `seen`", $identity['uid'], Notification\Type::INTRO, Notification\Type::MAIL];
                        $params = ['distinct' => true, 'expression' => 'parent'];
                        $notifications = DBA::count('notify', $condition, $params);
 
@@ -144,7 +145,8 @@ class Delegation extends BaseModule
                }
 
                $o = Renderer::replaceMacros(Renderer::getMarkupTemplate('delegation.tpl'), [
-                       '$title'      => DI::l10n()->t('Manage Identities and/or Pages'),
+                       '$title'      => DI::l10n()->t('Switch between your accounts'),
+                       '$settings_label' => DI::l10n()->t('Manage your accounts'),
                        '$desc'       => DI::l10n()->t('Toggle between different identities or community/group pages which share your account details or which you have been granted "manage" permissions'),
                        '$choose'     => DI::l10n()->t('Select an identity to manage: '),
                        '$identities' => $identities,