Deal with situation when friends.get return only ids (integers, not objects) – only when no fields-option was passed
This commit is contained in:
@@ -11,8 +11,6 @@ use League\OAuth2\Client\Provider\ResourceOwnerInterface;
|
|||||||
*/
|
*/
|
||||||
class User implements ResourceOwnerInterface
|
class User implements ResourceOwnerInterface
|
||||||
{
|
{
|
||||||
// ========== Interface ==========
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type array
|
* @type array
|
||||||
*/
|
*/
|
||||||
@@ -42,8 +40,6 @@ class User implements ResourceOwnerInterface
|
|||||||
return (int)($this->getField('uid') ?: $this->getField('id'));
|
return (int)($this->getField('uid') ?: $this->getField('id'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// ========== helpers ==========
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper for getting user data
|
* Helper for getting user data
|
||||||
*
|
*
|
||||||
@@ -56,8 +52,6 @@ class User implements ResourceOwnerInterface
|
|||||||
return !empty($this->response[$key]) ? $this->response[$key] : null;
|
return !empty($this->response[$key]) ? $this->response[$key] : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ========== Getters for default scope ==========
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string|null DD.MM.YYYY
|
* @return string|null DD.MM.YYYY
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -111,8 +111,6 @@ class Vkontakte extends AbstractProvider
|
|||||||
//'wall_comments',
|
//'wall_comments',
|
||||||
];
|
];
|
||||||
|
|
||||||
// ========== Abstract ==========
|
|
||||||
|
|
||||||
public function getBaseAuthorizationUrl()
|
public function getBaseAuthorizationUrl()
|
||||||
{
|
{
|
||||||
return "$this->baseOAuthUri/authorize";
|
return "$this->baseOAuthUri/authorize";
|
||||||
@@ -173,8 +171,6 @@ class Vkontakte extends AbstractProvider
|
|||||||
return new User($response, $response['id']);
|
return new User($response, $response['id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ========== API methods ==========
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see https://vk.com/dev/users.get
|
* @see https://vk.com/dev/users.get
|
||||||
*
|
*
|
||||||
@@ -228,7 +224,11 @@ class Vkontakte extends AbstractProvider
|
|||||||
|
|
||||||
$response = $this->getResponse($this->createRequest(static::METHOD_GET, $url, $token, []))['response'];
|
$response = $this->getResponse($this->createRequest(static::METHOD_GET, $url, $token, []))['response'];
|
||||||
$friends = !empty($response['items']) ? $response['items'] : $response;
|
$friends = !empty($response['items']) ? $response['items'] : $response;
|
||||||
$array2friend = function ($friendData) { return new User($friendData); };
|
$array2friend = function ($friendData) {
|
||||||
|
if (is_numeric($friendData)) $friendData = ['id' => $friendData];
|
||||||
|
|
||||||
|
return new User($friendData);
|
||||||
|
};
|
||||||
|
|
||||||
return array_map($array2friend, $friends);
|
return array_map($array2friend, $friends);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user