<?php
 if(!isset($_SESSION)) { session_start(); }  

include_once 'classes/TestProjektSmarty.class.php';
require_once("config.inc.php");
require_once("func_get_restplatz.php");
require_once("func_id.php");
require_once("func_terminwahl.php");
require_once("func_fetch_tan.php");
require_once("func_get_parameter.php");
require_once("func_standard_hs.php");
$smarty       = new Smarty();
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
require_once "language/german.inc.php";


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

}

if ($action == 'persdat') {

 # Im Fehlerfall oder beim zurückgehen sollen die Felder ausgefüllt sein
#echo "<pre>";
#echo nl2br(print_r($_SESSION,true));
#echo "</pre>";
 # Hinweis, ob im laufenden Ausbildungsjahr bereits ein Test
 $query_curausbjahr = $db->query("SELECT date_format(beginn, '%d.%m.%Y') beginn, date_format(ende, '%d.%m.%Y') ende, ausbildungsbeginn
                                    FROM bpm_stichtage
                                   WHERE ende >= date_format(now(), '%Y-%m-%d')
                                   ORDER BY beginn ASC
                                   LIMIT 1
                                 ");
                                 
 $row_curausbjahr = $query_curausbjahr->fetch_array();
 $curr_beginn = $row_curausbjahr['beginn'];
 $curr_ende = $row_curausbjahr['ende'];
 $curr_jahr = $row_curausbjahr['ausbildungsbeginn'];
 $smarty->assign('persdat_cur_beginn', $curr_beginn);
 $smarty->assign('persdat_cur_ende', $curr_ende);
 $smarty->assign('persdat_cur_ausbjahr', $curr_jahr);
 
 
 $smarty->assign('persdat_value_anrede', $_SESSION["anrede"]);
 $smarty->assign('persdat_value_vorname', stripslashes($_SESSION["vorname"]));
 $smarty->assign('persdat_value_nachname', stripslashes($_SESSION["nachname"]));
 $smarty->assign('persdat_value_gebdat', stripslashes($_SESSION["gebdat"]));
 $smarty->assign('persdat_value_str', stripslashes($_SESSION["str"]));
 $smarty->assign('persdat_value_plz', stripslashes($_SESSION["plz"]));
 $smarty->assign('persdat_value_ort', stripslashes($_SESSION["ort"]));
 $smarty->assign('persdat_value_alter18', stripslashes($_SESSION["alter18"]));
 $smarty->assign('persdat_value_mail', stripslashes($_SESSION["mail"]));
 $smarty->assign('persdat_value_tel', stripslashes($_SESSION["tel"]));
 $smarty->assign('persdat_value_wh_test', stripslashes($_SESSION["wh_test"]));
 $smarty->assign('persdat_value_id_wied', stripslashes($_SESSION["id_wied"]));
 $smarty->assign('persdat_value_tan_wied', stripslashes($_SESSION["tan_wied"]));

 ## Fehlerhandling
 $error1 = $_GET['error1'];
 $error2 = $_GET['error2'];
 $error3 = $_GET['error3'];
 $error4 = $_GET['error4'];
 $error5 = $_GET['error5'];
 $error6 = $_GET['error6'];
 $error7 = $_GET['error7'];
 $error8 = $_GET['error8'];
 $error9 = $_GET['error9'];
 $error10 = $_GET['error10'];
 $error11 = $_GET['error11'];
 $error12 = $_GET['error12'];
 $error13 = $_GET['error13'];
 $error14 = $_GET['error14'];
 $error15 = $_GET['error15'];
 $error20 = $_GET['error20'];
 $error21 = $_GET['error21'];

 if ($error1 == 1){$smarty->assign('erf_hig_anrede', 1);}else{$smarty->assign('erf_hig_anrede', 0);}
 if ($error2 == 1){$smarty->assign('erf_hig_vorname', 1);}else{$smarty->assign('erf_hig_vorname', 0);}
 if ($error3 == 1){$smarty->assign('erf_hig_nachname', 1);}else{$smarty->assign('erf_hig_nachname', 0);}
 if ($error4 == 1){$smarty->assign('erf_hig_gebdat', 1);}else{$smarty->assign('erf_hig_gebdat', 0);}
 if ($error5 == 1){$smarty->assign('erf_hig_str', 1);}else{$smarty->assign('erf_hig_str', 0);}
 if ($error6 == 1){$smarty->assign('erf_hig_plz', 1);}else{$smarty->assign('erf_hig_plz', 0);}
 if ($error7 == 1){$smarty->assign('erf_hig_ort', 1);}else{$smarty->assign('erf_hig_ort', 0);}
 if ($error8 == 1){$smarty->assign('erf_hig_mail', 1);}else{$smarty->assign('erf_hig_mail', 0);}
 if ($error14 == 1){$smarty->assign('erf_hig_tel', 1);}else{$smarty->assign('erf_hig_tel', 0);}
 if ($error15 == 1){$smarty->assign('erf_hig_gebdat', 1);}else{$smarty->assign('erf_hig_gebdat', 0);}
 if ($error20 == 1){$smarty->assign('erf_hig_id', 1);}else{$smarty->assign('erf_hig_id', 0);}
 if ($error21 == 1){$smarty->assign('erf_hig_tan', 1);}else{$smarty->assign('erf_hig_tan', 0);}
 
 
 if($error1 == 1 or $error2 == 1 or $error3 == 1 or $error4 == 1 or $error5 == 1 or $error6 == 1 or $error7 == 1 or $error8 == 1 or $error9 == 1 or $error10 == 1 or $error11 == 1 or $error12 == 1 or $error13 == 1 or $error14 == 1 or $error15 == 1 or $error20 == 1 or $error21 == 1){
   $smarty->assign('persdat_error', 1);

   if($error9 == 1){
     $smarty->assign('persdat_error_text', 'Bitte prüfen Sie das Geburtsdatum.');
   }
   if($error10 == 1){
     $smarty->assign('persdat_error_text', 'Die E-Mailadresse enthält Fehler.');
   }
#   if($error11 == 1){
#     $smarty->assign('persdat_error_text', 'Sie haben sich bereits registriert. Setzen Sie sich ggf. mit der Hochschule in Verbindung.');
#   }
#   if($error12 == 1){
#     $smarty->assign('persdat_error_text', 'Sie haben Sie den Test bereits 1x wiederholt.');
#   }
#   if($error13 == 1){
#     $smarty->assign('persdat_error_text', 'Bitte prüfen Sie die Kombination aus ID/TAN.');
#   }

   if($error15 == 1){
     $smarty->assign('persdat_error_text', 'Bitte überprüfen Sie das Geburtsjahr.');
   }
   
   if($error20 == 1){
     $smarty->assign('persdat_error_text', 'Die damalige ID darf nicht leer sein.');
   }
   if($error21 == 1){
     $smarty->assign('persdat_error_text', 'Die damalige TAN darf nicht leer sein.');
   }
   if($error1 == 1 or $error2 == 1 or $error3 == 1 or $error4 == 1 or $error5 == 1 or $error6 == 1 or $error7 == 1 or $error8 == 1  or $error14 == 1){
    $smarty->assign('persdat_error_text', 'Bitte füllen Sie die Pflichtfelder aus.');
   }
 }
 
}

if ($action == 'termine') {

 # Im Fehlerfall oder beim zurückgehen sollen die Felder ausgefüllt sein
 $smarty->assign('termine_value_testdatum', $_SESSION["testdatum"]);
 
#echo '<pre>', print_r($_POST, true), '</pre>'; 
#exit;
if(isset($_POST['anrede'])){
  $anrede = trim($_POST['anrede']);
}else{
  $anrede = $_SESSION["anrede"];
}

if(isset($_POST['vorname'])){
  $vorname = addslashes(trim($_POST['vorname']));
}else{
  $vorname = $_SESSION["vorname"];
}

if(isset($_POST['nachname'])){
  $nachname = addslashes(trim($_POST['nachname']));
}else{
  $nachname = $_SESSION["nachname"];
}

if(isset($_POST['gebdat'])){
  $gebdat = addslashes(trim($_POST['gebdat']));
}else{
  $gebdat = $_SESSION["gebdat"];
}

if(isset($_POST['str'])){
  $str = addslashes(trim($_POST['str']));
}else{
  $str = $_SESSION["str"];
}

if(isset($_POST['plz'])){
  $plz = addslashes(trim($_POST['plz']));
}else{
  $plz = $_SESSION["plz"];
}

if(isset($_POST['ort'])){
  $ort = addslashes(trim($_POST['ort']));
}else{
  $ort = $_SESSION["ort"];
}

if(isset($_POST['alter18'])){
  $alter18 = addslashes(trim($_POST['alter18']));
}else{
  $alter18 = $_SESSION["alter18"];
}

if(isset($_POST['mail'])){
  $mail = addslashes(trim($_POST['mail']));
}else{
  $mail = $_SESSION["mail"];
}

if(isset($_POST['tel'])){
  $tel = addslashes(trim($_POST['tel']));
}else{
  $tel = $_SESSION["tel"];
}

if(isset($_POST['wh_test'])){
  $wh_test = addslashes(trim($_POST['wh_test']));
}else{
  $wh_test = $_SESSION["wh_test"];
}

if(isset($_POST['id_wied'])){
  $id_wied = addslashes(trim($_POST['id_wied']));
}else{
  $id_wied = $_SESSION["id_wied"];
}

if(isset($_POST['tan_wied'])){
  $tan_wied = addslashes(trim($_POST['tan_wied']));
}else{
  $tan_wied = $_SESSION["tan_wied"];
}

$_SESSION["anrede"]         = $anrede;
$_SESSION["vorname"]        = $vorname;
$_SESSION["nachname"]       = $nachname;
$_SESSION["gebdat"]         = $gebdat;
$_SESSION["str"]            = $str;
$_SESSION["plz"]            = $plz;
$_SESSION["ort"]            = $ort;
$_SESSION["alter18"]        = $alter18;
$_SESSION["mail"]           = $mail;
$_SESSION["tel"]            = $tel;
$_SESSION["wh_test"]        = $wh_test;
$_SESSION["id_wied"]        = $id_wied;
$_SESSION["tan_wied"]       = $tan_wied;


  if ($anrede == '') {
    $error1=1;
    $error=true;
  }
  if ($vorname == ''){
    $error2=1;
    $error=true;
  }
  if ($nachname == ''){
    $error3=1;
    $error=true;
  }
  if ($gebdat == ''){
    $error4=1;
    $error=true;
  }
  if ($str == ''){
    $error5=1;
    $error=true;
  }
  if ($plz == ''){
    $error6=1;
    $error=true;
  }
  if ($ort == ''){
    $error7=1;
    $error=true;
  }
  if ($mail == ''){
    $error8=1;
    $error=true;
  }
  
  if ($tel == ''){
    $error14=1;
    $error=true;
  }

  if ($wh_test == '1' AND $id_wied == ''){
    $error20=1;
    $error=true;
  }
  
  if ($wh_test == '1' AND $tan_wied == ''){
    $error21=1;
    $error=true;
  }
  

  # Datumsformat von DD.MM.YYYY nach YYYY-MM-DD
  $gebdat_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $gebdat);  

  $curjahr = date("Y"); 
  $gebjahr = substr($gebdat_form,0,4);
  if(($curjahr-$gebjahr)<=10){
    $error15=1;
    $error=true;
  }
  
  function validateDate($date, $format = 'Y-m-d'){
      $d = DateTime::createFromFormat($format, $date);
      return $d && $d->format($format) == $date;
  }
  
  if(!validateDate($gebdat_form)){
    $error9=1;
    $error=true;
  }
  
  if (!filter_var($mail, FILTER_VALIDATE_EMAIL)) {
    $error10=1;
    $error=true;
  }
  
#  # Test wurde nicht wiederholt
#  if($wh_test == 0){
#    # doppelte Anmeldungen prüfen:
#    
#    # prüfen, ob die ID das aktuelle Jahr beinhaltet
#    $query_curausbjahr = $db->query("SELECT date_format(beginn, '%d.%m.%Y') beginn, date_format(ende, '%d.%m.%Y') ende, ausbildungsbeginn
#                                        FROM bpm_stichtage
#                                       WHERE beginn >= date_format(now(), '%Y-%m-%d')
#                                       ORDER BY sttg_id ASC
#                                       LIMIT 1
#                                     ");
#    $row_curausbjahr = $query_curausbjahr->fetch_array();
#    $curr_jahr = $row_curausbjahr['ausbildungsbeginn'];
#    
#    $query_doppelt = $db->query("SELECT id
#                                   FROM bpm_kandidat
#                                  WHERE nachname='$nachname'
#                                    AND vorname ='$vorname'
#                                    AND gebdat='$gebdat_form'
#                                    AND id LIKE '%$curr_jahr'");
#    $row_doppelt = $query_doppelt->fetch_array();
#    
#    # Bei Wiederholungskandidat muss hier das übersprungen werden und gewährleistet werden, dass er nicht ein drittes Mal sich bewirbt
#    # Außerdem muss das Testergebnis herangezogen werden, ob er nicht bestanden hat
#    if($row_doppelt['id'] != ''){
#      $error11=1;
#      $error=true;  
#    }
#  }
  
#  if($wh_test == 1){
#    # War der Kandidat bereits da mit durchgefallenem Test
#    $query_anz = $db->query("SELECT count(*) Anz
#                                   FROM bpm_kandidat a, bpm_ergebnisse b, bpm_term_kand c, bpm_tanpool d
#                                  WHERE a.ka_id = b.ka_id
#                                    AND a.ka_id = c.ka_id
#                                    AND c.tp_id = d.tp_id
#                                    AND a.id = '$id_wied'
#                                    AND b.bestanden='0'");
#    $row_anz = $query_anz->fetch_array();
#    # wenn hier nichts gefunden wird, dann stimmt TAN Wiederholung
#
#    # Bei Wiederholungskandidat muss hier das übersprungen werden und gewährleistet werden, dass er nicht ein drittes Mal sich bewirbt
#    # Außerdem muss das Testergebnis herangezogen werden, ob er nicht bestanden hat
#    if($row_anz['Anz'] != '1'){
#      $error12=1;
#      $error=true;  
#    }
#    
#    # Tan /ID Kombination prüfen
#    $query_anz1 = $db->query("SELECT count(*) Anz
#                                FROM bpm_kandidat a, bpm_term_kand c, bpm_tanpool d
#                               WHERE a.ka_id = c.ka_id
#                                 AND c.tp_id = d.tp_id
#                                 AND a.id = '$id_wied'
#                                 AND d.tan = '$tan_wied'");
#    $row_anz1 = $query_anz1->fetch_array();
#    # wenn hier nichts gefunden wird, dann stimmt TAN Wiederholung
#
#    # Bei Wiederholungskandidat muss hier das übersprungen werden und gewährleistet werden, dass er nicht ein drittes Mal sich bewirbt
#    # Außerdem muss das Testergebnis herangezogen werden, ob er nicht bestanden hat
#    if($row_anz1['Anz'] == '0'){
#      $error13=1;
#      $error=true;  
#    }
#  }
  
  if(isset($error)){
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=persdat&error1=$error1&error2=$error2&error3=$error3&error4=$error4&error5=$error5&error6=$error6&error7=$error7&error8=$error8&error9=$error9&error10=$error10&error14=$error14&error15=$error15\">";
    exit;
  }
   
  # Falls auf dieser Seite kein Testtermin gewählt wurde
  $error20 = $_GET['error20'];
  $error21 = $_GET['error21'];
  if($error20 == 1){
   $smarty->assign('termine_error', 1);
   $smarty->assign('termine_error_text', 'Bitte wählen Sie einen Termin.');
  }
  if($error21 == 1){
   $smarty->assign('termine_error', 1);
   $smarty->assign('termine_error_text', 'In der Zwischenzeit gibt es keine Plätze mehr zu diesem Termin<br>Bitte wählen Sie einen anderen Termin aus.');
  }

  ### Fehlerprüfung Ende

  # Auswahl der 5 Termine, die 14 Tage von heute in der Zukunft liegen, damit der Kandidat noch überweisen kann.
  $anz_tage = trim(get_parameter(16));
  $query1 = "SELECT tm_id, date_format(tm_datum, '%d.%m.%Y um %H:%i Uhr')tm_datum_form, tm_standort, tm_plaetze
               FROM bpm_termine
              WHERE tm_datum >=  ADDDATE(now(), +$anz_tage)
              ORDER BY tm_datum ASC
              LIMIT 0,15";
  
  $result1 = $db->query($query1) or die("Cannot execute query1");
  
  $smarty->assign('termine_aktdat', date("d.m.Y H:i", time() ) ) ;
  while ($row1 = $result1->fetch_array()) {
   $pos_select = terminwahl($row1['tm_id'], $vorname, $nachname, $gebdat_form, $wh_test, $id_wied, $tan_wied);

#echo "terminwahl($row1[tm_id], $vorname, $nachname, $gebdat_form, $wh_test, $id_wied, $tan_wied)<br>";
#echo $pos_select."<br><br>";

   if($pos_select == 0) {
     $select = 1;
     $select_err = "";
   }elseif($pos_select == 1){
     $select = 0;
     $select_err = "Sie haben sich bereits registriert. Setzen Sie sich ggf. mit der Hochschule in Verbindung.";
   }elseif($pos_select == 2){
     $select = 0;
     $select_err = "Bitte prüfen Sie die Kombination aus ID/TAN.";
   }elseif($pos_select == 3){
     $select = 0;
     $select_err = "Sie haben den Test im Bewerbungsverfahren bestanden.";
   }elseif($pos_select == 4){
     $select = 0;
     $select_err = "Sie haben Sie den Test bereits 2x durchgeführt.";
   }
   
     
   # Checken, zu welchem Ausbildungsjahr das gewählte Testdatum gehört:
   $query_curtermin = $db->query("SELECT date_format(tm_datum, '%Y-%m-%d') tm_datum
                                    FROM bpm_termine
                                   WHERE tm_id = $row1[tm_id]
                                 ");
   $row_curtermin = $query_curtermin->fetch_array();

   $query_curausbjahr = $db->query("SELECT ausbildungsbeginn
                                      FROM bpm_stichtage
                                     WHERE ende >= '$row_curtermin[tm_datum]'
                                     ORDER BY beginn ASC
                                     LIMIT 1
                                  ");

    $row_curausbjahr = $query_curausbjahr->fetch_array();
    $curr_jahr = $row_curausbjahr['ausbildungsbeginn'];
  
    if($row1['tm_standort'] == 'L'){
      $standort = 'Ludwigsburg';
    }
    if($row1['tm_standort'] == 'K'){
      $standort = 'Kehl';
    }
  
    if(!isset($zaehler) or $zaehler == 1){
      $zaehler = 0;
    }else{
      $zaehler = 1;
    }

    
    # Freie Plätze berechnen
    $restplatz = get_restplatz($row1['tm_id']);
    if($restplatz == 0){
      $disable = 0;
    }else{
      $disable = 1;
    }

    $row1['select']          = $select;
    $row1['select_err']      = $select_err;
    $row1['curr_jahr']       = $curr_jahr;
    $row1['zaehler']         = $zaehler; 
    $row1['tm_standort']     = $standort;
    $row1['tm_restplatz']    = $restplatz;
    $row1['tm_disable']    = $disable;
    $table_data1[]           = $row1;
  }
  $smarty->assign('table_data1', $table_data1);
  
}
if ($action == 'check') {

if(isset($_POST['testdatum'])){
  $testdatum = trim($_POST['testdatum']);
}else{
  $testdatum = $_SESSION["testdatum"];
}

$_SESSION["testdatum"]         = $testdatum;
  if ($testdatum == '') {
    $error20=1;
    $error=true;
  }


  # Checken, ob noch Restplätze vorhanden sind
  $restplatz = get_restplatz($testdatum);
  if($restplatz == 0){
    $error21=1;
    $error=true;
  }

  if(isset($error)){
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=termine&error20=$error20&error21=$error21\">";
    exit;
  }
  
  $query_termin = $db->query("SELECT date_format(tm_datum, '%d.%m.%Y um %H:%i Uhr') tm_datum, tm_standort, tm_raum, tm_plaetze FROM bpm_termine WHERE tm_id='$testdatum'");
  $row_termin = $query_termin->fetch_array();
  
  if($row_termin['tm_standort'] == 'L'){
    $standort = 'Ludwigsburg';
  }
  
  if($row_termin['tm_standort'] == 'K'){
    $standort = 'Kehl';
  }
  $anrede = $_SESSION["anrede"];
  if($anrede == 'm'){
    $anrede_ausg = 'Herr';
  }
  if($anrede == 'w'){
    $anrede_ausg = 'Frau';
  }

  $smarty->assign('check_anrede', $anrede_ausg);
  $smarty->assign('check_vorname', stripslashes($_SESSION["vorname"]));
  $smarty->assign('check_nachname', stripslashes($_SESSION["nachname"]));
  $smarty->assign('check_gebdat', stripslashes($_SESSION["gebdat"]));
  $smarty->assign('check_str', stripslashes($_SESSION["str"]));
  $smarty->assign('check_plz', stripslashes($_SESSION["plz"]));
  $smarty->assign('check_ort', stripslashes($_SESSION["ort"]));
  $smarty->assign('check_mail', stripslashes($_SESSION["mail"]));
  $smarty->assign('check_tel', stripslashes($_SESSION["tel"]));
  $betrag = trim(get_parameter(9));
  $smarty->assign('check_betrag', $betrag);
  $smarty->assign('check_datum', $row_termin['tm_datum']);
  $smarty->assign('check_standort', $standort);  
  $smarty->assign('check_raum', $row_termin['tm_raum']);  
  
  # Ausgabe vorbereiten

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

if ($action == 'save') {
#echo "<pre>";
#echo nl2br(print_r($_SESSION,true));
#echo "</pre>"; 

$anrede = $_SESSION["anrede"];
$vorname = $_SESSION["vorname"];
$nachname = $_SESSION["nachname"];
$gebdat = $_SESSION["gebdat"];
# Datumsformat von DD.MM.YYYY nach YYYY-MM-DD
$gebdat_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $gebdat);  
$str = $_SESSION["str"];
$plz = $_SESSION["plz"];
$ort = $_SESSION["ort"];
$alter18 = $_SESSION["alter18"];
$mail = $_SESSION["mail"];
$tel = $_SESSION["tel"];
$testdatum = $_SESSION["testdatum"];
$wh_test = $_SESSION["wh_test"];
$id_wied = $_SESSION["id_wied"];
$tan_wied = $_SESSION["tan_wied"];

if($testdatum == ''){
  $smarty->assign('save_error', 1);
  $smarty->assign('save_error_text', "Die Sitzung ist abgelaufen");

}else{
  # Checken, ob noch Restplätze vorhanden sind
  $restplatz = get_restplatz($testdatum);
  if($restplatz == 0){
    $error21=1;
    $error=true;
  }

  if(isset($error)){
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=termine&error20=$error20&error21=$error21\">";
    exit;
  }
  $datum=date("Y-m-d H:i:s");
  # Hochschule wird festgesstellt. Das braucht man für den /status/index.php. Entsprechend wird bei Bestehen/Durchfallen einen Link auf die jeweilige Hochschule verwiesen.
  # Die eigentliche Zuordnung, auch wenn Hochschule außerhalb BWs ist, mit Abfrage der Wunschhochschule kommt erst bei /upload/index.php (Dokumentenupload, Abschluß des Bewerbungsverfahrens)
  # Somit wird hier auch noch "NA" als Antwort der Funktion "standard_hs" akzeptiert.
  $hs = standard_hs($plz);


  # Wenn der Kandidat sich einen Termin in der nächsten Bewerbungsphase auswählt, ist es keine Wiederholung mehr, sondern er bekommt eine neue ID
   # Checken, zu welchem Ausbildungsjahr das gewählte Testdatum gehört:
   $query_curtermin = $db->query("SELECT date_format(tm_datum, '%Y-%m-%d') tm_datum
                                      FROM bpm_termine
                                     WHERE tm_id = $testdatum
                                   ");
   $row_curtermin = $query_curtermin->fetch_array();
   
   $query_curausbjahr = $db->query("SELECT ausbildungsbeginn
                                      FROM bpm_stichtage
                                     WHERE ende >= '$row_curtermin[tm_datum]'
                                     ORDER BY beginn ASC
                                     LIMIT 1
                                   ");
   $row_curausbjahr = $query_curausbjahr->fetch_array();
   $curr_jahr = $row_curausbjahr['ausbildungsbeginn'];
   
   # Beim anderen Bewerbungsphase ist es keine Wiederholung mehr
   if(strpos($id_wied,$curr_jahr)==false){ 
    $wh_test = 0;
   }


  if($wh_test == 0){
 
    $id = uuid($nachname, $vorname, $gebdat, $curr_jahr);  
    # Personensatz speichern

    $sql1 = $db->query("insert into bpm_kandidat (anrede, vorname, nachname, gebdat, str, plz, ort, alter18,  mail, tel, id, hochschule, register_dat) VALUES('$anrede', '$vorname', '$nachname', '$gebdat_form', '$str', '$plz', '$ort', '$alter18', '$mail', '$tel', '$id', '$hs', '$datum')");
    $ka_id = $db->insert_id;
  }else{
  # Bei Wiederholern wird der Stammsatz erhalten und man macht nur ein Update auf die Adressdaten
     $id = $id_wied;

     $sql1 = $db->query( "UPDATE bpm_kandidat 
                              SET anrede = '$anrede'
                                 ,vorname = '$vorname'
                                 ,nachname = '$nachname'
                                 ,gebdat = '$gebdat_form'
                                 ,str = '$str'
                                 ,plz = '$plz'
                                 ,ort = '$ort'
                                 ,alter18 = '$alter18'
                                 ,mail = '$mail'
                                 ,tel = '$tel'
                                 ,hochschule = '$hs'
                                 ,modify_dat = '$datum'
                            WHERE id = '$id'
                         " );
     
     $query_kaid = $db->query("SELECT ka_id FROM bpm_kandidat WHERE id = '$id'");
     $row_kaid   = $query_kaid->fetch_array();
     $ka_id = $row_kaid['ka_id'];
  }
  # Freien Tan aus Pool holen
  $tan = fetch_tan();
  
  # Termin speichern mit TAN, den gibts aber noch nicht
  $sql2 = $db->query("insert into bpm_term_kand (ka_id, tm_id, tp_id) VALUES($ka_id, $testdatum, $tan)");

  if($sql1 and $sql2){
    session_destroy();
    
    # Emailversand
    $query_termin = $db->query("SELECT date_format(tm_datum, '%d.%m.%Y um %H:%i Uhr') tm_datum, tm_standort, tm_raum, tm_plaetze, tm_referenznr FROM bpm_termine WHERE tm_id='$testdatum'");
    $row_termin = $query_termin->fetch_array();
    
    if($row_termin['tm_standort'] == 'L'){
      $standort = 'Ludwigsburg - Reuteallee 36, 71634 Ludwigsburg';
      $sender = "Hochschule Ludwigsburg";
      $iban = get_parameter(5);
      $bic  = get_parameter(6);
      $sendermail = get_parameter(8);
    }
    
    if($row_termin['tm_standort'] == 'K'){
      $standort = 'Kehl - Kinzigallee 1, 77694 Kehl';
      $sender = "Hochschule Kehl";
      $iban = get_parameter(3);
      $bic  = get_parameter(4);
      $sendermail = get_parameter(7);
    }
      $betrag = get_parameter(9);
      $referenznr = $row_termin['tm_referenznr'];
      $smarty->assign('save_id', $id);
      $smarty->assign('save_vorname', stripslashes($vorname));
      $smarty->assign('save_nachname', stripslashes($nachname));
      $smarty->assign('save_empf', stripslashes($sender));
      $smarty->assign('save_iban', stripslashes($iban));
      $smarty->assign('save_bic', stripslashes($bic));
      $smarty->assign('save_betrag', stripslashes($betrag));
      $smarty->assign('save_ref', stripslashes($referenznr));
      
      # Damit bei der Mail nichts mit \ kommt
      $vorname = stripslashes($vorname);
      $nachname = stripslashes($nachname);
      
        $empfaenger = "$mail";
        $betreff = "Anmeldung zum Eignungstest BPM";
        $text = "
          <html>
          <head>
          <title>Anmeldung zum Eignungstest</title>
          </head>
          <body>
          <font face='Arial' size='2'>
          Guten Tag $vorname $nachname!
          <br /><br />
          Sie haben verbindlich Ihre Teilnahme am Studierfähigkeitstest BPM (Bachelor of Arts - Public Management) gebucht.
          <br />
          <br />
          <table>
          <tr>
             <td valign='top'>
               <font face='Arial' size='2'>
                 <b>Testtag:</b>
               </font>
             </td>
             <td valign='top'>
               <font face='Arial' size='2'>
                 $row_termin[tm_datum]
               </font>
             </td>
          </tr>
          <tr>
             <td valign='top'>
               <font face='Arial' size='2'>
                 <b>Hochschule:</b>
               </font>
             </td>
             <td valign='top'>
               <font face='Arial' size='2'>
                 $standort
               </font>
             </td>
          </tr>
          <tr>
             <td valign='top'>
               <font face='Arial' size='2'>
                 <b>Gebäude / Raum:</b>
               </font>
             </td>
             <td valign='top'>
               <font face='Arial' size='2'>
                 $row_termin[tm_raum]
               </font>
             </td>
          </tr>
          <tr>
             <td valign='top'>
               <font face='Arial' size='2'>
                 <b>Persönliche ID:</b>
               </font>
             </td>
             <td valign='top'>
               <font face='Arial' size='2'>
                 <font color='red'>$id</font>
               </font>
             </td>
          </tr>";
          if($alter18 == 0){
          $text .=" 
          <tr>
             <td valign='top'>
               <font face='Arial' size='2'>
                 <b>Hinweis:</b>
               </font>
             </td>
             <td valign='top'>
               <font face='Arial' size='2'>
                 Bitte bringen Sie zum Testtermin die schriftliche Einwilligung Ihrer gesetzlicher Vertreter mit, dass diese mit Ihrer Testteilnahme einverstanden sind.
               </font>
             </td>
          </tr>";
          }
          $betrag = trim(get_parameter(9));
          $text .= "
          </table>
          <br />
	  Bitte überweisen Sie die Testgebühr in Höhe von $betrag Euro auf folgende Kontoverbindung IBAN $iban. Geben Sie unbedingt die Referenznummer $referenznr und Ihren Namen ein!<br>
	  Die Gebühr ist sofort zur Zahlung fällig. Ohne Zahlungseingang ist eine Teilnahme am Test nicht möglich.<br>
	  Es ist unbedingt erforderlich, dass Sie diese E-Mail zum Test mitbringen.
          <p>
          Diese Mail wurde automatisch generiert!<br />
          Antworten Sie daher nicht auf diese Mail.<br />
          <br />
          Vielen Dank!
          </body>
          </html>";
/*
echo "
<pre>
$empfaenger<br>
$betreff<br>
$text<br>
</pre>
";
*/
          ## Mailversand:
          $headers  = "From: $sender <$sendermail>\r\n";
          $headers .= "MIME-Version: 1.0\r\n";
          $headers .= "Content-type: text/html; charset=utf-8\r\n";
          $return = @mail($empfaenger, $betreff, $text, $headers);
          $heute    = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: http://de2.php.net/manual/de/function.date.php
          $datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll
          $text_db = addslashes($text);          
          if($return){
             $sql1 = $db->query("INSERT INTO bpm_sonstige_mail (sender, sendermail, ka_id, empfaenger, mail_betreff, mail_text, status, sendedat)
                                   VALUES ('$sender', '$sendermail', '$ka_id', '$empfaenger', '$betreff', '$text_db', 'V', '$datum_db')
                                 ");
          }else{
             $sql1 = $db->query("INSERT INTO bpm_sonstige_mail (sender, sendermail, ka_id, empfaenger, mail_betreff, mail_text, status, sendedat)
                                   VALUES ('$sender', '$sendermail', '$ka_id', '$empfaenger', '$betreff', '$text_db', 'F', '$datum_db')
                                 ");
          }
  }
} #end if, wenn Sitzung abgelaufen ist
  
  


}

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