Move Core\Session::get() to DI::session()->get()

This commit is contained in:
Philipp 2022-10-18 21:10:37 +02:00
parent 99d5441007
commit 7ac86e49d1
No known key found for this signature in database
GPG Key ID: 24A7501396EB5432
15 changed files with 36 additions and 31 deletions

View File

@ -91,7 +91,7 @@ function redir_init(App $a) {
// with the local contact. Otherwise the local user would ask the local contact // with the local contact. Otherwise the local user would ask the local contact
// for authentification everytime he/she is visiting a profile page of the local // for authentification everytime he/she is visiting a profile page of the local
// contact. // contact.
if (($host == $remotehost) && (Session::getRemoteContactID(Session::get('visitor_visiting')) == Session::get('visitor_id'))) { if (($host == $remotehost) && (Session::getRemoteContactID(DI::session()->get('visitor_visiting')) == DI::session()->get('visitor_id'))) {
// Remote user is already authenticated. // Remote user is already authenticated.
redir_check_url($contact_url, $url); redir_check_url($contact_url, $url);
$target_url = $url ?: $contact_url; $target_url = $url ?: $contact_url;

View File

@ -26,6 +26,7 @@ use Friendica\App\Arguments;
use Friendica\App\BaseURL; use Friendica\App\BaseURL;
use Friendica\Capabilities\ICanCreateResponses; use Friendica\Capabilities\ICanCreateResponses;
use Friendica\Core\Config\Factory\Config; use Friendica\Core\Config\Factory\Config;
use Friendica\Core\Session\Capability\IHandleSessions;
use Friendica\Module\Maintenance; use Friendica\Module\Maintenance;
use Friendica\Security\Authentication; use Friendica\Security\Authentication;
use Friendica\Core\Config\ValueObject\Cache; use Friendica\Core\Config\ValueObject\Cache;
@ -127,6 +128,11 @@ class App
*/ */
private $pConfig; private $pConfig;
/**
* @var IHandleSessions
*/
private $session;
/** /**
* Set the user ID * Set the user ID
* *
@ -328,8 +334,9 @@ class App
* @param L10n $l10n The translator instance * @param L10n $l10n The translator instance
* @param App\Arguments $args The Friendica Arguments of the call * @param App\Arguments $args The Friendica Arguments of the call
* @param IManagePersonalConfigValues $pConfig Personal configuration * @param IManagePersonalConfigValues $pConfig Personal configuration
* @param IHandleSessions $session The Session handler
*/ */
public function __construct(Database $database, IManageConfigValues $config, App\Mode $mode, BaseURL $baseURL, LoggerInterface $logger, Profiler $profiler, L10n $l10n, Arguments $args, IManagePersonalConfigValues $pConfig) public function __construct(Database $database, IManageConfigValues $config, App\Mode $mode, BaseURL $baseURL, LoggerInterface $logger, Profiler $profiler, L10n $l10n, Arguments $args, IManagePersonalConfigValues $pConfig, IHandleSessions $session)
{ {
$this->database = $database; $this->database = $database;
$this->config = $config; $this->config = $config;
@ -340,6 +347,7 @@ class App
$this->l10n = $l10n; $this->l10n = $l10n;
$this->args = $args; $this->args = $args;
$this->pConfig = $pConfig; $this->pConfig = $pConfig;
$this->session = $session;
$this->load(); $this->load();
} }
@ -415,7 +423,7 @@ class App
} }
// Specific mobile theme override // Specific mobile theme override
if (($this->mode->isMobile() || $this->mode->isTablet()) && Core\Session::get('show-mobile', true)) { if (($this->mode->isMobile() || $this->mode->isTablet()) && $this->session->get('show-mobile', true)) {
$user_mobile_theme = $this->getCurrentMobileTheme(); $user_mobile_theme = $this->getCurrentMobileTheme();
// --- means same mobile theme as desktop // --- means same mobile theme as desktop
@ -496,7 +504,7 @@ class App
} }
} }
$theme_name = $page_theme ?: Core\Session::get('theme', $system_theme); $theme_name = $page_theme ?: $this->session->get('theme', $system_theme);
$theme_name = Strings::sanitizeFilePathItem($theme_name); $theme_name = Strings::sanitizeFilePathItem($theme_name);
if ($theme_name if ($theme_name
@ -528,7 +536,7 @@ class App
} }
} }
$mobile_theme_name = $page_mobile_theme ?: Core\Session::get('mobile-theme', $system_mobile_theme); $mobile_theme_name = $page_mobile_theme ?: $this->session->get('mobile-theme', $system_mobile_theme);
$mobile_theme_name = Strings::sanitizeFilePathItem($mobile_theme_name); $mobile_theme_name = Strings::sanitizeFilePathItem($mobile_theme_name);
if ($mobile_theme_name == '---' if ($mobile_theme_name == '---'
@ -625,7 +633,7 @@ class App
// Valid profile links contain a path with "/profile/" and no query parameters // Valid profile links contain a path with "/profile/" and no query parameters
if ((parse_url($_GET['zrl'], PHP_URL_QUERY) == '') && if ((parse_url($_GET['zrl'], PHP_URL_QUERY) == '') &&
strstr(parse_url($_GET['zrl'], PHP_URL_PATH), '/profile/')) { strstr(parse_url($_GET['zrl'], PHP_URL_PATH), '/profile/')) {
if (Core\Session::get('visitor_home') != $_GET['zrl']) { if ($this->session->get('visitor_home') != $_GET['zrl']) {
Core\Session::set('my_url', $_GET['zrl']); Core\Session::set('my_url', $_GET['zrl']);
Core\Session::set('authenticated', 0); Core\Session::set('authenticated', 0);

View File

@ -32,7 +32,6 @@ use Friendica\Core\L10n;
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues; use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Session;
use Friendica\Core\Theme; use Friendica\Core\Theme;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\Model\Contact; use Friendica\Model\Contact;
@ -77,8 +76,10 @@ class Conversation
private $page; private $page;
/** @var App\Mode */ /** @var App\Mode */
private $mode; private $mode;
/** @var Session\Capability\IHandleSessions */
private $session;
public function __construct(LoggerInterface $logger, Profiler $profiler, Activity $activity, L10n $l10n, Item $item, Arguments $args, BaseURL $baseURL, IManageConfigValues $config, IManagePersonalConfigValues $pConfig, App\Page $page, App\Mode $mode, App $app) public function __construct(LoggerInterface $logger, Profiler $profiler, Activity $activity, L10n $l10n, Item $item, Arguments $args, BaseURL $baseURL, IManageConfigValues $config, IManagePersonalConfigValues $pConfig, App\Page $page, App\Mode $mode, App $app, Session\Capability\IHandleSessions $session)
{ {
$this->activity = $activity; $this->activity = $activity;
$this->item = $item; $this->item = $item;
@ -92,6 +93,7 @@ class Conversation
$this->pConfig = $pConfig; $this->pConfig = $pConfig;
$this->page = $page; $this->page = $page;
$this->app = $app; $this->app = $app;
$this->session = $session;
} }
/** /**
@ -497,7 +499,7 @@ class Conversation
if (!$update) { if (!$update) {
$live_update_div = '<div id="live-display"></div>' . "\r\n" $live_update_div = '<div id="live-display"></div>' . "\r\n"
. "<script> var profile_uid = " . Session::get('uid', 0) . ";" . "<script> var profile_uid = " . $this->session->get('uid', 0) . ";"
. "</script>"; . "</script>";
} }
} elseif ($mode === 'community') { } elseif ($mode === 'community') {

View File

@ -208,7 +208,7 @@ class Nav
// "Home" should also take you home from an authenticated remote profile connection // "Home" should also take you home from an authenticated remote profile connection
$homelink = Profile::getMyURL(); $homelink = Profile::getMyURL();
if (! $homelink) { if (! $homelink) {
$homelink = Session::get('visitor_home', ''); $homelink = DI::session()->get('visitor_home', '');
} }
if ((DI::args()->getModuleName() != 'home') && (! (local_user()))) { if ((DI::args()->getModuleName() != 'home') && (! (local_user()))) {
@ -276,7 +276,7 @@ class Nav
$nav['home'] = ['profile/' . $a->getLoggedInUserNickname(), DI::l10n()->t('Home'), '', DI::l10n()->t('Your posts and conversations')]; $nav['home'] = ['profile/' . $a->getLoggedInUserNickname(), DI::l10n()->t('Home'), '', DI::l10n()->t('Your posts and conversations')];
// Don't show notifications for public communities // Don't show notifications for public communities
if (Session::get('page_flags', '') != User::PAGE_FLAGS_COMMUNITY) { if (DI::session()->get('page_flags', '') != User::PAGE_FLAGS_COMMUNITY) {
$nav['introductions'] = ['notifications/intros', DI::l10n()->t('Introductions'), '', DI::l10n()->t('Friend Requests')]; $nav['introductions'] = ['notifications/intros', DI::l10n()->t('Introductions'), '', DI::l10n()->t('Friend Requests')];
$nav['notifications'] = ['notifications', DI::l10n()->t('Notifications'), '', DI::l10n()->t('Notifications')]; $nav['notifications'] = ['notifications', DI::l10n()->t('Notifications'), '', DI::l10n()->t('Notifications')];
$nav['notifications']['all'] = ['notifications/system', DI::l10n()->t('See all notifications'), '', '']; $nav['notifications']['all'] = ['notifications/system', DI::l10n()->t('See all notifications'), '', ''];

View File

@ -39,11 +39,6 @@ class Session
return DI::session()->exists($name); return DI::session()->exists($name);
} }
public static function get($name, $defaults = null)
{
return DI::session()->get($name, $defaults);
}
public static function pop($name, $defaults = null) public static function pop($name, $defaults = null)
{ {
return DI::session()->pop($name, $defaults); return DI::session()->pop($name, $defaults);

View File

@ -683,7 +683,7 @@ class Profile
*/ */
public static function getMyURL(): string public static function getMyURL(): string
{ {
return Session::get('my_url') ?? ''; return DI::session()->get('my_url') ?? '';
} }
/** /**

View File

@ -307,7 +307,7 @@ class Network extends BaseModule
self::$forumContactId = $this->parameters['contact_id'] ?? 0; self::$forumContactId = $this->parameters['contact_id'] ?? 0;
self::$selectedTab = Session::get('network-tab', DI::pConfig()->get(local_user(), 'network.view', 'selected_tab', '')); self::$selectedTab = DI::session()->get('network-tab', DI::pConfig()->get(local_user(), 'network.view', 'selected_tab', ''));
if (!empty($get['star'])) { if (!empty($get['star'])) {
self::$selectedTab = 'star'; self::$selectedTab = 'star';

View File

@ -46,8 +46,8 @@ class Delegation extends BaseModule
$uid = local_user(); $uid = local_user();
$orig_record = User::getById(DI::app()->getLoggedInUserId()); $orig_record = User::getById(DI::app()->getLoggedInUserId());
if (Session::get('submanage')) { if (DI::session()->get('submanage')) {
$user = User::getById(Session::get('submanage')); $user = User::getById(DI::session()->get('submanage'));
if (DBA::isResult($user)) { if (DBA::isResult($user)) {
$uid = intval($user['uid']); $uid = intval($user['uid']);
$orig_record = $user; $orig_record = $user;

View File

@ -139,7 +139,7 @@ class Status extends BaseProfile
// Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups // Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups
$condition = Item::getPermissionsConditionArrayByUserId($profile['uid']); $condition = Item::getPermissionsConditionArrayByUserId($profile['uid']);
$last_updated_array = Session::get('last_updated', []); $last_updated_array = DI::session()->get('last_updated', []);
if (!empty($category)) { if (!empty($category)) {
$condition = DBA::mergeConditions($condition, ["`uri-id` IN (SELECT `uri-id` FROM `category-view` WHERE `name` = ? AND `type` = ? AND `uid` = ?)", $condition = DBA::mergeConditions($condition, ["`uri-id` IN (SELECT `uri-id` FROM `category-view` WHERE `name` = ? AND `type` = ? AND `uid` = ?)",

View File

@ -77,7 +77,7 @@ class Delegation extends BaseSettings
$user_id = $args->get(3); $user_id = $args->get(3);
if ($action === 'add' && $user_id) { if ($action === 'add' && $user_id) {
if (Session::get('submanage')) { if (DI::session()->get('submanage')) {
DI::sysmsg()->addNotice(DI::l10n()->t('Delegated administrators can view but not change delegation permissions.')); DI::sysmsg()->addNotice(DI::l10n()->t('Delegated administrators can view but not change delegation permissions.'));
DI::baseUrl()->redirect('settings/delegation'); DI::baseUrl()->redirect('settings/delegation');
} }
@ -99,7 +99,7 @@ class Delegation extends BaseSettings
} }
if ($action === 'remove' && $user_id) { if ($action === 'remove' && $user_id) {
if (Session::get('submanage')) { if (DI::session()->get('submanage')) {
DI::sysmsg()->addNotice(DI::l10n()->t('Delegated administrators can view but not change delegation permissions.')); DI::sysmsg()->addNotice(DI::l10n()->t('Delegated administrators can view but not change delegation permissions.'));
DI::baseUrl()->redirect('settings/delegation'); DI::baseUrl()->redirect('settings/delegation');
} }

View File

@ -157,7 +157,7 @@ class Display extends BaseSettings
} }
$theme_selected = $user['theme'] ?: $default_theme; $theme_selected = $user['theme'] ?: $default_theme;
$mobile_theme_selected = Session::get('mobile-theme', $default_mobile_theme); $mobile_theme_selected = DI::session()->get('mobile-theme', $default_mobile_theme);
$itemspage_network = intval(DI::pConfig()->get(local_user(), 'system', 'itemspage_network')); $itemspage_network = intval(DI::pConfig()->get(local_user(), 'system', 'itemspage_network'));
$itemspage_network = (($itemspage_network > 0 && $itemspage_network < 101) ? $itemspage_network : DI::config()->get('system', 'itemspage_network')); $itemspage_network = (($itemspage_network > 0 && $itemspage_network < 101) ? $itemspage_network : DI::config()->get('system', 'itemspage_network'));

View File

@ -106,7 +106,7 @@ class Verify extends BaseSettings
parent::content(); parent::content();
$company = 'Friendica'; $company = 'Friendica';
$holder = Session::get('my_address'); $holder = DI::session()->get('my_address');
$secret = $this->pConfig->get(local_user(), '2fa', 'secret'); $secret = $this->pConfig->get(local_user(), '2fa', 'secret');
$otpauthUrl = (new Google2FA())->getQRCodeUrl($company, $holder, $secret); $otpauthUrl = (new Google2FA())->getQRCodeUrl($company, $holder, $secret);

View File

@ -66,7 +66,7 @@ class Profile extends BaseModule
// Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups // Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups
$sql_extra = Item::getPermissionsSQLByUserId($a->getProfileOwner()); $sql_extra = Item::getPermissionsSQLByUserId($a->getProfileOwner());
$last_updated_array = Session::get('last_updated', []); $last_updated_array = DI::session()->get('last_updated', []);
$last_updated = $last_updated_array[$last_updated_key] ?? 0; $last_updated = $last_updated_array[$last_updated_key] ?? 0;

View File

@ -217,7 +217,7 @@ class Post
$edpost = false; $edpost = false;
if (local_user()) { if (local_user()) {
if (Strings::compareLink(Session::get('my_url'), $item['author-link'])) { if (Strings::compareLink(DI::session()->get('my_url'), $item['author-link'])) {
if ($item['event-id'] != 0) { if ($item['event-id'] != 0) {
$edpost = ['events/event/' . $item['event-id'], DI::l10n()->t('Edit')]; $edpost = ['events/event/' . $item['event-id'], DI::l10n()->t('Edit')];
} else { } else {
@ -434,9 +434,9 @@ class Post
} }
// Fetching of Diaspora posts doesn't always work. There are issues with reshares and possibly comments // Fetching of Diaspora posts doesn't always work. There are issues with reshares and possibly comments
if (!local_user() && ($item['network'] != Protocol::DIASPORA) && !empty(Session::get('remote_comment'))) { if (!local_user() && ($item['network'] != Protocol::DIASPORA) && !empty(DI::session()->get('remote_comment'))) {
$remote_comment = [DI::l10n()->t('Comment this item on your system'), DI::l10n()->t('Remote comment'), $remote_comment = [DI::l10n()->t('Comment this item on your system'), DI::l10n()->t('Remote comment'),
str_replace('{uri}', urlencode($item['uri']), Session::get('remote_comment'))]; str_replace('{uri}', urlencode($item['uri']), DI::session()->get('remote_comment'))];
// Ensure to either display the remote comment or the local activities // Ensure to either display the remote comment or the local activities
$buttons = []; $buttons = [];
@ -507,7 +507,7 @@ class Post
'location_html' => $location_html, 'location_html' => $location_html,
'indent' => $indent, 'indent' => $indent,
'shiny' => $shiny, 'shiny' => $shiny,
'owner_self' => $item['author-link'] == Session::get('my_url'), 'owner_self' => $item['author-link'] == DI::session()->get('my_url'),
'owner_url' => $this->getOwnerUrl(), 'owner_url' => $this->getOwnerUrl(),
'owner_photo' => DI::baseUrl()->remove(DI::contentItem()->getOwnerAvatar($item)), 'owner_photo' => DI::baseUrl()->remove(DI::contentItem()->getOwnerAvatar($item)),
'owner_name' => $this->getOwnerName(), 'owner_name' => $this->getOwnerName(),

View File

@ -207,7 +207,7 @@ function frio_remote_nav(App $a, array &$nav_info)
// get the homelink from $_SESSION // get the homelink from $_SESSION
$homelink = Profile::getMyURL(); $homelink = Profile::getMyURL();
if (!$homelink) { if (!$homelink) {
$homelink = Session::get('visitor_home', ''); $homelink = DI::session()->get('visitor_home', '');
} }
// since $userinfo isn't available for the hook we write it to the nav array // since $userinfo isn't available for the hook we write it to the nav array