"; */ 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, 'j_uber', 'RE')) { echo "Keine Rechte"; exit; } // Rechteüberprüfung ende session_start(); if (isset($_GET['action'])) { $action = $_GET['action']; } else { $action = ''; } if ($action == '') { $smarty->assign('ju_jahrgang', $jahrgang); $result_data1 = $db->query("SELECT date_format(monat,'%Y') jahr ,round(sum(vergaberahmen_vj),2) vergaberahmen_vj ,round(sum(jahresrahmen),2) jahresrahmen ,round(sum(besausgaben),2) besausgaben ,round(sum(vergaberahmen),2) vergaberahmen ,round(sum(verg_uebertragvj),2) verg_uebertragvj ,round(sum(leistungsbez),2) leistungsbez ,round(sum(vergaberahmen_nj),2) vergaberahmen_nj FROM `prog_tmp_synopse` WHERE date_format(monat,'%Y') = '$jahrgang' GROUP BY date_format(monat,'%Y') ORDER BY jahr"); $row_data1 = $result_data1->fetch_array(); $smarty->assign('ju_jahr', "$row_data1[jahr]"); $smarty->assign('ju_vergaberahmen_vj', number_format($row_data1['vergaberahmen_vj'], 2, ',', '.')); $smarty->assign('ju_jahresrahmen', number_format($row_data1['jahresrahmen'], 2, ',', '.')); $smarty->assign('ju_vergaberahmen', number_format($row_data1['vergaberahmen'], 2, ',', '.')); $smarty->assign('ju_verg_uebertragvj', number_format($row_data1['verg_uebertragvj'], 2, ',', '.')); $smarty->assign('ju_vergaberahmen_nj', number_format($row_data1['vergaberahmen_nj'], 2, ',', '.')); $result_data2 = $db->query("SELECT jahr, wert FROM `prog_tmp_besschnitt` WHERE jahr = '$jahrgang'"); $row_data2 = $result_data2->fetch_array(); $smarty->assign('ju_bes_durchschnitt', number_format($row_data2['wert'], 2, ',', '.')); // VZA auslesen # AB Stufe 3 kann nicht sein, dass es keine erfassten VZÄ mehr gibt. Das System berechnet diese bis der letzte in Ruhestand geht # $result_vzavorh = $db->query("SELECT count(*) Anz # FROM prog_vza # WHERE ab_datum like '$jahrgang%' # ORDER BY ab_datum ASC"); # $row_vza_vorh = $result_vzavorh->fetch_array(); # if ($row_vza_vorh['Anz'] > 0) { $result_data2 = $db->query("SELECT REPLACE(TRUNCATE(sum(prozent)/12,4),'.',',') wert FROM prog_tmp_professor_synopse WHERE monat like '$jahrgang%' AND betrag != 0.00"); $row_data2 = $result_data2->fetch_array(); $smarty->assign('ju_vza_schnitt', $row_data2['wert']); $query2 = "SELECT REPLACE(TRUNCATE(sum(prozent),2),'.',',') wert FROM prog_tmp_professor_synopse WHERE monat like '$jahrgang%' AND betrag != 0.00 GROUP BY date_format(monat,'%m') ORDER BY date_format(monat,'%m') ASC"; $result2 = $db->query($query2) or die("Cannot execute query2"); while ($row2 = $result2->fetch_array()) { $value_vza[] = $row2; } $smarty->assign('table_data2', $value_vza); $smarty->assign('ju_vza_this', 1); # } else { # # // Dieses Jahr ist kein VZA Eintrag vorhanden # # $result_vzalast = $db->query("SELECT date_format(ab_datum, '%d.%m.%Y') ab_datum_form # , replace(round(wert,2),'.',',') wert # FROM prog_vza # WHERE date_format(ab_datum,'%Y') <= '$jahrgang' # ORDER BY ab_datum DESC # LIMIT 1"); # $row_vza_last = $result_vzalast->fetch_array(); # $smarty->assign('ju_last_vza_dat', $row_vza_last['ab_datum_form']); # $smarty->assign('ju_last_vza_wert', $row_vza_last['wert']); # $smarty->assign('ju_vza_this', 2); # } $result_besa = $db->query("SELECT sum(betrag) wert FROM prog_tmp_professor_synopse WHERE monat like '$jahrgang%' "); $row_besa = $result_besa->fetch_array(); $query3 = "SELECT distinct besoldung, stufe, bzid FROM `prog_tmp_professor_synopse` WHERE date_format(monat, '%Y') = '$jahrgang' ORDER BY `prog_tmp_professor_synopse`.`besoldung` ASC"; $result3 = $db->query($query3) or die("Cannot execute query3"); $zaehler = 0; while ($row3 = $result3->fetch_array()) { $result_zudesc = $db->query("SELECT beschreibung FROM prog_kat_besoldungszuweisung WHERE bzid = '$row3[bzid]' "); $row_zudesc = $result_zudesc->fetch_array(); if($row3['bzid'] == 1){ $zuweisung = ''; }else{ $zuweisung = $row_zudesc['beschreibung']; } $result_besadet = $db->query("SELECT sum(betrag) betragdetail, sum(prozent)/12 vza FROM prog_tmp_professor_synopse WHERE monat like '$jahrgang%' and besoldung = '$row3[besoldung]' and stufe = '$row3[stufe]' and bzid = $row3[bzid] "); $row_besadet = $result_besadet->fetch_array(); // Wenn einer Besoldung kein Wert zugewiesen wurde A13/Stufe 0 gibt es in der LBV-Liste nicht. // Die Profs mit Stufe 0 sind mit 0 erfasst, da sie nicht für das System relevant sind und das Ergebnis verfälschen würden if($row_besadet['betragdetail'] != 0){ if($row3['stufe'] == 0){ $stufedetail = ""; }else{ $stufedetail = $row3['stufe']; } // Hintergrundsfarbe if($zaehler == 0){ $hgfarbe = "#ffffff"; $zaehler = 1; }else{ $hgfarbe = "#d5d5d5"; $zaehler = 0; } $row3['vza'] = number_format($row_besadet['vza'], 4, ',', '.'); $row3['betragdetail'] = number_format($row_besadet['betragdetail'], 2, ',', '.'); $row3['stufedetail'] = $stufedetail; $row3['hgfarbe'] = $hgfarbe; $row3['zuweisung'] = $zuweisung; $value_zuw[] = $row3; } } $smarty->assign('table_data3', $value_zuw); $result_besa_zul = $db->query("SELECT zulage FROM prog_besausg_zulage WHERE jahr = '$jahrgang' "); $row_besa_zul = $result_besa_zul->fetch_array(); $smarty->assign('ju_besa_wert', number_format($row_besa['wert'], 2, ',', '.')); $smarty->assign('ju_besa_zulage', number_format($row_besa_zul['zulage'], 2, ',', '.')); $summe_besa = $row_besa_zul['zulage'] + $row_besa['wert']; $smarty->assign('ju_besa_summe', number_format($summe_besa, 2, ',', '.')); // Leistungsbezüge $result_lb_bz = $db->query("SELECT round(sum(wert),2) wert FROM prog_tmp_lb_bz WHERE date_format(monat,'%Y')= '$jahrgang' LIMIT 1"); $row_lb_bz = $result_lb_bz->fetch_array(); $smarty->assign('ju_lb_bz', number_format($row_lb_bz['wert'], 2, ',', '.')); $result_lb_lz = $db->query("SELECT round(sum(wert),2) wert FROM prog_tmp_lb_lz WHERE date_format(monat,'%Y') = '$jahrgang' LIMIT 1"); $row_lb_lz = $result_lb_lz->fetch_array(); $smarty->assign('ju_lb_lz', number_format($row_lb_lz['wert'], 2, ',', '.')); $result_lb_einmal = $db->query("SELECT round(wert,2) wert FROM prog_tmp_lb_einmal WHERE jahr= '$jahrgang' LIMIT 1"); $row_lb_einmal = $result_lb_einmal->fetch_array(); $smarty->assign('ju_lb_einmal', number_format($row_lb_einmal['wert'], 2, ',', '.')); $result_lb_fz = $db->query("SELECT round(sum(wert),2) wert FROM prog_tmp_lb_fz WHERE date_format(monat,'%Y') = '$jahrgang' LIMIT 1"); $row_lb_fz = $result_lb_fz->fetch_array(); $smarty->assign('ju_lb_fz', number_format($row_lb_fz['wert'], 2, ',', '.')); $smarty->assign('ju_lb_summe', number_format($row_data1['leistungsbez'], 2, ',', '.')); // Auflistung des maximalen Leistungsbezugswert $result_maxzul = $db->query("SELECT round(sum(w2),2) w2 ,round(sum(c3),2) c3 ,round(sum(max_zulage),2) max_zulage FROM prog_tmp_lb_obergrenze WHERE date_format(ab_datum,'%Y') = '$jahrgang' LIMIT 1"); $row_maxzul = $result_maxzul->fetch_array(); $smarty->assign('ju_maxzul_w2', number_format($row_maxzul['w2'], 2, ',', '.')); $smarty->assign('ju_maxzul_c3', number_format($row_maxzul['c3'], 2, ',', '.')); $smarty->assign('ju_maxzul_ges', number_format($row_maxzul['max_zulage'], 2, ',', '.')); # Ab 2018 sollen die maximalen Leistungsbezüge auf ein Fixbetrag geändert werden. Bspw. 1000€/Monat $query_maxl = $db->query("SELECT wert1*12 wert1 FROM `prog_parameter` WHERE pid =7 "); $row_maxl = $query_maxl->fetch_array(); if($jahrgang >= '2018' ){ $smarty->assign('ju_maxzul_ges', number_format($row_maxl['wert1'], 2, ',', '.')); $smarty->assign('ju_maxzul_geandert', 1); }else{ $smarty->assign('ju_maxzul_geandert', 0); } // Auflistung BZ $query7 = "SELECT distinct a.did FROM prog_tmp_lb_bz a, prog_tmp_professor b WHERE a.did=b.did AND date_format(monat,'%Y') = '$jahrgang' AND wert > 0 GROUP BY a.did, lbbzid ORDER BY b.art, doz_name asc, lbbzid asc"; $result7 = $db->query($query7) or die("Cannot execute query7a"); $ln_zaehler = 0; while ($row7 = $result7->fetch_array()) { $value_bz = ''; if ($ln_zaehler == 0) { $last_did = $row7['did']; $ln_zaehler = 1; } if ($row7['did'] == $last_did) { $farbe = "#d8d8d8"; } else { $farbe = "#f4f4f4"; $ln_zaehler = 0; } $last_did = $row7['did']; $query8 = "SELECT a.did, doz_titel, doz_vorname, doz_name, lbbzid, monat, sum(wert) wert, a.art, b.art fikt_prof FROM prog_tmp_lb_bz a, prog_tmp_professor b WHERE a.did=b.did AND date_format(monat,'%Y') = '$jahrgang' AND a.did = $row7[did] AND wert > 0 GROUP BY a.did, lbbzid, art ORDER BY b.art, doz_name asc, lbbzid asc"; $result8 = $db->query($query8) or die("Cannot execute query8"); while ($row8 = $result8->fetch_array()) { if ($row8['art'] == 'F') { // Darf der Button zum Löschen eines fiktiven Werts angezeigt werden bzw. ist der Eintrag schon vorhanden. // Es muss nämlich erst eine Neuberechnung durchgeführt werden, damit es nicht mehr als fiktiven Wert angezeigt wird $result_fikdel = $db->query("SELECT count(*) Anz FROM prog_lb_lz WHERE wert = 0 AND startdat= '$row8[monat]' AND did = $row8[did] "); $row_fikdel = $result_fikdel->fetch_array(); if($row_fikdel['Anz'] == 0){ $art = "Fiktiver Wert"; #fiktive BZ bei fiktiven Profs dürfen nicht gelöscht werden können, da es sonst in prog_lb_bz geschrieben werden müsste. #Da darf es aber nicht rein, da dort nur physikalische Profs drinstehen dürfen. Wenn das Datum für fiktiven Prof verschwindet, #würde es in prog_lb_bz noch stehen. Daher dürfen fiktive Profs nur in die tmp-Tabellen geschrieben werden. if($row8['fikt_prof'] == 'B'){ $bz_del = ""; $fikt_not_edit = 0; }else{ $bz_del = ""; $fikt_not_edit = 1; } }else{ $art = "Fiktiver Wert"; $bz_del = ""; $fikt_not_edit = 0; } $edit = "$row8[did]"; } if ($row8['art'] == 'B') { $bz_del = ""; $art = 'Erfasster Wert'; $edit = "$row8[did]"; } if ($row8['art'] == 'O') { $art = 'max. LBZ erreicht'; $edit = "$row8[did]"; } // if($row8['lbbzid'] < 1000){ // Mindestdatum und Ende Laufzeit ermitteln $result_laufz = $db->query("SELECT date_format(min(monat), '%d.%m.%Y') min_monat_form, date_format(max(monat), '%m.%Y') max_monat_form, date_format(max(monat), '%Y-%m-%d') max_mon FROM prog_tmp_lb_bz WHERE lbbzid='$row8[lbbzid]' AND did= '$row8[did]' LIMIT 1"); $row_laufz = $result_laufz->fetch_array(); $startdat = "$row_laufz[min_monat_form]"; #$enddat = "$row_laufz[max_monat_form]"; # In Windows 32 bit Systemen kommt es zu einem date/strtotime Fehler ab dem Jahr 2038. Dann haben alle Monate 31 Tage $letzter_tag_mon = date("t", strtotime("$row_laufz[max_mon]")); // gives 31,28,31,30 $enddat = "$letzter_tag_mon.$row_laufz[max_monat_form]"; // }else{ // $startdat = "$row8[monat_form]"; // $enddat = ""; // } $wert_neu = number_format($row8['wert'], 2, ',', '.'); $row8['edit'] = $edit; $row8['fikt_not_edit'] = $fikt_not_edit; $row8['farbe'] = $farbe; $row8['delta_art'] = $art; $row8['bz_del'] = $bz_del; $row8['wert'] = $wert_neu; $row8['startdat'] = $startdat; $row8['enddat'] = $enddat; $value_bz[] = $row8; } $row7['inner'] = $value_bz; $row7['farbe'] = $farbe; $value_7[] = $row7; } // echo "
";
  // print_r($value_7);
  // echo "
