Your IP : 3.133.109.145


Current Path : /data/web/virtuals/51568/virtual/www/www/plany/
Upload File :
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>