Vastly improve lastfm thing
This commit is contained in:
parent
5142133f16
commit
30f68f5c7d
3 changed files with 20 additions and 87 deletions
37
.env.example
37
.env.example
|
@ -1,5 +1,7 @@
|
|||
APP_NAME=Laravel
|
||||
APP_ENV=local
|
||||
APP_NAME=Laravel
|
||||
APP_ENV=local
|
||||
APP_KEY=
|
||||
APP_DEBUG=true
|
||||
APP_URL=http://localhost
|
||||
|
@ -24,35 +26,6 @@ SESSION_LIFETIME=120
|
|||
|
||||
MEMCACHED_HOST=127.0.0.1
|
||||
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PASSWORD=null
|
||||
REDIS_PORT=6379
|
||||
|
||||
MAIL_MAILER=smtp
|
||||
MAIL_HOST=mailpit
|
||||
MAIL_PORT=1025
|
||||
MAIL_USERNAME=null
|
||||
MAIL_PASSWORD=null
|
||||
MAIL_ENCRYPTION=null
|
||||
MAIL_FROM_ADDRESS="hello@example.com"
|
||||
MAIL_FROM_NAME="${APP_NAME}"
|
||||
|
||||
AWS_ACCESS_KEY_ID=
|
||||
AWS_SECRET_ACCESS_KEY=
|
||||
AWS_DEFAULT_REGION=us-east-1
|
||||
AWS_BUCKET=
|
||||
AWS_USE_PATH_STYLE_ENDPOINT=false
|
||||
|
||||
PUSHER_APP_ID=
|
||||
PUSHER_APP_KEY=
|
||||
PUSHER_APP_SECRET=
|
||||
PUSHER_HOST=
|
||||
PUSHER_PORT=443
|
||||
PUSHER_SCHEME=https
|
||||
PUSHER_APP_CLUSTER=mt1
|
||||
|
||||
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
|
||||
VITE_PUSHER_HOST="${PUSHER_HOST}"
|
||||
VITE_PUSHER_PORT="${PUSHER_PORT}"
|
||||
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
|
||||
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
|
||||
LASTFM_KEY=
|
||||
LASTFM_USER=
|
||||
LASTFM_TOP_TRACKS=10
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
'lastfm' => [
|
||||
'key' => env('LASTFM_KEY'),
|
||||
'user' => env('LASTFM_USER')
|
||||
'user' => env('LASTFM_USER'),
|
||||
'toptracks' => env('LASTFM_TOP_TRACKS')
|
||||
]
|
||||
];
|
||||
|
|
|
@ -1,67 +1,26 @@
|
|||
<?php
|
||||
@php
|
||||
|
||||
$cfg = app('config')->get('services')['lastfm'];
|
||||
|
||||
$curl_current = curl_init();
|
||||
|
||||
curl_setopt_array($curl_current, [
|
||||
CURLOPT_URL => "https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=".$cfg['user']."&nowplaying=true&format=json&api_key=".$cfg['key'],
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "GET",
|
||||
]);
|
||||
|
||||
$current_response = curl_exec($curl_current);
|
||||
$err = curl_error($curl_current);
|
||||
|
||||
curl_close($curl_current);
|
||||
|
||||
if ($err) {
|
||||
die("cURL Error #:" . $err);
|
||||
}
|
||||
$current_response = json_decode($current_response, true);
|
||||
$nowplaying = $current_response['recenttracks']['track'][0];
|
||||
|
||||
|
||||
$tracks_to_show = 10;
|
||||
|
||||
$curl = curl_init();
|
||||
curl_setopt_array($curl, [
|
||||
CURLOPT_URL => "https://ws.audioscrobbler.com/2.0/?method=user.gettoptracks&user=".$cfg['user']."&format=json&period=7day&api_key=".$cfg['key'],
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "GET",
|
||||
]);
|
||||
|
||||
$toptracks = curl_exec($curl);
|
||||
$err = curl_error($curl);
|
||||
curl_close($curl);
|
||||
if ($err) {
|
||||
die("cURL Error #:" . $err);
|
||||
}
|
||||
|
||||
$toptracks = json_decode($toptracks, true);
|
||||
$tracks = $toptracks['toptracks']['track'];
|
||||
$current_response = json_decode(file_get_contents("https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=".$cfg['user']."&nowplaying=true&format=json&api_key=".$cfg['key']));
|
||||
$nowplaying = $current_response->recenttracks->track[0];
|
||||
$toptracks = json_decode(file_get_contents("https://ws.audioscrobbler.com/2.0/?method=user.gettoptracks&user=".$cfg['user']."&format=json&period=7day&api_key=".$cfg['key']));
|
||||
$tracks = $toptracks->toptracks->track;
|
||||
$count = 0;
|
||||
?>
|
||||
@endphp
|
||||
|
||||
<h1>Last.fm <small>(<a href="https://www.last.fm/user/{{ $cfg['user']}}">Profile</a>)</small></h1>
|
||||
<b>Last/Current Track:</b> <a href="{{ $nowplaying['url'] }}">{{ $nowplaying['name'] }} • {{ $nowplaying['artist']['#text'] }}</a>
|
||||
<h2>Top {{ $tracks_to_show }} Tracks (Last 7 days)</h2>
|
||||
<b>Last/Current Track:</b> <a href="{{ $nowplaying->url }}">{{ $nowplaying->name }} • {{ $nowplaying->artist->{"#text"} }}</a>
|
||||
<h2>Top {{ $cfg['toptracks'] }} Tracks (Last 7 days)</h2>
|
||||
<ol>
|
||||
@foreach ($tracks as $track)
|
||||
@if ($count >= $tracks_to_show)
|
||||
@if ($count >= $cfg['toptracks'])
|
||||
</ol>
|
||||
@break
|
||||
@endif
|
||||
<li>
|
||||
<a href="{{ $track['url'] }}">{{ $track['name'] }} • {{ $track['artist']['name'] }}</a>
|
||||
<small>({{$track['playcount']}} plays)</small>
|
||||
<a href="{{ $track->url }}">{{ $track->name }} • {{ $track->artist->name }}</a>
|
||||
<small>({{ $track->playcount }} plays)</small>
|
||||
</li>
|
||||
<?php $count++ ?>
|
||||
@php $count++ @endphp
|
||||
@endforeach
|
||||
|
|
Loading…
Reference in a new issue