Your IP : 18.217.212.151


Current Path : /data/web/virtuals/51568/virtual/www/www/letniskola/
Upload File :
Current File : /data/web/virtuals/51568/virtual/www/www/letniskola/letniskola.php

<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
if (!isset($pdo)){
    if (file_exists("class/pdoDB.class.php")) {require "class/pdoDB.class.php";}
    else {require "../../class/pdoDB.class.php"; }
} 

if (file_exists('vendor/PHPMailer/src/Exception.php')) {
    require 'vendor/PHPMailer/src/Exception.php';
    require 'vendor/PHPMailer/src/PHPMailer.php';
    require 'vendor/PHPMailer/src/SMTP.php';
} else {
    require '../../vendor/PHPMailer/src/Exception.php';
    require '../../vendor/PHPMailer/src/PHPMailer.php';
    require '../../vendor/PHPMailer/src/SMTP.php';   
}

$data = (isset($_POST['data'])) ? $_POST['data'] : "";
$data = json_decode($data);
$command = ($data) ? $data->command : 'forma';


switch ($command) {
    case 'posliEmail':{
        echo posliEmail($data);
        break;
    };
    case 'forma':{
        echo letniSkolaForma();
        break;
    }
    case 'smazZaka':{
        smazZaka($data->id);
        break;
    }
}  


function letniSkolaForma(){
    $html = <<<HTML
<div class="card rounded-0 shadow" style="border: 1px solid #0f9adc; ">
    <div class="card-header h5 rounded-0" style="background-color: #ffffff; border-bottom: 1px solid #0f9adc; color: #0f9adc;">Přihláška na Letní školu s Kolumbem</div>
    <div class="card-body" style="border-bottom: 1px solid #0f9adc; background-color: rgba(15,154,220, 0.2)">
        <p>
            <!-- <strong>Přihlašuji svou dceru / svého syna na Letní školu s Kolumbem, která se bude konat ve dnech<br>od 22. do 26. srpna 2022.</strong> -->
            <strong>Přihlašuji svou dceru / svého syna na Letní školu s Kolumbem.</strong>
        </p>
        <ul class="mb-0">
            <li>program bude zajištěn každý den v době od 8:00 do 13:00 hodin</li>
            <li>pro přihlášené žáky bude zajištěn oběd ve školní jídelně</li>
            <li>účastnický poplatek za Letní školu s Kolumbem je 500 Kč</li>
            <li>platbu za účast bude nutné <strong>uhradit do 15. června na třidní fond žáka</strong>
                <ul> 
                    <!-- <li>účet školy: 123-6705570297/0100 </li>
                    <li>variabilní symbol: prvních šest číslic rodného čísla dítěte</li> -->
                    <li>poznámka pro příjmce: Kolumbus + příjmení a jméno dítěte</li>
                </ul>
            </li>
        </ul>
    </div>
    <!--form action="" method="POST"-->
    <div class="card-body ">
        <div class="form-group row align-items-center">
            <label for="jmeno" class="col-sm-3 col-form-label">Jméno žáka:</label>
            <div class="col-sm-9">
                <input type="text" class="form-control rounded-0" name="jmeno" id="jmeno" required>
            </div>
        </div>
        <div class="form-group row align-items-center">
            <label for="prijmeni" class="col-sm-3 col-form-label">Příjmení žáka:</label>
            <div class="col-sm-9">
                <input type="text" class="form-control rounded-0" name="prijmeni" id="prijmeni" required>
            </div>
        </div>        
        <div class="form-group row align-items-center">
            <label for="trida" class="col-sm-3 col-form-label">Třída: </label>
            <div class="col-sm-2">
                <input type="text" class="form-control rounded-0" name="trida" id="trida" required pattern="[1-9].[A-C]" length="3" style="width: 4rem;" onkeyup="this.value = this.value.toUpperCase();">
            </div>
            <label for="trida" class="col-sm-3 col-form-label">Mobil rodiče: </label>
            <div class="col-sm-4">
                <input type="number" class="form-control rounded-0" name="telefon" id="telefon" required 
                placeholder="ve tvaru 123456789">
            </div>

        </div>

        <div class="form-group row align-items-center">
            <label for="emailzz" class="col-sm-3 col-form-label">E-mail rodiče: </label>
            <div class="col-sm-9">
                <input type="text" class="form-control rounded-0" name="emailzz" id="emailzz" required >
            </div>
        </div>
        <div class="form-group row align-items-center">
            <label for="emailzz2" class="col-sm-3 col-form-label">E-mail ještě jednou: </label>
            <div class="col-sm-9">
                <input type="text" class="form-control rounded-0" name="emailzz2" id="emailzz2" required>
            </div>
        </div>

    </div>
    <div class="card-body " style="border-top: 1px solid #0f9adc; background-color: rgba(241,125,0, 0.2)">
        <p class="mb-0">Po odeslání přihlášky bude na výše uvedený e-mail zaslán odkaz, na kterém <strong>je nutné přihlášku potvrdit</strong>! <br> Bez potvrzení bude přihláška neplatná.</p>

    </div>
   
    <div class="card-footer rounded-0 d-flex" style="background-color: #ffffff; border-top: 1px solid #0f9adc; ">
        <div id="errMsg-letniskola" class="mr-2 alert alert-danger mb-0 rounded-0 d-none"></div>
        <button id="btn-odeslat" type="submit" class="btn ml-auto rounded-0" style="background-color: rgba(7,131,163,0.8); color: #fff; max-height: 38px;" onclick="emailLetniSkola()">Odeslat přihlášku</button>
    </div>
    <!--/form--> 
</div>
HTML;
return $html;
}

