<?php
$jahrgang=$_COOKIE["jahrgang"];
/*
# Fuer debugging
error_reporting(E_ALL);
ini_set('display_errors', 1);
#echo __LINE__."<br>";
*/
include_once 'classes/TestProjektSmarty.class.php';
$smarty = new Smarty();
require_once("config.inc.php");
$template = "standard";
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
require_once "language/german.inc.php";
require_once("func_rollenrechte.php");


// Rechteüberprüfung
#$db = dbconnect();
if ($user_admin == ""){ require("index.php"); exit;} //Wenn man nicht angemeldet ist, darf man nicht auf die Seite
if(!rore($user_admin,'e_grundgeh','RE')){echo "Keine Rechte";exit;}
// Rechteüberprüfung ende

session_start();

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

if($action == ''){
  
  if(!isset($_SESSION['funktion'])){
      $_SESSION["e_grund_status"] = 'neu';
  }
  
  if(isset($_GET['edit'])){
   $_SESSION["e_grund_status"] = 'edit';
   $gid = $_GET['edit'];
   $_SESSION["e_grund_gid"] = $gid;
  }
  
  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["e_grund_status"] = 'neu';
  }
  
  # --- Wenn Werte editiert werden ------------
  if($_SESSION["e_grund_status"] == 'edit'){
    $result_edit = $db->query("SELECT date_format(startdat, '%d') startdat_tag
                                     , date_format(startdat, '%m') startdat_mon
                                     , date_format(startdat, '%Y') startdat_jahr
                                     , betrag
                                     , besoldung
                                     , stufe
                                 FROM prog_grundgehalt
                                WHERE gid = $gid");
                                
    $row_edit = $result_edit->fetch_array();
    $smarty->assign('e_grund_startdat_tag', "$row_edit[startdat_tag]");
    $smarty->assign('e_grund_startdat_mon', "$row_edit[startdat_mon]");
    $smarty->assign('e_grund_startdat_jahr', "$row_edit[startdat_jahr]");
    $smarty->assign('e_grund_betrag', "$row_edit[betrag]");
    $smarty->assign('e_grund_besoldung', "$row_edit[besoldung]");
    $smarty->assign('e_grund_stufe', "$row_edit[stufe]");
  }
  # --- Wenn Werte editiert werden Ende -------
  
  # --- Gespeicherte Bezüge ausgeben ----------
  
  # Filter auslesen
  if(isset($_GET["besoldung"])){
    $filter_besoldung = $_GET["besoldung"];
    $_SESSION["filter_besoldung"] = $filter_besoldung;
    $smarty->assign('e_grund_filter_besoldung', $filter_besoldung);
  }else{
    if(isset($_SESSION["filter_besoldung"])){
      $filter_besoldung = $_SESSION["filter_besoldung"];
      $smarty->assign('e_grund_filter_besoldung', $filter_besoldung);
    }else{
      $filter_besoldung = '%';
      $smarty->assign('e_grund_filter_besoldung', "alle");
    }
  }
  
  if(isset($_GET["stufe"])){
    $filter_stufe = $_GET["stufe"];
    $_SESSION["filter_stufe"] = $filter_stufe;
    $smarty->assign('e_grund_filter_stufe', $filter_stufe);
  }else{
    if(isset($_SESSION["filter_stufe"])){
      $filter_stufe = $_SESSION["filter_stufe"];
      $smarty->assign('e_grund_filter_stufe', $filter_stufe);
    }else{
      $filter_stufe = '%';
      $smarty->assign('e_grund_filter_stufe', "alle");
    }
  }
  
  
    $query2 = "SELECT gid
                   , date_format(startdat, '%d.%m.%Y') startdat_form
                   , betrag
                   , besoldung
                   , stufe
                FROM prog_grundgehalt
               WHERE besoldung like '$filter_besoldung'
                 AND stufe like '$filter_stufe'
               ORDER BY startdat DESC, besoldung DESC, stufe DESC";

    $result2 = $db->query( $query2)
              or die ("Cannot execute query2");

    while ($row2 = $result2->fetch_array()){
      $row2['betrag'] = number_format($row2['betrag'], 2, ',', '.');
      $value_ggeh[] = $row2;
    }
    $smarty->assign('table_data2', $value_ggeh);
  
  
  # --- Gespeicherte Bezüge Ende -----


}

   
if($action == 'save'){
  $startdat = $_POST['jahr1']."-".$_POST['mon1']."-".$_POST['tag1'];
  $betrag= str_replace(",",".", $_POST['betrag']);
  $besoldung= $_POST['besoldung'];
  
  if(substr($_POST['besoldung'],0,1) == 'W'){
   # Bei W-Besoldung gibt es keine Stufen
   $stufe =0;
  }
  
  if(substr($_POST['besoldung'],0,1) == 'A'){
   $stufe = $_POST['stufeA'];
  }
  
  if(substr($_POST['besoldung'],0,1) == 'C'){
   $stufe = $_POST['stufeC'];
  }

  $modify_date = date("Y-m-d H:i:s");
  
  if($_SESSION["e_grund_status"] == 'neu'){
    $result = $db->query("INSERT INTO prog_grundgehalt (startdat, besoldung, betrag, stufe, modify_date) VALUES ('$startdat', '$besoldung', '$betrag', '$stufe', '$modify_date')");
  }
  
  if($_SESSION["e_grund_status"] == 'edit'){
    $gid = $_SESSION["e_grund_gid"];
    $result = $db->query("UPDATE prog_grundgehalt 
                             SET startdat = '$startdat'
                                , besoldung = '$besoldung'
                                , betrag    = '$betrag'
                                , stufe    = '$stufe'
                                , modify_date = '$modify_date'
                           WHERE gid = $gid
                         ");

    unset($_SESSION['e_grund_gid']);
  }
  
  # Dann bekommts beim refresh den status neu, also es wird beim Abschicken ein Insert gemacht
  $editende=1;
  echo "<meta http-equiv=\"refresh\" content=\"1; URL=" . $_SERVER['PHP_SELF'] . "?editende=$editende\">";
}

if($action == 'del'){
    $gid = $_GET['gid'];
  
  $result = $db->query("DELETE FROM prog_grundgehalt 
                         WHERE gid=$gid");

  
  # 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\">";
}

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