diff --git a/app/Controllers/EventController.php b/app/Controllers/EventController.php index a5049a775068606ecd75ac9f79964f52bf2535ef..c15062c65080ee1e518796a0be09a9dcaf2f284d 100644 --- a/app/Controllers/EventController.php +++ b/app/Controllers/EventController.php @@ -17,18 +17,18 @@ class EventController { $this->eventModel = new EventModel(); } - public function createEvent($stock, $event_date, $event_name, $gambar, $event_location){ + public function createEvent($stock, $event_date, $event_name, $gambar, $event_location, $vid){ $eventModel = new EventModel(); - $eventModel->createEvent($stock, $event_date, $event_name, $gambar, $event_location); + $eventModel->createEvent($stock, $event_date, $event_name, $gambar, $event_location, $vid); } - public function getEvent($eventId) { - return $this->eventModel->getEvent($eventId); - } + // public function getEvent($eventId) { + // return $this->eventModel->getEvent($eventId); + // } - public function updateEvent($eventId, $stock, $event_date, $event_name, $event_location, $gambar = null){ + public function updateEvent($eventId, $stock, $event_date, $event_name, $event_location, $gambar, $vid){ $eventModel = new EventModel(); - $eventModel->updateEvent($eventId, $stock, $event_date, $event_name, $gambar); + $eventModel->updateEvent($eventId, $stock, $event_date, $event_name, $event_location, $gambar, $vid); } public function deleteEvent($eventId) { diff --git a/app/Models/Event.php b/app/Models/Event.php index 1c3dd531b1064ce5dc3814b5dbe2cdccf81615b5..cdfc2e1c9886d62b98451c50efe1465a12648055 100644 --- a/app/Models/Event.php +++ b/app/Models/Event.php @@ -5,49 +5,93 @@ require_once(__DIR__ . '/../../util.php'); class EventModel { - public function createEvent($stock, $event_date, $event_name, $gambar, $event_location) { + public function createEvent($stock, $event_date, $event_name, $gambar, $event_location, $vid) { echo "createEvent method called<br>"; global $db; - // Check if a file is uploaded if ($gambar !== null && isset($gambar['name']) && isset($gambar['tmp_name'])) { - // $uploadDirectory = __DIR__ . '/../../assets/'; - $uploadedFilePath = 'assets/' . $gambar['name']; + $imageFilePath = 'assets/images/' . $gambar['name']; + + // Move the uploaded file to the desired directory + if (move_uploaded_file($gambar['tmp_name'], $imageFilePath)) { + echo "File uploaded successfully<br>"; + } else { + echo "Error moving file to destination<br>"; + $imageFilePath = null; // Set to null if there's an error + } + } else { + echo "No image uploaded<br>"; + $imageFilePath = null; // Set to null if no file is uploaded + } + if ($vid !== null && isset($vid['name']) && isset($vid['tmp_name'])) { + $vidFilePath = 'assets/videos/' . $vid['name']; + // Move the uploaded file to the desired directory - if (move_uploaded_file($gambar['tmp_name'], $uploadedFilePath)) { + if (move_uploaded_file($vid['tmp_name'], $vidFilePath)) { echo "File uploaded successfully<br>"; } else { echo "Error moving file to destination<br>"; - $uploadedFilePath = null; // Set to null if there's an error + $vidFilePath = null; // Set to null if there's an error } } else { - echo "No file uploaded<br>"; - $uploadedFilePath = null; // Set to null if no file is uploaded + echo "No video uploaded<br>"; + $vidFilePath = null; // Set to null if no file is uploaded } - $stmt = $db->prepare("INSERT INTO events (event_stock, event_date, event_name, gambar, event_location) VALUES (?, ?, ?, ?)"); + $stmt = $db->prepare("INSERT INTO events (event_stock, event_date, event_name, gambar, event_location, vid) VALUES (?, ?, ?, ?, ?, ?)"); - if ($stmt->execute([$stock, $event_date, $event_name, $uploadedFilePath, $event_location])) { + if ($stmt->execute([$stock, $event_date, $event_name, $imageFilePath, $event_location, $vidFilePath])) { echo "Event created successfully"; } else { echo "Error creating event: " . print_r($stmt->errorInfo(), true); } } - - public function updateEvent($eventId, $stock, $event_date, $event_name, $event_location, $gambar = null) { + public function updateEvent($event_id, $event_stock, $event_date, $event_name, $event_location, $gambar, $vid) { global $db; $db->setAttribute(PDO::ATTR_AUTOCOMMIT, 1); - echo "Updating Event with ID: $eventId, Stock: $stock, Date: $event_date, Name: $event_name, Location: $event_location"; + echo "Updating Event with ID: $event_id, Stock: $event_stock, Date: $event_date, Name: $event_name, Location: $event_location"; + + if ($gambar !== null && isset($gambar['name']) && isset($gambar['tmp_name'])) { + $imageFilePath = 'assets/images/' . $gambar['name']; - // Check whether a new image is provided - if ($gambar !== null) { - $sql = "UPDATE events SET event_stock = '$stock', event_date = '$event_date', event_name = '$event_name', gambar = '$gambar', event_location = '$event_location' WHERE event_id = $eventId"; + // Move the uploaded file to the desired directory + if (move_uploaded_file($gambar['tmp_name'], $imageFilePath)) { + echo "File uploaded successfully<br>"; + } else { + echo "Error moving file to destination<br>"; + $imageFilePath = null; // Set to null if there's an error + } } else { - $sql = "UPDATE events SET event_stock = '$stock', event_date = '$event_date', event_name = '$event_name', event_location = '$event_location' WHERE event_id = $eventId"; + echo "No image uploaded<br>"; + $imageFilePath = null; // Set to null if no file is uploaded } + + if ($vid !== null && isset($vid['name']) && isset($vid['tmp_name'])) { + $vidFilePath = 'assets/videos/' . $vid['name']; + + // Move the uploaded file to the desired directory + if (move_uploaded_file($vid['tmp_name'], $vidFilePath)) { + echo "File uploaded successfully<br>"; + } else { + echo "Error moving file to destination<br>"; + $vidFilePath = null; // Set to null if there's an error + } + } else { + echo "No video uploaded<br>"; + $vidFilePath = null; // Set to null if no file is uploaded + } + + // Check whether a new image is provided + // if ($gambar !== null) { + // $sql = "UPDATE events SET event_name = '$event_name', event_stock = '$event_stock', event_date = '$event_date', event_details = '$details', gambar = '$gambar', event_location = '$event_location', vid = '$vid' WHERE event_id = $event_id"; + // } else { + // $sql = "UPDATE events SET event_name = '$event_name', event_stock = '$event_stock', event_date = '$event_date', event_details = '$details', event_location = '$event_location', vid = '$vid' WHERE event_id = $event_id"; + // } + + $sql = "UPDATE events SET event_stock = '$event_stock', event_date = '$event_date', event_name = '$event_name', gambar = '$imageFilePath', event_location = '$event_location', vid = '$vidFilePath' WHERE event_id = $event_id"; $rowCount = $db->exec($sql); @@ -60,6 +104,7 @@ class EventModel { } + public function deleteEvent($eventId) { global $db; diff --git a/assets/1.jpg b/assets/images/1.jpg similarity index 100% rename from assets/1.jpg rename to assets/images/1.jpg diff --git a/assets/10.jpg b/assets/images/10.jpg similarity index 100% rename from assets/10.jpg rename to assets/images/10.jpg diff --git a/assets/11.png b/assets/images/11.png similarity index 100% rename from assets/11.png rename to assets/images/11.png diff --git a/assets/12.jpg b/assets/images/12.jpg similarity index 100% rename from assets/12.jpg rename to assets/images/12.jpg diff --git a/assets/13.jpg b/assets/images/13.jpg similarity index 100% rename from assets/13.jpg rename to assets/images/13.jpg diff --git a/assets/14.jpg b/assets/images/14.jpg similarity index 100% rename from assets/14.jpg rename to assets/images/14.jpg diff --git a/assets/15.jpg b/assets/images/15.jpg similarity index 100% rename from assets/15.jpg rename to assets/images/15.jpg diff --git a/assets/16.jpg b/assets/images/16.jpg similarity index 100% rename from assets/16.jpg rename to assets/images/16.jpg diff --git a/assets/2.png b/assets/images/2.png similarity index 100% rename from assets/2.png rename to assets/images/2.png diff --git a/assets/3.jpg b/assets/images/3.jpg similarity index 100% rename from assets/3.jpg rename to assets/images/3.jpg diff --git a/assets/4.jpg b/assets/images/4.jpg similarity index 100% rename from assets/4.jpg rename to assets/images/4.jpg diff --git a/assets/5.jpg b/assets/images/5.jpg similarity index 100% rename from assets/5.jpg rename to assets/images/5.jpg diff --git a/assets/6.png b/assets/images/6.png similarity index 100% rename from assets/6.png rename to assets/images/6.png diff --git a/assets/7.jpeg b/assets/images/7.jpeg similarity index 100% rename from assets/7.jpeg rename to assets/images/7.jpeg diff --git a/assets/8.png b/assets/images/8.png similarity index 100% rename from assets/8.png rename to assets/images/8.png diff --git a/assets/9.jpg b/assets/images/9.jpg similarity index 100% rename from assets/9.jpg rename to assets/images/9.jpg diff --git a/assets/Hero.png b/assets/images/Hero.png similarity index 100% rename from assets/Hero.png rename to assets/images/Hero.png diff --git a/assets/ramen.jpg b/assets/images/ramen.jpg similarity index 100% rename from assets/ramen.jpg rename to assets/images/ramen.jpg diff --git a/assets/videos/video.mp4 b/assets/videos/video.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..ed139d6d50cc43f89c27392621f20d174d0bf051 Binary files /dev/null and b/assets/videos/video.mp4 differ diff --git a/db/data.php b/db/data.php index 7f614a096154588f7d8cd81d424146b6480dba3d..910413672b6c7765670ddfe98e9069501d7fc16d 100644 --- a/db/data.php +++ b/db/data.php @@ -5,12 +5,12 @@ if (isset($db)) { try { $sqlEvent = <<<EOF - INSERT INTO events (event_stock, event_date, event_name, gambar, event_location) VALUES - (100, '2023-09-30 10:00:00', 'Music Concert', 'assets/1.jpg', 'jakarta'), - (50, '2023-10-05 15:30:00', 'Art Exhibition', 'assets/2.png', 'prancis'), - (200, '2023-11-12 18:45:00', 'Sports Tournament', 'assets/3.jpg', 'italy'), - (75, '2023-12-03 20:00:00', 'Comedy Show', 'assets/4.jpg', 'jakarta'), - (120, '2024-01-18 14:15:00', 'Tech Conference', 'assets/5.jpg', 'ITB'); + INSERT INTO events (event_stock, event_date, event_name, gambar, event_location, vid) VALUES + (100, '2023-09-30 10:00:00', 'Music Concert', 'assets/images/1.jpg', 'jakarta', 'assets/videos/video.mp4'), + (50, '2023-10-05 15:30:00', 'Art Exhibition', 'assets/images/2.png', 'prancis', 'assets/videos/video.mp4'), + (200, '2023-11-12 18:45:00', 'Sports Tournament', 'assets/images/3.jpg', 'italy', 'assets/videos/video.mp4'), + (75, '2023-12-03 20:00:00', 'Comedy Show', 'assets/images/4.jpg', 'jakarta', 'assets/videos/video.mp4'), + (120, '2024-01-18 14:15:00', 'Tech Conference', 'assets/images/5.jpg', 'ITB', 'assets/videos/video.mp4'); EOF; $sqlTicket = <<<EOF diff --git a/db/init.sql b/db/init.sql index 77e4e1d75c33c0b704ae026747b0a1e6715bd0c7..e945f7a31a4445c6fa12556ef53f9e6650bf8ef9 100644 --- a/db/init.sql +++ b/db/init.sql @@ -8,7 +8,8 @@ CREATE TABLE IF NOT EXISTS events ( event_date DATETIME, event_name CHAR(255), gambar VARCHAR(255), - event_location CHAR(255) + event_location CHAR(255), + vid VARCHAR(255) ); CREATE TABLE IF NOT EXISTS tickets ( diff --git a/home.php b/home.php index 072ce25462f44d676c91ea6b2d788609485249ef..1525b333d14d8070bd7b17b482ef5d6ca441cdae 100644 --- a/home.php +++ b/home.php @@ -24,11 +24,15 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $eventName = $_POST['name']; $eventLocation = $_POST['location']; // $uploadedFilePath = $_POST['gambar']; + // $ = $_POST['vid']; + + $imageFilePath = isset($_FILES['gambar']) && $_FILES['gambar']['error'] === 0 ? $_FILES['gambar'] : null; // Check if 'gambar' is set in the files array + $vidFilePath = isset($_FILES['vid']) && $_FILES['vid']['error'] === 0 ? $_FILES['vid'] : null; // Check if 'vid' is set in the files array // Check if the values are not empty - if (!empty($eventStock) && !empty($eventDate) && !empty($eventName) && !empty($eventLocation)) { - var_dump($_FILES); - $uploadedFilePath = isset($_FILES['gambar']) && $_FILES['gambar']['error'] === 0 ? $_FILES['gambar'] : null; // Check if 'gambar' is set in the files array + if (!empty($eventName) && !empty($eventStock) && !empty($eventDate) && !empty($eventLocation) + && $imageFilePath !== null && $vidFilePath !== null) { + var_dump($_FILES); // Output for debugging purposes // // Check for file upload // $uploadedFile = isset($_FILES['gambar']) ? $_FILES['gambar'] : null; @@ -41,7 +45,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { // move_uploaded_file($uploadedFile['tmp_name'], $uploadedFilePath); // } - $eventController->createEvent($eventStock, $eventDate, $eventName, $uploadedFilePath, $eventLocation); + $eventController->createEvent($eventStock, $eventDate, $eventName, $imageFilePath, $eventLocation, $vidFilePath); } else { echo "Please fill in all the fields for creating an event."; } @@ -51,21 +55,25 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $eventDate = $_POST['event_date']; $eventName = $_POST['eventName']; $eventLocation = $_POST['eventLocation']; - var_dump($_FILES); - // $uploadedFilePath = $_POST['uploadedFilePath']; + + $imageFilePath = isset($_FILES['gambar']) && $_FILES['gambar']['error'] === 0 ? $_FILES['gambar'] : null; // Check if 'gambar' is set in the files array + $vidFilePath = isset($_FILES['vid']) && $_FILES['vid']['error'] === 0 ? $_FILES['vid'] : null; // Check if 'vid' is set in the files array + + var_dump($_FILES); // Output for debugging purposes // Check if the values are not empty - if (!empty($eventIdUpdate) && !empty($eventStock) && !empty($eventDate) && !empty($eventName) && !empty($eventLocation)) { - $uploadedFilePath = isset($_FILES['gambar']) ? $_FILES['gambar'] : null; // Check if 'gambar' is set in the files array + if (!empty($eventIdUpdate) && !empty($eventName) && !empty($eventStock) && !empty($eventDate) + && !empty($eventDetails) && !empty($eventLocation) && $imageFilePath !== null && $vidFilePath !== null) { + // $uploadedFilePath = isset($_FILES['gambar']) ? $_FILES['gambar'] : null; // Check if 'gambar' is set in the files array - $uploadedFile = isset($_FILES['gambar']) ? $_FILES['gambar'] : null; - // Check for file upload - if ($uploadedFilePath !== null && $uploadedFilePath['error'] === 0) { - // Handle file upload - $uploadedFilePath = 'assets/' . $uploadedFile['name']; - move_uploaded_file($uploadedFile['tmp_name'], $uploadedFilePath); - } - - $eventController->updateEvent($eventIdUpdate, $eventStock, $eventDate, $eventName, $uploadedFilePath, $eventLocation); + // $uploadedFile = isset($_FILES['gambar']) ? $_FILES['gambar'] : null; + // // Check for file upload + // if ($uploadedFilePath !== null && $uploadedFilePath['error'] === 0) { + // // Handle file upload + // $uploadedFilePath = 'assets/' . $uploadedFile['name']; + // move_uploaded_file($uploadedFile['tmp_name'], $uploadedFilePath); + // } + + $eventController->updateEvent($eventIdUpdate, $eventStock, $eventDate, $eventName, $imageFilePath, $eventLocation, $vidFilePath); } else { echo "Please fill in all the fields for updating an event."; } @@ -150,6 +158,7 @@ $users = $userController->getAllUsers(); </div> <h1>EDIT DATA</h1> + <!-- Event CRUD Form --> <!-- Event CRUD Form --> <div class="event-form"> <h2>Events</h2> @@ -168,6 +177,12 @@ $users = $userController->getAllUsers(); <input type="file" id="file-input-create" name="gambar" accept="image/*"> </div> + <!-- <input type="text" name="vid" placeholder="Video URL"> --> + <div id="drop-area-create"> + <p>Drag and drop an video file here or click to select one.</p> + <input type="file" id="file-input-create" name="vid" accept="video/*"> + </div> + <button type="submit" name="action" value="createEvent">Create</button> </form> @@ -186,11 +201,17 @@ $users = $userController->getAllUsers(); <input type="file" id="file-input-update" name="gambar" accept="image/*"> </div> + <!-- <input type="text" name="vid" placeholder="Video URL"> --> + <div id="drop-area-update"> + <p>Drag and drop an video file here or click to select one.</p> + <input type="file" id="file-input-update" name="vid" accept="video/*"> + </div> + <button type="submit" name="action" value="updateEvent">Update</button> </form> + <!-- Delete Event --> <form method="post" action="home.php"> - <!-- Delete Event --> <label>Delete Event:</label> <input type="text" name="eventIdDelete" placeholder="Event ID"> <button type="submit" name="action" value="deleteEvent">Delete</button> @@ -198,6 +219,7 @@ $users = $userController->getAllUsers(); </div> + <!-- User CRUD Form --> <div class="user-form"> <h2>Users</h2> @@ -242,9 +264,9 @@ $users = $userController->getAllUsers(); </div> - <div class="footer"> + <!-- <div class="footer"> © <?php echo date("Y"); ?> Ticket Ku. All rights reserved. - </div> + </div> --> <script defer> function toggleMenu() { diff --git a/index.php b/index.php index 030ee54f4d9e8d9ff66ce384627344bbad3b4559..be535ae63bde661e79da27d2426504dec13974f1 100644 --- a/index.php +++ b/index.php @@ -52,7 +52,7 @@ </script> <div class="hero"> - <img src="./assets/Hero.png" alt="Hero Image"> + <img src="./assets/images/Hero.png" alt="Hero Image"> <h1 class="hero-title">Ticket Ku</h1> </div> <div class="button"> @@ -74,11 +74,13 @@ echo "<strong>Name:</strong> " . $event['event_name'] . "<br>"; echo "<strong>Image:</strong> <img src='" . $event['gambar'] . "' alt='Event Image' width='100'><br>"; echo "<strong>Location:</strong> " . $event['event_location'] . "<br>"; + echo "<strong>Video:</strong> <video src='" . $event['vid'] . "' controls width='150'></video><br>"; echo "</li>"; } - include './db/init.php'; + include './db/init.php'; ?> + </ul> </div> <!-- Search Bar with Filter -->