cancel.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. if ($_SERVER['REQUEST_METHOD'] === 'POST'):
  3. $FILENAME = '../private/bookings.csv';
  4. $responses = [
  5. 'no_file' => ['danger' => 'Imposibru'],
  6. 'no_mail' => ['danger' => 'Email no encontrado'],
  7. 'success' => [
  8. 'success' => 'Haz anulado tu reserva exitosamente. Si deseas volver a '.
  9. 'confirmar tu asistencia <a href="./contacto">contáctanos</a>'
  10. ]
  11. ];
  12. /**
  13. * Rewrite if mail found */
  14. if (file_exists($FILENAME)) {
  15. $fp = fopen($FILENAME, 'r');
  16. $i = 0;
  17. $newfile = array();
  18. while (($line = fgetcsv($fp)) !== false) {
  19. if ($line[2] === strtolower($_POST['abortEmail'])) {
  20. $found = true;
  21. $line[5] = 'y';
  22. }
  23. array_push($newfile, $line);
  24. }
  25. if (isset($found)) {
  26. fclose($fp);
  27. $fp = fopen($FILENAME, 'w');
  28. foreach ($newfile as $line)
  29. fputcsv($fp, $line);
  30. $response = $responses['success'];
  31. } else {
  32. $response = $responses['no_mail'];
  33. }
  34. fclose($fp);
  35. } else {
  36. $response = $responses['no_file'];
  37. }
  38. /**
  39. * Response */
  40. if (isset($_POST['fetch'])) {
  41. print json_encode($response);
  42. } else {
  43. session_start();
  44. $_SESSION['response'] = json_encode($response);
  45. header('Location: ./');
  46. }
  47. return;
  48. endif;
  49. ?>
  50. <!DOCTYPE html>
  51. <html lang="es">
  52. <head>
  53. <meta charset="utf8">
  54. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  55. <title>Cancelar reserva</title>
  56. <link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css">
  57. </head>
  58. <body>
  59. <form id="cancelForm" class="p-4 text-center" action="cancel.php" method="POST">
  60. <h3 class="lead">Anular reserva</h3>
  61. <div class="form-group">
  62. <label for="abortEmail">Email con que reservaste</label>
  63. <input type="text" name="abortEmail" class="form-control" id="abortEmail">
  64. </div>
  65. <button type="submit" class="btn btn-primary">Anular mi reserva</button>
  66. </form>
  67. </body>
  68. </html>