Backend for songs.zachdecook.com
Diffstat (limited to 'laravel/app/Http/Controllers/SongController.php')
| -rw-r--r-- | laravel/app/Http/Controllers/SongController.php | 30 |
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('/'); + } } |