about summary refs log tree commit diff
path: root/laravel/app/Http/Controllers/SongController.php
diff options
context:
space:
mode:
authorZach DeCook <zachdecook@gmail.com>2018-12-27 10:22:36 -0500
committerZach DeCook <zachdecook@gmail.com>2018-12-27 10:22:36 -0500
commit1a9c3529c32df34b92538bb6599cf609fdf9bb3c (patch)
tree83d86919d15598314990cd4bd577c367a6452308 /laravel/app/Http/Controllers/SongController.php
parent7057844718f20f47109549a0f26745d88d66e195 (diff)
downloadprosongsa-1a9c3529c32df34b92538bb6599cf609fdf9bb3c.tar.gz
* Song View: Add 'back to playlist' link
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('/');
+    }
 }