724 lines
32 KiB
PHP
Executable File
724 lines
32 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";
|
|
|
|
# Wenn Seite neu aufgerufen wird, dann alle Sessions, die mit "erf_" beginnen löschen
|
|
if (isset($_GET['new']) AND $_GET['new'] == 1) {
|
|
;
|
|
$search_prefix = 'erf_';
|
|
$search_len = strlen($search_prefix);
|
|
foreach ($_SESSION as $key => $value) {
|
|
if (substr($key, 0, $search_len) == $search_prefix) {
|
|
unset($_SESSION[$key]);
|
|
}
|
|
}
|
|
}
|
|
|
|
#echo "<pre>";
|
|
#echo nl2br(print_r($_SESSION,true));
|
|
#echo "</pre>";
|
|
|
|
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('erf_abschluss', 1);
|
|
$smarty->assign('erf_error', 1);
|
|
$smarty->assign('erf_error_text', 'Der aktuelle Jahrgang ist bereits abgeschlossen!');
|
|
} else {
|
|
$smarty->assign('erf_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('erf_error', 1);
|
|
|
|
$smarty->assign('erf_value_titel', $_SESSION["erf_titel"]);
|
|
if($_SESSION["erf_titel"] == "" or $_SESSION["erf_module"] == "" or $_SESSION["erf_schwerpunkt"] == ""){ $smarty->assign('erf_titel_hig', 1);}else{$smarty->assign('erf_titel_hig', 0);}
|
|
|
|
$smarty->assign('erf_value_module', $_SESSION["erf_module"]);
|
|
|
|
$smarty->assign('erf_value_schwerpunkt', $_SESSION["erf_schwerpunkt"]);
|
|
|
|
$smarty->assign('erf_value_art', $_SESSION["erf_art"]);
|
|
if($_SESSION["erf_art"] == ""){ $smarty->assign('erf_art_hig', 1);}else{$smarty->assign('erf_art_hig', 0);}
|
|
|
|
$smarty->assign('erf_value_anz_ag', $_SESSION["erf_anz_ag"]);
|
|
|
|
$smarty->assign('erf_value_studiengang', $_SESSION["erf_studiengang"]);
|
|
if($_SESSION["erf_studiengang"] == ""){ $smarty->assign('erf_studiengang_hig', 1);}else{$smarty->assign('erf_studiengang_hig', 0);}
|
|
|
|
$smarty->assign('erf_value_krankheit', $_SESSION["erf_krankheit"]);
|
|
|
|
$smarty->assign('erf_value_gemlv', $_SESSION["erf_gemlv"]);
|
|
|
|
$smarty->assign('erf_value_fachlv', $_SESSION["erf_fachlv"]);
|
|
|
|
$smarty->assign('erf_value_anzgemlv', $_SESSION["erf_anzgemlv"]);
|
|
if($_SESSION["erf_anzgemlv"] == "" AND $_SESSION["erf_gemlv"] == "J"){ $smarty->assign('erf_anzgemlv_hig', 1);}else{$smarty->assign('erf_anzgemlv_hig', 0);}
|
|
|
|
$smarty->assign('erf_value_namegemlv', $_SESSION["erf_namegemlv"]);
|
|
if($_SESSION["erf_namegemlv"] == "" AND $_SESSION["erf_gemlv"] == "J"){ $smarty->assign('erf_namegemlv_hig', 1);}else{$smarty->assign('erf_namegemlv_hig', 0);}
|
|
|
|
$smarty->assign('erf_value_basislvsgemlv', $_SESSION["erf_basislvsgemlv"]);
|
|
if(($_SESSION["erf_basislvsgemlv"] == "" or $_SESSION["erf_basislvsgemlv"] < "0,1") AND $_SESSION["erf_gemlv"] == "J"){ $smarty->assign('erf_basislvsgemlv_hig', 1);}else{$smarty->assign('erf_basislvsgemlv_hig', 0);}
|
|
|
|
$smarty->assign('erf_value_teamteaching', $_SESSION["erf_teamteaching"]);
|
|
if($_SESSION["erf_teamteaching"] == "" AND $_SESSION["erf_gemlv"] == "J"){ $smarty->assign('erf_teamteaching_hig', 1);}else{$smarty->assign('erf_teamteaching_hig', 0);}
|
|
|
|
$smarty->assign('erf_value_tage_exkursion', $_SESSION["erf_tage_exkursion"]);
|
|
if($_SESSION["erf_tage_exkursion"] == "1" AND
|
|
($_SESSION["erf_exk_datumvon"] == "" OR
|
|
$_SESSION["erf_exk_beschreibung"] == "" OR
|
|
$_SESSION["erf_exk_stdanreise"] == "")
|
|
){ $smarty->assign('erf_tage_exkursion_hig', 1);}else{$smarty->assign('erf_tage_exkursion_hig', 0);}
|
|
|
|
if($_SESSION["erf_tage_exkursion"] == "2" AND
|
|
($_SESSION["erf_exk_datumvon"] == "" OR
|
|
$_SESSION["erf_exk_datumbis"] == "" OR
|
|
$_SESSION["erf_exk_beschreibung"] == "" OR
|
|
$_SESSION["erf_exk_stdanreise"] == "" OR
|
|
$_SESSION["erf_exk_stdabreise"] == "")
|
|
){ $smarty->assign('erf_tage_exkursion_hig', 1);}else{$smarty->assign('erf_tage_exkursion_hig', 0);}
|
|
|
|
|
|
$smarty->assign('erf_value_std', $_SESSION["erf_std"]);
|
|
if($_SESSION["erf_std"] == "" or $_SESSION["erf_std"] < "0,1"){ $smarty->assign('erf_std_hig', 1);}else{$smarty->assign('erf_std_hig', 0);}
|
|
|
|
$smarty->assign('erf_value_hinweise', $_SESSION["erf_hinweise"]);
|
|
/*Hinweise sind keine Pflichtfelder, daher auch hier keine _hig Variable*/
|
|
|
|
if ($errorno == 1) {
|
|
$smarty->assign('erf_error_text', "Es müssen alle aktiven Felder (ausgenommen dem Hinweisfeld) ausgefüllt werden! ");
|
|
}
|
|
if ($errorno == 2) {
|
|
# Extracurriculare Stunden wären überschritten
|
|
$bisherige_extracurr = number_format($_GET['summecurr'], 2, ',', '.');
|
|
$smarty->assign('erf_error_text', "Der eingegebene LVS-Wert würde die maximal zulässige Summe von $summe_extracur LVS überschreiten.<br>Derzeit sind $bisherige_extracurr Std vom Typ \"Extracurricularem Klausurenkurs\" erfasst!");
|
|
}
|
|
if ($errorno == 3) {
|
|
# ungültiges Datum
|
|
$smarty->assign('erf_error_text', "Das eingegebene Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!");
|
|
}
|
|
}
|
|
|
|
|
|
if (isset($_GET['edit'])) {
|
|
$_SESSION["erf_status"] = 'edit';
|
|
$did = $_GET['edit'];
|
|
$_SESSION["erf_did"] = $did;
|
|
} else {
|
|
$_SESSION["erf_status"] = 'neu';
|
|
}
|
|
|
|
# Defaultwert bei Krankheitsbedingten Merkmale:
|
|
$smarty->assign('erf_value_krankheit', "0");
|
|
|
|
# --- Wenn Werte editiert werden ------------
|
|
if ($_SESSION["erf_status"] == 'edit') {
|
|
$result_edit = $db->query("SELECT did, titel, module, schwerpunkt, dsgid, verid, anz_ag, krankheitsmerkmal, gemlv, fachlv, anzgemlv, namegemlv, basislvsgemlv, teamteaching, exk_tage, date_format(exk_datumvon, '%d.%m.%Y') exk_datumvon, date_format(exk_datumbis, '%d.%m.%Y') exk_datumbis, exk_beschreibung, exk_stdanreise, exk_stdabreise, std, std_default, hinweise
|
|
FROM dep_deputat
|
|
WHERE did = $did");
|
|
$row_edit = $result_edit->fetch_array();
|
|
|
|
$smarty->assign('erf_value_titel', "$row_edit[titel]");
|
|
$_SESSION["erf_module"] = $row_edit['module'];
|
|
$_SESSION["erf_schwerpunkt"] = $row_edit['schwerpunkt'];
|
|
$smarty->assign('erf_value_art', "$row_edit[verid]");
|
|
$smarty->assign('erf_value_anz_ag', "$row_edit[anz_ag]");
|
|
$smarty->assign('erf_value_studiengang', "$row_edit[dsgid]");
|
|
$smarty->assign('erf_value_krankheit', "$row_edit[krankheitsmerkmal]");
|
|
$smarty->assign('erf_value_gemlv', "$row_edit[gemlv]");
|
|
$smarty->assign('erf_value_fachlv', "$row_edit[fachlv]");
|
|
$smarty->assign('erf_value_anzgemlv', "$row_edit[anzgemlv]");
|
|
$smarty->assign('erf_value_namegemlv', "$row_edit[namegemlv]");
|
|
$smarty->assign('erf_value_basislvsgemlv', "$row_edit[basislvsgemlv]");
|
|
$smarty->assign('erf_value_teamteaching', "$row_edit[teamteaching]");
|
|
$smarty->assign('erf_value_exk_tage', "$row_edit[exk_tage]");
|
|
$smarty->assign('erf_value_exk_datumvon', "$row_edit[exk_datumvon]");
|
|
$smarty->assign('erf_value_exk_datumbis', "$row_edit[exk_datumbis]");
|
|
$smarty->assign('erf_value_exk_beschreibung', "$row_edit[exk_beschreibung]");
|
|
$smarty->assign('erf_value_exk_stdanreise', "$row_edit[exk_stdanreise]");
|
|
$smarty->assign('erf_value_exk_stdabreise', "$row_edit[exk_stdabreise]");
|
|
$smarty->assign('erf_value_std', "$row_edit[std]");
|
|
$smarty->assign('erf_value_std_default', "$row_edit[std_default]");
|
|
$smarty->assign('erf_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["erf_status"] = 'neu';
|
|
}
|
|
|
|
# Alle Veranstaltungsarten
|
|
$query0 = "SELECT dsgid, bezeichnung
|
|
FROM dep_kat_studiengang";
|
|
|
|
$result0 = $db->query($query0) or die("Cannot execute query0");
|
|
|
|
while ($row0 = $result0->fetch_array()) {
|
|
$table_data0[] = $row0;
|
|
}
|
|
$smarty->assign('table_data0', $table_data0);
|
|
|
|
|
|
|
|
# Alle Veranstaltungsarten
|
|
$query = "SELECT verid, bezeichnung
|
|
FROM dep_kat_veranstaltungsart
|
|
WHERE sonstige = 0";
|
|
|
|
$result = $db->query($query) or die("Cannot execute query");
|
|
|
|
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 did, titel, module, schwerpunkt, dsgid, verid, krankheitsmerkmal, gemlv, anzgemlv, namegemlv, teamteaching, exk_tage, exk_datumvon, exk_datumbis, exk_beschreibung, exk_stdanreise, exk_stdabreise, std, hinweise
|
|
FROM dep_deputat
|
|
WHERE imtuid=$uid
|
|
AND jahr=$jahrgang
|
|
ORDER BY created desc";
|
|
|
|
$result2 = $db->query($query2) or die("Cannot execute query");
|
|
|
|
while ($row2 = $result2->fetch_array()) {
|
|
|
|
$query_dsgid = $db->query("SELECT bezeichnung
|
|
FROM dep_kat_studiengang
|
|
WHERE dsgid='$row2[dsgid]'");
|
|
$row_dsgid = $query_dsgid->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";
|
|
}
|
|
|
|
|
|
/* Marix, wann $modul $schwerpunkt oder $titel verwendet wird
|
|
findet sind in Excel "erfassen_eingabe_felder.xlsx" Tab "Matrix Titel"
|
|
|
|
$titel = $_POST['titel'];
|
|
$module = $_POST['module'];
|
|
$schwerpunkt = $_POST['schwerpunkt'];
|
|
*/
|
|
if ($row2['verid'] == "1" AND ($row2['dsgid'] == "1" or $row2['dsgid'] == "2" or $row2['dsgid'] == "3" or $row2['dsgid'] == "4")) {
|
|
# In Kombination Vorlesung mit Public Management, Steuer, Rente und Finanz gilt $modul und $titel und $schwerpunkt sind leer
|
|
$query_vorl = $db->query("SELECT bezeichnung
|
|
FROM dep_kat_studienmodul
|
|
WHERE dsmid='$row2[module]'");
|
|
$row_vorl = $query_vorl->fetch_array();
|
|
$titel = $row_vorl['bezeichnung'];
|
|
} elseif ($row2['verid'] == 11) {
|
|
# Bei Schwerpunkt gilt immer $schwerpunkt
|
|
$query_spt = $db->query("SELECT bezeichnung
|
|
FROM dep_kat_schwerpunkt
|
|
WHERE dspid='$row2[schwerpunkt]'");
|
|
$row_spt = $query_spt->fetch_array();
|
|
$titel = $row_spt['bezeichnung'];
|
|
} else {
|
|
# Bei anderen konstellationen gibt es immer $titel
|
|
$titel = $row2['titel'];
|
|
}
|
|
|
|
$std = number_format($row2['std'], 2, ',', '.');
|
|
$row2['std'] = $std;
|
|
$row2['titel'] = $titel;
|
|
$row2['gemlv_form'] = $gemlv_form;
|
|
$row2['krankheitsmerkmal'] = $krankheitsmerkmal;
|
|
$row2['studiengang'] = $row_dsgid['bezeichnung'];
|
|
$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(std) summe_jahr
|
|
FROM dep_deputat
|
|
WHERE imtuid=$uid
|
|
AND jahr=$jahrgang");
|
|
$row_jahrsum = $query_jahrsum->fetch_array();
|
|
$summe_jahr = number_format($row_jahrsum['summe_jahr'], 2, ',', '.');
|
|
$smarty->assign('erf_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('erf_value_exk_faktor', $faktor);
|
|
$smarty->assign('erf_value_exk_max_wert', $max_wert);
|
|
|
|
|
|
}
|
|
|
|
if ($action == 'register') {
|
|
|
|
#Debug alle get parameter ausgeben
|
|
#foreach($_POST as $key=>$value)
|
|
#{
|
|
# echo $key." -> ".$value."<br>";
|
|
#}
|
|
#exit;
|
|
|
|
/* Entweder gibt es Titel, Modul aus DB-Katalog oder Schwerpunkt aus DB-Katalog*/
|
|
|
|
|
|
$art = $_POST['art']; # Vorlesung, Übung, Seminar
|
|
$studiengang = $_POST['studiengang']; # Public Management, Steurverwaltung
|
|
$anz_ag = $_POST['anz_ag']; # Anzahl der Arbeitsgemeinschaften
|
|
$krankheit = $_POST['krankheit']; # keine, Lehrveranstaltung übernommen, Lehrveranstaltung nachgeholt
|
|
$tage_exkursion = $_POST['tage_exkursion']; # Exkursionstage
|
|
$gemlv = $_POST['gemlv']; # Gemeinsame Lehrveranstaltung J/N
|
|
$fachlv = $_POST['fachlv']; # fachübergreifende LV
|
|
$anzgemlv = $_POST['anzgemlv']; # Anzahl der Lehrenden
|
|
$namegemlv = $_POST['namegemlv']; # Name der Lehrenden
|
|
$hinweise = $_POST['hinweise']; # Hinweise des Dozenten
|
|
|
|
/* Marix, wann $modul $schwerpunkt oder $titel verwendet wird
|
|
findet sind in Excel "erfassen_eingabe_felder.xlsx" Tab "Matrix Titel"
|
|
|
|
$titel = $_POST['titel'];
|
|
$module = $_POST['module'];
|
|
$schwerpunkt = $_POST['schwerpunkt'];
|
|
*/
|
|
if ($art == "1" AND ($studiengang == "1" or $studiengang == "2" or $studiengang == "3" or $studiengang == "4")) {
|
|
# In Kombination Vorlesung mit Public Management, Steuer, Rente und Finanz gilt $modul und $titel und $schwerpunkt sind leer
|
|
$titel = "";
|
|
$module = $_POST['module'];
|
|
$schwerpunkt = "";
|
|
} elseif ($art == 11) {
|
|
# Bei Schwerpunkt gilt immer $schwerpunkt
|
|
$titel = "";
|
|
$module = "";
|
|
$schwerpunkt = $_POST['schwerpunkt'];
|
|
} else {
|
|
# Bei anderen konstellationen gibt es immer $titel
|
|
$titel = $_POST['titel'];
|
|
$module = "";
|
|
$schwerpunkt = "";
|
|
}
|
|
|
|
/* Variablen zu Exkursionen kommen nur bei Exkursionen vor, ansonsten gilt $std
|
|
|
|
$exk_datumvon = $_POST['exk_datumvon']; # Datum von Exkursion
|
|
$exk_datumbis = $_POST['exk_datumbis']; # Datum bis bei mehrtägig
|
|
$exk_beschreibung = $_POST['exk_beschreibung']; # Beschreibung/Ort Exkursion
|
|
$exk_stdanreise = $_POST['exk_stdanreise']; # Stunden Exkursion Anreisetag
|
|
$exk_stdabreise = $_POST['exk_stdabreise']; # Stunden Ankunftstag zu Hause
|
|
*/
|
|
if ($art == 5) {
|
|
if ($tage_exkursion == 1) {
|
|
# Eintägige Exkursionen
|
|
|
|
# Datumsformat von DD.MM.YYYY nach YYYY-MM-DD
|
|
$exk_datumvon = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $_POST['exk_datumvon']);
|
|
$exk_datumbis = ""; # Datum bis bei mehrtägig
|
|
|
|
$exk_beschreibung = $_POST['exk_beschreibung']; # Beschreibung/Ort Exkursion
|
|
$exk_stdanreise = str_replace(',','.',str_replace('.','', $_POST['exk_stdanreise'])); # Stunden Exkursion Anreisetag
|
|
$exk_stdabreise = ""; # Stunden Ankunftstag zu Hause bei mehrtögig
|
|
}
|
|
if ($tage_exkursion == 2) {
|
|
# Mehrtägige Exkursionen
|
|
|
|
# Datumsformat von DD.MM.YYYY nach YYYY-MM-DD
|
|
$exk_datumvon = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $_POST['exk_datumvon']);
|
|
$exk_datumbis = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $_POST['exk_datumbis']);
|
|
|
|
$exk_beschreibung = $_POST['exk_beschreibung']; # Beschreibung/Ort Exkursion
|
|
$exk_stdanreise = str_replace(',','.',str_replace('.','', $_POST['exk_stdanreise'])); # Stunden Exkursion Anreisetag
|
|
$exk_stdabreise = str_replace(',','.',str_replace('.','', $_POST['exk_stdabreise'])); # Stunden Ankunftstag zu Hause bei mehrtägig
|
|
}
|
|
$std = "";
|
|
$std_default = "";
|
|
} else {
|
|
$std = str_replace(',','.',str_replace('.','', $_POST['std'])); # Summe eigene Lehrstunden (LVS)
|
|
|
|
$std_default = $_POST['std_default']; # Verstecktes Feld: Da wird für das Javascript die Basisstunden Erfasst. Bei der Anzahl der Arbeitsgemeinschaften wird die Basiswert mit Anzahl Ags multipliziert. Im hiddenfeld ist immer der Basiswert aus dem Katalog
|
|
# Exkursionen gibts außerhalb art=5 nicht
|
|
$exk_datumvon = ""; # Datum von Exkursion
|
|
$exk_datumbis = ""; # Datum bis bei mehrtägig
|
|
$exk_beschreibung = ""; # Beschreibung/Ort Exkursion
|
|
$exk_stdanreise = ""; # Stunden Exkursion Anreisetag
|
|
$exk_stdabreise = ""; # Stunden Ankunftstag zu Hause bei mehrtögig
|
|
}
|
|
|
|
/* Variablen zu Teamteching setzen
|
|
Bei fachübergreifende LV gibt es kein Teamteaching und kein Basiswert
|
|
*/
|
|
if ($fachlv == 'J') {
|
|
$basislvsgemlv = ""; # Basiswert der gemeinsamen LV bei nicht fächerübergreifende LV. Damit wird die Gesamtsume mit dem Teachingfaktor multipliziert. Bekommt Doz an der Oberfläche angezeigt. Wert wird nachrichtlich übernommen
|
|
$teamteaching = ""; # Teachingfaktor
|
|
} else {
|
|
$basislvsgemlv = $_POST['basislvsgemlv']; # Basiswert der gemeinsamen LV bei nicht fächerübergreifende LV. Damit wird die Gesamtsume mit dem Teachingfaktor multipliziert. Bekommt Doz an der Oberfläche angezeigt. Wert wird nachrichtlich übernommen
|
|
$teamteaching = $_POST['teamteaching']; # Teachingfaktor
|
|
}
|
|
|
|
|
|
$_SESSION["erf_titel"] = $titel;
|
|
$_SESSION["erf_module"] = $module;
|
|
$_SESSION["erf_schwerpunkt"] = $schwerpunkt;
|
|
$_SESSION["erf_art"] = $art;
|
|
$_SESSION["erf_studiengang"] = $studiengang;
|
|
$_SESSION["erf_anz_ag"] = $anz_ag;
|
|
$_SESSION["erf_krankheit"] = $krankheit;
|
|
$_SESSION["erf_gemlv"] = $gemlv;
|
|
$_SESSION["erf_fachlv"] = $fachlv;
|
|
$_SESSION["erf_anzgemlv"] = $anzgemlv;
|
|
$_SESSION["erf_namegemlv"] = $namegemlv;
|
|
$_SESSION["erf_basislvsgemlv"] = $basislvsgemlv;
|
|
$_SESSION["erf_teamteaching"] = $teamteaching;
|
|
$_SESSION["erf_tage_exkursion"] = $tage_exkursion;
|
|
$_SESSION["erf_exk_datumvon"] = $_POST['exk_datumvon'];
|
|
$_SESSION["erf_exk_datumbis"] = $_POST['exk_datumbis'];
|
|
$_SESSION["erf_exk_beschreibung"] = $exk_beschreibung;
|
|
$_SESSION["erf_exk_stdanreise"] = $exk_stdanreise;
|
|
$_SESSION["erf_exk_stdabreise"] = $exk_stdabreise;
|
|
$_SESSION["erf_std"] = $std;
|
|
$_SESSION["erf_std_default"] = $std_default;
|
|
$_SESSION["erf_hinweise"] = $hinweise;
|
|
|
|
|
|
|
|
|
|
# Bei Art == 11 (Schwerpunktthema) darf $module nicht leer sein
|
|
# Bei Art == 1 (Vorlesung) darf $schwerpunkt nicht leer sein
|
|
# Bei allen anderen Darf Titel nicht leer sein
|
|
|
|
if ($art == 11 AND $schwerpunkt == '') {
|
|
# echo "1";
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
|
|
} elseif ($art == 1 AND $module == '') {
|
|
/*Bei Vorlesungen wird normalerweise das Modul eingeblendet, außer bei den Masterstudengaengen, da wird Titel eingeblendet
|
|
Bei Master darf Titel nicht leer sein,
|
|
Bei allen anderen das Modul nicht leer*/
|
|
if($studiengang == "5" or $studiengang == "6"){
|
|
if($titel == ''){
|
|
# echo "2a";
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
}
|
|
}else{
|
|
if($module == ''){
|
|
# echo "2b";
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
}
|
|
}
|
|
|
|
|
|
} elseif (($art != 11 AND $art != 1) AND $titel == '') {
|
|
# echo "3";
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
} elseif ($studiengang == '' or $art == '' or $gemlv == '' or $studiengang == '' AND ($titel or $module == '' or $schwerpunkt == '')) {
|
|
# echo "4";
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
}elseif ($art != 5 AND $std == ''){
|
|
# echo "4a";
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
}
|
|
|
|
|
|
|
|
|
|
# Konstellationen prüfen:
|
|
# Bei fachübergreifende LV müssen zumindest Anzahl und Name der Lehrenden ausgefüllt sein
|
|
if ($gemlv == 'J' AND $fachlv == 'J' AND ($anzgemlv == '' or $namegemlv == '')) {
|
|
#echo "5";
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
}
|
|
|
|
# Bei NICHT fachübergreifende LV müssen zumindest Anzahl, Name, Basiswert und Teamteachingfaktor der Lehrenden ausgefüllt sein
|
|
if ($gemlv == 'J' AND $fachlv == 'N' AND ($anzgemlv == '' or $namegemlv == '' or $namegemlv == '' or $basislvsgemlv == '' or $teamteaching == '')) {
|
|
#echo "6";
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
}
|
|
|
|
# Fehler bei Exkursion
|
|
|
|
function validateDate($date, $format = 'Y-m-d'){
|
|
$d = DateTime::createFromFormat($format, $date);
|
|
return $d && $d->format($format) == $date;
|
|
}
|
|
|
|
if ($tage_exkursion == 1 AND $art == 5) {
|
|
#Eintägig
|
|
if(!validateDate($exk_datumvon)){
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">";
|
|
exit;
|
|
}
|
|
|
|
if ($exk_datumvon == '' or $exk_datumvon == '0000-00-00' or $exk_beschreibung == '' or $exk_stdanreise == '') {
|
|
# Fehler bei leeren Felder
|
|
#echo "7";
|
|
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(!validateDate($exk_datumvon)){
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">";
|
|
exit;
|
|
}
|
|
|
|
if(!validateDate($exk_datumbis)){
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">";
|
|
exit;
|
|
}
|
|
|
|
if ($exk_datumvon == '' or $exk_datumvon == '0000-00-00' or $exk_datumbis == '' or $exk_datumbis == '0000-00-00'or $exk_beschreibung == '' or $exk_stdanreise == '' or $exk_stdabreise == '') {
|
|
# Fehler bei leeren Felder
|
|
#echo "8";
|
|
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(std) summe_jahr
|
|
FROM dep_deputat
|
|
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;
|
|
}
|
|
}
|
|
|
|
## Im Fehlerfall muss ursprüngliche Bildschirm wieder angezeigt weden
|
|
# Zu achten auf Studiengang / Vorlesung Kombination
|
|
# Bei Art=Schwerpunktthema, müssen die richtigen schwerpunktthemen eingeblendet werden
|
|
# Bei Exkursionen müssen die Felder für ein/mehrtägige Exkursionen eingeblendet werden
|
|
#echo "alles richtig";
|
|
#exit;
|
|
|
|
|
|
$datum = date("Y-m-d H:i:s");
|
|
if ($_SESSION["erf_status"] == 'neu') {
|
|
|
|
$sql1 = $db->query("INSERT INTO dep_deputat ( imtuid
|
|
, jahr
|
|
, titel
|
|
, module
|
|
, schwerpunkt
|
|
, dsgid
|
|
, verid
|
|
, anz_ag
|
|
, krankheitsmerkmal
|
|
, gemlv
|
|
, fachlv
|
|
, anzgemlv
|
|
, namegemlv
|
|
, basislvsgemlv
|
|
, teamteaching
|
|
, exk_tage
|
|
, exk_datumvon
|
|
, exk_datumbis
|
|
, exk_beschreibung
|
|
, exk_stdanreise
|
|
, exk_stdabreise
|
|
, std
|
|
, std_default
|
|
, hinweise
|
|
, created
|
|
)
|
|
VALUES
|
|
( '$uid'
|
|
, '$jahrgang'
|
|
, '$titel'
|
|
, '$module'
|
|
, '$schwerpunkt'
|
|
, '$studiengang'
|
|
, '$art'
|
|
, '$anz_ag'
|
|
, '$krankheit'
|
|
, '$gemlv'
|
|
, '$fachlv'
|
|
, '$anzgemlv'
|
|
, '$namegemlv'
|
|
, '$basislvsgemlv'
|
|
, '$teamteaching'
|
|
, '$tage_exkursion'
|
|
, '$exk_datumvon'
|
|
, '$exk_datumbis'
|
|
, '$exk_beschreibung'
|
|
, '$exk_stdanreise'
|
|
, '$exk_stdabreise'
|
|
, '$std'
|
|
, '$std_default'
|
|
, '$hinweise'
|
|
, '$datum'
|
|
)
|
|
");
|
|
}
|
|
|
|
if ($_SESSION["erf_status"] == 'edit') {
|
|
$did = $_SESSION["erf_did"];
|
|
$result = $db->query("UPDATE dep_deputat
|
|
SET titel = '$titel'
|
|
, module = '$module'
|
|
, schwerpunkt = '$schwerpunkt'
|
|
, dsgid = '$studiengang'
|
|
, verid = '$art'
|
|
, anz_ag = '$anz_ag'
|
|
, krankheitsmerkmal = '$krankheit'
|
|
, gemlv = '$gemlv'
|
|
, fachlv = '$fachlv'
|
|
, anzgemlv = '$anzgemlv'
|
|
, namegemlv = '$namegemlv'
|
|
, basislvsgemlv = '$basislvsgemlv'
|
|
, teamteaching = '$teamteaching'
|
|
, exk_tage = '$tage_exkursion'
|
|
, exk_datumvon = '$exk_datumvon'
|
|
, exk_datumbis = '$exk_datumbis'
|
|
, exk_beschreibung = '$exk_beschreibung'
|
|
, exk_stdanreise = '$exk_stdanreise'
|
|
, exk_stdabreise = '$exk_stdabreise'
|
|
, std = '$std'
|
|
, std_default = '$std_default'
|
|
, hinweise = '$hinweise'
|
|
, modify_date = '$datum'
|
|
WHERE did = $did
|
|
");
|
|
|
|
unset($_SESSION['erf_did']);
|
|
}
|
|
|
|
# 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&new=1\">";
|
|
|
|
}
|
|
|
|
|
|
if ($action == 'del') {
|
|
$did = $_GET['did'];
|
|
|
|
## Muss man nochmals überdenken, wenn ein Prof noch Deputate erfasst hat.
|
|
|
|
$del1 = $db->query("DELETE FROM dep_deputat WHERE did = $did AND imtuid=$uid");
|
|
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">";
|
|
|
|
}
|
|
|
|
$smarty->assign('action', "$action");
|
|
$smarty->display("$template/$templatename");
|
|
|
|
?>
|