first commit
This commit is contained in:
320
abschlussarbeiten.php
Executable file
320
abschlussarbeiten.php
Executable file
@ -0,0 +1,320 @@
|
||||
<?php
|
||||
session_start();
|
||||
$jahrgang = $_SESSION["jahrgang"];
|
||||
include_once 'classes/TestProjektSmarty.class.php';
|
||||
require_once("config.inc.php");
|
||||
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
|
||||
$smarty = new Smarty();
|
||||
require_once "functions.php";
|
||||
require_once "language/german.inc.php";
|
||||
require_once "func_lvs_exk_mehrtaegig.php";
|
||||
require_once "func_lvs_exk_eintaegig.php";
|
||||
|
||||
if (isset($_GET['action'])) {
|
||||
$action = $_GET['action'];
|
||||
} else {
|
||||
$action = '';
|
||||
}
|
||||
|
||||
|
||||
if ($action == '') {
|
||||
|
||||
if ($jahrgang == "") {
|
||||
echo "Bitte zuerst <a href='jahrgang.php'>Jahrgang</a> 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 "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
||||
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 "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=2\">";
|
||||
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 "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?editende=$editende\">";
|
||||
|
||||
}
|
||||
|
||||
|
||||
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 "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">";
|
||||
|
||||
}
|
||||
|
||||
$smarty->assign('action', "$action");
|
||||
$smarty->display("$template/$templatename");
|
||||
|
||||
?>
|
Reference in New Issue
Block a user