Compare commits

...

3 Commits

Author SHA1 Message Date
4e30e3a439 added priority 2023-01-18 21:09:06 +01:00
05f11a18cd Bugfix in deleting wishes 2022-11-28 16:54:28 +01:00
27ec06033a Bugfix - whises where always added to list 0 2022-11-28 16:53:55 +01:00
4 changed files with 98 additions and 15 deletions

View File

@@ -9,6 +9,8 @@ $ItemDescription = $_POST['ItemDescription'];
$ItemPrice = $_POST['ItemPrice'];
$ItemLink = $_POST['ItemLink'];
$ItemImage = $_POST['ItemImage'];
$ListID = $_POST['ItemListID'];
$nextPriority = 0;
#--- check if the provided Link is a valid URL
@@ -24,9 +26,9 @@ $headers = array_change_key_case(get_headers($ItemImage, 1), CASE_LOWER);
if (strpos($headers['content-type'], 'image/') !== false) {
$strippedimagepath = strtok($ItemImage, '?');
$imageLocalLink = $imagedir . '/' . uniqid() . '.' . pathinfo($strippedimagepath, PATHINFO_EXTENSION);
$imageLocalLink = uniqid() . '.' . pathinfo($strippedimagepath, PATHINFO_EXTENSION);
echo "ImageLink: " . $imageLocalLink;
file_put_contents($imageLocalLink, fopen($strippedimagepath, 'r'));
file_put_contents($imagedir . '/' . $imageLocalLink, fopen($strippedimagepath, 'r'));
} else {
echo "Link is Not an Image";
}
@@ -41,13 +43,20 @@ if ($conn->connect_error) {
die('Connection failed: ' . $conn->connect_error);
}
$stmt = $conn->prepare('INSERT INTO whishes (title, description, link, image, price) VALUES (?, ?, ?, ?, ?)');
$stmt = 'SELECT MAX( priority ) AS maxprio FROM whishes WHERE whislist = ' . $ListID . ';';
$result = $conn->query($stmt);
if (false === $stmt) {
die('prepare() failed: ' . htmlspecialchars($mysqli->error));
while ($row = mysqli_fetch_array($result)) {
$nextPriority = $row['maxprio'] + 1;
}
$rc = $stmt->bind_param('ssssi', $ItemTitle, $ItemDescription, $ItemLink, $imageLocalLink, $ItemPriceCents);
$stmt = $conn->prepare('INSERT INTO whishes (title, description, link, image, price, whislist, priority) VALUES (?, ?, ?, ?, ?, ?, ?)');
if (false === $stmt) {
die('prepare() failed: ' . htmlspecialchars($conn->error));
}
$rc = $stmt->bind_param('ssssiii', $ItemTitle, $ItemDescription, $ItemLink, $imageLocalLink, $ItemPriceCents, $ListID, $nextPriority);
if (false === $rc) {
die('bind_param() failed: ' . htmlspecialchars($stmt->error));
}

4
include/get_pw_hash.php Normal file
View File

@@ -0,0 +1,4 @@
<?php
if(isset($_GET['pass'])) {
echo(password_hash($_GET['pass'], PASSWORD_DEFAULT));
}

View File

@@ -34,7 +34,8 @@ function generateListItem($ListItemID, $ItemImage, $ItemTitle, $ItemLink, $ItemP
if($loggedin == true)
{
echo('
<button type="button" class="btn btn-sm btn-outline-danger" data-wishid="' . $ListItemID . '" data-bs-toggle="modal" data-bs-target="#deleteModal">Löschen</button>'
<button type="button" class="btn btn-sm btn-outline-danger" data-wishid="' . $ListItemID . '" data-bs-toggle="modal" data-bs-target="#deleteModal">Löschen</button>
<button type="button" class="btn btn-sm btn-outline-secondary" data-wishid="' . $ListItemID . '" data-bs-toggle="modal" data-bs-target="#pushprioModal">Prio +</button>'
);
}
@@ -139,6 +140,9 @@ function wishlistMainBuilder($ListID, $sortby)
case 'random':
$sort = 'RAND()';
break;
case 'priority':
$sort = 'priority DESC';
break;
}
$sql = 'SELECT ID, title, description, link, image, reserved, price, date FROM whishes WHERE whislist = ' . $ListID . ' ORDER BY ' . $sort;

View File

@@ -8,7 +8,7 @@ include_once('config/config.php');
$ListID = -1;
$loggedin = false;
$sortby = 'date_asc';
$sortby = 'priority';
if (isset($_GET['list'])) {
$ListID = $_GET['list'];
@@ -16,6 +16,8 @@ if (isset($_GET['list'])) {
if (isset($_POST['sortby'])) {
$sortby = $_POST['sortby'];
} else if (isset($_POST['sortby_transfer'])) {
$sortby = $_POST['sortby_transfer'];
}
if (isset($_SESSION['listid'])) {
@@ -62,7 +64,7 @@ if (isset($_POST['listadd'])) {
die('Connection failed: ' . $conn->connect_error);
}
$sql = 'INSERT INTO lists (title, description, edit_pw) VALUES ("' . $listName . '", "' .$listDescription. '","' . $listPassword . '")';
$sql = 'INSERT INTO lists (title, description, edit_pw) VALUES ("' . $listName . '", "' . $listDescription . '","' . $listPassword . '")';
$result = $conn->query($sql);
@@ -73,7 +75,6 @@ if (isset($_POST['listadd'])) {
$loggedin = true;
$actual_link = 'http://' . $_SERVER['HTTP_HOST'] . '/?list=' . $last_id;
header('Location: ' . $actual_link);
} else {
$message = array('msg' => 'Error: ' . $sql . '<br>' . $conn->error, 'type' => 'error');
}
@@ -128,6 +129,31 @@ if (isset($_POST['reservation'])) {
$conn->close();
}
if (isset($_POST['pushprio'])) {
$nextPriority = 0;
$conn = new mysqli($servername, $username, $password, $db);
// Check connection
if ($conn->connect_error) {
die('Connection failed: ' . $conn->connect_error);
}
$stmt = 'SELECT MAX( priority ) AS maxprio FROM whishes WHERE whislist = ' . $ListID . ';';
$result = $conn->query($stmt);
while ($row = mysqli_fetch_array($result)) {
$nextPriority = $row['maxprio'] + 1;
}
$sql = 'UPDATE whishes SET priority=' . $nextPriority . ' WHERE ID = ' . $_POST['WhishID'];
if ($conn->query($sql) === TRUE)
$message = array('msg' => 'Wunschpriorität aktualisiert', 'type' => 'success');
else
$message = array('msg' => 'Uups, irgendwas ist schief gegangen!', 'type' => 'danger');
}
if (isset($_POST['delete']) && $loggedin == true) {
if (isset($_POST['WhishID'])) {
@@ -146,7 +172,7 @@ if (isset($_POST['delete']) && $loggedin == true) {
if ($result !== false && $result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
unlink($row['image']);
unlink($imagedir . '/' . $row['image']);
$WhishTitle = $row['title'];
}
}
@@ -221,6 +247,7 @@ if (isset($_POST['delete']) && $loggedin == true) {
?>
<form class="form-inline" action="" method="POST">
<select class="form-control" name="sortby" id="sortby">
<option <?php echo ($sortby == 'priority' ? 'selected="selected"' : ''); ?> value="priority">Priorit&auml;t</option>
<option <?php echo ($sortby == 'price_asc' ? 'selected="selected"' : ''); ?> value="price_asc">Preis aufsteigend</option>
<option <?php echo ($sortby == 'price_desc' ? 'selected="selected"' : ''); ?> value="price_desc">Preis absteigend</option>
<option <?php echo ($sortby == 'date_desc' ? 'selected="selected"' : ''); ?> value="date_desc">Datum, neu -> alt</option>
@@ -299,6 +326,8 @@ if (isset($_POST['delete']) && $loggedin == true) {
</div>
<div class="modal-footer">
<input type="hidden" id="ItemListID" name="ItemListID" value="' . $ListID . '">
<input type="hidden" id="sortby_transfer" name="sortby_transfer" value="' . $sortby . '">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Add new Item</button>
</div>
@@ -330,6 +359,7 @@ if (isset($_POST['delete']) && $loggedin == true) {
</div>
<div class="modal-footer">
<input type="hidden" id="sortby_transfer" name="sortby_transfer" value="' . $sortby . '">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" name="login" class="btn btn-primary">Login</button>
</div>
@@ -357,6 +387,7 @@ if (isset($_POST['delete']) && $loggedin == true) {
<div class="modal-footer">
<form action="" method="POST">
<input type="hidden" id="WhishID" name="WhishID" value="-1">
<input type="hidden" id="sortby_transfer" name="sortby_transfer" value="' . $sortby . '">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" name="delete" class="btn btn-primary">Löschen</button>
</form>
@@ -365,6 +396,31 @@ if (isset($_POST['delete']) && $loggedin == true) {
</div>
</div>
<!-- END OF Modal Delete-->
<!-- Modal PushPrio-->
<div class="modal fade" id="pushprioModal" tabindex="-1" aria-labelledby="pushprioModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="pushprioModalLabel">Wunschpriorität</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<h5 id="whish-title">WunschTitel</h5>
<p>Soll die Priorität dieses Wunsch ganz nach oben gesetzt werden?</p>
</div>
<div class="modal-footer">
<form action="" method="POST">
<input type="hidden" id="WhishID" name="WhishID" value="-1">
<input type="hidden" id="sortby_transfer" name="sortby_transfer" value="' . $sortby . '">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Nein</button>
<button type="submit" name="pushprio" class="btn btn-primary">Ja</button>
</form>
</div>
</div>
</div>
</div>
<!-- END OF Modal PushPrio-->
');
}
?>
@@ -385,6 +441,7 @@ if (isset($_POST['delete']) && $loggedin == true) {
<input type="password" class="form-control" id="WishPassword" name="WishPassword" rows="3" required>
<input type="hidden" name="wishid" id="modal-wishid" value="">
<input type="hidden" name="reservedstat" id="modal-reservedstat" value="">
<input type="hidden" id="sortby_transfer" name="sortby_transfer" value="' . $sortby . '">
</div>
</div>
<div class="modal-footer">
@@ -418,7 +475,17 @@ if (isset($_POST['delete']) && $loggedin == true) {
<?php
if ($loggedin == true) {
echo ('
$(\'#deleteModal\').on(\'show.bs.modal\', function(event) \{
$(\'#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)
});
$(\'#pushprioModal\').on(\'show.bs.modal\', function(event) {
var resTr = $(event.relatedTarget)
var whishcard = resTr.parents().closest(\'.card\');
var whishtitle = whishcard.find(\'.card-title\').text();
@@ -436,7 +503,6 @@ if (isset($_POST['delete']) && $loggedin == true) {
this.form.submit();
});
});
</script>
</body>