<?php
/**
* @file addtrips.php
* @brief Skript pro přidání nového tipu na výlet do databáze.
*
* Tento skript zajišťuje zobrazení formuláře a zpracování dat pro přidání nového tipu na výlet.
* Umožňuje nahrání až 4 fotografií, zadání názvu, vzdálenosti, míst, náhledu, až 5 nadpisů s paragrafy, odkazu na trasu, webové stránky Kudy z nudy a odkaz na mapu.
* Přístup je povolen pouze přihlášeným uživatelům.
*/
include '../db_connection.php'; ///< Připojení k databázi.
$conn->set_charset("utf8mb4");
session_start();
/**
* Kontrola, zda je uživatel přihlášen.
* Pokud není, přesměruje na přihlašovací stránku.
*/
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
header('Location: login.php');
exit();
}
/**
* Zpracování odeslaného formuláře.
*/
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = $_POST['name'];
$distance = $_POST['distance'];
$places = $_POST['places'];
$preview = $_POST['preview'];
$heading1 = $_POST['heading1'];
$paragraph1 = $_POST['paragraph1'];
$heading2 = $_POST['heading2'];
$paragraph2 = $_POST['paragraph2'];
$heading3 = $_POST['heading3'];
$paragraph3 = $_POST['paragraph3'];
$heading4 = $_POST['heading4'];
$paragraph4 = $_POST['paragraph4'];
$heading5 = $_POST['heading5'];
$paragraph5 = $_POST['paragraph5'];
$kudy = $_POST['kudy'];
$map = $_POST['map'];
$uploadDir = '../media/articles/trips'; ///< Cílová složka pro nahrání fotek (serverová cesta).
$actualDir = 'media/articles/trips'; ///< Cesta pro uložení do databáze (relativní).
///< Cesta k fotkám (1-4).
$photo1 = $uploadDir . basename($_FILES['photo1']['name']);
$photo2 = $uploadDir . basename($_FILES['photo2']['name']);
$photo3 = $uploadDir . basename($_FILES['photo3']['name']);
$photo4 = $uploadDir . basename($_FILES['photo4']['name']);
/// Nahrání fotek na server.
move_uploaded_file($_FILES['photo1']['tmp_name'], $photo1);
move_uploaded_file($_FILES['photo2']['tmp_name'], $photo2);
move_uploaded_file($_FILES['photo3']['tmp_name'], $photo3);
move_uploaded_file($_FILES['photo4']['tmp_name'], $photo4);
///< Cesta k fotkám (1-4) pro databázi.
$photo1 = $actualDir . basename($_FILES['photo1']['name']);
$photo2 = $actualDir . basename($_FILES['photo2']['name']);
$photo3 = $actualDir . basename($_FILES['photo3']['name']);
$photo4 = $actualDir . basename($_FILES['photo4']['name']);
/**
* Vložení nového tipu na výlet do databáze.
*/
$stmt = $conn->prepare('INSERT INTO trips (name, photo1, photo2, photo3, photo4, distance, places, preview, heading1, paragraph1, heading2, paragraph2, heading3, paragraph3, heading4, paragraph4, heading5, paragraph5, kudy, map) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?)');
$stmt->bind_param('ssssssssssssssssssss', $name, $photo1, $photo2, $photo3, $photo4, $distance, $places, $preview, $heading1, $paragraph1, $heading2, $paragraph2, $heading3, $paragraph3, $heading4, $paragraph4, $heading5, $paragraph5, $kudy, $map);
if ($stmt->execute()) {
$success = 'Tip na výlet byl přidána';
} else {
$error = 'Vyskytla se chyba';
}
$stmt->close();
}
?>
<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Přidat Lektora</title>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" />
<link rel="stylesheet" href="../admin.css" />
</head>
<body>
<div class="container mt-5">
<a href="../admin.php" class="backbtn">Zpět na panel</a>
<h2 class="text-center mb-4 hedingForm">Přidat Tip na výlet</h2>
<?php if (isset($success)) {
echo '<div class="alert alert-success text-center">' . $success . '</div>';
} ?>
<?php if (isset($error)) {
echo '<div class="alert alert-danger text-center">' . $error . '</div>';
} ?>
<div class="row justify-content-center">
<div class="col-md-8">
<form action="addtrips.php" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="name">Název</label>
<input type="text" class="form-control" id="name" name="name" required>
</div>
<div class="form-group">
<label for="photo1">Fotka</label>
<input type="file" class="form-control" id="photo1" name="photo1" required>
</div>
<div class="form-group">
<label for="photo2">Fotka</label>
<input type="file" class="form-control" id="photo2" name="photo2">
</div>
<div class="form-group">
<label for="photo3">Fotka</label>
<input type="file" class="form-control" id="photo3" name="photo3">
</div>
<div class="form-group">
<label for="photo4">Fotka</label>
<input type="file" class="form-control" id="photo4" name="photo4">
</div>
<div class="form-group">
<label for="distance">Vzdálenost(Km)</label>
<input type="number" class="form-control" id="distance" name="distance">
</div>
<div class="form-group">
<label for="places">Místa</label>
<input type="text" class="form-control" id="places" name="places">
</div>
<div class="form-group">
<label for="preview">Náhled</label>
<input type="text" class="form-control" id="preview" name="preview">
</div>
<div class="form-group">
<label for="heading1">Nadpis 1</label>
<input type="text" class="form-control" id="heading1" name="heading1">
</div>
<div class="form-group">
<label for="paragraph1">Paragraf 1</label>
<input type="text" class="form-control" id="paragraph1" name="paragraph1">
</div>
<div class="form-group">
<label for="heading2">Nadpis 2</label>
<input type="text" class="form-control" id="heading2" name="heading2">
</div>
<div class="form-group">
<label for="paragraph2">Paragraf 2</label>
<input type="text" class="form-control" id="paragraph2" name="paragraph2">
</div>
<div class="form-group">
<label for="heading3">Nadpis 3</label>
<input type="text" class="form-control" id="heading3" name="heading3">
</div>
<div class="form-group">
<label for="paragraph3">Paragraf 3</label>
<input type="text" class="form-control" id="paragraph3" name="paragraph3">
</div>
<div class="form-group">
<label for="heading4">Nadpis 4</label>
<input type="text" class="form-control" id="heading4" name="heading4">
</div>
<div class="form-group">
<label for="paragraph4">Paragraf 4</label>
<input type="text" class="form-control" id="paragraph4" name="paragraph4">
</div>
<div class="form-group">
<label for="heading5">Nadpis 5</label>
<input type="text" class="form-control" id="heading5" name="heading5">
</div>
<div class="form-group">
<label for="paragraph5">Paragraf 5</label>
<input type="text" class="form-control" id="paragraph5" name="paragraph5">
</div>
<div class="form-group">
<label for="kudy">Kudy(odkaz Kudy z nudy)</label>
<input type="text" class="form-control" id="kudy" name="kudy">
</div>
<div class="form-group">
<label for="map">Mapa(odkaz na mapu)</label>
<input type="text" class="form-control" id="map" name="map">
</div>
<button type="submit" class="btn btn-primary btn-block">Přidat</button>
</form>
</div>
</div>
</div>
</body>
</html>