<?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
*
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;
{
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;
}
$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);
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 = [];
Hook::callAll('home_init', $ret);
- DI::baseUrl()->redirect('profile/' . DI::app()->getLoggedInUserNickname());
- // NOTREACHED
+ DI::sysmsg()->addNotice($this->t('You are now logged in as %s', $user['username']));
+
+ DI::baseUrl()->redirect('network');
}
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);