diff options
author | Frankie B <git@diskfloppy.me> | 2023-06-14 22:05:01 +0100 |
---|---|---|
committer | Frankie B <frankieraybrown@gmail.com> | 2023-06-14 22:15:44 +0100 |
commit | 30f68f5c7daae4fad4e0f986c21b10a801a3988c (patch) | |
tree | 79d5d59e43087e603fcd1e71201395fa04ffa20b | |
parent | 5142133f16cb085d46fbfd9514ab423b684f41aa (diff) |
Vastly improve lastfm thing
-rw-r--r-- | .env.example | 37 | ||||
-rw-r--r-- | config/services.php | 3 | ||||
-rw-r--r-- | resources/views/components/lastfm.blade.php | 67 |
3 files changed, 20 insertions, 87 deletions
diff --git a/.env.example b/.env.example index 478972c..4ead6e3 100644 --- a/.env.example +++ b/.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 diff --git a/config/services.php b/config/services.php index 8407709..0acb16e 100644 --- a/config/services.php +++ b/config/services.php @@ -16,6 +16,7 @@ return [ 'lastfm' => [ 'key' => env('LASTFM_KEY'), - 'user' => env('LASTFM_USER') + 'user' => env('LASTFM_USER'), + 'toptracks' => env('LASTFM_TOP_TRACKS') ] ]; diff --git a/resources/views/components/lastfm.blade.php b/resources/views/components/lastfm.blade.php index 78c5f81..92b2c9c 100644 --- a/resources/views/components/lastfm.blade.php +++ b/resources/views/components/lastfm.blade.php @@ -1,67 +1,26 @@ -<?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); +@php -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); -} +$cfg = app('config')->get('services')['lastfm']; -$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 |