aboutsummaryrefslogtreecommitdiff
path: root/app/Http/Controllers/MusicController.php
diff options
context:
space:
mode:
authorfloppydiskette <floppydisk@hyprcat.net>2024-09-13 12:58:12 +0100
committerfloppydiskette <floppydisk@hyprcat.net>2024-09-13 12:59:16 +0100
commit2c3400fb4f5a22951d42f286975201bf817d7883 (patch)
treea08b06f5f6d5df4f6774da7645d85418609a4cf2 /app/Http/Controllers/MusicController.php
parentd8915dcca4d9752f6f254e86afa39ef7f83617d1 (diff)
wronglucky
Diffstat (limited to 'app/Http/Controllers/MusicController.php')
-rw-r--r--app/Http/Controllers/MusicController.php69
1 files changed, 0 insertions, 69 deletions
diff --git a/app/Http/Controllers/MusicController.php b/app/Http/Controllers/MusicController.php
deleted file mode 100644
index 5e31d86..0000000
--- a/app/Http/Controllers/MusicController.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-namespace App\Http\Controllers;
-
-use Illuminate\Support\Facades\Cache;
-use Illuminate\Support\Facades\Config;
-use Illuminate\Support\Facades\Http;
-use Illuminate\View\View;
-
-class MusicController extends Controller
-{
- public function getCurrentTrack() {
- // If it's already cached just return that
- if (Cache::has('current_track')) {
- return Cache::get('current_track');
- }
-
- $response = Http::withQueryParameters([
- 'method' => 'user.getrecenttracks',
- 'user' => Config::get('services.lastfm.user'),
- 'format' => 'json',
- 'nowplaying' => 'true',
- 'api_key' => Config::get('services.lastfm.key')
- ])->get('https://ws.audioscrobbler.com/2.0/');
- $data = $response->json();
- error_log($response->body());
- $track_data = $data["recenttracks"]["track"][0];
- $current_track = [
- 'title' => $track_data["name"],
- 'artist' => $track_data["artist"]["#text"],
- 'url' => $track_data["url"],
- ];
- Cache::put('current_track', $current_track, now()->addSeconds(15));
- return $current_track;
- }
-
- public function getTopTracks() {
- // If it's already cached just return that
- if (Cache::has('top_tracks')) {
- return Cache::get('top_tracks');
- }
-
- $response = Http::withQueryParameters([
- 'method' => 'user.gettoptracks',
- 'user' => Config::get('services.lastfm.user'),
- 'format' => 'json',
- 'period' => '1month',
- 'limit' => 10,
- 'api_key' => Config::get('services.lastfm.key')
- ])->get('https://ws.audioscrobbler.com/2.0/');
- $data = $response->json();
- $topTracks = [];
- foreach ($data["toptracks"]["track"] as $track) {
- $topTracks[] = [
- 'title' => $track["name"],
- 'artist' => $track["artist"]["name"],
- 'url' => $track["url"],
- 'plays' => $track["playcount"],
- ];
- }
- Cache::put('top_tracks', $topTracks, now()->addSeconds(15));
- return $topTracks;
- }
- public function show() : View {
- return view('music')
- ->with('current_track', $this->getCurrentTrack())
- ->with('top_tracks', $this->getTopTracks());
- }
-}