PHP Class App\services\Lastfm

Inheritance: extends RESTfulService
Show file Open project: phanan/koel Class Usage Examples

Protected Properties

Property Type Description
$keyParam string Override the key param, since, again, Lastfm wants to be different.
$responseFormat string Specify the response format, since Last.fm only returns XML.

Public Methods

Method Description
__construct ( string $key = null, string $secret = null, Client $client = null ) Construct an instance of Lastfm service.
buildAuthCallParams ( array $params, boolean $toString = false ) : array | string Build the parameters to use for _authenticated_ Last.fm API calls.
enabled ( ) : boolean Determine if Last.fm integration is enabled.
getAlbumInfo ( string $name, string $artistName ) : array | false Get information about an album.
getArtistInfo ( $name ) : array | false Get information about an artist.
getSessionKey ( string $token ) : string Get Last.fm's session key for the authenticated user using a token.
scrobble ( string $artist, string $track, string | integer $timestamp, string $album, string $sk ) : boolean Scrobble a song.
toggleLoveTrack ( string $track, string $artist, string $sk, boolean $love = true ) : boolean Love or unlove a track on Last.fm.
updateNowPlaying ( string $artist, string $track, string $album, integer | float $duration, string $sk ) : boolean Update a track's "now playing" on Last.fm.
used ( ) : boolean Determine if our application is using Last.fm.

Protected Methods

Method Description
formatText ( string $str ) : string Correctly format a string returned by Last.fm.

Method Details

__construct() public method

Construct an instance of Lastfm service.
public __construct ( string $key = null, string $secret = null, Client $client = null )
$key string Last.fm API key.
$secret string Last.fm API shared secret.
$client GuzzleHttp\Client The Guzzle HTTP client.

buildAuthCallParams() public method

Such calls require: - The API key (api_key) - The API signature (api_sig).
public buildAuthCallParams ( array $params, boolean $toString = false ) : array | string
$params array The array of parameters.
$toString boolean Whether to turn the array into a query string
return array | string

enabled() public method

Determine if Last.fm integration is enabled.
public enabled ( ) : boolean
return boolean

formatText() protected method

Correctly format a string returned by Last.fm.
protected formatText ( string $str ) : string
$str string
return string

getAlbumInfo() public method

Get information about an album.
public getAlbumInfo ( string $name, string $artistName ) : array | false
$name string Name of the album
$artistName string Name of the artist
return array | false

getArtistInfo() public method

Get information about an artist.
public getArtistInfo ( $name ) : array | false
$name string Name of the artist
return array | false

getSessionKey() public method

Get Last.fm's session key for the authenticated user using a token.
public getSessionKey ( string $token ) : string
$token string The token after successfully connecting to Last.fm
return string The token key

scrobble() public method

Scrobble a song.
public scrobble ( string $artist, string $track, string | integer $timestamp, string $album, string $sk ) : boolean
$artist string The artist name
$track string The track name
$timestamp string | integer The UNIX timestamp
$album string The album name
$sk string The session key
return boolean

toggleLoveTrack() public method

Love or unlove a track on Last.fm.
public toggleLoveTrack ( string $track, string $artist, string $sk, boolean $love = true ) : boolean
$track string The track name
$artist string The artist's name
$sk string The session key
$love boolean Whether to love or unlove. Such cheesy terms... urrgggh
return boolean

updateNowPlaying() public method

Update a track's "now playing" on Last.fm.
public updateNowPlaying ( string $artist, string $track, string $album, integer | float $duration, string $sk ) : boolean
$artist string Name of the artist
$track string Name of the track
$album string Name of the album
$duration integer | float Duration of the track, in seconds
$sk string The session key
return boolean

used() public method

Determine if our application is using Last.fm.
public used ( ) : boolean
return boolean

Property Details

$keyParam protected property

Override the key param, since, again, Lastfm wants to be different.
protected string $keyParam
return string

$responseFormat protected property

Specify the response format, since Last.fm only returns XML.
protected string $responseFormat
return string