Backend for songs.zachdecook.com
Diffstat (limited to 'laravel/app/Http/Controllers/SongController.php')
-rw-r--r--laravel/app/Http/Controllers/SongController.php30
1 files changed, 29 insertions, 1 deletions
diff --git a/laravel/app/Http/Controllers/SongController.php b/laravel/app/Http/Controllers/SongController.php
index 3f68714..15a9c34 100644
--- a/laravel/app/Http/Controllers/SongController.php
+++ b/laravel/app/Http/Controllers/SongController.php
@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
+use App\Playlist;
use App\Song;
use Illuminate\Http\Request;
@@ -33,7 +34,11 @@ class SongController extends Controller
}
}
$song['escapedText'] = $newText;
- return view('song', ['song' => $song, 'transp' => $transp ] );
+ $playlist = NULL;
+ if ( $_GET['playlist'] ){
+ $playlist = Playlist::find($_GET['playlist'] ) ?? NULL;
+ }
+ return view('song', ['song' => $song, 'transp' => $transp, 'playlist' => $playlist ] );
}
/**
@@ -146,4 +151,27 @@ class SongController extends Controller
return $ochords[($chords[$fromkey] + $integer + 24)%12];
}
+ public function post()
+ {
+ $songD = [];
+ $songD['title'] = $_POST['title'] ?? '';
+ $songD['text'] = $_POST['text'] ?? '';
+ $songD['key'] = $_POST['key'] ?? NULL;
+ $songD['author'] = $_POST['author'] ?? NULL;
+ $songD['number'] = substr(md5(microtime()),rand(0,26),5);
+ if ( $songD['title'] ) {
+ $song = Song::create( $songD );
+ if ( $_POST['playlist'] ) {
+ $song->playlists()->attach( $_POST['playlist'] );
+ }
+ return redirect()->route('song.show', [
+ 'song' => $song->number,
+ 'playlist' => $_POST['playlist']
+ ] );
+ }
+ if ($_POST['playlist'] ){
+ return redirect()->route('playlist.show', [ 'playlist' => $_POST['playlist'] ] );
+ }
+ return redirect('/');
+ }
}