<?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";

# Wenn Seite neu aufgerufen wird, dann alle Sessions, die mit "erf_" beginnen löschen
if (isset($_GET['new']) AND $_GET['new'] == 1) {
  ;
  $search_prefix = 'erf_';
  $search_len    = strlen($search_prefix);
  foreach ($_SESSION as $key => $value) {
    if (substr($key, 0, $search_len) == $search_prefix) {
      unset($_SESSION[$key]);
    }
  }
}

#echo "<pre>";
#echo nl2br(print_r($_SESSION,true));
#echo "</pre>";

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('erf_abschluss', 1);
    $smarty->assign('erf_error', 1);
    $smarty->assign('erf_error_text', 'Der aktuelle Jahrgang ist bereits abgeschlossen!');
  } else {
    $smarty->assign('erf_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('erf_error', 1);
    
    $smarty->assign('erf_value_titel', $_SESSION["erf_titel"]);
    if($_SESSION["erf_titel"] == "" or $_SESSION["erf_module"] == "" or $_SESSION["erf_schwerpunkt"] == ""){ $smarty->assign('erf_titel_hig', 1);}else{$smarty->assign('erf_titel_hig', 0);}
    
    $smarty->assign('erf_value_module', $_SESSION["erf_module"]);
    
    $smarty->assign('erf_value_schwerpunkt', $_SESSION["erf_schwerpunkt"]);
    
    $smarty->assign('erf_value_art', $_SESSION["erf_art"]);
    if($_SESSION["erf_art"] == ""){ $smarty->assign('erf_art_hig', 1);}else{$smarty->assign('erf_art_hig', 0);}
    
    $smarty->assign('erf_value_anz_ag', $_SESSION["erf_anz_ag"]);
    
    $smarty->assign('erf_value_studiengang', $_SESSION["erf_studiengang"]);
    if($_SESSION["erf_studiengang"] == ""){ $smarty->assign('erf_studiengang_hig', 1);}else{$smarty->assign('erf_studiengang_hig', 0);}
    
    $smarty->assign('erf_value_krankheit', $_SESSION["erf_krankheit"]);
    
    $smarty->assign('erf_value_gemlv', $_SESSION["erf_gemlv"]);
    
    $smarty->assign('erf_value_fachlv', $_SESSION["erf_fachlv"]);
    
    $smarty->assign('erf_value_anzgemlv', $_SESSION["erf_anzgemlv"]);
    if($_SESSION["erf_anzgemlv"] == "" AND $_SESSION["erf_gemlv"] == "J"){ $smarty->assign('erf_anzgemlv_hig', 1);}else{$smarty->assign('erf_anzgemlv_hig', 0);}
    
    $smarty->assign('erf_value_namegemlv', $_SESSION["erf_namegemlv"]);
    if($_SESSION["erf_namegemlv"] == "" AND $_SESSION["erf_gemlv"] == "J"){ $smarty->assign('erf_namegemlv_hig', 1);}else{$smarty->assign('erf_namegemlv_hig', 0);}

    $smarty->assign('erf_value_basislvsgemlv', $_SESSION["erf_basislvsgemlv"]);
    if(($_SESSION["erf_basislvsgemlv"] == "" or $_SESSION["erf_basislvsgemlv"] < "0,1") AND $_SESSION["erf_gemlv"] == "J"){ $smarty->assign('erf_basislvsgemlv_hig', 1);}else{$smarty->assign('erf_basislvsgemlv_hig', 0);}
    
    $smarty->assign('erf_value_teamteaching', $_SESSION["erf_teamteaching"]);
    if($_SESSION["erf_teamteaching"] == "" AND $_SESSION["erf_gemlv"] == "J"){ $smarty->assign('erf_teamteaching_hig', 1);}else{$smarty->assign('erf_teamteaching_hig', 0);}
    
    $smarty->assign('erf_value_tage_exkursion', $_SESSION["erf_tage_exkursion"]);
    if($_SESSION["erf_tage_exkursion"] == "1" AND 
            ($_SESSION["erf_exk_datumvon"] == "" OR 
             $_SESSION["erf_exk_beschreibung"] == "" OR 
             $_SESSION["erf_exk_stdanreise"] == "")
       ){ $smarty->assign('erf_tage_exkursion_hig', 1);}else{$smarty->assign('erf_tage_exkursion_hig', 0);}
    
    if($_SESSION["erf_tage_exkursion"] == "2" AND 
            ($_SESSION["erf_exk_datumvon"] == "" OR 
             $_SESSION["erf_exk_datumbis"] == "" OR 
             $_SESSION["erf_exk_beschreibung"] == "" OR 
             $_SESSION["erf_exk_stdanreise"] == "" OR
             $_SESSION["erf_exk_stdabreise"] == "")
       ){ $smarty->assign('erf_tage_exkursion_hig', 1);}else{$smarty->assign('erf_tage_exkursion_hig', 0);}
    
    
    $smarty->assign('erf_value_std', $_SESSION["erf_std"]);
    if($_SESSION["erf_std"] == "" or $_SESSION["erf_std"] < "0,1"){ $smarty->assign('erf_std_hig', 1);}else{$smarty->assign('erf_std_hig', 0);}
    
    $smarty->assign('erf_value_hinweise', $_SESSION["erf_hinweise"]);
    /*Hinweise sind keine Pflichtfelder, daher auch hier keine _hig Variable*/

    if ($errorno == 1) {
      $smarty->assign('erf_error_text', "Es m&uuml;ssen alle aktiven Felder (ausgenommen dem Hinweisfeld) ausgef&uuml;llt werden! ");
    }
    if ($errorno == 2) {
      # Extracurriculare Stunden wären überschritten
      $bisherige_extracurr = number_format($_GET['summecurr'], 2, ',', '.');
      $smarty->assign('erf_error_text', "Der eingegebene LVS-Wert würde die maximal zulässige Summe von $summe_extracur LVS überschreiten.<br>Derzeit sind $bisherige_extracurr Std vom Typ \"Extracurricularem Klausurenkurs\" erfasst!");
    }
    if ($errorno == 3) {
      # ungültiges Datum
      $smarty->assign('erf_error_text', "Das eingegebene Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!");
    }
  }
  
  
  if (isset($_GET['edit'])) {
    $_SESSION["erf_status"] = 'edit';
    $did                    = $_GET['edit'];
    $_SESSION["erf_did"]    = $did;
  } else {
    $_SESSION["erf_status"] = 'neu';
  }
  
  # Defaultwert bei Krankheitsbedingten Merkmale:
  $smarty->assign('erf_value_krankheit', "0");
  
  # --- Wenn Werte editiert werden ------------
  if ($_SESSION["erf_status"] == 'edit') {
    $result_edit = $db->query("SELECT did, titel, module, schwerpunkt, dsgid, verid, anz_ag, krankheitsmerkmal, gemlv, fachlv, anzgemlv, namegemlv, basislvsgemlv, teamteaching, exk_tage, date_format(exk_datumvon, '%d.%m.%Y') exk_datumvon, date_format(exk_datumbis, '%d.%m.%Y') exk_datumbis, exk_beschreibung, exk_stdanreise, exk_stdabreise, std, std_default, hinweise
                                   FROM dep_deputat
                                  WHERE did = $did");
    $row_edit    = $result_edit->fetch_array();

    $smarty->assign('erf_value_titel', "$row_edit[titel]");
    $_SESSION["erf_module"]      = $row_edit['module'];
    $_SESSION["erf_schwerpunkt"] = $row_edit['schwerpunkt'];
    $smarty->assign('erf_value_art', "$row_edit[verid]");
    $smarty->assign('erf_value_anz_ag', "$row_edit[anz_ag]");
    $smarty->assign('erf_value_studiengang', "$row_edit[dsgid]");
    $smarty->assign('erf_value_krankheit', "$row_edit[krankheitsmerkmal]");
    $smarty->assign('erf_value_gemlv', "$row_edit[gemlv]");
    $smarty->assign('erf_value_fachlv', "$row_edit[fachlv]");
    $smarty->assign('erf_value_anzgemlv', "$row_edit[anzgemlv]");
    $smarty->assign('erf_value_namegemlv', "$row_edit[namegemlv]");
    $smarty->assign('erf_value_basislvsgemlv', "$row_edit[basislvsgemlv]");
    $smarty->assign('erf_value_teamteaching', "$row_edit[teamteaching]");
    $smarty->assign('erf_value_exk_tage', "$row_edit[exk_tage]");
    $smarty->assign('erf_value_exk_datumvon', "$row_edit[exk_datumvon]");
    $smarty->assign('erf_value_exk_datumbis', "$row_edit[exk_datumbis]");
    $smarty->assign('erf_value_exk_beschreibung', "$row_edit[exk_beschreibung]");
    $smarty->assign('erf_value_exk_stdanreise', "$row_edit[exk_stdanreise]");
    $smarty->assign('erf_value_exk_stdabreise', "$row_edit[exk_stdabreise]");
    $smarty->assign('erf_value_std', "$row_edit[std]");
    $smarty->assign('erf_value_std_default', "$row_edit[std_default]");
    $smarty->assign('erf_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["erf_status"] = 'neu';
  }
  
  # Alle Veranstaltungsarten
  $query0 = "SELECT dsgid, bezeichnung
                FROM dep_kat_studiengang";
  
  $result0 = $db->query($query0) or die("Cannot execute query0");
  
  while ($row0 = $result0->fetch_array()) {
    $table_data0[] = $row0;
  }
  $smarty->assign('table_data0', $table_data0);
  
  
  
  # Alle Veranstaltungsarten
  $query = "SELECT verid, bezeichnung
                FROM dep_kat_veranstaltungsart
               WHERE sonstige = 0";
  
  $result = $db->query($query) or die("Cannot execute query");
  
  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 did, titel, module, schwerpunkt, dsgid, verid, krankheitsmerkmal, gemlv, anzgemlv, namegemlv, teamteaching, exk_tage, exk_datumvon, exk_datumbis, exk_beschreibung, exk_stdanreise, exk_stdabreise, std, hinweise
                   FROM dep_deputat
                  WHERE imtuid=$uid
                    AND jahr=$jahrgang
                  ORDER BY created desc";
  
  $result2 = $db->query($query2) or die("Cannot execute query");
  
  while ($row2 = $result2->fetch_array()) {
    
    $query_dsgid = $db->query("SELECT bezeichnung
                                   FROM dep_kat_studiengang
                                  WHERE dsgid='$row2[dsgid]'");
    $row_dsgid   = $query_dsgid->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";
    }
    
    
    /* Marix, wann $modul $schwerpunkt oder $titel verwendet wird 
    findet sind in Excel "erfassen_eingabe_felder.xlsx" Tab "Matrix Titel"
    
    $titel            = $_POST['titel'];
    $module           = $_POST['module'];
    $schwerpunkt      = $_POST['schwerpunkt'];
    */
    if ($row2['verid'] == "1" AND ($row2['dsgid'] == "1" or $row2['dsgid'] == "2" or $row2['dsgid'] == "3" or $row2['dsgid'] == "4")) {
      # In Kombination Vorlesung mit Public Management, Steuer, Rente und Finanz gilt $modul und $titel und $schwerpunkt sind leer
      $query_vorl = $db->query("SELECT bezeichnung
                                   FROM dep_kat_studienmodul
                                  WHERE dsmid='$row2[module]'");
      $row_vorl   = $query_vorl->fetch_array();
      $titel      = $row_vorl['bezeichnung'];
    } elseif ($row2['verid'] == 11) {
      # Bei Schwerpunkt gilt immer $schwerpunkt
      $query_spt = $db->query("SELECT bezeichnung
                                   FROM dep_kat_schwerpunkt
                                  WHERE dspid='$row2[schwerpunkt]'");
      $row_spt   = $query_spt->fetch_array();
      $titel     = $row_spt['bezeichnung'];
    } else {
      # Bei anderen konstellationen gibt es immer $titel
      $titel = $row2['titel'];
    }
    
    $std                       = number_format($row2['std'], 2, ',', '.');
    $row2['std']               = $std;
    $row2['titel']             = $titel;
    $row2['gemlv_form']        = $gemlv_form;
    $row2['krankheitsmerkmal'] = $krankheitsmerkmal;
    $row2['studiengang']       = $row_dsgid['bezeichnung'];
    $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(std) summe_jahr
                                     FROM dep_deputat
                                     WHERE imtuid=$uid
                                       AND jahr=$jahrgang");
  $row_jahrsum   = $query_jahrsum->fetch_array();
  $summe_jahr    = number_format($row_jahrsum['summe_jahr'], 2, ',', '.');
  $smarty->assign('erf_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('erf_value_exk_faktor', $faktor);
  $smarty->assign('erf_value_exk_max_wert', $max_wert);
  
  
}

if ($action == 'register') {
  
  #Debug alle get parameter ausgeben
  #foreach($_POST as $key=>$value)
  #{
  #    echo $key." -> ".$value."<br>";
  #}
  #exit;
  
  /* Entweder gibt es Titel, Modul aus DB-Katalog oder Schwerpunkt aus DB-Katalog*/
  
  
  $art            = $_POST['art']; # Vorlesung, Übung, Seminar
  $studiengang    = $_POST['studiengang']; # Public Management, Steurverwaltung
  $anz_ag         = $_POST['anz_ag']; # Anzahl der Arbeitsgemeinschaften
  $krankheit      = $_POST['krankheit']; # keine, Lehrveranstaltung übernommen, Lehrveranstaltung nachgeholt
  $tage_exkursion = $_POST['tage_exkursion']; # Exkursionstage
  $gemlv          = $_POST['gemlv']; # Gemeinsame Lehrveranstaltung J/N
  $fachlv         = $_POST['fachlv']; # fachübergreifende LV
  $anzgemlv       = $_POST['anzgemlv']; # Anzahl der Lehrenden	
  $namegemlv      = $_POST['namegemlv']; # Name der Lehrenden
  $hinweise       = $_POST['hinweise']; # Hinweise des Dozenten
  
  /* Marix, wann $modul $schwerpunkt oder $titel verwendet wird 
  findet sind in Excel "erfassen_eingabe_felder.xlsx" Tab "Matrix Titel"
  
  $titel            = $_POST['titel'];
  $module           = $_POST['module'];
  $schwerpunkt      = $_POST['schwerpunkt'];
  */
  if ($art == "1" AND ($studiengang == "1" or $studiengang == "2" or $studiengang == "3" or $studiengang == "4")) {
    # In Kombination Vorlesung mit Public Management, Steuer, Rente und Finanz gilt $modul und $titel und $schwerpunkt sind leer
    $titel       = "";
    $module      = $_POST['module'];
    $schwerpunkt = "";
  } elseif ($art == 11) {
    # Bei Schwerpunkt gilt immer $schwerpunkt
    $titel       = "";
    $module      = "";
    $schwerpunkt = $_POST['schwerpunkt'];
  } else {
    # Bei anderen konstellationen gibt es immer $titel
    $titel       = $_POST['titel'];
    $module      = "";
    $schwerpunkt = "";
  }

  /* Variablen zu Exkursionen kommen nur bei Exkursionen vor, ansonsten gilt $std
  
  $exk_datumvon     = $_POST['exk_datumvon'];		# Datum von Exkursion
  $exk_datumbis     = $_POST['exk_datumbis'];		# Datum bis bei mehrtägig
  $exk_beschreibung = $_POST['exk_beschreibung'];	# Beschreibung/Ort Exkursion
  $exk_stdanreise   = $_POST['exk_stdanreise'];		# Stunden Exkursion Anreisetag
  $exk_stdabreise   = $_POST['exk_stdabreise'];		# Stunden Ankunftstag zu Hause
  */
  if ($art == 5) {
    if ($tage_exkursion == 1) {
      # Eintägige Exkursionen

      # Datumsformat von DD.MM.YYYY nach YYYY-MM-DD
      $exk_datumvon = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $_POST['exk_datumvon']);  
      $exk_datumbis     = ""; # Datum bis bei mehrtägig

      $exk_beschreibung = $_POST['exk_beschreibung']; # Beschreibung/Ort Exkursion
      $exk_stdanreise   = str_replace(',','.',str_replace('.','', $_POST['exk_stdanreise'])); # Stunden Exkursion Anreisetag
      $exk_stdabreise   = ""; # Stunden Ankunftstag zu Hause bei mehrtögig
    }
    if ($tage_exkursion == 2) {
      # Mehrtägige Exkursionen
      
      # Datumsformat von DD.MM.YYYY nach YYYY-MM-DD
      $exk_datumvon = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $_POST['exk_datumvon']);  
      $exk_datumbis = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $_POST['exk_datumbis']);  
      
      $exk_beschreibung = $_POST['exk_beschreibung']; # Beschreibung/Ort Exkursion
      $exk_stdanreise   = str_replace(',','.',str_replace('.','', $_POST['exk_stdanreise'])); # Stunden Exkursion Anreisetag
      $exk_stdabreise   = str_replace(',','.',str_replace('.','', $_POST['exk_stdabreise'])); # Stunden Ankunftstag zu Hause bei mehrtägig
    }
    $std         = "";
    $std_default = "";
  } else {
    $std      = str_replace(',','.',str_replace('.','', $_POST['std'])); # Summe eigene Lehrstunden (LVS)

    $std_default      = $_POST['std_default']; # Verstecktes Feld: Da wird für das Javascript die Basisstunden Erfasst. Bei der Anzahl der Arbeitsgemeinschaften wird die Basiswert mit Anzahl Ags multipliziert. Im hiddenfeld ist immer der Basiswert aus dem Katalog
    # Exkursionen gibts außerhalb art=5 nicht
    $exk_datumvon     = ""; # Datum von Exkursion
    $exk_datumbis     = ""; # Datum bis bei mehrtägig
    $exk_beschreibung = ""; # Beschreibung/Ort Exkursion
    $exk_stdanreise   = ""; # Stunden Exkursion Anreisetag
    $exk_stdabreise   = ""; # Stunden Ankunftstag zu Hause bei mehrtögig
  }
  
  /* Variablen zu Teamteching setzen
  Bei fachübergreifende LV gibt es kein Teamteaching und kein Basiswert
  */
  if ($fachlv == 'J') {
    $basislvsgemlv = ""; # Basiswert der gemeinsamen LV bei nicht fächerübergreifende LV. Damit wird die Gesamtsume mit dem Teachingfaktor multipliziert. Bekommt Doz an der Oberfläche angezeigt. Wert wird nachrichtlich übernommen
    $teamteaching  = ""; # Teachingfaktor  
  } else {
    $basislvsgemlv = $_POST['basislvsgemlv']; # Basiswert der gemeinsamen LV bei nicht fächerübergreifende LV. Damit wird die Gesamtsume mit dem Teachingfaktor multipliziert. Bekommt Doz an der Oberfläche angezeigt. Wert wird nachrichtlich übernommen
    $teamteaching  = $_POST['teamteaching']; # Teachingfaktor  
  }
  
  
  $_SESSION["erf_titel"]            = $titel;
  $_SESSION["erf_module"]           = $module;
  $_SESSION["erf_schwerpunkt"]      = $schwerpunkt;
  $_SESSION["erf_art"]              = $art;
  $_SESSION["erf_studiengang"]      = $studiengang;
  $_SESSION["erf_anz_ag"]           = $anz_ag;
  $_SESSION["erf_krankheit"]        = $krankheit;
  $_SESSION["erf_gemlv"]            = $gemlv;
  $_SESSION["erf_fachlv"]           = $fachlv;
  $_SESSION["erf_anzgemlv"]         = $anzgemlv;
  $_SESSION["erf_namegemlv"]        = $namegemlv;
  $_SESSION["erf_basislvsgemlv"]    = $basislvsgemlv;
  $_SESSION["erf_teamteaching"]     = $teamteaching;
  $_SESSION["erf_tage_exkursion"]   = $tage_exkursion;
  $_SESSION["erf_exk_datumvon"]     = $_POST['exk_datumvon'];
  $_SESSION["erf_exk_datumbis"]     = $_POST['exk_datumbis'];
  $_SESSION["erf_exk_beschreibung"] = $exk_beschreibung;
  $_SESSION["erf_exk_stdanreise"]   = $exk_stdanreise;
  $_SESSION["erf_exk_stdabreise"]   = $exk_stdabreise;
  $_SESSION["erf_std"]              = $std;
  $_SESSION["erf_std_default"]      = $std_default;
  $_SESSION["erf_hinweise"]         = $hinweise;

  
  
  
  # Bei Art == 11 (Schwerpunktthema) darf $module nicht leer sein
  # Bei Art == 1 (Vorlesung) darf $schwerpunkt nicht leer sein
  # Bei allen anderen Darf Titel nicht leer sein
 
  if ($art == 11 AND $schwerpunkt == '') {
#    echo "1";
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
    exit;
    
  } elseif ($art == 1 AND $module == '') {
    /*Bei Vorlesungen wird normalerweise das Modul eingeblendet, außer bei den Masterstudengaengen, da wird Titel eingeblendet
    Bei Master darf Titel nicht leer sein,
    Bei allen anderen das Modul nicht leer*/
    if($studiengang == "5" or $studiengang == "6"){
      if($titel == ''){
#        echo "2a";
        echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
        exit;
      }
    }else{
      if($module == ''){
#        echo "2b";
        echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
        exit;
      }
    }
     

  } elseif (($art != 11 AND $art != 1) AND $titel == '') {
#    echo "3";
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
    exit;
  } elseif ($studiengang == '' or $art == '' or $gemlv == '' or $studiengang == '' AND ($titel or $module == '' or $schwerpunkt == '')) {
#    echo "4";
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
    exit;
  }elseif ($art != 5 AND $std == ''){
#    echo "4a";
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
    exit;
  }
 
  

  
  # Konstellationen prüfen:
  # Bei fachübergreifende LV müssen zumindest Anzahl und Name der Lehrenden ausgefüllt sein
  if ($gemlv == 'J' AND $fachlv == 'J' AND ($anzgemlv == '' or $namegemlv == '')) {
    #echo "5";
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
    exit;
  }
  
  # Bei NICHT fachübergreifende LV müssen zumindest Anzahl, Name, Basiswert und Teamteachingfaktor der Lehrenden ausgefüllt sein
  if ($gemlv == 'J' AND $fachlv == 'N' AND ($anzgemlv == '' or $namegemlv == '' or $namegemlv == '' or $basislvsgemlv == '' or $teamteaching == '')) {
    #echo "6";
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
    exit;
  }
  
  # Fehler bei Exkursion
  
  function validateDate($date, $format = 'Y-m-d'){
    $d = DateTime::createFromFormat($format, $date);
    return $d && $d->format($format) == $date;
  }   
  
  if ($tage_exkursion == 1 AND $art == 5) {
    #Eintägig
    if(!validateDate($exk_datumvon)){
      echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">";
      exit;    
    }
    
    if ($exk_datumvon == '' or $exk_datumvon == '0000-00-00' or $exk_beschreibung == '' or $exk_stdanreise == '') {
      # Fehler bei leeren Felder
      #echo "7";
      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(!validateDate($exk_datumvon)){
      echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">";
      exit;    
    }
    
    if(!validateDate($exk_datumbis)){
      echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">";
      exit;    
    }
    
    if ($exk_datumvon == '' or $exk_datumvon == '0000-00-00' or $exk_datumbis == '' or $exk_datumbis == '0000-00-00'or $exk_beschreibung == '' or $exk_stdanreise == '' or $exk_stdabreise == '') {
      # Fehler bei leeren Felder
      #echo "8";
      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(std) summe_jahr
                                   FROM dep_deputat
                                  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;
    }
  }
  
  ## Im Fehlerfall muss ursprüngliche Bildschirm wieder angezeigt weden
  # Zu achten auf Studiengang / Vorlesung Kombination
  # Bei Art=Schwerpunktthema, müssen die richtigen schwerpunktthemen eingeblendet werden
  # Bei Exkursionen müssen die Felder für ein/mehrtägige Exkursionen eingeblendet werden
  #echo "alles richtig";
  #exit;
  
  
  $datum = date("Y-m-d H:i:s");
  if ($_SESSION["erf_status"] == 'neu') {
    
    $sql1 = $db->query("INSERT INTO dep_deputat ( imtuid
                                                    , jahr
                                                    , titel
                                                  , module
                                                  , schwerpunkt
                                                    , dsgid
                                                    , verid
                                                  , anz_ag
                                                    , krankheitsmerkmal
                                                    , gemlv
                                                  , fachlv
                                                    , anzgemlv
                                                    , namegemlv
                                                  , basislvsgemlv
                                                    , teamteaching
                                                    , exk_tage
                                                    , exk_datumvon
                                                    , exk_datumbis
                                                    , exk_beschreibung
                                                    , exk_stdanreise
                                                    , exk_stdabreise
                                                    , std
                                                  , std_default
                                                    , hinweise
                                                    , created
                                                    )
                                VALUES
                                                    ( '$uid'
                                                    , '$jahrgang'
                                                    , '$titel'
                                                  , '$module'
                                                  , '$schwerpunkt'
                                                    , '$studiengang'
                                                    , '$art'
                                                  , '$anz_ag'
                                                    , '$krankheit'
                                                    , '$gemlv'
                                                  , '$fachlv'
                                                    , '$anzgemlv'
                                                    , '$namegemlv'
                                                  , '$basislvsgemlv'
                                                    , '$teamteaching'
                                                    , '$tage_exkursion'
                                                    , '$exk_datumvon'
                                                    , '$exk_datumbis'
                                                    , '$exk_beschreibung'
                                                    , '$exk_stdanreise'
                                                    , '$exk_stdabreise'
                                                    , '$std'
                                                  , '$std_default'
                                                    , '$hinweise'
                                                    , '$datum'
                                                    )
                              ");
  }
  
  if ($_SESSION["erf_status"] == 'edit') {
    $did    = $_SESSION["erf_did"];
    $result = $db->query("UPDATE dep_deputat 
                                 SET titel = '$titel'
                                 , module  = '$module'
                                 , schwerpunkt  = '$schwerpunkt'
                                   , dsgid  = '$studiengang'
                                   , verid  = '$art'
                                 , anz_ag = '$anz_ag'
                                   , krankheitsmerkmal = '$krankheit'
                                   , gemlv    = '$gemlv'
                                 , fachlv = '$fachlv'
                                   , anzgemlv     = '$anzgemlv'
                                   , namegemlv     = '$namegemlv'
                                 , basislvsgemlv     = '$basislvsgemlv'
                                   , teamteaching     = '$teamteaching'
                                   , exk_tage    =  '$tage_exkursion'
                                   , exk_datumvon    =  '$exk_datumvon'
                                   , exk_datumbis    =  '$exk_datumbis'
                                   , exk_beschreibung    =  '$exk_beschreibung'
                                   , exk_stdanreise    =  '$exk_stdanreise'
                                   , exk_stdabreise    =  '$exk_stdabreise'
                                   , std     = '$std'
                                 , std_default     = '$std_default'
                                   , hinweise = '$hinweise'
                                   , modify_date = '$datum'
                              WHERE did = $did
                         ");
    
    unset($_SESSION['erf_did']);
  }
  
  # 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&new=1\">";
  
}


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

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

?>
