Current Path : /data/web/virtuals/51568/virtual/www/www/letniskola/ |
Current File : /data/web/virtuals/51568/virtual/www/www/letniskola/letniskola.js |
function removeTags(str) { if ((str === null) || (str === '')) return ''; else str = str.toString(); return str.replace(/(<([^>]+)>)/ig, ''); } function emailLetniSkola() { $("#btn-odeslat").click(function(event){ event.preventDefault(); }); $("#errMsg-letniskola").html("").addClass('d-none alert-danger').removeClass('alert-success'); let jmeno = $("#jmeno").val().trim(), prijmeni = $("#prijmeni").val().trim(), trida = $("#trida").val().trim(), emailzz = $("#emailzz").val().trim(), emailzz2 = $("#emailzz2").val().trim(), telefon = $("#telefon").val().trim(), errMsg = []; jmeno = removeTags(jmeno); $("#jmeno").val(jmeno); prijmeni = removeTags(prijmeni); $("#prijmeni").val(prijmeni); trida = removeTags(trida); $("#trida").val(trida); telefon = removeTags(telefon); $("#telefon").val(telefon); emailzz = removeTags(emailzz); $("#emailzz").val(emailzz); emailzz2 = removeTags(emailzz2); $("#emailzz2").val(emailzz2); if (jmeno.length == 0) { errMsg.push('jméno nesmí zůstat prázdné'); } if (prijmeni.length == 0) { errMsg.push('příjmení nesmí zůstat prázdné'); } let tridaRegex = new RegExp(/[1-9].[A-C]/); if (!tridaRegex.test(trida)) { errMsg.push('text zadaný jako třída zdá se neobvyklý'); } if (telefon.length < 9) { errMsg.push('telefon není jak by měl být'); } if (emailzz.length == 0) { errMsg.push('e-mail zákonného zástupce musí být zadán'); } if (emailzz !== emailzz2) { errMsg.push('potvrzení e-mailu se liší'); } let emailRegex = new RegExp(/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/); if (!emailRegex.test(emailzz)) { errMsg.push('text zadaný jako e-mail nemá správnou strukturu'); } if (errMsg.length > 0) { let errList = '<ul class="mb-0">'; for (let li of errMsg) { errList += '<li>' + li + '</li>'; } errList += '<ul>'; $("#errMsg-letniskola").html(errList).removeClass('d-none'); } else { $.ajax({ url: 'www/letniskola/letniskola.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'posliEmail', jmeno: jmeno, prijmeni: prijmeni, trida: trida, telefon: telefon, email: emailzz, }) }, success: function(result) { if (result == '0'){ $("#errMsg-letniskola") .html("tato kombinace žáka a e-mailu rodiče již byla použita") .removeClass('d-none alert-success') .addClass('alert-danger'); } else { $("#errMsg-letniskola") .html(`Na e-mail ${emailzz} byl odeslán odkaz na potvrzení účasti.`) .removeClass('d-none alert-danger') .addClass('alert-success'); } } }); } } function smazPrihlasku(id){ nemazatZaka(); let zak = $("#zak"+id).text(), dotaz = `<tr id="delrov${id}"> <td colspan="9" id="id-mazat-dotaz"> <div class="alert alert-danger rounded-0 d-flex"> <div class="mt-2"> Chceš smazat ze seznamu žáka ${zak}?</div> <button class="btn btn-info rounded-0 mt-1 ml-auto mr-2" onclick="nemazatZaka()">Storno</button> <button class="btn btn-danger rounded-0 mt-1" onclick="smazZakaPotvrzeno(${id})">Smazat</button> </div> </td> </tr>`; $("#prihlasky-radek" + id).after(dotaz); } function nemazatZaka() { $('#id-mazat-dotaz').remove(); } function smazZakaPotvrzeno(id){ $.ajax({ url: 'www/letniskola/letniskola.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'smazZaka', id: id, }) }, success: function(result) { $('#prihlasky-radek' + id).remove(); nemazatZaka(); } }); } function prihlaskyBody(sortBy){ $('[id^=idPB]').removeClass('btn-secondary').addClass('btn-outline-secondary'); $('#idPB'+sortBy).removeClass('btn-outline-secondary').addClass('btn-secondary'); switch (sortBy) { case 'zak': sortBy = "`prijmeni`, `trida`"; break; case 'trida': sortBy = "`trida`, `prijmeni`"; break; case 'vlozeno': sortBy = "`vlozeno`, `prijmeni`, `trida`"; break; case 'potvrzeno': sortBy = "`potvrzeno`, `prijmeni`, `trida`"; break; } $.ajax({ url: 'www/letniskola/prihlasky.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'prihlaskyBody', sortBy: sortBy, }) }, success: function(result) { $('#prihlaskyBody').html(result); } }); }