Implement additional getters in user for default scopes (may be null in some cases)

This commit is contained in:
trogwar
2016-06-30 07:44:36 +03:00
committed by Jack Wall
parent 394ddb4f38
commit ad2082add0

View File

@@ -41,4 +41,203 @@ class User implements ResourceOwnerInterface
{
return (int)$this->response['uid'];
}
// ========== helpers ==========
/**
* Helper for getting user data
*
* @param string $key
*
* @return mixed|null
*/
protected function getField($key)
{
return !empty($this->response[$key]) ? $this->response[$key] : null;
}
// ========== Getters for default scope ==========
/**
* @return string|null
*/
public function getAbout()
{
return $this->getField('about');
}
/**
* @return string|null DD.MM.YYYY
*/
public function getBirthday()
{
return $this->getField('bdate');
}
/**
* Detects is current user can post on wall of this user
*
* @return bool
*/
public function isCanPost()
{
return (bool)$this->getField('can_post');
}
/**
* @return array [id =>, title => string]
*/
public function getCity()
{
return $this->getField('city');
}
/**
* Info about phone numbers
*
* @return array [mobile_phone = string, home_phone => string]
*/
public function getContacts()
{
return $this->getField('contacts');
}
/**
* @return array [
* albums => int,
* videos => int,
* audios => int,
* notes => int,
* photos => int,
* groups => int,
* gifts => int,
* friends => int,
* online_friends => int,
* user_videos => int,
* followers => int,
* ]
*/
public function getCounters()
{
return $this->getField('counters');
}
/**
* @return array [id =>, title => string]
*/
public function getCountry()
{
return $this->getField('country');
}
/**
* Short address to user page
*
* @return string
*/
public function getDomain()
{
return $this->getField('domain');
}
/**
* @return string
*/
public function getFirstName()
{
return $this->getField('first_name');
}
/**
* @return int 0|1|2|3 => nobody|resquest_sent|incoming_request|friends
*/
public function getFriendStatus()
{
return $this->getField('friend_Status');
}
/**
* Do we know mobile phone number
*
* @return bool
*/
public function isHasMobile()
{
return (bool)$this->getField('has_mobile');
}
/**
* Has user avatar?
*
* @return bool
*/
public function isHasPhoto()
{
return (bool)$this->getField('has_photo');
}
/**
* @return string
*/
public function getHomeTown()
{
return $this->getField('home_town');
}
/**
* Detect if current user is freind to this
*
* @return bool
*/
public function isFriend()
{
return (bool)$this->getField('is_friend');
}
/**
* @return string
*/
public function getLastName()
{
return $this->getField('last_name');
}
/**
* @return string
*/
public function getMaidenName()
{
return $this->getField('maiden_name');
}
/**
* @return string
*/
public function getNickname()
{
return $this->getField('nickname');
}
/**
* It's square!
*
* @return string URL
*/
public function getPhotoMax()
{
return $this->getField('photo_max');
}
/**
* Any sizes
*
* @return string URL
*/
public function getPhotoMaxOrig()
{
return $this->getField('photo_max_orig');
}
/**
* @return string
*/
public function getScreenName()
{
return $this->getField('screen_name');
}
/**
* @return int 1|2 => woman|man
*/
public function getSex()
{
return $this->getField('sex');
}
/**
* @return int
*/
public function getTimezone()
{
return $this->getField('timezone');
}
}