<?php
session_start();
$jahrgang = $_SESSION["jahrgang"];
include_once 'classes/TestProjektSmarty.class.php';
require_once("config.inc.php");
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
$smarty       = new Smarty();
require_once "functions.php";
require_once "language/german.inc.php";
#require_once "func_lvs_exk_mehrtaegig.php";
#require_once "func_lvs_exk_eintaegig.php";

if (isset($_GET['action'])) {
  $action = $_GET['action'];
} else {
  $action = '';
}


if ($action == '') {
  
  if ($jahrgang == "") {
    echo "Bitte zuerst <a href='jahrgang.php'>Jahrgang</a> w&auml;hlen!";
    exit;
  }
  # Prüfen ob der Jahrgang schon abgeschlossen wurde, dann soll der Button "Abschließen und absenden" ausgeblendet werden
  $query_closed = $db->query("SELECT count(*) Anz
                                FROM dep_doz_abschluss
                               WHERE imtuid=$uid
                                 AND jahr=$jahrgang");
  $row_closed   = $query_closed->fetch_array();
  
  if ($row_closed['Anz'] > 0) {
    $smarty->assign('erfs_abschluss', 1);
    $smarty->assign('erfs_error', 1);
    $smarty->assign('erfs_error_text', 'Der aktuelle Jahrgang ist bereits abgeschlossen!');
  } else {
    $smarty->assign('erfs_abschluss', 0);
  } // Jahrgang abgeschlossen
  
  # Ausgabe Anzahl der max LVS für extracurriculare Klausurenkurs pro Jahr
  #  $query_extracur   = $db->query("SELECT wert1, wert2
  #                                  FROM dep_parameter
  #                                  WHERE pid =6");
  #  $row_extracur     = $query_extracur->fetch_array();
  #  $summe_extracur   = number_format($row_extracur['wert1'], 0);
  #  $einheit_extracur = $row_extracur['wert2'];
  #  $smarty->assign('abschluss_value_max_extracur', $summe_extracur);
  #  $smarty->assign('abschluss_einheit_max_extracur', $einheit_extracur);
  
  # -- Fehlermeldungen -- #
  if (isset($_GET[error])) {
    
    $errorno = $_GET[error];
    
    $smarty->assign('erfs_error', 1);
    
    $smarty->assign('erfs_value_titel', $_SESSION["erfs_titel"]);
    $smarty->assign('erfs_value_art', $_SESSION["erfs_art"]);
    $smarty->assign('erfs_value_std', $_SESSION["erfs_std"]);
    $smarty->assign('erfs_value_hinweise', $_SESSION["erfs_hinweise"]);
    
    if ($errorno == 1) {
      $smarty->assign('erfs_error_text', "Es m&uuml;ssen alle aktiven Felder (ausgenommen dem Hinweisfeld) ausgef&uuml;llt werden! ");
    }
  }
  
  
  if (isset($_GET['edit'])) {
    $_SESSION["erfs_status"] = 'edit';
    $dsid                    = $_GET['edit'];
    $_SESSION["erfs_dsid"]   = $dsid;
  } else {
    $_SESSION["erfs_status"] = 'neu';
  }
  
  # Defaultwert bei Krankheitsbedingten Merkmale:
  $smarty->assign('erfs_value_krankheit', "0");
  
  # --- Wenn Werte editiert werden ------------
  if ($_SESSION["erfs_status"] == 'edit') {
    $result_edit = $db->query("SELECT dsid, titel, verid, lvs, hinweise
                                 FROM dep_deputat_sonstige
                                WHERE dsid = $dsid");
    $row_edit    = $result_edit->fetch_array();
    $smarty->assign('erfs_value_titel', "$row_edit[titel]");
    $smarty->assign('erfs_value_art', "$row_edit[verid]");
    $smarty->assign('erfs_value_std', "$row_edit[lvs]");
    $smarty->assign('erfs_value_hinweise', "$row_edit[hinweise]");
    
  }
  # --- Wenn Werte editiert werden Ende -------
  
  if ($_GET['editende'] == 1) {
    # Editieren ist beendet, als ein update auf einen Datensatz. Dann ist der status wieder Neu, damit wird wieder ein Insert durchgefÃ¼hrt
    $_SESSION["erfs_status"] = 'neu';
  }
  
  
  # Alle Veranstaltungsarten
  $query = "SELECT verid, bezeichnung
              FROM dep_kat_veranstaltungsart
             WHERE sonstige = 1";
  
  $result = $db->query($query) or die("Cannot execute query1");
  
  while ($row = $result->fetch_array()) {
    $table_data1[] = $row;
  }
  $smarty->assign('table_data1', $table_data1);
  
  # Alle Teamteachingfaktoren ausgeben
  $query3 = "SELECT tid, bezeichnung
                FROM dep_kat_teamteaching";
  
  $result3 = $db->query($query3) or die("Cannot execute query3");
  
  while ($row3 = $result3->fetch_array()) {
    $table_data3[] = $row3;
  }
  $smarty->assign('table_data3', $table_data3);
  
  
  
  # Gespeicherte Werte
  $query2 = "SELECT dsid, titel, verid, lvs, hinweise
                 FROM dep_deputat_sonstige
                WHERE imtuid=$uid
                  AND jahr=$jahrgang
                ORDER BY verid ASC";
  
  $result2 = $db->query($query2) or die("Cannot execute query2");
  
  while ($row2 = $result2->fetch_array()) {
    
    $query_verid = $db->query("SELECT bezeichnung
                                   FROM dep_kat_veranstaltungsart
                                  WHERE verid='$row2[verid]'");
    $row_verid   = $query_verid->fetch_array();
    
    # Wird aktuell nicht mehr im Frontend eingeblendet
    $query_tid = $db->query("SELECT bezeichnung
                                   FROM dep_kat_teamteaching
                                  WHERE tid='$row2[teamteaching]'");
    $row_tid   = $query_tid->fetch_array();
    
    if ($row2['gemlv'] == 'J') {
      $gemlv_form = 'Ja';
    }
    if ($row2['gemlv'] == 'N') {
      $gemlv_form = 'Nein';
    }
    # Krankheitsbedingte Merkmale
    # 0=Keine; 1=LV übernommen; 2=LV nachgeholt
    if ($row2['krankheitsmerkmal'] == 0) {
      $krankheitsmerkmal = "keine";
    }
    if ($row2['krankheitsmerkmal'] == 1) {
      $krankheitsmerkmal = "LV&nbsp;&uuml;bernommen";
    }
    if ($row2['krankheitsmerkmal'] == 2) {
      $krankheitsmerkmal = "LV&nbsp;nachgeholt";
    }
    
    $lvs                       = number_format($row2['lvs'], 2, ',', '.');
    $row2['lvs']               = $lvs;
    $row2['gemlv_form']        = $gemlv_form;
    $row2['krankheitsmerkmal'] = $krankheitsmerkmal;
    $row2['veranstaltung']     = $row_verid['bezeichnung'];
    $row2['teamteaching_form'] = $row_tid['bezeichnung'];
    $table_data2[]             = $row2;
  }
  $smarty->assign('table_data2', $table_data2);
  
  # Jahressumme
  $query_jahrsum = $db->query("SELECT sum(lvs) summe_jahr
                                   FROM dep_deputat_sonstige
                                   WHERE imtuid=$uid
                                     AND jahr=$jahrgang");
  $row_jahrsum   = $query_jahrsum->fetch_array();
  $summe_jahr    = number_format($row_jahrsum['summe_jahr'], 2, ',', '.');
  $smarty->assign('erfs_value_summe_jahr', $summe_jahr);
  
  # Exkursionen
  $query_exkurs = $db->query("SELECT faktor, max_wert FROM `dep_kat_veranstaltungsart` WHERE verid=5");
  $row_exkurs   = $query_exkurs->fetch_array();
  $faktor       = number_format($row_exkurs['faktor'], 2, ',', '.');
  $max_wert     = number_format($row_exkurs['max_wert'], 2, ',', '.');
  $smarty->assign('erfs_value_exk_faktor', $faktor);
  $smarty->assign('erfs_value_exk_max_wert', $max_wert);
  
  
}

if ($action == 'register') {
  
  $titel    = $_POST['titel'];
  $art      = $_POST['art'];
  $std      = str_replace(',','.',str_replace('.','', $_POST['std']));
  $hinweise = $_POST['hinweise'];

  
  $_SESSION["erfs_titel"]    = $titel;
  $_SESSION["erfs_art"]      = $art;
  $_SESSION["erfs_std"]      = $std;
  $_SESSION["erfs_hinweise"] = $hinweise;
  
  #  if ($art != 5 AND ($titel == '' or $art == '' or $gemlv == '' or $std == '')) {
  if ($titel == '' or $art == '' or $std == '') {
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
    exit;
  }
  
  /*  
  if ($gemlv == 'J' AND ($anzgemlv == '' or $massgemlv == '' or $namegemlv == '' or $teamteaching == '')) {
  echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
  exit;
  }
  
  # Fehler bei Exkursion
  if ($tage_exkursion == 1 AND $art == 5) {
  #Eintägig
  if ($exk_datumvon == '' or $exk_beschreibung == '' or $exk_stdanreise == '') {
  # Fehler bei leeren Felder
  echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
  exit;
  } else {
  # LVS berechnen
  $std = lvs_exk_eintaegig($exk_stdanreise);
  }
  }
  
  if ($tage_exkursion == 2 AND $art == 5) {
  #Mehrtägig
  if ($exk_datumvon == '' or $exk_datumbis == '' or $exk_beschreibung == '' or $exk_stdanreise == '' or $exk_stdabreise == '') {
  # Fehler bei leeren Felder
  echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
  exit;
  } else {
  # LVS berechnen
  $std = lvs_exk_mehrtaegig($exk_stdanreise, $exk_stdabreise, $exk_datumvon, $exk_datumbis);
  }
  }
  
  # Defaultwert (checked) beim Laden der Seite soll nicht übernommen werden, wenn es keine Exkursion ist
  if ($art != 5) {
  $tage_exkursion = 0;
  }
  
  # Maximaler Anzahl der Extracurricularen Klausurenkurse prüfen. Derzeit 30 LVS -> Parameterwert 6
  if ($art == 6) {
  # Ausgabe Anzahl der max LVS für extracurriculare Klausurenkurs pro Jahr
  $query_extracur = $db->query("SELECT wert1
  FROM dep_parameter
  WHERE pid =6");
  $row_extracur   = $query_extracur->fetch_array();
  $summe_extracur = number_format($row_extracur['wert1'], 1);
  
  # Wie viele Stunden sind bereits im aktuellen Jahr gebucht
  $query_sumcurr = $db->query("SELECT sum(lvs) summe_jahr
  FROM dep_deputat_sonstige
  WHERE imtuid=$uid
  AND jahr=$jahrgang
  AND verid=6");
  $row_sumcurr   = $query_sumcurr->fetch_array();
  
  # vorhandene Summe + die aktuell eingegeben Stundenzahl darf Maximalwert nicht überschreiten
  $summecurr_neu = $row_sumcurr['summe_jahr'] + $std;
  if ($summecurr_neu > $summe_extracur) {
  echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=2&summecurr=$row_sumcurr[summe_jahr]\">";
  exit;
  }
  }
  
  */
  
  
  $datum = date("Y-m-d H:i:s");
  if ($_SESSION["erfs_status"] == 'neu') {
    $sql1 = $db->query("INSERT INTO dep_deputat_sonstige ( imtuid
                                                    , jahr
                                                    , titel
                                                    , verid
                                                    , lvs
                                                    , hinweise
                                                    , created
                                                    )
                                VALUES
                                                    ( '$uid'
                                                    , '$jahrgang'
                                                    , '$titel'
                                                    , '$art'
                                                    , '$std'
                                                    , '$hinweise'
                                                    , '$datum'
                                                    )
                              ");
  }
  
  if ($_SESSION["erfs_status"] == 'edit') {
    $dsid   = $_SESSION["erfs_dsid"];
    $result = $db->query("UPDATE dep_deputat_sonstige 
                                 SET titel = '$titel'
                                   , verid  = '$art'
                                   , lvs     = '$std'
                                   , hinweise = '$hinweise'
                                   , modify_date = '$datum'
                              WHERE dsid = $dsid
                         ");
    
    unset($_SESSION['erfs_dsid']);
  }
  
  # Dann bekommts beim refresh den status neu, also es wird beim Abschicken ein Insert gemacht
  $editende = 1;
  echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?editende=$editende\">";
  
}


if ($action == 'del') {
  $dsid = $_GET['dsid'];
  
  ## Muss man nochmals Ã¼berdenken, wenn ein Prof noch Deputate erfasst hat.
  $del1 = $db->query("DELETE FROM dep_deputat_sonstige WHERE dsid = $dsid AND imtuid=$uid");
  
  echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">";
}

$smarty->assign('action', "$action");
$smarty->display("$template/$templatename");

?>