"; $smarty->assign('outer_loop_bz', $value_7); // Auflistung der LBZ mtl. (Deltas) $query3 = "SELECT distinct a.did FROM prog_tmp_lb_lz a, prog_tmp_professor b WHERE a.did=b.did AND date_format(monat,'%Y') = '$jahrgang' AND (wert > 0 or a.art ='O') GROUP BY a.did, lblzid ORDER BY b.art, doz_name asc, lblzid asc"; $result3 = $db->query($query3) or die("Cannot execute query3a"); $ln_zaehler = 0; while ($row3 = $result3->fetch_array()) { $value_delta = ''; if ($ln_zaehler == 0) { $last_did = $row3['did']; $ln_zaehler = 1; } if ($row3['did'] == $last_did) { $farbe = "#d8d8d8"; } else { $farbe = "#f4f4f4"; $ln_zaehler = 0; } $last_did = $row3['did']; $query4 = "SELECT a.did, doz_titel, doz_vorname, doz_name, lblzid, monat, sum(wert) wert, a.art, date_format(monat, '%Y-01-01') start_aussetz_fiktiv, date_format(monat, '%Y-12-31') ende_aussetz_fiktiv, b.art fikt_prof FROM prog_tmp_lb_lz a, prog_tmp_professor b WHERE a.did=b.did AND date_format(monat,'%Y') = '$jahrgang' AND a.did = $row3[did] AND (wert > 0 or a.art ='O') GROUP BY a.did, lblzid, art ORDER BY b.art, doz_name asc, lblzid asc"; $result4 = $db->query($query4) or die("Cannot execute query4"); while ($row4 = $result4->fetch_array()) { if ($row4['art'] == 'F') { // Darf der Button zum Löschen eines fiktiven Werts angezeigt werden bzw. ist der Eintrag schon vorhanden. // Es muss nämlich erst eine Neuberechnung durchgeführt werden, damit es nicht mehr als fiktiven Wert angezeigt wird $result_fikdel = $db->query("SELECT count(*) Anz FROM prog_lb_lz WHERE wert = 0 AND startdat= '$row4[monat]' AND did = $row4[did] "); $row_fikdel = $result_fikdel->fetch_array(); if($row_fikdel['Anz'] == 0){ $art = "Fiktiver Wert"; #fiktive BZ bei fiktiven Profs dürfen nicht gelöscht werden können, da es sonst in prog_lb_bz geschrieben werden müsste. #Da darf es aber nicht rein, da dort nur physikalische Profs drinstehen dürfen. Wenn das Datum für fiktiven Prof verschwindet, #würde es in prog_lb_bz noch stehen. Daher dürfen fiktive Profs nur in die tmp-Tabellen geschrieben werden. if($row4['fikt_prof'] == 'B'){ $lz_del = ""; $fikt_not_edit_lz = 0; }else{ $lz_del = ""; $fikt_not_edit_lz = 1; } }else{ $art = "Fiktiver Wert"; $lz_del = ""; $fikt_not_edit_lz = 0; } $edit = "$row4[did]"; } if ($row4['art'] == 'B') { $lz_del = ""; $art = 'Erfasster Wert'; $edit = "$row4[did]"; } if ($row4['art'] == 'O') { $art = 'max. LBZ erreicht'; $edit = "$row4[did]"; } // if($row4['lblzid'] < 1000){ // Mindestdatum und Ende Laufzeit ermitteln $result_laufz = $db->query("SELECT date_format(min(monat), '%d.%m.%Y') min_monat_form, date_format(max(monat), '%m.%Y') max_monat_form, date_format(max(monat), '%Y-%m-%d') max_mon FROM prog_tmp_lb_lz WHERE lblzid='$row4[lblzid]' AND did= '$row4[did]' LIMIT 1"); $row_laufz = $result_laufz->fetch_array(); $startdat = "$row_laufz[min_monat_form]"; #$enddat = "$row_laufz[max_monat_form]"; # In Windows 32 bit Systemen kommt es zu einem date/strtotime Fehler ab dem Jahr 2038. Dann haben alle Monate 31 Tage $letzter_tag_mon = date("t", strtotime("$row_laufz[max_mon]")); // gives 31,28,31,30 $enddat = "$letzter_tag_mon.$row_laufz[max_monat_form]"; // }else{ // $startdat = "$row4[monat_form]"; // $enddat = ""; // } $wert_neu = number_format($row4['wert'], 2, ',', '.'); $row4['edit'] = $edit; $row4['fikt_not_edit_lz'] = $fikt_not_edit_lz; $row4['farbe'] = $farbe; $row4['delta_art'] = $art; $row4['lz_del'] = $lz_del; $row4['wert'] = $wert_neu; $row4['startdat'] = $startdat; $row4['enddat'] = $enddat; $value_delta[] = $row4; } $row3['inner'] = $value_delta; $row3['farbe'] = $farbe; $value_3[] = $row3; } // echo "
";
  // print_r($value_3);
  // echo "
