// 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
// 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.
redir_check_url($contact_url, $url);
$target_url = $url ?: $contact_url;
use Friendica\App\BaseURL;
use Friendica\Capabilities\ICanCreateResponses;
use Friendica\Core\Config\Factory\Config;
+use Friendica\Core\Session\Capability\IHandleSessions;
use Friendica\Module\Maintenance;
use Friendica\Security\Authentication;
use Friendica\Core\Config\ValueObject\Cache;
*/
private $pConfig;
+ /**
+ * @var IHandleSessions
+ */
+ private $session;
+
/**
* Set the user ID
*
* @param L10n $l10n The translator instance
* @param App\Arguments $args The Friendica Arguments of the call
* @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->config = $config;
$this->l10n = $l10n;
$this->args = $args;
$this->pConfig = $pConfig;
+ $this->session = $session;
$this->load();
}
}
// 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();
// --- means same mobile theme as desktop
}
}
- $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);
if ($theme_name
}
}
- $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);
if ($mobile_theme_name == '---'
// Valid profile links contain a path with "/profile/" and no query parameters
if ((parse_url($_GET['zrl'], PHP_URL_QUERY) == '') &&
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('authenticated', 0);
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
use Friendica\Core\Protocol;
use Friendica\Core\Renderer;
-use Friendica\Core\Session;
use Friendica\Core\Theme;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
private $page;
/** @var App\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->item = $item;
$this->pConfig = $pConfig;
$this->page = $page;
$this->app = $app;
+ $this->session = $session;
}
/**
if (!$update) {
$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>";
}
} elseif ($mode === 'community') {
// "Home" should also take you home from an authenticated remote profile connection
$homelink = Profile::getMyURL();
if (! $homelink) {
- $homelink = Session::get('visitor_home', '');
+ $homelink = DI::session()->get('visitor_home', '');
}
if ((DI::args()->getModuleName() != 'home') && (! (local_user()))) {
$nav['home'] = ['profile/' . $a->getLoggedInUserNickname(), DI::l10n()->t('Home'), '', DI::l10n()->t('Your posts and conversations')];
// 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['notifications'] = ['notifications', DI::l10n()->t('Notifications'), '', DI::l10n()->t('Notifications')];
$nav['notifications']['all'] = ['notifications/system', DI::l10n()->t('See all notifications'), '', ''];
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)
{
return DI::session()->pop($name, $defaults);
*/
public static function getMyURL(): string
{
- return Session::get('my_url') ?? '';
+ return DI::session()->get('my_url') ?? '';
}
/**
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'])) {
self::$selectedTab = 'star';
$uid = local_user();
$orig_record = User::getById(DI::app()->getLoggedInUserId());
- if (Session::get('submanage')) {
- $user = User::getById(Session::get('submanage'));
+ if (DI::session()->get('submanage')) {
+ $user = User::getById(DI::session()->get('submanage'));
if (DBA::isResult($user)) {
$uid = intval($user['uid']);
$orig_record = $user;
// 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']);
- $last_updated_array = Session::get('last_updated', []);
+ $last_updated_array = DI::session()->get('last_updated', []);
if (!empty($category)) {
$condition = DBA::mergeConditions($condition, ["`uri-id` IN (SELECT `uri-id` FROM `category-view` WHERE `name` = ? AND `type` = ? AND `uid` = ?)",
$user_id = $args->get(3);
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::baseUrl()->redirect('settings/delegation');
}
}
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::baseUrl()->redirect('settings/delegation');
}
}
$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 = (($itemspage_network > 0 && $itemspage_network < 101) ? $itemspage_network : DI::config()->get('system', 'itemspage_network'));
parent::content();
$company = 'Friendica';
- $holder = Session::get('my_address');
+ $holder = DI::session()->get('my_address');
$secret = $this->pConfig->get(local_user(), '2fa', 'secret');
$otpauthUrl = (new Google2FA())->getQRCodeUrl($company, $holder, $secret);
// 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());
- $last_updated_array = Session::get('last_updated', []);
+ $last_updated_array = DI::session()->get('last_updated', []);
$last_updated = $last_updated_array[$last_updated_key] ?? 0;
$edpost = false;
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) {
$edpost = ['events/event/' . $item['event-id'], DI::l10n()->t('Edit')];
} else {
}
// 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'),
- 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
$buttons = [];
'location_html' => $location_html,
'indent' => $indent,
'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_photo' => DI::baseUrl()->remove(DI::contentItem()->getOwnerAvatar($item)),
'owner_name' => $this->getOwnerName(),
// get the homelink from $_SESSION
$homelink = Profile::getMyURL();
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