403Webshell
Server IP : 193.86.120.172  /  Your IP : 216.73.216.67
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/kadernictvidenisa_cz/api/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /volume1/web/kadernictvidenisa_cz/api/pracovni-doba.php
<?php
// ============================================
//  api/pracovni-doba.php  (admin only)
//  GET /api/pracovni-doba       – načíst všechny dny
//  PUT /api/pracovni-doba       – uložit všechny dny
// ============================================

admin_required();

if ($method === 'GET') {
    $stmt = db()->query("SELECT den, od_min, do_min, aktivni FROM pracovni_doba ORDER BY den");
    $rows = $stmt->fetchAll();
    $data = [];
    foreach ($rows as $r) {
        $data[(int)$r['den']] = [
            'od_min'  => (int)$r['od_min'],
            'do_min'  => (int)$r['do_min'],
            'aktivni' => (bool)$r['aktivni'],
            'od_cas'  => sprintf('%02d:%02d', intdiv($r['od_min'], 60), $r['od_min'] % 60),
            'do_cas'  => sprintf('%02d:%02d', intdiv($r['do_min'], 60), $r['do_min'] % 60),
        ];
    }
    json_response(['ok' => true, 'data' => $data]);
}

if ($method === 'PUT') {
    $dny = $input['dny'] ?? [];
    if (!is_array($dny)) json_error('Neplatná data.');

    $stmt = db()->prepare("
        INSERT INTO pracovni_doba (den, od_min, do_min, aktivni)
        VALUES (?, ?, ?, ?)
        ON DUPLICATE KEY UPDATE od_min = VALUES(od_min), do_min = VALUES(do_min), aktivni = VALUES(aktivni)
    ");

    db()->beginTransaction();
    try {
        foreach ($dny as $den => $hodnoty) {
            $den    = (int) $den;
            $aktivni = isset($hodnoty['aktivni']) ? (int)(bool)$hodnoty['aktivni'] : 0;
            $od_min  = (int)($hodnoty['od_min'] ?? 480);
            $do_min  = (int)($hodnoty['do_min'] ?? 1020);
            if ($den < 1 || $den > 7) continue;
            if ($do_min <= $od_min) json_error('Konec pracovní doby musí být po začátku (den ' . $den . ').');
            $stmt->execute([$den, $od_min, $do_min, $aktivni]);
        }
        db()->commit();
    } catch (Exception $e) {
        db()->rollBack();
        json_error('Chyba při ukládání: ' . $e->getMessage(), 500);
    }

    json_response(['ok' => true, 'zprava' => 'Pracovní doba uložena.']);
}

json_error('Metoda není podporována.', 405);

Youez - 2016 - github.com/yon3zu
LinuXploit