Current Path : /data/web/virtuals/51568/virtual/www/www/plany/ |
Current File : /data/web/virtuals/51568/virtual/www/www/plany/textyAkce.php |
<?php if (file_exists('funkce/DbConnect.php')){ require_once('funkce/DbConnect.php'); } if (file_exists('DbConnect.php')){ require_once('DbConnect.php'); } if (IsSet($_POST["idRok"])){$idRok = $_POST["idRok"];} if (IsSet($_POST["idTyden"])){$idTyden = $_POST["idTyden"];} if (IsSet($_POST["idTydenAktualni"])){$idTydenAktualni = $_POST["idTydenAktualni"];} if (!IsSet($idAkce)){ if (IsSet($_POST["idAkce"])){$idAkce = $_POST["idAkce"];} else {$idAkce = 0;} } $idAkce = trim($idAkce); if (IsSet($_POST["operace"])){$operace = $_POST["operace"]; } else {$operace = 'e';} // e = editace, n = nova $sql = "select zacatek from pl_tydny where id=$idTydenAktualni"; $result = mysqli_query($conn, $sql); $row = mysqli_fetch_object($result); $datumOd = $row->zacatek; $datumDo = date('Y-m-d', strtotime("+6 day", strtotime($row->zacatek))); if ($operace == 'n'){ $datum = $datumOd; $cas = ""; $checkedStav = "checked"; $checkedInformace = "checked"; $podilise = ""; $d = new DateTime(); $zverejnit = date('Y-m-d\TH:i', strtotime("-1 day", strtotime($row->zacatek))); //date_format($d,"Y-m-d\TH:i"); } $sql = "SELECT id, `datum`, `cas`,`obsah`,`nadpis`, `stav`, `zverejnit`, informace, podilise FROM pl_akce WHERE datum>='$datumOd' and datum<='$datumDo' order by datum, cas "; $result = mysqli_query($conn, $sql) ?> <div class="plany-akce " id="idPlanyAkce"> <div class="row my-2"> <div class="col"> <button class="btn btn-outline-info rounded-0" id="akceNova" onClick="akceNova()">Nová akce <i class="far fa-file"></i> </button> </div> <?php if (($result) && (mysqli_num_rows($result) > 0)) {?> <div class="col text-right"> <button class="btn btn-outline-info rounded-0" id="akceKopie" onClick="akceKopie()">Kopírovat <i class="far fa-copy"></i> </button> </div> <?php }; ?> </div> <?php if ($result) { $countAkce = 0; if ($row = mysqli_fetch_object($result)) {?> <div class="table-scroll-plany mb-2"> <table class="table table-striped table-bordered table-sm"> <?php do { $countAkce++; $checked = ($row->id == $idAkce) || (($countAkce == 1) && ($idAkce == 0)); $checkedS = ($checked) ? "checked" : ""; if (($checkedS == "checked") && ($operace == 'e')) { $aktualni = $countAkce; $idAkce = $row->id; $ed = $row->obsah; $nadpis = $row->nadpis; $datum = $row->datum; $cas = $row->cas; $stav = trim($row->stav); $checkedStav = ($stav == '1') ? "checked" : ""; $informace = trim($row->informace); $checkedInformace = ($informace == '1') ? "checked" : ""; $podilise = $row->podilise; $d = new DateTime($row->zverejnit); $rok = $d->format('Y'); if ($rok < 2018) $d->setTimestamp(1994567890); $zverejnit = date_format($d,"Y-m-d"); }?> <tr> <td class=""> <div class="custom-control custom-radio ml-1 pr-0"> <input type="radio" class="custom-control-input rounded-0" id="rgAkce<?php echo $row->id; ?>" onClick="rgAkceClick(<?php echo $row->id; ?>)" name="rgAkce" <?php echo $checkedS; ?>> <label id="lblrgAkce<?php echo $row->id; ?>" class="custom-control-label" for="rgAkce<?php echo $row->id; ?>"> <?php echo html_entity_decode(mb_substr(strip_tags($row->nadpis), 0, 40, 'utf-8')) .((mb_strlen(strip_tags($row->nadpis)) > 40) ? '...' : '' );?> </label> </div> </td> <td id="dateAkce<?php echo $row->id; ?>" class="text-right"><?php echo date('d.m.', strtotime($row->datum));?></td> </tr> <?php } while ($row = mysqli_fetch_object($result));?> </table> </div> <div class="row"> <div class="col-5 text-left"> <button class="btn btn-outline-danger text-left rounded-0" id="akcDel" onClick="akcDel()">Smazat <i class="far fa-trash-alt"></i> </button> </div> </div> <div id="akcDlgDel" class="alert alert-danger mt-3 d-none rounded-0"> <div class="h5">Mazání </div> Chystáš se smazat akci<br> <?php echo $nadpis; ?>. <br> Chceš pokračovat? <div class="row mt-3"> <div class="col text-left"> <button class="btn btn-danger rounded-0" id="akcDelAno" onClick="akcDelAno()">Ano </button> </div> <div class="col text-right"> <button class="btn btn-success rounded-0" id="akcDelNe" onClick="akcDelNe()">Ne </button> </div> </div> </div> <?php } } ?> </div> <div class="editor" id="akceEditor"> <?php if (($countAkce > 0) || ($operace == 'n')) { if (file_exists('textyAkceEditor.php')){ include "textyAkceEditor.php"; } if (file_exists('www/plany/textyAkceEditor.php')){ include "www/plany/textyAkceEditor.php"; } } ?> </div> <script src="www/plany/funkce.js"></script> <script> // $(document).ready(function () { $(":input").on('change', function () { $("#alAkceZmena").removeClass("d-none"); }); function akcDel () { $("#akcDlgDel").removeClass("d-none"); } function akcDelNe() { $("#akcDlgDel").addClass("d-none"); } function akcDelAno () { var idRok = rgKod("rgRokZobr"), idTyden = rgKod("rgTydenZobr"), idTydenAktualni = idTyden, idAkce = rgKod("rgAkce"); $.ajax({ url: "www/plany/textyAkceDelete.php", type: 'POST', data: { 'idAkce': idAkce }, success: function (result) { $("#akcDlgDel").addClass("d-none"); $.ajax({ url: "www/plany/textyAkceSeznam.php", type: 'POST', data: { 'idTydenAktualni': idTydenAktualni, 'idAkce': 0, }, success: function (result) { $("#idPlanyAkce").html(result); idAkce = rgKod("rgAkce"); if (idAkce > 0) { rgAkceClick(idAkce); } else { $("#akceEditor").html(""); } } }) } }) } function akceNova () { let idTyden = rgKod("rgTydenZobr"), idTydenAktualni = idTyden, detail = document.getElementById("akceEditor").textContent; if (detail.length < 100){ $.ajax({ url: "www/plany/textyAkceEditor.php", type: 'POST', data: { }, success: function (result) { $("#akceEditor").html(result); $.ajax({ url: "www/plany/textyAkceNovaPriprav.php", type: 'POST', data: { 'idTyden': idTyden, 'idTydenAktualni': idTydenAktualni, }, success: function (result) { $("#btnRowEditaceAkce").toggleClass("d-none"); $("#btnRowNovaAkce").toggleClass("d-none"); $("#h5Nova").toggleClass("d-none"); let obj = JSON.parse(result); $("#obsah").val(""); $("#datum").val(obj.datumOd); $("#zverejnit").val(obj.zverejnit); $("#cas").val(""); $("#podilise").val(""); $('#cbStav').prop('checked', true); $('#cbInformace').prop('checked', true); $("[id^='cbKategorie']").prop('checked', false); $("#alAkceZmena").addClass("d-none"); } }) } }) } else { $.ajax({ url: "www/plany/textyAkceNovaPriprav.php", type: 'POST', data: { 'idTyden': idTyden, 'idTydenAktualni': idTydenAktualni, }, success: function (result) { $("#btnRowEditaceAkce").toggleClass("d-none"); $("#btnRowNovaAkce").toggleClass("d-none"); $("#h5Nova").toggleClass("d-none"); let obj = JSON.parse(result); $("#obsah").val(""); $("#datum").val(obj.datumOd); $("#zverejnit").val(obj.zverejnit); $("#cas").val(""); $("#podilise").val(""); $('#cbStav').prop('checked', true); $('#cbInformace').prop('checked', true); $("[id^='cbKategorie']").prop('checked', false); tinymce.get("ckeAkce").setContent(""); $("#alAkceZmena").addClass("d-none"); } }) } } var obsahG, datumG, casG, zverejnitG, stavG, kategorieG, informaceG, podiliseG; function KontrolaAkce() { obsahG = $("#obsah").val(); datumG = $("#datum").val(); zverejnitG = $("#zverejnit").val(); casG = $("#cas").val(); podiliseG = $("#podilise").val(); var valuesCB = $("input[name='cbKategorie']:checked").map(function () { return $(this).val(); }).get(); kategorieG = ''; valuesCB.forEach(function (item) { kategorieG += item + '*' }); if ($("#cbStav").is(":checked")) { stavG = 1 } else { stavG = 0 } if ($("#cbInformace").is(":checked")) { informaceG = 1 } else { informaceG = 0 } var datumOd = '<?php echo $datumOd;?>', datumDo = '<?php echo $datumDo;?>', jeErr = false; if (obsahG.length < 2) { jeErr = true; msgErr = 'Název akce zdá se býti trochu podivný.'; } if (datumG.length < 10) { msgX = 'Datum akce zdá se býti trochu podivné.'; if (jeErr) msgErr = msgErr + '<br>' + msgX else msgErr = msgX; jeErr = true; } else { var datum = new Date(datumG), datumOd = new Date(datumOd), datumDo = new Date(datumDo); if ((datum < datumOd) || (datum > datumDo)) { msgX = 'Datum konání není ze zvoleného týdne.'; if (jeErr) msgErr = msgErr + '<br>' + msgX else msgErr = msgX; jeErr = true; } } var datumZverejnit = new Date(zverejnitG); if (datumZverejnit > datum) { msgX = 'To nemá smysl, aby akce byla zveřejněna po její konání.'; if (jeErr) msgErr = msgErr + '<br>' + msgX else msgErr = msgX; jeErr = true; } if (jeErr) { $("#errEdit").removeClass('d-none').html(msgErr); } return !jeErr; } $('#btnSaveAkce').on('click', function () { let akce = tinymce.get("ckeAkce").getContent(), idRok = rgKod("rgRokZobr"), idTyden = rgKod("rgTydenZobr"), idTydenAktualni = idTyden, idAkce = rgKod("rgAkce"); if (KontrolaAkce()) { $.ajax({ url: "www/plany/textyAkceUloz.php", type: 'POST', data: { 'operace': 's', //save 'obsah': akce, 'idAkce': idAkce, 'nadpis': obsahG, 'datum': datumG, 'cas': casG, 'stav': stavG, 'informace': informaceG, 'podilise': podiliseG, 'zverejnit': zverejnitG, 'kategorie': kategorieG }, success: function (result) { $("#alAkceZmena").addClass("d-none"); $("#errEdit").addClass('d-none').html(""); $.ajax({ url: "www/plany/textyAkceSeznam.php", type: 'POST', data: { 'idTydenAktualni': idTydenAktualni, 'idAkce': idAkce }, success: function (result) { $("#idPlanyAkce").html(result); } }) /* $("#lblrgAkce"+idAkce).html(result); let datumS = datumG.split('-'); $("#dateAkce"+idAkce).html(datumS[2]+'.'+datumS[1]+'.'); */ } }) } }) function akceKopie() { var valuesCB = $("input[name='cbKategorie']:checked").map(function () { return $(this).val(); }).get(); kategorieG = ''; valuesCB.forEach(function (item) { kategorieG += item + '*' }); let idRok = rgKod("rgRokZobr"), idTyden = rgKod("rgTydenZobr"), idTydenAktualni = idTyden, idAkce = rgKod("rgAkce"); $.ajax({ url: "www/plany/textyAkceKopie.php", type: 'POST', data: { 'idAkce': idAkce, 'kategorie': kategorieG, }, success: function (result) { $("#alAkceZmena").addClass("d-none"); $("#errEdit").addClass('d-none').html(""); $.ajax({ url: "www/plany/textyAkceSeznam.php", type: 'POST', data: { 'idTydenAktualni': idTydenAktualni, 'idAkce': result, }, success: function (result) { $("#idPlanyAkce").html(result); } }) } }) } function zalozAkci() { let akce = tinymce.get("ckeAkce").getContent(), idRok = rgKod("rgRokZobr"), idTyden = rgKod("rgTydenZobr"), idTydenAktualni = idTyden, idAkce = rgKod("rgAkce"); if (KontrolaAkce()) { $.ajax({ url: "www/plany/textyAkceUloz.php", type: 'POST', data: { 'operace': 'n', //new 'obsah': akce, 'idAkce': idAkce, 'nadpis': obsahG, 'datum': datumG, 'cas': casG, 'stav': stavG, 'informace': informaceG, 'podilise': podiliseG, 'zverejnit': zverejnitG, 'kategorie': kategorieG, 'idRok': idRok, }, success: function (result) { $("#alAkceZmena").addClass("d-none"); $("#errEdit").addClass('d-none').html(""); $("#btnRowEditaceAkce").toggleClass("d-none"); $("#btnRowNovaAkce").toggleClass("d-none"); $("#h5Nova").toggleClass("d-none"); $.ajax({ url: "www/plany/textyAkceSeznam.php", type: 'POST', data: { 'idTydenAktualni': idTydenAktualni, 'idAkce': result, }, success: function (result) { $("#idPlanyAkce").html(result); } }) } }) } } function rgAkceClick(idAkce) { console.log(idAkce); $.ajax({ url: "www/plany/textyAkceData.php", type: 'POST', data: { 'idAkce': idAkce, }, success: function (result) { if (result){ let obj = JSON.parse(result); $("#obsah").val(obj.nadpis); $("#datum").val(obj.datum); $("#zverejnit").val(obj.zverejnit); $("#cas").val(obj.cas); $("#podilise").val(obj.podilise); $('#cbStav').prop('checked', (obj.stav == '1') ? true : false); $('#cbInformace').prop('checked', (obj.informace == '1') ? true : false); let kategorie = obj.kategorie.split("#"); $("[id^='cbKategorie']").prop('checked', false); for (const idkat of kategorie) { $("#cbKategorie"+idkat).prop("checked", true); } tinymce.get("ckeAkce").setContent(obj.obsah); $("#alAkceZmena").addClass("d-none"); } } }) // }) } function btnStornoNova() { var idRok = rgKod("rgRokZobr"), idTyden = rgKod("rgTydenZobr"), idTydenAktualni = idTyden, idAkce = rgKod("rgAkce"); if (idAkce > 0) { rgAkceClick(idAkce); $("#btnRowEditaceAkce").toggleClass("d-none"); $("#btnRowNovaAkce").toggleClass("d-none"); $("#h5Nova").toggleClass("d-none"); $("#errEdit").addClass('d-none').html(""); } else { $("#akceEditor").html(""); } } $('#pznDel').on('click', function () { $("#pznDlgDel").removeClass("d-none"); }) $('#pznDelNe').on('click', function () { $("#pznDlgDel").addClass("d-none"); }) // }) </script>