diff --git a/css/site.css b/css/site.css index cb98b05..fc82a4c 100644 --- a/css/site.css +++ b/css/site.css @@ -22,6 +22,10 @@ h4 { padding-top: 25px; } +.pad-15-left { + padding-left: 15px; +} + /*form validation*/ .container { max-width: 960px; diff --git a/ditw-schema.sql b/ditw-schema.sql index aae7d76..6fddad3 100644 --- a/ditw-schema.sql +++ b/ditw-schema.sql @@ -75,7 +75,7 @@ CREATE TABLE `orders` ( `state` varchar(45) NOT NULL, `zip` varchar(45) NOT NULL, `payment_type` int(11) NOT NULL DEFAULT '0', - `stripe_token` varchar(64) NOT NULL, + `stripe_token` varchar(64) NULL, `date_created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `uuid` varchar(64) NOT NULL, PRIMARY KEY (`id`), diff --git a/index.php b/index.php index daf1c9f..735ace2 100644 --- a/index.php +++ b/index.php @@ -130,5 +130,32 @@ $router->get('/manage/{uuid}', function ($uuid) { include 'views/common/footer.php'; }); +$router->post('/manage/{uuid}', function ($uuid) { + if ($uuid !== $_POST['uuid']) { + throw new Exception('Invalid form submission', 400); + } + + $order = R::findOne('orders', ' uuid = ?', [$uuid]); + $parametersToSearch = $_POST['guestsArray']; + array_push($parametersToSearch, $order->id); + $guests = R::findAll('guests', ' id IN(' . R::genSlots($_POST['guestsArray']) . ') AND order_id = ?', $parametersToSearch); + + foreach ($guests as $id => $guest) { + if (!empty($_POST['guests'][$id]['name']) && + !empty($_POST['guests'][$id]['email']) && + !empty($_POST['guests'][$id]['phone'])) { + $guest->name = $_POST['guests'][$id]['name']; + $guest->email = $_POST['guests'][$id]['email']; + $guest->phone = $_POST['guests'][$id]['phone']; + $guest->childcare = $_POST['guests'][$id]['childcare']; + $guest->valet = $_POST['guests'][$id]['valet']; + $guest->restrictions = $_POST['guests'][$id]['restrictions']; + R::store($guest); + } + } + + header('Location: /manage/'.$uuid); +}); + // Run it! $router->run(); \ No newline at end of file diff --git a/js/main.js b/js/main.js index ba6c1b1..53d42fe 100644 --- a/js/main.js +++ b/js/main.js @@ -5,10 +5,18 @@ addEventHandler(document, 'DOMContentLoaded', function () { addEventHandler(document.getElementById('credit'), 'click', function() { document.getElementById('checkDetails').style.display = 'none'; document.getElementById('creditDetails').style.display = ''; + document.getElementById('cc-number').required = true; + document.getElementById('cc-name').required = true; + document.getElementById('cc-expiration').required = true; + document.getElementById('cc-cvv').required = true; }); addEventHandler(document.getElementById('check'), 'click', function() { document.getElementById('checkDetails').style.display = ''; document.getElementById('creditDetails').style.display = 'none'; + document.getElementById('cc-number').required = false; + document.getElementById('cc-name').required = false; + document.getElementById('cc-expiration').required = false; + document.getElementById('cc-cvv').required = false; }); }); diff --git a/views/guestlist.php b/views/guestlist.php index 805050c..2c28a35 100644 --- a/views/guestlist.php +++ b/views/guestlist.php @@ -2,44 +2,46 @@