| Server IP : 193.86.120.172 / Your IP : 216.73.216.215 Web Server : Apache/2.4.63 (Unix) System : Linux JServices 3.10.108 #86003 SMP Wed Oct 22 13:20:46 CST 2025 x86_64 User : kubec ( 1026) PHP Version : 8.2.28 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /volume1/web/hotellesnizatisi_cz/new/ |
Upload File : |
<?php
require_once __DIR__ . '/includes/auth.php';
$user = require_section('doplnky');
require_once __DIR__ . '/includes/layout.php';
$id = isset($_GET['id']) ? (int)$_GET['id'] : null;
$d = [
'nazev_cs' => '', 'nazev_en' => '', 'nazev_de' => '',
'cena' => 0, 'typ_uctovani' => 'jednorazove', 'skupina' => '',
'poradi' => 0, 'aktivni' => 1,
];
if ($id) {
$stmt = db()->prepare('SELECT * FROM web_doplnky WHERE id = ?');
$stmt->execute([$id]);
$row = $stmt->fetch();
if (!$row) {
set_flash('error', 'Doplněk nebyl nalezen.');
header('Location: doplnky.php');
exit;
}
$d = $row;
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$skupina = trim($_POST['skupina'] ?? '');
$values = [
trim($_POST['nazev_cs'] ?? ''),
trim($_POST['nazev_en'] ?? ''),
trim($_POST['nazev_de'] ?? ''),
(float)str_replace(',', '.', $_POST['cena'] ?? '0'),
in_array($_POST['typ_uctovani'] ?? '', ['jednorazove', 'za_noc', 'za_osobu_noc'], true) ? $_POST['typ_uctovani'] : 'jednorazove',
$skupina !== '' ? $skupina : null,
(int)($_POST['poradi'] ?? 0),
isset($_POST['aktivni']) ? 1 : 0,
];
if ($id) {
db()->prepare('
UPDATE web_doplnky SET
nazev_cs=?, nazev_en=?, nazev_de=?,
cena=?, typ_uctovani=?, skupina=?,
poradi=?, aktivni=?
WHERE id=?
')->execute([...$values, $id]);
set_flash('success', 'Doplněk byl uložen.');
} else {
db()->prepare('
INSERT INTO web_doplnky
(nazev_cs, nazev_en, nazev_de, cena, typ_uctovani, skupina, poradi, aktivni)
VALUES (?,?,?,?,?,?,?,?)
')->execute($values);
set_flash('success', 'Nový doplněk byl přidán.');
}
header('Location: doplnky.php');
exit;
}
admin_layout_start('doplnky', $id ? 'Upravit doplněk' : 'Přidat doplněk', '', $user);
?>
<form method="post" class="card" style="padding:26px 28px;max-width:680px;">
<h3 style="font-size:.9rem;margin-bottom:14px;">Čeština</h3>
<div class="field">
<label for="nazev_cs">Název</label>
<input type="text" id="nazev_cs" name="nazev_cs" value="<?= htmlspecialchars($d['nazev_cs']) ?>">
</div>
<h3 style="font-size:.9rem;margin:24px 0 14px;border-top:1px solid var(--border);padding-top:20px;">English</h3>
<div class="field">
<label for="nazev_en">Název</label>
<input type="text" id="nazev_en" name="nazev_en" value="<?= htmlspecialchars($d['nazev_en']) ?>">
</div>
<h3 style="font-size:.9rem;margin:24px 0 14px;border-top:1px solid var(--border);padding-top:20px;">Deutsch</h3>
<div class="field">
<label for="nazev_de">Název</label>
<input type="text" id="nazev_de" name="nazev_de" value="<?= htmlspecialchars($d['nazev_de']) ?>">
</div>
<div class="field-row" style="margin-top:24px;border-top:1px solid var(--border);padding-top:20px;">
<div class="field">
<label for="cena">Cena (Kč)</label>
<input type="number" id="cena" name="cena" step="0.01" value="<?= htmlspecialchars((string)$d['cena']) ?>">
</div>
<div class="field">
<label for="typ_uctovani">Účtování</label>
<select id="typ_uctovani" name="typ_uctovani">
<option value="jednorazove" <?= $d['typ_uctovani'] === 'jednorazove' ? 'selected' : '' ?>>Jednorázově</option>
<option value="za_noc" <?= $d['typ_uctovani'] === 'za_noc' ? 'selected' : '' ?>>Za noc</option>
<option value="za_osobu_noc" <?= $d['typ_uctovani'] === 'za_osobu_noc' ? 'selected' : '' ?>>Za osobu a noc</option>
</select>
</div>
</div>
<div class="field">
<label for="skupina">Skupina (nepovinné)</label>
<input type="text" id="skupina" name="skupina" value="<?= htmlspecialchars($d['skupina'] ?? '') ?>" placeholder="např. snidane_typ">
<div style="font-size:.76rem;color:var(--ink-soft);margin-top:6px;">Doplňky se stejnou skupinou se chovají jako vzájemně se vylučující volby (host vybere jen jednu). Nechte prázdné pro nezávislou volbu.</div>
</div>
<div class="field" style="max-width:140px;">
<label for="poradi">Pořadí</label>
<input type="number" id="poradi" name="poradi" value="<?= (int)$d['poradi'] ?>">
</div>
<div class="toggle-row">
<label for="aktivni">Zobrazit na webu</label>
<input type="checkbox" id="aktivni" name="aktivni" <?= $d['aktivni'] ? 'checked' : '' ?>>
<label class="switch" for="aktivni"></label>
</div>
<div style="display:flex;gap:10px;margin-top:26px;">
<button type="submit" class="btn btn-primary">Uložit</button>
<a href="doplnky.php" class="btn btn-secondary">Zrušit</a>
</div>
</form>
<?php admin_layout_end(); ?>