<?php
if(!isset($_SESSION)) { session_start(); }
include_once '../classes/TestProjektSmarty.class_subdir.php';
require_once("../config.inc.php");
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
$smarty = new SmartyAdmin();
require_once "../language/german.inc.php";
require_once("../func_get_restplatz.php");
require_once("../func_get_parameter.php");
require_once("../func_tangen.php");

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


if ($action == '') {
  
  if (isset($_GET['edit'])) {
    $_SESSION["prxedit_status"] = 'edit';
    $id                       = $_GET['edit'];
    $_SESSION["prxedit_id"]   = $id;
    
  } else {
    $_SESSION["prxedit_status"] = 'neu';
    unset($_SESSION['prxedit_user']);
    unset($_SESSION['prxedit_username']);
  }
  
    # Falls von bewerber_daten kommend
    if($_GET['ka_id'] != ''){
      $user                     = $_GET['ka_id'];
      $result_name = $db->query("SELECT vorname, nachname
	                           FROM bpm_kandidat
                                  WHERE ka_id = $user");
      $row_name    = $result_name->fetch_array();
      $_SESSION["prxedit_user"] = $user;
      $_SESSION["prxedit_username"] = "$row_name[vorname] $row_name[nachname]";
      # Falls aus bewerber_daten.php kommend, bietet man einen zurückbutton an
      $smarty->assign('prxedit_value_user', $_SESSION["prxedit_user"]);
      $smarty->assign('prxedit_value_username', $_SESSION["prxedit_username"]);
    }

      $result_all = $db->query("SELECT count(*) Anz
	                         FROM bpm_dienststellen
	                       ");
      $row_all    = $result_all->fetch_array();
      $smarty->assign('prxedit_value_anzall', $row_all['Anz']);
        
  
      $result_unreg = $db->query("SELECT count(*) Anz
	                         FROM bpm_dienststellen
	                        WHERE register_dat = '0000-00-00 00:00:00'");
      $row_unreg    = $result_unreg->fetch_array();
      $smarty->assign('prxedit_value_anzunreg', $row_unreg['Anz']);
      
      $result_reg = $db->query("SELECT count(*) Anz
	                         FROM bpm_dienststellen
	                        WHERE register_dat != '0000-00-00 00:00:00'");
      $row_reg    = $result_reg->fetch_array();
      $smarty->assign('prxedit_value_anzreg', $row_reg['Anz']);

	                     
	                     
  # -- Fehlermeldungen -- #
  if (isset($_GET['error'])) {
    
    $errorno = $_GET['error'];
    
    $smarty->assign('prxedit_error', 1);
    
    $smarty->assign('prxedit_value_art', $_SESSION["prxedit_value_art"]);
    $smarty->assign('prxedit_value_name', $_SESSION["prxedit_value_name"]);
    $smarty->assign('prxedit_value_str', $_SESSION["prxedit_value_str"]);
    $smarty->assign('prxedit_value_plz', $_SESSION["prxedit_value_plz"]);
    $smarty->assign('prxedit_value_ort', $_SESSION["prxedit_value_ort"]);
    $smarty->assign('prxedit_value_mail', $_SESSION["prxedit_value_mail"]);
    $smarty->assign('prxedit_value_gueltigvon', $_SESSION["prxedit_value_gueltigvon"]);
    $smarty->assign('prxedit_value_gueltigbis', $_SESSION["prxedit_value_gueltigbis"]);
    

    
    if ($errorno == 3) {
      # ungültiges Datum
      $smarty->assign('prxedit_error_text', "Das eingegebene Gültig von Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!");
    }
    if ($errorno == 4) {
      # ungültiges Datum
      $smarty->assign('prxedit_error_text', "Das eingegebene Gültig bis Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!");
    }
  }
  
  # --- Wenn Werte editiert werden ------------
  if ($_SESSION["prxedit_status"] == 'edit') {

    $result_edit = $db->query("SELECT dst_id, bezeichnung, name, str, plz, ort, mail, date_format(gueltig_von, '%d.%m.%Y') gueltig_von_form, date_format(gueltig_bis, '%d.%m.%Y') gueltig_bis_form
	                         FROM bpm_dienststellen
                                WHERE dst_id = $id");
    $row_edit    = $result_edit->fetch_array();
    if($row_edit['gueltig_von_form'] == '00.00.0000'){
      $gueltig_von_form = "";
    }else{
      $gueltig_von_form = $row_edit['gueltig_von_form'];
    }
    if($row_edit['gueltig_bis_form'] == '00.00.0000'){
      $gueltig_bis_form = "";
    }else{
      $gueltig_bis_form = $row_edit['gueltig_bis_form'];
    }
    $smarty->assign('prxedit_value_art', "$row_edit[bezeichnung]");
    $smarty->assign('prxedit_value_name', "$row_edit[name]");
    $smarty->assign('prxedit_value_str', "$row_edit[str]");
    $smarty->assign('prxedit_value_plz', "$row_edit[plz]");
    $smarty->assign('prxedit_value_ort', "$row_edit[ort]");
    $smarty->assign('prxedit_value_mail', "$row_edit[mail]");
    $smarty->assign('prxedit_value_gueltigvon', "$gueltig_von_form");
    $smarty->assign('prxedit_value_gueltigbis', "$gueltig_bis_form");
   
  }
  # --- 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["prxedit_status"] = 'neu';
  }


  
}


if ($action == 'save') {

$art        = $_POST['art'];
$name       = $_POST['name'];
$str        = $_POST['str'];
$plz        = $_POST['plz'];
$ort        = $_POST['ort'];
$mail       = $_POST['mail'];
$gueltigvon = $_POST['gueltigvon'];
$gueltigbis = $_POST['gueltigbis'];
$regmail    = $_POST['regmail'];

$_SESSION["prxedit_value_art"]     = $art;
$_SESSION["prxedit_value_name"]    = $name;
$_SESSION["prxedit_value_str"]     = $str;
$_SESSION["prxedit_value_plz"]     = $plz;
$_SESSION["prxedit_value_ort"]     = $ort;
$_SESSION["prxedit_value_mail"]    = $mail;

$gueltigvon_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $gueltigvon);
$gueltigbis_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $gueltigbis);


function validateDate($date, $format = 'Y-m-d')
{
    $d = DateTime::createFromFormat($format, $date);
    return $d && $d->format($format) == $date;
}

if(!validateDate($gueltigvon_form) AND $gueltigvon_form != ''){
  echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">";
  exit;    
}

if(!validateDate($gueltigbis_form) AND $gueltigbis_form != ''){
  echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=4\">";
  exit;    
}

if($gueltigvon_form == ''){
 $gueltigvon_form ='0000-00-00';
}

if($gueltigbis_form == ''){
 $gueltigbis_form ='0000-00-00';
}

  $bez = $art." ".$name;

  #$datum = date("Y-m-d H:i:s");
  
  if ($_SESSION["prxedit_status"] == 'neu') {
    $tan = tangen();  
    $sql1 = $db->query("INSERT INTO bpm_dienststellen ( bezeichnung
                                                , name
                                                , bez
                                                , str
                                                , plz
                                                , ort
                                                , mail
                                                , init_tan
                                                , gueltig_von
                                                , gueltig_bis
                                                )
                                VALUES
                                                ( '$art'
                                                , '$name'
                                                , '$bez'
                                                , '$str'
                                                , '$plz'
                                                , '$ort'
                                                , '$mail'
                                                , '$tan'
                                                , '$gueltigvon_form'
                                                , '$gueltigbis_form'
                                                )
                              ");
  }
  
  if ($_SESSION["prxedit_status"] == 'edit') {
    $id    = $_SESSION["prxedit_id"];
    $ka_id = $_SESSION["prxedit_user"];
    if($regmail == 'j'){
    $tan = tangen();  
    $result = $db->query("UPDATE bpm_dienststellen 
                             SET bezeichnung = '$art'
                               , name = '$name'
                               , bez = '$bez'
                               , str = '$str'
                               , plz = '$plz'
                               , ort = '$ort'
                               , mail = '$mail'
                               , init_tan = '$tan'
                               , gueltig_von = '$gueltigvon_form'
                               , gueltig_bis = '$gueltigbis_form'
                               , regmail_betreff  = ''
                               , regmail_text = ''
                               , regmail_status = 'O'
                               , regmail_sendedat = '0000-00-00 00:00:00'
                               , pwd = ''
                               , register_dat = '0000-00-00 00:00:00'
                          WHERE dst_id = $id
                         ");
    }else{
    $result = $db->query("UPDATE bpm_dienststellen 
                             SET bezeichnung = '$art'
                               , name = '$name'
                               , bez = '$bez'
                               , str = '$str'
                               , plz = '$plz'
                               , ort = '$ort'
                               , mail = '$mail'
                               , gueltig_von = '$gueltigvon_form'
                               , gueltig_bis = '$gueltigbis_form'
                          WHERE dst_id = $id
                         ");
    }
    unset($_SESSION['prxedit_id']);
  }
  # 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&ka_id=$ka_id\">";


}
if ($action == 'del') {
  $id = $_GET['id'];
  
  $del1 = $db->query("DELETE FROM bpm_termine WHERE id = $id");
  
  echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">";
}


if ($action == 'mailsenden') {

  $dst_id = $_GET['dst_id'];
  $result_erg = $db->query("SELECT regmail_betreff, regmail_text, mail
                            FROM bpm_dienststellen
                           WHERE dst_id =$dst_id");
  $row_erg    = $result_erg->fetch_array();
  
  $sender     = "Hochschule Ludwigsburg";
  $sendermail = get_parameter(8);
  
  $smarty->assign('mail_sender', $sender);
  $smarty->assign('mail_sendermail', $sendermail);
  
  
  $smarty->assign('mail_text', $row_erg['regmail_text']);
  $smarty->assign('mail_betreff', $row_erg['regmail_betreff']);
  $smarty->assign('mail_mail', $row_erg['mail']);
  $smarty->assign('mail_dstid', $dst_id);
}

if ($action == 'mailsenden2') {
  $dst_id = $_POST['dst_id'];
  $sender = $_POST['mail_sender'];
  $sendermail = $_POST['mail_sendermail'];
  $empfaenger = $_POST['mail_mail'];
  $betreff    = $_POST['betreff'];
  $text       = $_POST['text'];
  
  #Beim CKEDITOR die <p> Tags mit Zeilenabstand 0 in der Mail
  $style ="<head>
            <style>
             p {margin: 0;}
            </style>
            </head>
           ";
  $text = $style.$text;

  #echo "
  #From: $sender - $sendermail<br>
  #$empfaenger<br>
  #$betreff<br>
  #$text<br>";
  #exit;  

  ## 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);
  $betreff_db = addslashes($betreff);
  if ($return) {
    $sql1 = $db->query("UPDATE bpm_dienststellen 
                                   SET regmail_text = '$text_db'
                                     , regmail_betreff = '$betreff'
                                     , regmail_status = 'V'
                                     , regmail_sendedat = '$datum_db'
                                 WHERE dst_id = $dst_id
                      ");
    $smarty->assign('mail_senderg', "Die Mail wurde verschickt!");
  } else {
    $sql1 = $db->query("UPDATE bpm_dienststellen  
                           SET regmail_text = '$text_db'
                             , regmail_betreff = '$betreff_db'
                             , status = 'F'
                         WHERE dst_id = $dst_id
                      ");
    $smarty->assign('mail_senderg', "Die Mail konnte nicht verschickt werden!<br>Prüfen Sie die Mailadresse der Praxissstelle.");
  }
}


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

?>