Version 4.5.0

This commit is contained in:
Neo committed 2025-12-19 05:51:58 -08:00
1 parent 1a0c7fd3c2
commit f79dcf067a
3791 files changed
+248032 -76372

No files matched your search

+26 -9
View File
@@ -11,7 +11,7 @@
namespace IPS\Login\Handler\OAuth2;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
@@ -77,7 +77,7 @@ class _Invision extends \IPS\Login\Handler\OAuth2
{
$active = 'accountManagementSettings';
}
if ( !is_string( $v ) and !is_array( $v ) )
if ( !\is_string( $v ) and !\is_array( $v ) )
{
${$active}[ $k ] = $v;
}
@@ -265,7 +265,12 @@ class _Invision extends \IPS\Login\Handler\OAuth2
*/
protected function authenticatedUserId( $accessToken )
{
return $this->_userData( $accessToken )['id'];
$userData = $this->_userData( $accessToken );
if ( isset( $userData['id'] ) )
{
return $userData['id'];
}
return NULL;
}
/**
@@ -277,7 +282,12 @@ class _Invision extends \IPS\Login\Handler\OAuth2
*/
protected function authenticatedUserName( $accessToken )
{
return $this->_userData( $accessToken )['name'];
$userData = $this->_userData( $accessToken );
if ( isset( $userData['name'] ) )
{
return $userData['name'];
}
return NULL;
}
/**
@@ -309,13 +319,13 @@ class _Invision extends \IPS\Login\Handler\OAuth2
*/
public function userProfilePhoto( \IPS\Member $member )
{
if ( !( $link = $this->_link( $member ) ) )
if ( !( $link = $this->_link( $member ) ) or ( $link['token_expires'] and $link['token_expires'] < time() ) )
{
throw new \IPS\Login\Exception( NULL, \IPS\Login\Exception::INTERNAL_ERROR );
}
$userData = $this->_userData( $link['token_access_token'] );
if ( !isset( $userData['photoUrlIsDefault'] ) or !$userData['photoUrlIsDefault'] )
if ( ( !isset( $userData['photoUrlIsDefault'] ) or !$userData['photoUrlIsDefault'] ) AND isset( $userData['photoUrl'] ) )
{
return \IPS\Http\Url::external( $userData['photoUrl'] );
}
@@ -334,12 +344,18 @@ class _Invision extends \IPS\Login\Handler\OAuth2
*/
public function userProfileName( \IPS\Member $member )
{
if ( !( $link = $this->_link( $member ) ) )
if ( !( $link = $this->_link( $member ) ) or ( $link['token_expires'] and $link['token_expires'] < time() ) )
{
throw new \IPS\Login\Exception( NULL, \IPS\Login\Exception::INTERNAL_ERROR );
}
return $this->_userData( $link['token_access_token'] )['name'];
$userData = $this->_userData( $link['token_access_token'] );
if( isset( $userData['name'] ) )
{
return $userData['name'];
}
return NULL;
}
/**
@@ -354,7 +370,7 @@ class _Invision extends \IPS\Login\Handler\OAuth2
*/
public function userCoverPhoto( \IPS\Member $member )
{
if ( !( $link = $this->_link( $member ) ) )
if ( !( $link = $this->_link( $member ) ) or ( $link['token_expires'] and $link['token_expires'] < time() ) )
{
throw new \IPS\Login\Exception( NULL, \IPS\Login\Exception::INTERNAL_ERROR );
}
@@ -422,6 +438,7 @@ class _Invision extends \IPS\Login\Handler\OAuth2
* @param string $accessToken Access Token
* @throws \IPS\Login\Exception The token is invalid and the user needs to reauthenticate
* @throws \RuntimeException Unexpected error from service
* @return array|null
*/
protected function _userData( $accessToken )
{