Compare commits
3 Commits
4f8b1d07bc
...
4e30e3a439
Author | SHA1 | Date | |
---|---|---|---|
4e30e3a439 | |||
05f11a18cd | |||
27ec06033a |
21
add_item.php
21
add_item.php
@@ -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
4
include/get_pw_hash.php
Normal file
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
if(isset($_GET['pass'])) {
|
||||
echo(password_hash($_GET['pass'], PASSWORD_DEFAULT));
|
||||
}
|
@@ -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;
|
||||
|
82
index.php
82
index.php
@@ -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,8 +64,8 @@ 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);
|
||||
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
@@ -73,11 +75,10 @@ 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');
|
||||
}
|
||||
|
||||
|
||||
$conn->close();
|
||||
}
|
||||
|
||||
@@ -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ä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>
|
||||
|
Reference in New Issue
Block a user