Jahrgang wählen!"; exit; } if (isset($_GET[error])) { $errorno = $_GET[error]; $smarty->assign('beh_error', 1); $smarty->assign('beh_value_behinderungsgrad', $_SESSION["beh_behinderungsgrad"]*100); if ($errorno == 1) { $smarty->assign('beh_error_text', "Es muß die prozentuale Ermäßigung angegeben werden! "); } if ($errorno == 2) { $smarty->assign('beh_error_text', "Der Behinderungsgrad muss zwischen 0 und 100% liegen! "); } if ($errorno == 3) { $smarty->assign('beh_error_text', "Das eingegebene Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!"); } if ($errorno == 4) { $smarty->assign('beh_error_text', "Das Datum ist bereits vorhanden!
Bearbeiten Sie ggf. das vorhandene Datum mit dem Bleistiftsymbol."); } $jahrgang2 = $jahrgang+1; if ($errorno == 5) { $smarty->assign('beh_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('beh_error_text', "Wenn eine Teilzeit erfasst wurde, darf keine Schwerbehinderung erfasst werden.
Setzen Sie sich mit dem Administrator in Verbindung, sobald Sie das aktuelle Jahr abgeschlossen haben."); } } if (isset($_GET['edit'])) { $_SESSION["beh_status"] = 'edit'; $deid = $_GET['edit']; $_SESSION["beh_deid"] = $deid; } else { $_SESSION["beh_status"] = 'neu'; } # --- Wenn Werte editiert werden ------------ if ($_SESSION["beh_status"] == 'edit') { $result_edit = $db->query("SELECT deid, date_format(beginn, '%d.%m.%Y') beginn, prozent*100 behinderungsgrad FROM dep_deputat_ermaessigung WHERE deid = $deid"); $row_edit = $result_edit->fetch_array(); $smarty->assign('beh_value_behinderungsgrad', "$row_edit[behinderungsgrad]"); $smarty->assign('beh_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["beh_status"] = 'neu'; } # Gespeicherte Werte $query2 = "SELECT deid, date_format(beginn, '%d.%m.%Y') beginn_form, prozent behinderungsgrad, beginn FROM dep_deputat_ermaessigung WHERE imtuid=$uid AND art = 'Schwerbehinderung' AND jahr=$jahrgang ORDER BY beginn ASC"; $result2 = $db->query($query2) or die("Cannot execute query2:
$query2
"); while ($row2 = $result2->fetch_array()) { $behinderungsgrad = number_format($row2['behinderungsgrad']*100, 1, ',', '.'); $row2['behinderungsgrad'] = $behinderungsgrad; $table_data2[] = $row2; } $smarty->assign('table_data2', $table_data2); } if ($action == 'save') { $jahrgang2 = $jahrgang+1; $behinderungsgrad = str_replace(',','.',str_replace('.','', $_POST['behinderung']))/100; $beginn = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $_POST['beginn_behinderung']); $_SESSION["beh_behinderungsgrad"] = $behinderungsgrad; $_SESSION["beh_beginn"] = $_POST['beginn_behinderung']; function validateDate($date, $format = 'Y-m-d') { $d = DateTime::createFromFormat($format, $date); return $d && $d->format($format) == $date; } if ($_POST['behinderung'] == "" ) { if($_SESSION["beh_status"] == 'neu'){ echo ""; }else{ echo ""; } exit; } if ($behinderungsgrad < 0 or $behinderungsgrad > 1 ) { # Außerhalb den Werten if($_SESSION["beh_status"] == 'neu'){ echo ""; }else{ echo ""; } exit; } if(!validateDate($beginn)){ if($_SESSION["beh_status"] == 'neu'){ echo ""; }else{ echo ""; } exit; } /* Schwerbehinderungen 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 = 'Schwerbehinderung'"); $row_beginndop = $query_beginndop->fetch_array(); if($row_beginndop['Anz'] > 0 AND $_SESSION["beh_status"] != 'edit'){ if($_SESSION["beh_status"] == 'neu'){ echo ""; }else{ 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["beh_status"] == 'neu'){ echo ""; }else{ echo ""; } exit; } $result_beh = $db->query("SELECT count(*) Anz FROM dep_deputat_ermaessigung WHERE jahr = '$jahrgang' AND art = 'Teilzeit' AND imtuid=$uid AND prozent < 1"); $row_beh = $result_beh->fetch_array(); if($row_beh['Anz']>0){ if($_SESSION["beh_status"] == 'neu'){ echo ""; }else{ echo ""; } exit; } # 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 = 'Schwerbehinderung'"); #$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 0 % 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' # , 'Schwerbehinderung' # , '0' # , 3 # , '$datum' # ) # "); # #} $datum = date("Y-m-d H:i:s"); if ($_SESSION["beh_status"] == 'neu') { $sql1 = $db->query("INSERT INTO dep_deputat_ermaessigung ( jahr , imtuid , art , beginn , prozent , sort_order , created ) VALUES ( '$jahrgang' , '$uid' , 'Schwerbehinderung' , '$save_beginn' , '$behinderungsgrad' , 3 , '$datum' ) "); } if ($_SESSION["beh_status"] == 'edit') { $deid = $_SESSION["beh_deid"]; $result = $db->query("UPDATE dep_deputat_ermaessigung SET beginn = '$save_beginn' , prozent = '$behinderungsgrad' , modify_date = '$datum' WHERE deid = $deid "); } $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"); echo ""; } $smarty->assign('action', "$action"); $smarty->display("$template/$templatename"); ?>