Current Path : /data/web/virtuals/51568/virtual/www/www/letniskola/ |
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)); } ?>