333 lines
12 KiB
PHP
Executable File
333 lines
12 KiB
PHP
Executable File
<?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('erfs_abschluss', 1);
|
|
$smarty->assign('erfs_error', 1);
|
|
$smarty->assign('erfs_error_text', 'Der aktuelle Jahrgang ist bereits abgeschlossen!');
|
|
} else {
|
|
$smarty->assign('erfs_abschluss', 0);
|
|
} // Jahrgang abgeschlossen
|
|
|
|
# Ausgabe Anzahl der max LVS für extracurriculare Klausurenkurs pro Jahr
|
|
# $query_extracur = $db->query("SELECT wert1, wert2
|
|
# FROM dep_parameter
|
|
# WHERE pid =6");
|
|
# $row_extracur = $query_extracur->fetch_array();
|
|
# $summe_extracur = number_format($row_extracur['wert1'], 0);
|
|
# $einheit_extracur = $row_extracur['wert2'];
|
|
# $smarty->assign('abschluss_value_max_extracur', $summe_extracur);
|
|
# $smarty->assign('abschluss_einheit_max_extracur', $einheit_extracur);
|
|
|
|
# -- Fehlermeldungen -- #
|
|
if (isset($_GET[error])) {
|
|
|
|
$errorno = $_GET[error];
|
|
|
|
$smarty->assign('erfs_error', 1);
|
|
|
|
$smarty->assign('erfs_value_titel', $_SESSION["erfs_titel"]);
|
|
$smarty->assign('erfs_value_art', $_SESSION["erfs_art"]);
|
|
$smarty->assign('erfs_value_std', $_SESSION["erfs_std"]);
|
|
$smarty->assign('erfs_value_hinweise', $_SESSION["erfs_hinweise"]);
|
|
|
|
if ($errorno == 1) {
|
|
$smarty->assign('erfs_error_text', "Es müssen alle aktiven Felder (ausgenommen dem Hinweisfeld) ausgefüllt werden! ");
|
|
}
|
|
}
|
|
|
|
|
|
if (isset($_GET['edit'])) {
|
|
$_SESSION["erfs_status"] = 'edit';
|
|
$dsid = $_GET['edit'];
|
|
$_SESSION["erfs_dsid"] = $dsid;
|
|
} else {
|
|
$_SESSION["erfs_status"] = 'neu';
|
|
}
|
|
|
|
# Defaultwert bei Krankheitsbedingten Merkmale:
|
|
$smarty->assign('erfs_value_krankheit', "0");
|
|
|
|
# --- Wenn Werte editiert werden ------------
|
|
if ($_SESSION["erfs_status"] == 'edit') {
|
|
$result_edit = $db->query("SELECT dsid, titel, verid, lvs, hinweise
|
|
FROM dep_deputat_sonstige
|
|
WHERE dsid = $dsid");
|
|
$row_edit = $result_edit->fetch_array();
|
|
$smarty->assign('erfs_value_titel', "$row_edit[titel]");
|
|
$smarty->assign('erfs_value_art', "$row_edit[verid]");
|
|
$smarty->assign('erfs_value_std', "$row_edit[lvs]");
|
|
$smarty->assign('erfs_value_hinweise', "$row_edit[hinweise]");
|
|
|
|
}
|
|
# --- 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["erfs_status"] = 'neu';
|
|
}
|
|
|
|
|
|
# Alle Veranstaltungsarten
|
|
$query = "SELECT verid, bezeichnung
|
|
FROM dep_kat_veranstaltungsart
|
|
WHERE sonstige = 1";
|
|
|
|
$result = $db->query($query) or die("Cannot execute query1");
|
|
|
|
while ($row = $result->fetch_array()) {
|
|
$table_data1[] = $row;
|
|
}
|
|
$smarty->assign('table_data1', $table_data1);
|
|
|
|
# Alle Teamteachingfaktoren ausgeben
|
|
$query3 = "SELECT tid, bezeichnung
|
|
FROM dep_kat_teamteaching";
|
|
|
|
$result3 = $db->query($query3) or die("Cannot execute query3");
|
|
|
|
while ($row3 = $result3->fetch_array()) {
|
|
$table_data3[] = $row3;
|
|
}
|
|
$smarty->assign('table_data3', $table_data3);
|
|
|
|
|
|
|
|
# Gespeicherte Werte
|
|
$query2 = "SELECT dsid, titel, verid, lvs, hinweise
|
|
FROM dep_deputat_sonstige
|
|
WHERE imtuid=$uid
|
|
AND jahr=$jahrgang
|
|
ORDER BY verid ASC";
|
|
|
|
$result2 = $db->query($query2) or die("Cannot execute query2");
|
|
|
|
while ($row2 = $result2->fetch_array()) {
|
|
|
|
$query_verid = $db->query("SELECT bezeichnung
|
|
FROM dep_kat_veranstaltungsart
|
|
WHERE verid='$row2[verid]'");
|
|
$row_verid = $query_verid->fetch_array();
|
|
|
|
# Wird aktuell nicht mehr im Frontend eingeblendet
|
|
$query_tid = $db->query("SELECT bezeichnung
|
|
FROM dep_kat_teamteaching
|
|
WHERE tid='$row2[teamteaching]'");
|
|
$row_tid = $query_tid->fetch_array();
|
|
|
|
if ($row2['gemlv'] == 'J') {
|
|
$gemlv_form = 'Ja';
|
|
}
|
|
if ($row2['gemlv'] == 'N') {
|
|
$gemlv_form = 'Nein';
|
|
}
|
|
# Krankheitsbedingte Merkmale
|
|
# 0=Keine; 1=LV übernommen; 2=LV nachgeholt
|
|
if ($row2['krankheitsmerkmal'] == 0) {
|
|
$krankheitsmerkmal = "keine";
|
|
}
|
|
if ($row2['krankheitsmerkmal'] == 1) {
|
|
$krankheitsmerkmal = "LV übernommen";
|
|
}
|
|
if ($row2['krankheitsmerkmal'] == 2) {
|
|
$krankheitsmerkmal = "LV nachgeholt";
|
|
}
|
|
|
|
$lvs = number_format($row2['lvs'], 2, ',', '.');
|
|
$row2['lvs'] = $lvs;
|
|
$row2['gemlv_form'] = $gemlv_form;
|
|
$row2['krankheitsmerkmal'] = $krankheitsmerkmal;
|
|
$row2['veranstaltung'] = $row_verid['bezeichnung'];
|
|
$row2['teamteaching_form'] = $row_tid['bezeichnung'];
|
|
$table_data2[] = $row2;
|
|
}
|
|
$smarty->assign('table_data2', $table_data2);
|
|
|
|
# Jahressumme
|
|
$query_jahrsum = $db->query("SELECT sum(lvs) summe_jahr
|
|
FROM dep_deputat_sonstige
|
|
WHERE imtuid=$uid
|
|
AND jahr=$jahrgang");
|
|
$row_jahrsum = $query_jahrsum->fetch_array();
|
|
$summe_jahr = number_format($row_jahrsum['summe_jahr'], 2, ',', '.');
|
|
$smarty->assign('erfs_value_summe_jahr', $summe_jahr);
|
|
|
|
# Exkursionen
|
|
$query_exkurs = $db->query("SELECT faktor, max_wert FROM `dep_kat_veranstaltungsart` WHERE verid=5");
|
|
$row_exkurs = $query_exkurs->fetch_array();
|
|
$faktor = number_format($row_exkurs['faktor'], 2, ',', '.');
|
|
$max_wert = number_format($row_exkurs['max_wert'], 2, ',', '.');
|
|
$smarty->assign('erfs_value_exk_faktor', $faktor);
|
|
$smarty->assign('erfs_value_exk_max_wert', $max_wert);
|
|
|
|
|
|
}
|
|
|
|
if ($action == 'register') {
|
|
|
|
$titel = $_POST['titel'];
|
|
$art = $_POST['art'];
|
|
$std = str_replace(',','.',str_replace('.','', $_POST['std']));
|
|
$hinweise = $_POST['hinweise'];
|
|
|
|
|
|
$_SESSION["erfs_titel"] = $titel;
|
|
$_SESSION["erfs_art"] = $art;
|
|
$_SESSION["erfs_std"] = $std;
|
|
$_SESSION["erfs_hinweise"] = $hinweise;
|
|
|
|
# if ($art != 5 AND ($titel == '' or $art == '' or $gemlv == '' or $std == '')) {
|
|
if ($titel == '' or $art == '' or $std == '') {
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
}
|
|
|
|
/*
|
|
if ($gemlv == 'J' AND ($anzgemlv == '' or $massgemlv == '' or $namegemlv == '' or $teamteaching == '')) {
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
}
|
|
|
|
# Fehler bei Exkursion
|
|
if ($tage_exkursion == 1 AND $art == 5) {
|
|
#Eintägig
|
|
if ($exk_datumvon == '' or $exk_beschreibung == '' or $exk_stdanreise == '') {
|
|
# Fehler bei leeren Felder
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
} else {
|
|
# LVS berechnen
|
|
$std = lvs_exk_eintaegig($exk_stdanreise);
|
|
}
|
|
}
|
|
|
|
if ($tage_exkursion == 2 AND $art == 5) {
|
|
#Mehrtägig
|
|
if ($exk_datumvon == '' or $exk_datumbis == '' or $exk_beschreibung == '' or $exk_stdanreise == '' or $exk_stdabreise == '') {
|
|
# Fehler bei leeren Felder
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
} else {
|
|
# LVS berechnen
|
|
$std = lvs_exk_mehrtaegig($exk_stdanreise, $exk_stdabreise, $exk_datumvon, $exk_datumbis);
|
|
}
|
|
}
|
|
|
|
# Defaultwert (checked) beim Laden der Seite soll nicht übernommen werden, wenn es keine Exkursion ist
|
|
if ($art != 5) {
|
|
$tage_exkursion = 0;
|
|
}
|
|
|
|
# Maximaler Anzahl der Extracurricularen Klausurenkurse prüfen. Derzeit 30 LVS -> Parameterwert 6
|
|
if ($art == 6) {
|
|
# Ausgabe Anzahl der max LVS für extracurriculare Klausurenkurs pro Jahr
|
|
$query_extracur = $db->query("SELECT wert1
|
|
FROM dep_parameter
|
|
WHERE pid =6");
|
|
$row_extracur = $query_extracur->fetch_array();
|
|
$summe_extracur = number_format($row_extracur['wert1'], 1);
|
|
|
|
# Wie viele Stunden sind bereits im aktuellen Jahr gebucht
|
|
$query_sumcurr = $db->query("SELECT sum(lvs) summe_jahr
|
|
FROM dep_deputat_sonstige
|
|
WHERE imtuid=$uid
|
|
AND jahr=$jahrgang
|
|
AND verid=6");
|
|
$row_sumcurr = $query_sumcurr->fetch_array();
|
|
|
|
# vorhandene Summe + die aktuell eingegeben Stundenzahl darf Maximalwert nicht überschreiten
|
|
$summecurr_neu = $row_sumcurr['summe_jahr'] + $std;
|
|
if ($summecurr_neu > $summe_extracur) {
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=2&summecurr=$row_sumcurr[summe_jahr]\">";
|
|
exit;
|
|
}
|
|
}
|
|
|
|
*/
|
|
|
|
|
|
$datum = date("Y-m-d H:i:s");
|
|
if ($_SESSION["erfs_status"] == 'neu') {
|
|
$sql1 = $db->query("INSERT INTO dep_deputat_sonstige ( imtuid
|
|
, jahr
|
|
, titel
|
|
, verid
|
|
, lvs
|
|
, hinweise
|
|
, created
|
|
)
|
|
VALUES
|
|
( '$uid'
|
|
, '$jahrgang'
|
|
, '$titel'
|
|
, '$art'
|
|
, '$std'
|
|
, '$hinweise'
|
|
, '$datum'
|
|
)
|
|
");
|
|
}
|
|
|
|
if ($_SESSION["erfs_status"] == 'edit') {
|
|
$dsid = $_SESSION["erfs_dsid"];
|
|
$result = $db->query("UPDATE dep_deputat_sonstige
|
|
SET titel = '$titel'
|
|
, verid = '$art'
|
|
, lvs = '$std'
|
|
, hinweise = '$hinweise'
|
|
, modify_date = '$datum'
|
|
WHERE dsid = $dsid
|
|
");
|
|
|
|
unset($_SESSION['erfs_dsid']);
|
|
}
|
|
|
|
# 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') {
|
|
$dsid = $_GET['dsid'];
|
|
|
|
## Muss man nochmals überdenken, wenn ein Prof noch Deputate erfasst hat.
|
|
$del1 = $db->query("DELETE FROM dep_deputat_sonstige WHERE dsid = $dsid AND imtuid=$uid");
|
|
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">";
|
|
}
|
|
|
|
$smarty->assign('action', "$action");
|
|
$smarty->display("$template/$templatename");
|
|
|
|
?>
|