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'];
|
$ItemPrice = $_POST['ItemPrice'];
|
||||||
$ItemLink = $_POST['ItemLink'];
|
$ItemLink = $_POST['ItemLink'];
|
||||||
$ItemImage = $_POST['ItemImage'];
|
$ItemImage = $_POST['ItemImage'];
|
||||||
|
$ListID = $_POST['ItemListID'];
|
||||||
|
$nextPriority = 0;
|
||||||
|
|
||||||
#--- check if the provided Link is a valid URL
|
#--- 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) {
|
if (strpos($headers['content-type'], 'image/') !== false) {
|
||||||
$strippedimagepath = strtok($ItemImage, '?');
|
$strippedimagepath = strtok($ItemImage, '?');
|
||||||
$imageLocalLink = $imagedir . '/' . uniqid() . '.' . pathinfo($strippedimagepath, PATHINFO_EXTENSION);
|
$imageLocalLink = uniqid() . '.' . pathinfo($strippedimagepath, PATHINFO_EXTENSION);
|
||||||
echo "ImageLink: " . $imageLocalLink;
|
echo "ImageLink: " . $imageLocalLink;
|
||||||
file_put_contents($imageLocalLink, fopen($strippedimagepath, 'r'));
|
file_put_contents($imagedir . '/' . $imageLocalLink, fopen($strippedimagepath, 'r'));
|
||||||
} else {
|
} else {
|
||||||
echo "Link is Not an Image";
|
echo "Link is Not an Image";
|
||||||
}
|
}
|
||||||
@@ -41,13 +43,20 @@ if ($conn->connect_error) {
|
|||||||
die('Connection failed: ' . $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) {
|
while ($row = mysqli_fetch_array($result)) {
|
||||||
die('prepare() failed: ' . htmlspecialchars($mysqli->error));
|
$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) {
|
if (false === $rc) {
|
||||||
die('bind_param() failed: ' . htmlspecialchars($stmt->error));
|
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)
|
if($loggedin == true)
|
||||||
{
|
{
|
||||||
echo('
|
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':
|
case 'random':
|
||||||
$sort = 'RAND()';
|
$sort = 'RAND()';
|
||||||
break;
|
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;
|
$sql = 'SELECT ID, title, description, link, image, reserved, price, date FROM whishes WHERE whislist = ' . $ListID . ' ORDER BY ' . $sort;
|
||||||
|
76
index.php
76
index.php
@@ -8,7 +8,7 @@ include_once('config/config.php');
|
|||||||
|
|
||||||
$ListID = -1;
|
$ListID = -1;
|
||||||
$loggedin = false;
|
$loggedin = false;
|
||||||
$sortby = 'date_asc';
|
$sortby = 'priority';
|
||||||
|
|
||||||
if (isset($_GET['list'])) {
|
if (isset($_GET['list'])) {
|
||||||
$ListID = $_GET['list'];
|
$ListID = $_GET['list'];
|
||||||
@@ -16,6 +16,8 @@ if (isset($_GET['list'])) {
|
|||||||
|
|
||||||
if (isset($_POST['sortby'])) {
|
if (isset($_POST['sortby'])) {
|
||||||
$sortby = $_POST['sortby'];
|
$sortby = $_POST['sortby'];
|
||||||
|
} else if (isset($_POST['sortby_transfer'])) {
|
||||||
|
$sortby = $_POST['sortby_transfer'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_SESSION['listid'])) {
|
if (isset($_SESSION['listid'])) {
|
||||||
@@ -73,7 +75,6 @@ if (isset($_POST['listadd'])) {
|
|||||||
$loggedin = true;
|
$loggedin = true;
|
||||||
$actual_link = 'http://' . $_SERVER['HTTP_HOST'] . '/?list=' . $last_id;
|
$actual_link = 'http://' . $_SERVER['HTTP_HOST'] . '/?list=' . $last_id;
|
||||||
header('Location: ' . $actual_link);
|
header('Location: ' . $actual_link);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$message = array('msg' => 'Error: ' . $sql . '<br>' . $conn->error, 'type' => 'error');
|
$message = array('msg' => 'Error: ' . $sql . '<br>' . $conn->error, 'type' => 'error');
|
||||||
}
|
}
|
||||||
@@ -128,6 +129,31 @@ if (isset($_POST['reservation'])) {
|
|||||||
$conn->close();
|
$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['delete']) && $loggedin == true) {
|
||||||
|
|
||||||
if (isset($_POST['WhishID'])) {
|
if (isset($_POST['WhishID'])) {
|
||||||
@@ -146,7 +172,7 @@ if (isset($_POST['delete']) && $loggedin == true) {
|
|||||||
|
|
||||||
if ($result !== false && $result->num_rows > 0) {
|
if ($result !== false && $result->num_rows > 0) {
|
||||||
while ($row = $result->fetch_assoc()) {
|
while ($row = $result->fetch_assoc()) {
|
||||||
unlink($row['image']);
|
unlink($imagedir . '/' . $row['image']);
|
||||||
$WhishTitle = $row['title'];
|
$WhishTitle = $row['title'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -221,6 +247,7 @@ if (isset($_POST['delete']) && $loggedin == true) {
|
|||||||
?>
|
?>
|
||||||
<form class="form-inline" action="" method="POST">
|
<form class="form-inline" action="" method="POST">
|
||||||
<select class="form-control" name="sortby" id="sortby">
|
<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_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 == '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>
|
<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>
|
||||||
<div class="modal-footer">
|
<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="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||||
<button type="submit" class="btn btn-primary">Add new Item</button>
|
<button type="submit" class="btn btn-primary">Add new Item</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -330,6 +359,7 @@ if (isset($_POST['delete']) && $loggedin == true) {
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<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="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||||
<button type="submit" name="login" class="btn btn-primary">Login</button>
|
<button type="submit" name="login" class="btn btn-primary">Login</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -357,6 +387,7 @@ if (isset($_POST['delete']) && $loggedin == true) {
|
|||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<form action="" method="POST">
|
<form action="" method="POST">
|
||||||
<input type="hidden" id="WhishID" name="WhishID" value="-1">
|
<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="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||||
<button type="submit" name="delete" class="btn btn-primary">Löschen</button>
|
<button type="submit" name="delete" class="btn btn-primary">Löschen</button>
|
||||||
</form>
|
</form>
|
||||||
@@ -365,6 +396,31 @@ if (isset($_POST['delete']) && $loggedin == true) {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- END OF Modal Delete-->
|
<!-- 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="password" class="form-control" id="WishPassword" name="WishPassword" rows="3" required>
|
||||||
<input type="hidden" name="wishid" id="modal-wishid" value="">
|
<input type="hidden" name="wishid" id="modal-wishid" value="">
|
||||||
<input type="hidden" name="reservedstat" id="modal-reservedstat" value="">
|
<input type="hidden" name="reservedstat" id="modal-reservedstat" value="">
|
||||||
|
<input type="hidden" id="sortby_transfer" name="sortby_transfer" value="' . $sortby . '">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
@@ -418,7 +475,17 @@ if (isset($_POST['delete']) && $loggedin == true) {
|
|||||||
<?php
|
<?php
|
||||||
if ($loggedin == true) {
|
if ($loggedin == true) {
|
||||||
echo ('
|
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 resTr = $(event.relatedTarget)
|
||||||
var whishcard = resTr.parents().closest(\'.card\');
|
var whishcard = resTr.parents().closest(\'.card\');
|
||||||
var whishtitle = whishcard.find(\'.card-title\').text();
|
var whishtitle = whishcard.find(\'.card-title\').text();
|
||||||
@@ -436,7 +503,6 @@ if (isset($_POST['delete']) && $loggedin == true) {
|
|||||||
this.form.submit();
|
this.form.submit();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
Reference in New Issue
Block a user