403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /volume1/web/hotellesnizatisi_cz/new/nastaveni.php
<?php
require_once __DIR__ . '/includes/auth.php';
$user = require_role(['admin', 'manazer']);
require_once __DIR__ . '/includes/layout.php';

function get_setting(string $klic, string $default = ''): string
{
    $stmt = db()->prepare('SELECT hodnota FROM web_nastaveni WHERE klic = ?');
    $stmt->execute([$klic]);
    $val = $stmt->fetchColumn();
    return $val !== false ? $val : $default;
}

function set_setting(string $klic, string $hodnota): void
{
    db()->prepare('
        INSERT INTO web_nastaveni (klic, hodnota) VALUES (?, ?)
        ON DUPLICATE KEY UPDATE hodnota = VALUES(hodnota)
    ')->execute([$klic, $hodnota]);
}

$kontaktEmail = get_setting('kontakt_email');
$bccEmail = get_setting('bcc_email');
$bccAktivni = get_setting('bcc_aktivni', '0') === '1';
$webZamknuty = get_setting('web_zamknuty', '0') === '1';
$webHesloNastaveno = get_setting('web_heslo_hash', '') !== '';

$errors = [];

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $action = $_POST['action'] ?? '';

    if ($action === 'kontakt_email') {
        $email = trim($_POST['kontakt_email'] ?? '');
        if ($email === '' || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
            $errors[] = 'Zadejte platnou e-mailovou adresu.';
            $kontaktEmail = $email;
        } else {
            set_setting('kontakt_email', $email);
            set_flash('success', 'Nastavení bylo uloženo.');
            header('Location: nastaveni.php');
            exit;
        }
    }

    if ($action === 'bcc' && $user['role'] === 'admin') {
        $email = trim($_POST['bcc_email'] ?? '');
        $aktivni = isset($_POST['bcc_aktivni']) ? '1' : '0';

        if ($aktivni === '1' && (!$email || !filter_var($email, FILTER_VALIDATE_EMAIL))) {
            $errors[] = 'Pro zapnutí skryté kopie zadejte platnou e-mailovou adresu.';
            $bccEmail = $email;
            $bccAktivni = true;
        } else {
            set_setting('bcc_email', $email);
            set_setting('bcc_aktivni', $aktivni);
            set_flash('success', 'Nastavení skryté kopie bylo uloženo.');
            header('Location: nastaveni.php');
            exit;
        }
    }

    if ($action === 'zamek' && $user['role'] === 'admin') {
        $zamknuty = isset($_POST['web_zamknuty']) ? '1' : '0';
        $noveHeslo = trim($_POST['web_heslo'] ?? '');

        if ($zamknuty === '1' && $noveHeslo === '' && !$webHesloNastaveno) {
            $errors[] = 'Pro zamknutí webu musíte nejdřív nastavit heslo.';
            $webZamknuty = true;
        } else {
            set_setting('web_zamknuty', $zamknuty);
            if ($noveHeslo !== '') {
                set_setting('web_heslo_hash', password_hash($noveHeslo, PASSWORD_DEFAULT));
            }
            set_flash('success', 'Nastavení zámku webu bylo uloženo.');
            header('Location: nastaveni.php');
            exit;
        }
    }
}

admin_layout_start('nastaveni', 'Nastavení', 'Obecné nastavení webu', $user);
render_flash();

foreach ($errors as $err) {
    echo '<div class="flash flash-error">' . htmlspecialchars($err) . '</div>';
}
?>

<form method="post" class="card" style="padding:26px 28px;max-width:560px;margin-bottom:24px;">
  <input type="hidden" name="action" value="kontakt_email">
  <div class="field">
    <label for="kontakt_email">E-mail pro zprávy z kontaktního formuláře</label>
    <input type="email" id="kontakt_email" name="kontakt_email" value="<?= htmlspecialchars($kontaktEmail) ?>">
    <p style="font-size:.78rem;color:var(--ink-soft);margin-top:8px;">Na tuto adresu budou chodit zprávy odeslané přes kontaktní formulář na veřejném webu.</p>
  </div>
  <div style="display:flex;gap:10px;margin-top:24px;">
    <button type="submit" class="btn btn-primary">Uložit</button>
  </div>
</form>

<?php if ($user['role'] === 'admin'): ?>
<form method="post" class="card" style="padding:26px 28px;max-width:560px;">
  <input type="hidden" name="action" value="bcc">
  <h3 style="font-size:.95rem;margin-bottom:6px;">Skrytá kopie pro webmastera</h3>
  <p style="font-size:.78rem;color:var(--ink-soft);margin-bottom:18px;">Viditelné jen pro admina. Slouží ke kontrole, že kontaktní formulář funguje — na tuto adresu půjde tichá kopie každé zprávy odeslané z webu.</p>

  <div class="field">
    <label for="bcc_email">E-mail pro skrytou kopii</label>
    <input type="email" id="bcc_email" name="bcc_email" value="<?= htmlspecialchars($bccEmail) ?>">
  </div>

  <div class="toggle-row">
    <label for="bcc_aktivni">Skrytá kopie zapnutá</label>
    <input type="checkbox" id="bcc_aktivni" name="bcc_aktivni" <?= $bccAktivni ? 'checked' : '' ?>>
    <label class="switch" for="bcc_aktivni"></label>
  </div>

  <div style="display:flex;gap:10px;margin-top:24px;">
    <button type="submit" class="btn btn-primary">Uložit</button>
  </div>
</form>

<form method="post" class="card" style="padding:26px 28px;max-width:560px;margin-top:24px;">
  <input type="hidden" name="action" value="zamek">
  <h3 style="font-size:.95rem;margin-bottom:6px;">Zámek veřejného webu</h3>
  <p style="font-size:.78rem;color:var(--ink-soft);margin-bottom:18px;">Když je zapnutý, návštěvníci musí před vstupem na web zadat heslo — hodí se, dokud ještě není připravený ke spuštění naostro. Administrace tím není nijak dotčená, do ní se přihlašujete pořád stejně přes svůj účet.</p>

  <div class="field">
    <label for="web_heslo">Heslo pro vstup<?= $webHesloNastaveno ? ' (necháte-li prázdné, zůstane stávající)' : '' ?></label>
    <input type="text" id="web_heslo" name="web_heslo" placeholder="<?= $webHesloNastaveno ? '••••••••' : 'Zadejte heslo' ?>">
  </div>

  <div class="toggle-row">
    <label for="web_zamknuty">Web zamčený heslem</label>
    <input type="checkbox" id="web_zamknuty" name="web_zamknuty" <?= $webZamknuty ? 'checked' : '' ?>>
    <label class="switch" for="web_zamknuty"></label>
  </div>

  <div style="display:flex;gap:10px;margin-top:24px;">
    <button type="submit" class="btn btn-primary">Uložit</button>
  </div>
</form>
<?php endif; ?>

<?php admin_layout_end(); ?>

Youez - 2016 - github.com/yon3zu
LinuXploit