Add mini admin panel
This commit is contained in:
87
salony/pages/add.php
Normal file
87
salony/pages/add.php
Normal file
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
include __DIR__ . '/../db.php';
|
||||
include __DIR__ . '/../components/header.php';
|
||||
?>
|
||||
|
||||
<div class="max-w-2xl mx-auto mt-10">
|
||||
<div class="bg-white shadow-lg rounded-lg p-8">
|
||||
<h1 class="text-2xl font-bold mb-6">Dodaj nowe miejsce / salon</h1>
|
||||
<form method="post" action="../actions/add.php" class="space-y-4">
|
||||
|
||||
<!-- Typ miejsca -->
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Typ miejsca</label>
|
||||
<select name="type" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
<option value="city">City</option>
|
||||
<option value="woj">Woj</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- Nazwa -->
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Nazwa</label>
|
||||
<input name="name" type="text" placeholder="np. Myszków" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
|
||||
<!-- Woj -->
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Woj (opcjonalnie)</label>
|
||||
<select name="woj" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
<option value="">Brak</option>
|
||||
<option value="Dolnośląskie">Dolnośląskie</option>
|
||||
<option value="Kujawsko-Pomorskie">Kujawsko-Pomorskie</option>
|
||||
<option value="Lubelskie">Lubelskie</option>
|
||||
<option value="Lubuskie">Lubuskie</option>
|
||||
<option value="Łódzkie">Łódzkie</option>
|
||||
<option value="Małopolskie">Małopolskie</option>
|
||||
<option value="Mazowieckie">Mazowieckie</option>
|
||||
<option value="Opolskie">Opolskie</option>
|
||||
<option value="Podkarpackie">Podkarpackie</option>
|
||||
<option value="Podlaskie">Podlaskie</option>
|
||||
<option value="Pomorskie">Pomorskie</option>
|
||||
<option value="Śląskie">Śląskie</option>
|
||||
<option value="Świętokrzyskie">Świętokrzyskie</option>
|
||||
<option value="Warmińsko-Mazurskie">Warmińsko-Mazurskie</option>
|
||||
<option value="Wielkopolskie">Wielkopolskie</option>
|
||||
<option value="Zachodniopomorskie">Zachodniopomorskie</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
<hr class="my-6">
|
||||
|
||||
<h2 class="text-xl font-semibold mb-4">Dane sklepu</h2>
|
||||
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Adres</label>
|
||||
<input name="address" type="text" placeholder="ul. Kościuszki 67" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Godziny otwarcia</label>
|
||||
<input name="open_hours" type="text" placeholder="pn.-pt. 9-17 sob. 9-14" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Google Maps URL</label>
|
||||
<input name="url_address" type="text" placeholder="https://maps.google.com/..." class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-2 gap-4">
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Lat</label>
|
||||
<input name="lat" type="text" placeholder="50.5770991" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Lng</label>
|
||||
<input name="lng" type="text" placeholder="19.3240021" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="w-full bg-blue-600 text-white font-semibold py-3 rounded-md hover:bg-blue-700 transition-colors">Zapisz</button>
|
||||
<a href="<?php echo __DIR__ . '/..'; ?>" class="w-full text-center block bg-red-600 text-white font-semibold py-3 rounded-md hover:bg-red-700 transition-colors">Wstecz</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include __DIR__ . '/../components/footer.php'; ?>
|
||||
102
salony/pages/edit.php
Normal file
102
salony/pages/edit.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
include __DIR__ . '/../db.php';
|
||||
include __DIR__ . '/../components/header.php';
|
||||
|
||||
$id = (int)$_GET['id'] ?? 0;
|
||||
|
||||
// Pobieramy miejsce
|
||||
$stmt = $pdo->prepare("SELECT * FROM salon_places WHERE id=?");
|
||||
$stmt->execute([$id]);
|
||||
$place = $stmt->fetch();
|
||||
|
||||
if (!$place) {
|
||||
echo "Nie znaleziono miejsca.";
|
||||
exit;
|
||||
}
|
||||
|
||||
// Pobieramy sklep (shops)
|
||||
$stmt = $pdo->prepare("SELECT * FROM shops WHERE place_id=?");
|
||||
$stmt->execute([$id]);
|
||||
$shops = $stmt->fetchAll();
|
||||
?>
|
||||
|
||||
<div class="max-w-2xl mx-auto mt-10">
|
||||
<div class="bg-white shadow-lg rounded-lg p-8">
|
||||
<h1 class="text-2xl font-bold mb-6">Edytuj miejsce / salon</h1>
|
||||
<form method="post" action="../actions/edit.php?id=<?= $id ?>" class="space-y-4">
|
||||
|
||||
<!-- Typ -->
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Typ miejsca</label>
|
||||
<select name="type" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
<option value="city" <?= $place['type']=='city'?'selected':'' ?>>City</option>
|
||||
<option value="woj" <?= $place['type']=='woj'?'selected':'' ?>>Woj</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- Nazwa -->
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Nazwa</label>
|
||||
<input name="name" type="text" value="<?= htmlspecialchars($place['name']) ?>" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
|
||||
<!-- Woj -->
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Woj (opcjonalnie)</label>
|
||||
<select name="woj" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
<option value="" <?= !$place['woj']?'selected':'' ?>>Brak</option>
|
||||
<option value="Dolnośląskie" <?= $place['woj']=='Dolnośląskie'?'selected':'' ?>>Dolnośląskie</option>
|
||||
<option value="Kujawsko-Pomorskie" <?= $place['woj']=='Kujawsko-Pomorskie'?'selected':'' ?>>Kujawsko-Pomorskie</option>
|
||||
<option value="Lubelskie" <?= $place['woj']=='Lubelskie'?'selected':'' ?>>Lubelskie</option>
|
||||
<option value="Lubuskie" <?= $place['woj']=='Lubuskie'?'selected':'' ?>>Lubuskie</option>
|
||||
<option value="Łódzkie" <?= $place['woj']=='Łódzkie'?'selected':'' ?>>Łódzkie</option>
|
||||
<option value="Małopolskie" <?= $place['woj']=='Małopolskie'?'selected':'' ?>>Małopolskie</option>
|
||||
<option value="Mazowieckie" <?= $place['woj']=='Mazowieckie'?'selected':'' ?>>Mazowieckie</option>
|
||||
<option value="Opolskie" <?= $place['woj']=='Opolskie'?'selected':'' ?>>Opolskie</option>
|
||||
<option value="Podkarpackie" <?= $place['woj']=='Podkarpackie'?'selected':'' ?>>Podkarpackie</option>
|
||||
<option value="Podlaskie" <?= $place['woj']=='Podlaskie'?'selected':'' ?>>Podlaskie</option>
|
||||
<option value="Pomorskie" <?= $place['woj']=='Pomorskie'?'selected':'' ?>>Pomorskie</option>
|
||||
<option value="Śląskie" <?= $place['woj']=='Śląskie'?'selected':'' ?>>Śląskie</option>
|
||||
<option value="Świętokrzyskie" <?= $place['woj']=='Świętokrzyskie'?'selected':'' ?>>Świętokrzyskie</option>
|
||||
<option value="Warmińsko-Mazurskie" <?= $place['woj']=='Warmińsko-Mazurskie'?'selected':'' ?>>Warmińsko-Mazurskie</option>
|
||||
<option value="Wielkopolskie" <?= $place['woj']=='Wielkopolskie'?'selected':'' ?>>Wielkopolskie</option>
|
||||
<option value="Zachodniopomorskie" <?= $place['woj']=='Zachodniopomorskie'?'selected':'' ?>>Zachodniopomorskie</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<hr class="my-6">
|
||||
<h2 class="text-xl font-semibold mb-4">Dane sklepu</h2>
|
||||
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Adres</label>
|
||||
<input name="address" type="text" value="<?= htmlspecialchars($shops[0]['address'] ?? '') ?>" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Godziny otwarcia</label>
|
||||
<input name="open_hours" type="text" value="<?= htmlspecialchars($shops[0]['open_hours'] ?? '') ?>" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Google Maps URL</label>
|
||||
<input name="url_address" type="text" value="<?= htmlspecialchars($shops[0]['url_address'] ?? '') ?>" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-2 gap-4">
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Lat</label>
|
||||
<input name="lat" type="text" value="<?= htmlspecialchars($shops[0]['lat'] ?? '') ?>" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
<div>
|
||||
<label class="block mb-1 font-medium text-gray-700">Lng</label>
|
||||
<input name="lng" type="text" value="<?= htmlspecialchars($shops[0]['lng'] ?? '') ?>" class="w-full p-3 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="w-full bg-blue-600 text-white font-semibold py-3 rounded-md hover:bg-blue-700 transition-colors">Zapisz zmiany</button>
|
||||
<a href="<?php echo __DIR__ . '/..'; ?>" class="w-full text-center block bg-red-600 text-white font-semibold py-3 rounded-md hover:bg-red-700 transition-colors">Wstecz</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include __DIR__ . '/../components/footer.php'; ?>
|
||||
56
salony/pages/login.php
Normal file
56
salony/pages/login.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
session_start();
|
||||
if (isset($_SESSION['admin_logged_in']) && $_SESSION['admin_logged_in'] === true) {
|
||||
header('Location: index.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
$error = '';
|
||||
|
||||
if ($_POST) {
|
||||
$username = $_POST['username'] ?? '';
|
||||
$password = $_POST['password'] ?? '';
|
||||
|
||||
$ADMIN_USER = 'admin';
|
||||
$ADMIN_PASS = 'ProjectPro2025!';
|
||||
|
||||
if ($username === $ADMIN_USER && $password === $ADMIN_PASS) {
|
||||
$_SESSION['admin_logged_in'] = true;
|
||||
header('Location: ../');
|
||||
exit;
|
||||
} else {
|
||||
$error = 'Nieprawidłowy login lub hasło';
|
||||
}
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="pl">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Logowanie</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
|
||||
</head>
|
||||
<body class="bg-gray-100 flex items-center justify-center h-screen">
|
||||
<form method="post" class="bg-white p-8 rounded shadow-md w-full max-w-sm">
|
||||
<h1 class="text-2xl font-bold mb-6 text-center">Panel logowania</h1>
|
||||
|
||||
<?php if ($error): ?>
|
||||
<p class="mb-4 text-red-600"><?= $error ?></p>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="mb-4">
|
||||
<label class="block mb-1 font-medium">Login</label>
|
||||
<input type="text" name="username" class="w-full p-3 border rounded focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
|
||||
<div class="mb-6">
|
||||
<label class="block mb-1 font-medium">Hasło</label>
|
||||
<input type="password" name="password" class="w-full p-3 border rounded focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
|
||||
<button type="submit" class="w-full bg-blue-600 hover:bg-blue-700 text-white py-3 rounded-md shadow transition-colors">
|
||||
Zaloguj
|
||||
</button>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
5
salony/pages/logout.php
Normal file
5
salony/pages/logout.php
Normal file
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
session_start();
|
||||
session_destroy();
|
||||
header('Location: ../');
|
||||
exit;
|
||||
Reference in New Issue
Block a user