Merge pull request #12014 from annando/usertosession
The user related functions moved to the session class
This commit is contained in:
commit
ab9b60b9d2
4 changed files with 76 additions and 53 deletions
60
boot.php
60
boot.php
|
@ -27,7 +27,7 @@
|
||||||
* easily as email does today.
|
* easily as email does today.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use Friendica\Model\Contact;
|
use Friendica\Core\Session;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constant with a HTML line break.
|
* Constant with a HTML line break.
|
||||||
|
@ -36,7 +36,7 @@ use Friendica\Model\Contact;
|
||||||
* feed for the source.
|
* feed for the source.
|
||||||
* This can be used in HTML and JavaScript where needed a line break.
|
* This can be used in HTML and JavaScript where needed a line break.
|
||||||
*/
|
*/
|
||||||
define('EOL', "<br />\r\n");
|
define('EOL', "<br />\r\n");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @name Gravity
|
* @name Gravity
|
||||||
|
@ -50,79 +50,35 @@ define('GRAVITY_COMMENT', 6);
|
||||||
define('GRAVITY_UNKNOWN', 9);
|
define('GRAVITY_UNKNOWN', 9);
|
||||||
/* @}*/
|
/* @}*/
|
||||||
|
|
||||||
// Normally this constant is defined - but not if "pcntl" isn't installed
|
|
||||||
if (!defined('SIGTERM')) {
|
|
||||||
define('SIGTERM', 15);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Depending on the PHP version this constant does exist - or not.
|
|
||||||
* See here: http://php.net/manual/en/curl.constants.php#117928
|
|
||||||
*/
|
|
||||||
if (!defined('CURLE_OPERATION_TIMEDOUT')) {
|
|
||||||
define('CURLE_OPERATION_TIMEDOUT', CURLE_OPERATION_TIMEOUTED);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!function_exists('exif_imagetype')) {
|
|
||||||
function exif_imagetype($file)
|
|
||||||
{
|
|
||||||
$size = getimagesize($file);
|
|
||||||
return $size[2];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the user id of locally logged in user or false.
|
* Returns the user id of locally logged in user or false.
|
||||||
*
|
*
|
||||||
* @return int|bool user id or false
|
* @return int|bool user id or false
|
||||||
|
* @deprecated since version 2022.12, use Core\Session::getLocalUser() instead
|
||||||
*/
|
*/
|
||||||
function local_user()
|
function local_user()
|
||||||
{
|
{
|
||||||
if (!empty($_SESSION['authenticated']) && !empty($_SESSION['uid'])) {
|
return Session::getLocalUser();
|
||||||
return intval($_SESSION['uid']);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the public contact id of logged in user or false.
|
* Returns the public contact id of logged in user or false.
|
||||||
*
|
*
|
||||||
* @return int|bool public contact id or false
|
* @return int|bool public contact id or false
|
||||||
|
* @deprecated since version 2022.12, use Core\Session:: getPublicContact() instead
|
||||||
*/
|
*/
|
||||||
function public_contact()
|
function public_contact()
|
||||||
{
|
{
|
||||||
static $public_contact_id = false;
|
return Session::getPublicContact();
|
||||||
|
|
||||||
if (!$public_contact_id && !empty($_SESSION['authenticated'])) {
|
|
||||||
if (!empty($_SESSION['my_address'])) {
|
|
||||||
// Local user
|
|
||||||
$public_contact_id = intval(Contact::getIdForURL($_SESSION['my_address'], 0, false));
|
|
||||||
} elseif (!empty($_SESSION['visitor_home'])) {
|
|
||||||
// Remote user
|
|
||||||
$public_contact_id = intval(Contact::getIdForURL($_SESSION['visitor_home'], 0, false));
|
|
||||||
}
|
|
||||||
} elseif (empty($_SESSION['authenticated'])) {
|
|
||||||
$public_contact_id = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $public_contact_id;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns public contact id of authenticated site visitor or false
|
* Returns public contact id of authenticated site visitor or false
|
||||||
*
|
*
|
||||||
* @return int|bool visitor_id or false
|
* @return int|bool visitor_id or false
|
||||||
|
* @deprecated since version 2022.12, use Core\Session:: getRemoteUser() instead
|
||||||
*/
|
*/
|
||||||
function remote_user()
|
function remote_user()
|
||||||
{
|
{
|
||||||
if (empty($_SESSION['authenticated'])) {
|
return Session::getRemoteUser();
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($_SESSION['visitor_id'])) {
|
|
||||||
return intval($_SESSION['visitor_id']);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -351,6 +351,11 @@ class App
|
||||||
{
|
{
|
||||||
set_time_limit(0);
|
set_time_limit(0);
|
||||||
|
|
||||||
|
// Normally this constant is defined - but not if "pcntl" isn't installed
|
||||||
|
if (!defined('SIGTERM')) {
|
||||||
|
define('SIGTERM', 15);
|
||||||
|
}
|
||||||
|
|
||||||
// Ensure that all "strtotime" operations do run timezone independent
|
// Ensure that all "strtotime" operations do run timezone independent
|
||||||
date_default_timezone_set('UTC');
|
date_default_timezone_set('UTC');
|
||||||
|
|
||||||
|
|
|
@ -389,7 +389,7 @@ abstract class BaseModule implements ICanHandleRequests
|
||||||
|
|
||||||
public static function getFormSecurityStandardErrorMessage(): string
|
public static function getFormSecurityStandardErrorMessage(): string
|
||||||
{
|
{
|
||||||
return DI::l10n()->t("The form security token was not correct. This probably happened because the form has been opened for too long \x28>3 hours\x29 before submitting it.") . EOL;
|
return DI::l10n()->t("The form security token was not correct. This probably happened because the form has been opened for too long \x28>3 hours\x29 before submitting it.");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function checkFormSecurityTokenRedirectOnError(string $err_redirect, string $typename = '', string $formname = 'form_security_token')
|
public static function checkFormSecurityTokenRedirectOnError(string $err_redirect, string $typename = '', string $formname = 'form_security_token')
|
||||||
|
|
|
@ -69,6 +69,68 @@ class Session
|
||||||
DI::session()->clear();
|
DI::session()->clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the user id of locally logged in user or false.
|
||||||
|
*
|
||||||
|
* @return int|bool user id or false
|
||||||
|
*/
|
||||||
|
public static function getLocalUser()
|
||||||
|
{
|
||||||
|
$session = DI::session();
|
||||||
|
|
||||||
|
if (!empty($session->get('authenticated')) && !empty($session->get('uid'))) {
|
||||||
|
return intval($session->get('uid'));
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the public contact id of logged in user or false.
|
||||||
|
*
|
||||||
|
* @return int|bool public contact id or false
|
||||||
|
*/
|
||||||
|
public static function getPublicContact()
|
||||||
|
{
|
||||||
|
static $public_contact_id = false;
|
||||||
|
|
||||||
|
$session = DI::session();
|
||||||
|
|
||||||
|
if (!$public_contact_id && !empty($session->get('authenticated'))) {
|
||||||
|
if (!empty($session->get('my_address'))) {
|
||||||
|
// Local user
|
||||||
|
$public_contact_id = intval(Contact::getIdForURL($session->get('my_address'), 0, false));
|
||||||
|
} elseif (!empty($session->get('visitor_home'))) {
|
||||||
|
// Remote user
|
||||||
|
$public_contact_id = intval(Contact::getIdForURL($session->get('visitor_home'), 0, false));
|
||||||
|
}
|
||||||
|
} elseif (empty($session->get('authenticated'))) {
|
||||||
|
$public_contact_id = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $public_contact_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns public contact id of authenticated site visitor or false
|
||||||
|
*
|
||||||
|
* @return int|bool visitor_id or false
|
||||||
|
*/
|
||||||
|
public static function getRemoteUser()
|
||||||
|
{
|
||||||
|
$session = DI::session();
|
||||||
|
|
||||||
|
if (empty($session->get('authenticated'))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($session->get('visitor_id'))) {
|
||||||
|
return intval($session->get('visitor_id'));
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the user contact ID of a visitor for the given user ID they are visiting
|
* Return the user contact ID of a visitor for the given user ID they are visiting
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue