Jahrgang wählen!"; exit; } # Prüfen ob der Jahrgang schon abgeschlossen wurde, dann soll der Button "Abschließen und absenden" ausgeblendet werden $query_closed = $db->query("SELECT count(*) Anz FROM dep_doz_abschluss WHERE imtuid=$uid AND jahr=$jahrgang"); $row_closed = $query_closed->fetch_array(); if ($row_closed['Anz'] > 0) { $smarty->assign('abschluss_abschluss', 1); $smarty->assign('abschluss_error', 1); $smarty->assign('abschluss_error_text', 'Der aktuelle Jahrgang ist bereits abgeschlossen!'); } else { $smarty->assign('abschluss_abschluss', 0); } // Jahrgang abgeschlossen # -- Fehlermeldungen -- # if (isset($_GET[error])) { $errorno = $_GET[error]; $smarty->assign('abschluss_error', 1); $smarty->assign('abschluss_value_name', $_SESSION["abschluss_name"]); $smarty->assign('abschluss_value_kaid', $_SESSION["abschluss_kaid"]); $smarty->assign('abschluss_value_pauschale', $_SESSION['abschluss_pauschale']); $smarty->assign('abschluss_value_semester', $_SESSION["abschluss_semester"]); if ($errorno == 1) { $smarty->assign('abschluss_error_text', "Es müssen alle Felder ausgefüllt werden"); } if ($errorno == 2) { $smarty->assign('abschluss_error_text', "Sie haben die maximale Anzahl der Abschlussarbeiten pro Semester erreicht!"); } } if (isset($_GET['edit'])) { $_SESSION["abschluss_status"] = 'edit'; $daid = $_GET['edit']; $_SESSION["abschluss_daid"] = $daid; } else { $_SESSION["abschluss_status"] = 'neu'; } # --- Wenn Werte editiert werden ------------ if ($_SESSION["abschluss_status"] == 'edit') { $result_edit = $db->query("SELECT name, kaid, pauschale, semester FROM dep_deputat_abschlussarbeiten WHERE daid = $daid"); $row_edit = $result_edit->fetch_array(); $smarty->assign('abschluss_value_name', "$row_edit[name]"); $smarty->assign('abschluss_value_kaid', "$row_edit[kaid]"); $smarty->assign('abschluss_value_pauschale', "$row_edit[pauschale]"); $smarty->assign('abschluss_value_semester', "$row_edit[semester]"); } # --- 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["abschluss_status"] = 'neu'; } # Alle Veranstaltungsarten $query = "SELECT kaid, bezeichnung FROM dep_kat_abschlussarbeiten"; $result = $db->query($query) or die("Cannot execute query"); while ($row = $result->fetch_array()) { $table_data1[] = $row; } $smarty->assign('table_data1', $table_data1); # Gespeicherte Werte WS $query2 = "SELECT daid, name, kaid, semester, pauschale, lvs FROM dep_deputat_abschlussarbeiten WHERE imtuid=$uid AND jahr=$jahrgang AND semester = 'WS'"; $result2 = $db->query($query2) or die("Cannot execute query"); while ($row2 = $result2->fetch_array()) { if ($row2['semester'] == 'SS') { $semester = "Sommersemester"; } if ($row2['semester'] == 'WS') { $semester = "Wintersemester"; } $query_bez_sem = $db->query("SELECT bezeichnung FROM dep_kat_abschlussarbeiten WHERE kaid =$row2[kaid]"); $row_bez_sem = $query_bez_sem->fetch_array(); $lvs = number_format($row2['lvs'], 2, ',', '.'); $pauschale = number_format($row2['pauschale'], 2, ',', '.'); $row2['pauschale'] = $pauschale; $row2['lvs'] = $lvs; $row2['abschlussarbeit'] = $row_bez_sem['bezeichnung']; $row2['semesterbez'] = $semester; $table_data2[] = $row2; } $smarty->assign('table_data2', $table_data2); # Summe LVS im WS $query_sumlvs_ws = $db->query("SELECT sum(lvs) lvs FROM dep_deputat_abschlussarbeiten WHERE imtuid=$uid AND jahr=$jahrgang AND semester = 'WS'"); $row_sumlvs_ws = $query_sumlvs_ws->fetch_array(); $summe_jahr_lvs_ws = number_format($row_sumlvs_ws['lvs'], 2, ',', '.'); $smarty->assign('abschluss_value_ws_summe_lvs', $summe_jahr_lvs_ws); # Gespeicherte Werte SS $query3 = "SELECT daid, name, kaid, semester, pauschale, lvs FROM dep_deputat_abschlussarbeiten WHERE imtuid=$uid AND jahr=$jahrgang AND semester = 'SS'"; $result3 = $db->query($query3) or die("Cannot execute query"); while ($row3 = $result3->fetch_array()) { if ($row3['semester'] == 'SS') { $semester = "Sommersemester"; } if ($row3['semester'] == 'WS') { $semester = "Wintersemester"; } $query_bez_sem = $db->query("SELECT bezeichnung FROM dep_kat_abschlussarbeiten WHERE kaid =$row3[kaid]"); $row_bez_sem = $query_bez_sem->fetch_array(); $lvs = number_format($row3['lvs'], 2, ',', '.'); $pauschale = number_format($row3['pauschale'], 2, ',', '.'); $row3['pauschale'] = $pauschale; $row3['lvs'] = $lvs; $row3['abschlussarbeit'] = $row_bez_sem['bezeichnung']; $row3['semesterbez'] = $semester; $table_data3[] = $row3; } $smarty->assign('table_data3', $table_data3); # Summe LVS im SS $query_sumlvs_ss = $db->query("SELECT sum(lvs) lvs FROM dep_deputat_abschlussarbeiten WHERE imtuid=$uid AND jahr=$jahrgang AND semester = 'SS'"); $row_sumlvs_ss = $query_sumlvs_ss->fetch_array(); $summe_jahr_lvs_ss = number_format($row_sumlvs_ss['lvs'], 2, ',', '.'); $smarty->assign('abschluss_value_ss_summe_lvs', $summe_jahr_lvs_ss); # Max Anzahl der Abschlussarbeiten pro Semester $query_sumabschl = $db->query("SELECT wert1 FROM dep_parameter WHERE pid =5"); $row_summabschl = $query_sumabschl->fetch_array(); $summe_jahr = number_format($row_summabschl['wert1'], 0); $smarty->assign('abschluss_value_max_arbeiten', $summe_jahr); } if ($action == 'register') { $name = $_POST['name']; $kaid = $_POST['kaid']; $pauschale = str_replace(',','.',str_replace('.','', $_POST['pauschale'])); $semester = $_POST['semester']; if($kaid == 1){ # Bei Bachelorarbeit gibt es keine Pauschale $pauschale = 0; } $_SESSION["abschluss_name"] = $name; $_SESSION["abschluss_kaid"] = $kaid; $_SESSION["abschluss_pauschale"] = $pauschale; $_SESSION["abschluss_semester"] = $semester; if ($name == '' or $kaid == '' or $semester == '') { echo ""; exit; } #Limit pro Semester $query_anz = $db->query("SELECT count(*) Anz FROM dep_deputat_abschlussarbeiten WHERE semester ='$semester' AND imtuid=$uid AND jahr=$jahrgang"); $row_anz = $query_anz->fetch_array(); # Max Anzahl der Abschlussarbeiten pro Semester $query_sumabschl = $db->query("SELECT wert1 FROM dep_parameter WHERE pid =5"); $row_summabschl = $query_sumabschl->fetch_array(); if ($row_anz['Anz'] >= $row_summabschl['wert1'] AND $_SESSION["abschluss_status"] != 'edit') { echo ""; exit; } # Faktor pro Arbeit ermitteln $query_fak = $db->query("SELECT faktor FROM dep_kat_abschlussarbeiten WHERE kaid =$kaid"); $row_fak = $query_fak->fetch_array(); $faktor = $row_fak['faktor']; # Faktor wird mit den Wochen eines Semesters multipliziert 33Semesterwochen (2019) im Jahr. Dh. 16,5 pro Semester $query_multipl = $db->query("SELECT jahr, sw/2 semesterwoche FROM dep_kat_lvs WHERE jahr <=$jahrgang order by jahr desc limit 1"); $row_multiplikator = $query_multipl->fetch_array(); $lvs = $row_multiplikator['semesterwoche'] * $faktor + $pauschale; $datum = date("Y-m-d H:i:s"); if ($_SESSION["abschluss_status"] == 'neu') { $sql1 = $db->query("INSERT INTO dep_deputat_abschlussarbeiten ( imtuid , jahr , kaid , name , semester , pauschale , lvs , created ) VALUES ( '$uid' , '$jahrgang' , '$kaid' , '$name' , '$semester' , '$pauschale' , '$lvs' , '$datum' ) "); } if ($_SESSION["abschluss_status"] == 'edit') { $daid = $_SESSION["abschluss_daid"]; $result = $db->query("UPDATE dep_deputat_abschlussarbeiten SET name = '$name' , kaid = '$kaid' , semester = '$semester' , pauschale = '$pauschale' , lvs = '$lvs' , modify_date = '$datum' WHERE daid = $daid "); unset($_SESSION['abschluss_daid']); } # Dann bekommts beim refresh den status neu, also es wird beim Abschicken ein Insert gemacht $editende = 1; echo ""; } if ($action == 'del') { $daid = $_GET['daid']; ## Muss man nochmals überdenken, wenn ein Prof noch Deputate erfasst hat. $del1 = $db->query("DELETE FROM dep_deputat_abschlussarbeiten WHERE daid = $daid AND imtuid=$uid"); echo ""; } $smarty->assign('action', "$action"); $smarty->display("$template/$templatename"); ?>