function zapisDoDB($data){
    try{
        $db = new pdoDB();
        $kontrola = "select id from letniskola where jmeno = :jmeno and emailzz = :emailzz";
        $jeTam = $db->queryOne($kontrola, array(':jmeno'=>$data->jmeno, ':emailzz'=>$data->email));
        if ($jeTam) {
            return '0';
        }
        $x = trim($data->telefon);
        $telefon = '';
        str_replace(' ', '', $x);
        $poradi = -1;
        for ($i = strlen($x); $i>=0; $i--){
            $poradi++;
            $telefon = $x[$i].$telefon;
            if ($poradi % 3 == 0){
                $telefon = ' '.$telefon; 
            }
        }
        $telefon = trim($telefon);
        $token = bin2hex(openssl_random_pseudo_bytes(10));
        $data->token = $token;
        $zapis = "INSERT INTO `letniskola`(`prijmeni`, `jmeno`, `trida`, `token`, `potvrzeno`, `emailzz`, `telefon`) 
            VALUES (:prijmeni, :jmeno, :trida, :token, :potvrzeno, :emailzz, :telefon)";
        $db->execute($zapis, 
            array(':prijmeni'=>htmlspecialchars($data->prijmeni), 
            ':jmeno'=>htmlspecialchars($data->jmeno), 
            ':trida'=>$data->trida, 
            ':token'=>$data->token, 
            ':potvrzeno'=>'0', 
            ':emailzz'=>htmlspecialchars($data->email), 
            ':telefon'=>$telefon));     
        return '1';
    } catch (Exception $e){
        return '0';
    }
}

function pripravMail(){
    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->Mailer = "smtp";
    $mail->setLanguage('cs');
    $mail->CharSet = PHPMailer::CHARSET_UTF8;     
    $mail->SMTPDebug  = 0;  
    $mail->SMTPAuth   = TRUE;
    $mail->SMTPSecure = "tls";
    $mail->Port       = 587;
    $mail->Host       = "wes1-smtp.wedos.net";

    $mail->Username   = "mailer@zsrepubliky.cz";
    $mail->Password   = "Mail*er*2022";
    $mail->SetFrom("mailer@zsrepubliky.cz", "Mailer zsrepubliky.cz");
    $mail->isHTML(TRUE);
    return $mail;
}

function emailBody($data){    
    $body = <<<BODY
    <div style="max-width: 40rem;">
    <div style="margin-bottom: 1rem; font-size:1.1rem; padding: 4px; border: 1px solid #0f9adc; background-color: rgba(15,154,220, 0.2)">Přihláška na Letní školu s Kolumbem</div>
    <ul style="margin-bottom: 1rem; font-size: 1rem;">
    <li>Letní škola s Kolumbem se bude konat ve dnech od 19. do 23. srpna 2024</li>
    <li>program bude zajištěn každý den v době od 8:00 do 13:00 hodin</li>
    <li>pro přihlášené žáky bude zajištěn oběd ve školní jídelně</li>
    <li>účastnický poplatek za Letní školu s Kolumbem je 500 Kč</li>
    <li>platbu za účast bude nutné <strong>uhradit do 15. června 2024 na třídní fond žáka</strong></li>
</ul>    
    <table border="1" style=" border-collapse: collapse; width: 100%; margin-bottom: 1rem;">
        <tr>
        <td style="padding: 4px;">Žák</td>
        <td style="padding: 4px;">$data->jmeno $data->prijmeni</td>
    </tr>
    <tr>
        <td style="padding: 4px;">Třída</td>
        <td style="padding: 4px;">$data->trida</td>
    </tr>
    <tr>
        <td style="padding: 4px;">E-mail rodiče</td>
        <td style="padding: 4px;">$data->email</td>
    </tr>
    <tr>
        <td style="padding: 4px;">Telefon rodiče</td>
        <td style="padding: 4px;">$data->telefon</td>
    </tr>    
</table>
   <div style="font-size:1rem; margin-bottom: 1rem; ">Pro potvrzení přihlášky použijte následující odkaz (<strong>bez potvrzení nebude přihláška akceptována</strong>):</div>
   <a style="cursor: pointer; " href="http://www.zsrepubliky.cz/index.php?m=www/letniskola/prihlaska-confirm.php&tokenconfirm=$data->token" >
           <button style="padding: 0.375rem 0.75rem; font-size: 1rem; background-color: #0077bf; 
               border-color: #007bff; color: white; border: 0px; line-height: 1.5;
               border-radius: 0.25rem;">Potvrzuji přihlášku</button>
       </a>
       <hr>
       </div>
BODY;
    return $body;
}


function posliEmail($data){
    if (!zapisDoDB($data)){
        return '0';
    }
    $mail = pripravMail();
    $mail->Subject = 'Přihláška na Letní školu s Kolumbem';        
    $body = emailBody($data);
    $mail->Body = $body;
    $mail->AltBody = strip_tags($body);
    try {
        $mail->addAddress($data->email);
        $mail->send();
        return '1';    
    }
    catch (Exception $e)
    {
        return '0';
    }
    catch (\Exception $e)
    {
        return '0';
    }
}

function smazZaka($id){
    $db = new pdoDB();
    $smaz = "DELETE FROM `letniskola` WHERE `id` = :id";
    $db->execute($smaz, array(':id'=>$id));
}
?>