"; $smarty->assign('outer_loop', $value_3); // Auflistung der Funktionsbezüge $query5 = "SELECT distinct a.kfid FROM prog_tmp_lb_fz a, prog_kat_funktionen b WHERE a.kfid=b.kfid AND date_format(monat,'%Y') = '$jahrgang' AND wert > 0 GROUP BY a.lbfzid, b.kfid, a.did ORDER BY bezeichnung asc, monat asc "; $result5 = $db->query($query5) or die("Cannot execute query4"); $ln_zaehler1 = 0; while ($row5 = $result5->fetch_array()) { $value_funktion = ''; if ($ln_zaehler1 == 0) { $last_kfid = $row5['kfid']; $ln_zaehler1 = 1; } if ($row5['kfid'] == $last_kfid) { $farbe = "#d8d8d8"; } else { $farbe = "#f4f4f4"; $ln_zaehler1 = 0; } $last_kfid = $row5['kfid']; $query6 = "SELECT lbfzid, b.kfid, a.did, sum(a.wert) wert, art, b.bezeichnung, monat FROM prog_tmp_lb_fz a, prog_kat_funktionen b WHERE a.kfid=b.kfid AND date_format(monat,'%Y') = '$jahrgang' AND a.kfid = $row5[kfid] AND wert > 0 GROUP BY a.lbfzid, b.kfid, a.did ORDER BY bezeichnung asc, monat asc"; $result6 = $db->query($query6) or die("Cannot execute query6"); while ($row6 = $result6->fetch_array()) { if ($row6['art'] == 'F') { $art = 'Fiktiver Wert'; $edit = "$row6[kfid]"; } else { $art = 'Erfasster Wert'; $edit = "$row6[kfid]"; } if ($row6['did'] != 0) { // Wenn kein fiktiver Wert zugeordneten Prof suchen $result_name = $db->query("SELECT doz_titel, doz_vorname, doz_name, date_format(startdat, '%d.%m.%Y') startdat, date_format(enddat, '%d.%m.%Y') enddat FROM prog_tmp_professor a, prog_lb_fz b WHERE a.did=b.did AND a.did= '$row6[did]' AND b.lbfzid=$row6[lbfzid] ORDER BY a.art, startdat DESC LIMIT 1"); $row_name = $result_name->fetch_array(); $name = trim("$row_name[doz_titel] $row_name[doz_name], $row_name[doz_vorname]"); $startdat = "$row_name[startdat]"; $enddat = "$row_name[enddat]"; } else { // Startdatum des fiktiven Werts herausfinden $result_startf = $db->query("SELECT date_format(min(monat), '%d.%m.%Y') monat_form FROM prog_tmp_lb_fz WHERE kfid= '$row6[kfid]' AND art='F' ORDER BY Monat DESC LIMIT 1"); $row_startf = $result_startf->fetch_array(); $name = "Fiktiver Wert"; $startdat = "$row_startf[monat_form]"; $enddat = ""; } $wert_neu = number_format($row6['wert'], 2, ',', '.'); $row6['fz_art'] = $art; $row6['edit'] = $edit; $row6['wert'] = $wert_neu; $row6['name'] = $name; $row6['startdat'] = $startdat; $row6['enddat'] = $enddat; $value_funktion[] = $row6; } $row5['inner'] = $value_funktion; $row5['farbe'] = $farbe; $value_5[] = $row5; } // echo "
";
  // print_r($value_5);
  // echo "
