public function buildAuthCallParams(array $params, $toString = false)
{
$params['api_key'] = $this->getKey();
ksort($params);
// Generate the API signature.
// @link http://www.last.fm/api/webauth#6
$str = '';
foreach ($params as $name => $value) {
$str .= $name . $value;
}
$str .= $this->getSecret();
$params['api_sig'] = md5($str);
if (!$toString) {
return $params;
}
$query = '';
foreach ($params as $key => $value) {
$query .= "{$key}={$value}&";
}
return rtrim($query, '&');
}
public function testBuildAuthCallParams() { $api = new Lastfm('key', 'secret'); $params = ['qux' => '安', 'bar' => 'baz']; $this->assertEquals(['api_key' => 'key', 'bar' => 'baz', 'qux' => '安', 'api_sig' => '7f21233b54edea994aa0f23cf55f18a2'], $api->buildAuthCallParams($params)); $this->assertEquals('api_key=key&bar=baz&qux=安&api_sig=7f21233b54edea994aa0f23cf55f18a2', $api->buildAuthCallParams($params, true)); }