]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Delegation.php
Decouple conversation creation from rendering
[friendica.git] / src / Module / Delegation.php
index 146e9382b8bb5beb24b151e9de4a979d6c9ecf9a..8a2b313000bce2db24c0d200ac99d924b44b7822 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2022, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -24,7 +24,6 @@ namespace Friendica\Module;
 use Friendica\BaseModule;
 use Friendica\Core\Hook;
 use Friendica\Core\Renderer;
-use Friendica\Core\Session;
 use Friendica\Database\DBA;
 use Friendica\DI;
 use Friendica\Model\Notification;
@@ -39,22 +38,22 @@ class Delegation extends BaseModule
 {
        protected function post(array $request = [])
        {
-               if (!local_user()) {
+               if (!DI::userSession()->getLocalUserId()) {
                        return;
                }
 
-               $uid = local_user();
+               $uid = DI::userSession()->getLocalUserId();
                $orig_record = User::getById(DI::app()->getLoggedInUserId());
 
-               if (Session::get('submanage')) {
-                       $user = User::getById(Session::get('submanage'));
+               if (DI::userSession()->getSubManagedUserId()) {
+                       $user = User::getById(DI::userSession()->getSubManagedUserId());
                        if (DBA::isResult($user)) {
                                $uid = intval($user['uid']);
                                $orig_record = $user;
                        }
                }
 
-               $identity = intval($_POST['identity'] ?? 0);
+               $identity = intval($request['identity'] ?? 0);
                if (!$identity) {
                        return;
                }
@@ -77,16 +76,16 @@ class Delegation extends BaseModule
                        $user = DBA::selectFirst('user', [], ['uid' => $identity, 'parent-uid' => $orig_record['uid']]);
 
                        // Check if the target user is one of our siblings
-                       if (!DBA::isResult($user) && ($orig_record['parent-uid'] != 0)) {
+                       if (!DBA::isResult($user) && $orig_record['parent-uid']) {
                                $user = DBA::selectFirst('user', [], ['uid' => $identity, 'parent-uid' => $orig_record['parent-uid']]);
                        }
 
                        // Check if it's our parent or our own user
                        if (!DBA::isResult($user)
                                && (
-                                       $orig_record['parent-uid'] != 0 && $orig_record['parent-uid'] == $identity
+                                       $orig_record['parent-uid'] && $orig_record['parent-uid'] === $identity
                                        ||
-                                       $orig_record['uid'] != 0 && $orig_record['uid'] == $identity
+                                       $orig_record['uid'] && $orig_record['uid'] === $identity
                                )
                        ) {
                                $user = User::getById($identity);
@@ -97,12 +96,12 @@ class Delegation extends BaseModule
                        return;
                }
 
-               Session::clear();
+               DI::session()->clear();
 
                DI::auth()->setForUser(DI::app(), $user, true, true);
 
                if ($limited_id) {
-                       Session::set('submanage', $original_id);
+                       DI::userSession()->setSubManagedUserId($original_id);
                }
 
                $ret = [];
@@ -115,13 +114,13 @@ class Delegation extends BaseModule
 
        protected function content(array $request = []): string
        {
-               if (!local_user()) {
+               if (!DI::userSession()->getLocalUserId()) {
                        throw new ForbiddenException(DI::l10n()->t('Permission denied.'));
                }
 
-               $identities = User::identities(DI::session()->get('submanage', local_user()));
+               $identities = User::identities(DI::userSession()->getSubManagedUserId() ?: DI::userSession()->getLocalUserId());
 
-               //getting additinal information for each identity
+               //getting additional information for each identity
                foreach ($identities as $key => $identity) {
                        $identities[$key]['thumb'] = User::getAvatarUrl($identity, Proxy::SIZE_THUMB);