Jahrgang wählen!"; exit; } if (isset($_GET[error])) { $errorno = $_GET[error]; $smarty->assign('tz_error', 1); $smarty->assign('tz_value_umfang', $_SESSION["tz_umfang"]); $smarty->assign('tz_value_beginn', $_SESSION["tz_beginn"]); if ($errorno == 1) { $smarty->assign('tz_error_text', "Es müssen Umfang und Beginndatum ausgewählt werden! "); } if ($errorno == 3) { # ungültiges Datum $smarty->assign('tz_error_text', "Das eingegebene Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!"); } if ($errorno == 4) { $smarty->assign('tz_error_text', "Das Datum ist bereits vorhanden!
Bearbeiten Sie ggf. das vorhandene Datum mit dem Bleistiftsymbol."); } $jahrgang2 = $jahrgang+1; if ($errorno == 5) { $smarty->assign('tz_error_text', "Das Datum ist außerhalb des Jahrgangs!
Datum muss im Bereich 01.09.$jahrgang - 31.08.$jahrgang2 liegen."); } if ($errorno == 6) { $smarty->assign('tz_error_text', "Wenn eine Schwerbehinderung erfasst wurde, darf keine Teilzeit erfasst werden.
Setzen Sie sich mit dem Administrator in Verbindung, sobald Sie das aktuelle Jahr abgeschlossen haben."); } } if (isset($_GET['edit'])) { $_SESSION["tz_status"] = 'edit'; $deid = $_GET['edit']; $_SESSION["tz_deid"] = $deid; } else { $_SESSION["tz_status"] = 'neu'; } # --- Wenn Werte editiert werden ------------ if ($_SESSION["tz_status"] == 'edit') { $result_edit = $db->query("SELECT deid, date_format(beginn, '%d.%m.%Y') beginn, prozent FROM dep_deputat_ermaessigung WHERE deid = $deid AND art = 'Teilzeit'"); $row_edit = $result_edit->fetch_array(); $smarty->assign('tz_value_umfang', "$row_edit[prozent]"); $smarty->assign('tz_value_beginn', "$row_edit[beginn]"); } # --- 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["tz_status"] = 'neu'; } # Gespeicherte Werte # Was ist die Standard LVS $query_baselvs = $db->query("SELECT lvs FROM dep_kat_lvs WHERE jahr <=$jahrgang ORDER BY jahr desc LIMIT 1"); $row_baselvs = $query_baselvs->fetch_array(); $baselvs = $row_baselvs['lvs']; $smarty->assign('tz_baselvs', $baselvs); $jahrgang2 = $jahrgang+1; $max_dat = $jahrgang2.'-09-01'; $query2 = "SELECT deid, date_format(beginn, '%d.%m.%Y') beginn_form, prozent, beginn FROM dep_deputat_ermaessigung WHERE imtuid=$uid AND jahr=$jahrgang AND beginn < '$max_dat' AND art = 'Teilzeit' ORDER BY beginn ASC"; $result2 = $db->query($query2) or die("Cannot execute query2"); while ($row2 = $result2->fetch_array()) { $prozent = $row2['prozent']*100; $row2['prozent'] = $prozent; $table_data2[] = $row2; } $smarty->assign('table_data2', $table_data2); } #$lvs= number_format(lvs_teilzeit($uid,$jahrgang), 2, ',', '.'); #$smarty->assign('tz_value_lvs', $lvs); if ($action == 'save') { $jahrgang2 = $jahrgang+1; $umfang = $_POST['umfang']; $beginn = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $_POST['beginn_teilzeit']); $_SESSION["tz_umfang"] = $umfang; $_SESSION["tz_beginn"] = $_POST['beginn_teilzeit']; function validateDate($date, $format = 'Y-m-d') { $d = DateTime::createFromFormat($format, $date); return $d && $d->format($format) == $date; } if(!validateDate($beginn)){ if($_SESSION["tz_status"] == 'neu'){ echo ""; }else{ echo ""; } exit; } if ($beginn == '' OR $umfang == '') { if($_SESSION["tz_status"] == 'neu'){ echo ""; }else{ echo ""; } exit; } /* Teilzeiten werden immer nur ganze Monate vergeben*/ $year_start = substr($beginn,0,4); $mon_start = substr($beginn,5,2); $day_start = '01'; #substr($beginn,8,2); $save_beginn = "$year_start-$mon_start-$day_start"; # Doppeltes Datum prüfen $query_beginndop = $db->query("SELECT count(*) Anz FROM dep_deputat_ermaessigung WHERE beginn = '$save_beginn' AND imtuid = $uid AND art = 'Teilzeit'"); $row_beginndop = $query_beginndop->fetch_array(); if($row_beginndop['Anz'] > 0 AND $_SESSION["tz_status"] != 'edit'){ echo ""; exit; } # Datum außerhalb des Jahrgangs 01.09.-31.08 if(strtotime($save_beginn) > strtotime("$jahrgang2-08-31") OR strtotime($save_beginn) < strtotime("$jahrgang-09-01")){ if($_SESSION["tz_status"] == 'neu'){ echo ""; }else{ echo ""; } exit; } $result_tz = $db->query("SELECT count(*) Anz FROM dep_deputat_ermaessigung WHERE jahr = '$jahrgang' AND art = 'Schwerbehinderung' AND imtuid=$uid AND prozent > 0"); $row_tz = $result_tz->fetch_array(); if($row_tz['Anz']>0){ if($_SESSION["tz_status"] == 'neu'){ echo ""; }else{ echo ""; } exit; } # Datum vor Schuljahr, dann Schuljahrbeginn if($dat_ende >= $dat_max or $ende_funktion == ''){ $ende_funktion = $jahrgang2."-08-31"; } # Datum nach Schulnahrbeginn > 01.09, dann wird 100% zugrunde gelegt ab 01.09 # Prüfen, ob ein Datum ab 01.09. vorliegt #$beginn = $jahrgang."-09-01"; #$query_beginn = $db->query("SELECT count(*) Anz # FROM dep_deputat_ermaessigung # WHERE beginn = '$beginn' # AND imtuid = $uid # AND art = 'Teilzeit'"); #$row_beginn = $query_beginn->fetch_array(); #if($row_beginn['Anz'] == 0 AND $beginn != $save_beginn){ # ## Wenn er zu kein beginn erfasst hat und dies auch aktuell nicht vor hat, dann Startwert auf 100 % setzen. Prof kann den Wert nachträglich bearbeiten # $sql1 = $db->query("INSERT INTO dep_deputat_ermaessigung ( jahr # , beginn # , imtuid # , art # , prozent # , sort_order # , created # ) # VALUES # ( '$jahrgang' # , '$beginn' # , '$uid' # , 'Teilzeit' # , '1.00' # , 4 # , '$datum' # ) # "); # #} $datum = date("Y-m-d H:i:s"); if ($_SESSION["tz_status"] == 'neu') { $sql1 = $db->query("INSERT INTO dep_deputat_ermaessigung ( jahr , beginn , imtuid , art , prozent , sort_order , created ) VALUES ( '$jahrgang' , '$save_beginn' , '$uid' , 'Teilzeit' , '$umfang' , 4 , '$datum' ) "); } if ($_SESSION["tz_status"] == 'edit') { $deid = $_SESSION["tz_deid"]; $result = $db->query("UPDATE dep_deputat_ermaessigung SET beginn = '$save_beginn' , prozent = '$umfang' , modify_date = '$datum' WHERE deid = $deid AND art = 'Teilzeit' "); } $editende = 1; echo ""; } if ($action == 'del') { $deid = $_GET['deid']; ## Muss man nochmals überdenken, wenn ein Prof noch Deputate erfasst hat. $del1 = $db->query("DELETE FROM dep_deputat_ermaessigung WHERE deid = $deid AND imtuid=$uid AND art = 'Teilzeit'"); echo ""; } $smarty->assign('action', "$action"); $smarty->display("$template/$templatename"); ?>