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

+12 -40
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;
@@ -159,12 +159,12 @@ class _Facebook extends \IPS\Login\Handler\OAuth2
$return[] = 'user_posts';
}
$additionalPermitted = array( 'manage_pages', 'publish_pages', 'publish_to_groups' );
$additionalPermitted = array( 'manage_pages', 'publish_pages' );
if ( $additional !== NULL )
{
foreach( $additional as $scope )
{
if ( in_array( $scope, $additionalPermitted ) )
if ( \in_array( $scope, $additionalPermitted ) )
{
$return[] = $scope;
}
@@ -327,39 +327,12 @@ class _Facebook extends \IPS\Login\Handler\OAuth2
*/
public function userProfileName( \IPS\Member $member )
{
if ( !( $link = $this->_link( $member ) ) )
{
throw new \IPS\Login\Exception( $error['message'], \IPS\Login\Exception::INTERNAL_ERROR );
}
return $this->_userData( $link['token_access_token'] )['name'];
}
/**
* Get user's cover photo
* May return NULL if server doesn't support this
*
* @param \IPS\Member $member Member
* @return \IPS\Http\Url|NULL
* @throws \IPS\Login\Exception The token is invalid and the user needs to reauthenticate
* @throws \DomainException General error where it is safe to show a message to the user
* @throws \RuntimeException Unexpected error from service
*/
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 );
}
$userData = $this->_userData( $link['token_access_token'] );
if ( isset( $userData['cover'] ) )
{
return \IPS\Http\Url::external( $userData['cover']['source'] );
}
return NULL;
return $this->_userData( $link['token_access_token'] )['name'];
}
/**
@@ -374,7 +347,7 @@ class _Facebook extends \IPS\Login\Handler\OAuth2
*/
public function userStatuses( \IPS\Member $member, \IPS\DateTime $since = NULL )
{
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 );
}
@@ -418,7 +391,7 @@ class _Facebook extends \IPS\Login\Handler\OAuth2
$return = array();
$scopes = $this->authorizedScopes( $member );
if ( ( !isset( $this->settings['update_email_changes'] ) or $this->settings['update_email_changes'] === 'optional' ) and ( $scopes and in_array( 'email', $scopes ) ) )
if ( ( !isset( $this->settings['update_email_changes'] ) or $this->settings['update_email_changes'] === 'optional' ) and ( $scopes and \in_array( 'email', $scopes ) ) )
{
$return[] = 'email';
}
@@ -429,9 +402,8 @@ class _Facebook extends \IPS\Login\Handler\OAuth2
}
$return[] = 'photo';
$return[] = 'cover';
if ( \IPS\Settings::i()->profile_comments and isset( $this->settings['allow_status_import'] ) and $this->settings['allow_status_import'] and ( $scopes and in_array( 'user_posts', $this->authorizedScopes( $member ) ) ) )
if ( \IPS\Settings::i()->profile_comments and isset( $this->settings['allow_status_import'] ) and $this->settings['allow_status_import'] and ( $scopes and \in_array( 'user_posts', $this->authorizedScopes( $member ) ) ) )
{
$return[] = 'status';
}
@@ -457,7 +429,7 @@ class _Facebook extends \IPS\Login\Handler\OAuth2
if ( !isset( $this->_cachedUserData[ $accessToken ] ) )
{
$response = $this->_authorizedRequest( 'me', $accessToken, array(
'fields' => 'email,id,name,picture,cover',
'fields' => 'email,id,name,picture',
'appsecret_proof' => hash_hmac( 'sha256', $accessToken, $this->settings['client_secret'] )
), 'get' );
@@ -513,7 +485,7 @@ class _Facebook extends \IPS\Login\Handler\OAuth2
*/
public function postToFacebook( \IPS\Member $member, $content, \IPS\Http\Url $url = NULL )
{
if ( !( $link = $this->_link( $member ) ) )
if ( !( $link = $this->_link( $member ) ) or ( $link['token_expires'] and $link['token_expires'] < time() ) )
{
return FALSE;
}
@@ -641,9 +613,9 @@ class _Facebook extends \IPS\Login\Handler\OAuth2
if ( \is_numeric( \IPS\Settings::i()->promote_facebook_auth ) )
{
/* standard handler */
if ( !( $link = $this->_link( $member ) ) )
if ( !( $link = $this->_link( $member ) ) or ( $link['token_expires'] and $link['token_expires'] < time() ) )
{
return $pages;
return array();
}
}
else