"; $smarty->assign('outer_loop5', $value_5); // $smarty->assign('table_funktionen', $value_funktion); // --- Gespeicherte Bezüge Ende ----- // $heute_format = date("Y", mktime(0, 0, 0, 0, 0, date("Y"))); // ISO-8601 Format wie in der Datenbank: Formatierung für Vergleiche erforderlich // Der erste Wert wird vorgegeben $result_min = $db->query("SELECT min(date_format(monat, '%Y')) jahr FROM prog_tmp_synopse"); $row_min = $result_min->fetch_array(); // Wann geht der letzte Prof in Ruhestand $result_max = $db->query("SELECT max(date_format(weggang,'%Y')) weggang FROM prog_tmp_professor"); $row_max = $result_max->fetch_array(); // Vor zurückblättern $jahrgang_next = $jahrgang + 1; $jahrgang_prev = $jahrgang - 1; if ($row_min['jahr'] < $jahrgang) { $smarty->assign('ju_td_prev', "?jahrgang=$jahrgang_prev"); } else { $smarty->assign('ju_td_prev', ""); } if ($row_max['weggang'] > $jahrgang) { $smarty->assign('ju_td_next', "?jahrgang=$jahrgang_next"); } else { $smarty->assign('ju_td_next', ""); } } if ($action == 'lzfikdel') { $startdat=$_GET['startdatum']; $enddat=$_GET['enddatum']; $did=$_GET['did']; $modify_date = date("Y-m-d H:i:s"); $result = $db->query("INSERT INTO prog_lb_lz (startdat, enddat, wert, did, modify_date) VALUES ('$startdat', '$enddat', '0', '$did', '$modify_date')"); echo ""; } if ($action == 'lbfikdel') { $startdat=$_GET['datum']; $did=$_GET['did']; $modify_date = date("Y-m-d H:i:s"); $jahr = substr($startdat, 0, 4); // Jahr auslesen aus der SQL Abfrage $mon = substr($startdat, 5, 2); // Monat auslesen aus der SQL-Abfrage $tag = substr($startdat, 8, 2); // Tag auslesen aus der SQL-Abfrage $tstamp = mktime(0, 0, 0, $mon, $tag-1, $jahr); // Tag subtrahieren, der dann in der HTML auch ausgegeben wird $enddat = date("Y-m-d", $tstamp); // Datum formatieren # Offene aktive Zulagen beenden $result = $db->query("UPDATE prog_lb_bz SET enddat= '$enddat' ,modify_date = '$modify_date' WHERE enddat = '0000-00-00' AND did = '$did' "); # Zulagen auf 0 setzen $result = $db->query("INSERT INTO prog_lb_bz (startdat, wert, did, modify_date) VALUES ('$startdat', '0', '$did', '$modify_date')"); echo ""; } $smarty->assign('action', "$action"); $smarty->display("$template/$templatename"); ?>