diff --git a/add_item.php b/add_item.php index eb9952f..f0547fb 100644 --- a/add_item.php +++ b/add_item.php @@ -26,8 +26,7 @@ if (strpos($headers['content-type'], 'image/') !== false) { #--- -$ItemPriceCents = $ItemPrice * 100; - +$ItemPriceCents = floatval(str_replace(',', '.', str_replace('.', '', $ItemPrice))) * 100; $conn = new mysqli($servername, $username, $password, $db); // Check connection diff --git a/include/listgenerator.php b/include/listgenerator.php index 879cb24..47abe32 100644 --- a/include/listgenerator.php +++ b/include/listgenerator.php @@ -2,8 +2,10 @@ include 'config/config.php'; -function generateListItem($ListItemID, $ItemImage, $ItemTitle, $ItemLink, $ItemPrice, $ItemComment, $ItemReserved) +function generateListItem($ListItemID, $ItemImage, $ItemTitle, $ItemLink, $ItemPrice, $ItemComment, $ItemReserved, $ItemDate) { + global $loggedin; + $formatter = new NumberFormatter('de_DE', NumberFormatter::CURRENCY); if (strlen($ItemComment) == 0) { @@ -12,25 +14,43 @@ function generateListItem($ListItemID, $ItemImage, $ItemTitle, $ItemLink, $ItemP echo ('
-
- -
-
' . $ItemTitle . '
-

' . $ItemComment . '

-
-
- zum Anbieter - +
+
+
' . $ItemTitle . '
+
+ +
+

' . $ItemComment . '

+
+ ' . $formatter->formatCurrency($ItemPrice / 100, 'EUR') . ' +
+
+
-
'); } -function wishlistMainBuilder($ListID) +function wishlistMainBuilder($ListID, $sortby) { global $servername, $username, $password, $db; @@ -78,12 +98,32 @@ function wishlistMainBuilder($ListID)
'); - $sql = 'SELECT ID, title, description, link, image, reserved, price FROM whishes WHERE whislist = ' . $ListID . ' ORDER BY RAND()'; + $sort = 'id'; + + switch ($sortby) { + case 'price_asc': + $sort = 'price ASC'; + break; + case 'price_desc': + $sort = 'price DESC'; + break; + case 'date_desc': + $sort = 'date DESC'; + break; + case 'date_asc': + $sort = 'date ASC'; + break; + case 'random': + $sort = 'RAND()'; + break; + } + + $sql = 'SELECT ID, title, description, link, image, reserved, price, date FROM whishes WHERE whislist = ' . $ListID . ' ORDER BY ' . $sort; $result = $conn->query($sql); if ($result !== false && $result->num_rows > 0) { while ($row = $result->fetch_assoc()) { - generateListItem($row['ID'], $row['image'], $row['title'], $row['link'], $row['price'], $row['description'], $row['reserved']); + generateListItem($row['ID'], $row['image'], $row['title'], $row['link'], $row['price'], $row['description'], $row['reserved'], $row['date']); } } diff --git a/index.php b/index.php index 5ee3b06..68d7ac3 100644 --- a/index.php +++ b/index.php @@ -8,11 +8,18 @@ include_once('config/config.php'); $ListID = -1; $loggedin = false; +$sortby = ''; if (isset($_GET['list'])) { $ListID = $_GET['list']; } +if (isset($_POST['sortby'])) { + $sortby = $_POST['sortby']; +} + +print_r($sortby); + if (isset($_SESSION['listid'])) { if ($ListID == $_SESSION['listid']) { $loggedin = true; @@ -93,6 +100,40 @@ if (isset($_POST['reservation'])) { $conn->close(); } +if (isset($_POST['delete']) && $loggedin == true) { + + if (isset($_POST['WhishID'])) { + $WhishID = $_POST['WhishID']; + $WhishTitle = ''; + + $conn = new mysqli($servername, $username, $password, $db); + + // Check connection + if ($conn->connect_error) { + die('Connection failed: ' . $conn->connect_error); + } + + $sql = 'SELECT image, title FROM whishes WHERE ID = ' . $WhishID; + $result = $conn->query($sql); + + if ($result !== false && $result->num_rows > 0) { + while ($row = $result->fetch_assoc()) { + unlink($row['image']); + $WhishTitle = $row['title']; + } + } + + $sql = 'DELETE FROM whishes WHERE ID = ' . $WhishID; + if ($conn->query($sql) === TRUE) + $message = array('msg' => 'Wunsch "' . $WhishTitle . '" gelöscht', 'type' => 'success'); + else + $message = array('msg' => 'Uups, irgendwas ist schief gegangen!', 'type' => 'danger'); + } else { + $message = array('msg' => 'Uups, irgendwas ist schief gegangen!', 'type' => 'danger'); + } +} + + ?> @@ -131,22 +172,35 @@ if (isset($_POST['reservation'])) { Simple Wishlist '); - } else { - echo (' - + } else { + echo (' +
+ +
'); - } - ?> + } + ?> +
+ +
+
@@ -162,7 +216,7 @@ if (isset($_POST['reservation'])) { '); } - wishlistMainBuilder($ListID); + wishlistMainBuilder($ListID, $sortby); ?> @@ -201,7 +255,7 @@ if (isset($_POST['reservation'])) {
- +
@@ -257,6 +311,33 @@ if (isset($_POST['reservation'])) { '); } + + if ($loggedin == true) { + echo (' + + + '); + } ?> @@ -304,6 +385,22 @@ if (isset($_POST['reservation'])) { modal.find('#reservationModalLabel').text('Wunsch reservieren') } }); + + $('#deleteModal').on('show.bs.modal', function(event) { + var resTr = $(event.relatedTarget) + var whishcard = resTr.parents().closest('.card'); + var whishtitle = whishcard.find('.card-title').text(); + var wishid = resTr.data('wishid') + var modal = $(this) + modal.find('#WhishID').val(wishid) + modal.find('#whish-title').text(whishtitle) + }); + + $(document).ready(function() { + $('#sortby').on('change', function() { + this.form.submit(); + }); + });