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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /volume1/web/kadernictvidenisa_cz//cron_hodnoceni.php
<?php
// ============================================
//  cron_hodnoceni.php
//  Odesílá e-mailovou žádost o hodnocení po termínu rezervace.
//  Spouštět pravidelně (např. každých 15 minut) přes cron:
//    php /cesta/k/cron_hodnoceni.php
// ============================================

require_once __DIR__ . '/includes/config.php';
require_once __DIR__ . '/includes/db.php';
require_once __DIR__ . '/includes/mailer.php';

$zapnuto = nastaveni('hodnoceni_zadost_zapnuta', '0') === '1';
$hodin   = (int) nastaveni('hodnoceni_hodin_po', 2);

if (!$zapnuto || $hodin < 1) {
    echo "Žádosti o hodnocení jsou vypnuté nebo má hodnota hodin neplatnou hodnotu.\n";
    exit;
}

// Najdi rezervace, kterým termín skončil (cas_do) před $hodin hodinami,
// jsou potvrzené a žádost ještě nebyla odeslána.
// Okno tolerance 15 minut.
$cilovy_cas_od = date('Y-m-d H:i:s', strtotime("-{$hodin} hours -15 minutes"));
$cilovy_cas_do = date('Y-m-d H:i:s', strtotime("-{$hodin} hours"));

$stmt = db()->prepare("
    SELECT r.id, r.jmeno, r.prijmeni, r.email, r.datum, r.cas_od, r.token_zmena,
           s.nazev AS sluzba_nazev
    FROM rezervace r
    JOIN sluzby s ON s.id = r.sluzba_id
    WHERE r.stav = 'potvrzena'
      AND r.hodnoceni_zadost_odeslana = 0
      AND CONCAT(r.datum, ' ', r.cas_do) BETWEEN ? AND ?
");
$stmt->execute([$cilovy_cas_od, $cilovy_cas_do]);
$rezervace = $stmt->fetchAll();

echo "Nalezeno " . count($rezervace) . " rezervací k odeslání žádosti o hodnocení.\n";

foreach ($rezervace as $rez) {
    $rez_mail = [
        'jmeno'       => $rez['jmeno'],
        'prijmeni'    => $rez['prijmeni'],
        'email'       => $rez['email'],
        'datum'       => $rez['datum'],
        'token_zmena' => $rez['token_zmena'],
    ];

    try {
        $ok = email_zadost_hodnoceni($rez_mail, $rez['sluzba_nazev']);
        if ($ok) {
            db()->prepare("UPDATE rezervace SET hodnoceni_zadost_odeslana = 1 WHERE id = ?")->execute([$rez['id']]);
            echo "✓ Odeslána žádost o hodnocení rezervaci #{$rez['id']} ({$rez['jmeno']} {$rez['prijmeni']})\n";
        } else {
            echo "✗ Chyba při odesílání rezervaci #{$rez['id']}\n";
        }
    } catch (Exception $e) {
        echo "✗ Výjimka u rezervace #{$rez['id']}: " . $e->getMessage() . "\n";
    }
}

echo "Hotovo.\n";

Youez - 2016 - github.com/yon3zu
LinuXploit