232 lines
8.8 KiB
PHP
Executable File
232 lines
8.8 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;
|
|
}
|
|
|
|
# Gespeicherte Funktionen
|
|
$query1 = "SELECT dkeid, bezeichnung, grundlage
|
|
FROM dep_kat_ermaessigung
|
|
WHERE grundlage IN ('§ 11 LVVO')
|
|
ORDER BY dkeid ASC";
|
|
|
|
$result1 = $db->query($query1) or die("Cannot execute query2");
|
|
|
|
while ($row1 = $result1->fetch_array()) {
|
|
$table_data1[] = $row1;
|
|
}
|
|
$smarty->assign('table_data1', $table_data1);
|
|
|
|
if (isset($_GET['edit'])) {
|
|
$_SESSION["freistrekto_status"] = 'edit';
|
|
$deid = $_GET['edit'];
|
|
$_SESSION["freistrekto_deid"] = $deid;
|
|
} else {
|
|
$_SESSION["freistrekto_status"] = 'neu';
|
|
}
|
|
|
|
# -- Fehlermeldungen -- #
|
|
if (isset($_GET[error])) {
|
|
|
|
$errorno = $_GET[error];
|
|
|
|
$smarty->assign('freistrekto_error', 1);
|
|
|
|
$smarty->assign('freistrekto_value_funktion', $_SESSION["freistrekto_value_funktion"]);
|
|
$smarty->assign('freistrekto_value_std', $_SESSION["freistrekto_value_sws"]);
|
|
$smarty->assign('freistrekto_value_datumvon', $_SESSION["freistrekto_value_beginn_funktion"]);
|
|
$smarty->assign('freistrekto_value_datumbis', $_SESSION["freistrekto_value_ende_funktion"]);
|
|
|
|
if ($errorno == 3) {
|
|
# ungültiges Datum
|
|
$smarty->assign('freistrekto_error_text', "Das eingegebene Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!");
|
|
}
|
|
}
|
|
|
|
|
|
# --- Wenn Werte editiert werden ------------
|
|
if ($_SESSION["freistrekto_status"] == 'edit') {
|
|
$result_edit = $db->query("SELECT deid, funktion, date_format(beginn, '%d.%m.%Y') beginn, date_format(ende, '%d.%m.%Y') ende, sws, lvs
|
|
FROM dep_deputat_ermaessigung
|
|
WHERE deid = $deid");
|
|
$row_edit = $result_edit->fetch_array();
|
|
$smarty->assign('freistrekto_status', $_SESSION["freistrekto_status"]);
|
|
$smarty->assign('freistrekto_value_funktion', "$row_edit[funktion]");
|
|
$smarty->assign('freistrekto_value_datumvon', "$row_edit[beginn]");
|
|
$smarty->assign('freistrekto_value_datumbis', "$row_edit[ende]");
|
|
$smarty->assign('freistrekto_value_std', "$row_edit[sws]");
|
|
$smarty->assign('freistrekto_value_hinweise', "$row_edit[lvs]");
|
|
|
|
}
|
|
# --- 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["freistrekto_status"] = 'neu';
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Gespeicherte Werte
|
|
$query2 = "SELECT deid, funktion, date_format(beginn, '%d.%m.%Y') beginn, date_format(ende, '%d.%m.%Y') ende, sws, lvs
|
|
FROM dep_deputat_ermaessigung
|
|
WHERE imtuid=$uid
|
|
AND jahr=$jahrgang
|
|
AND art ='Deputatsermäßigung aufgrund einer Funktion/Beauftragung (§ 11 LVVO)'
|
|
ORDER BY deid ASC";
|
|
|
|
$result2 = $db->query($query2) or die("Cannot execute query2");
|
|
|
|
while ($row2 = $result2->fetch_array()) {
|
|
$query_funktion = $db->query("SELECT bezeichnung
|
|
FROM dep_kat_ermaessigung
|
|
WHERE dkeid = '$row2[funktion]'");
|
|
$row_funktion = $query_funktion->fetch_array();
|
|
|
|
$lvs = number_format($row2['lvs'], 2, ',', '.');
|
|
$row2['lvs'] = $lvs;
|
|
$row2['funktion'] = $row_funktion['bezeichnung'];
|
|
$sws = number_format($row2['sws'], 2, ',', '.');
|
|
$row2['sws'] = $sws;
|
|
$table_data2[] = $row2;
|
|
}
|
|
$smarty->assign('table_data2', $table_data2);
|
|
|
|
# Jahressumme
|
|
$query_jahrsum = $db->query("SELECT sum(lvs) summe_jahr
|
|
FROM dep_deputat_ermaessigung
|
|
WHERE imtuid=$uid
|
|
AND art ='Deputatsermäßigung aufgrund einer Funktion/Beauftragung (§ 11 LVVO)'
|
|
AND jahr=$jahrgang");
|
|
$row_jahrsum = $query_jahrsum->fetch_array();
|
|
$summe_jahr = number_format($row_jahrsum['summe_jahr'], 2, ',', '.');
|
|
$smarty->assign('freistrekto_value_summe_jahr', $summe_jahr);
|
|
|
|
}
|
|
|
|
|
|
if ($action == 'save') {
|
|
$jahrgang2 = $jahrgang+1;
|
|
|
|
$funktion = $_POST['funktion'];
|
|
$sws = str_replace(',','.',str_replace('.','', $_POST['sws']));
|
|
|
|
$beginn = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $_POST['beginn_funktion']);
|
|
if($beginn == ''){
|
|
$beginn = $jahrgang."-09-01";
|
|
}
|
|
|
|
$ende = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $_POST['ende_funktion']);
|
|
if($ende == ''){
|
|
$ende = $jahrgang2."-08-31";
|
|
}
|
|
|
|
|
|
$_SESSION["freistrekto_value_funktion"] = $funktion;
|
|
$_SESSION["freistrekto_value_sws"] = $sws;
|
|
$_SESSION["freistrekto_value_beginn_funktion"] = $_POST['beginn_funktion'];
|
|
$_SESSION["freistrekto_value_ende_funktion"] = $_POST['ende_funktion'];
|
|
|
|
function validateDate($date, $format = 'Y-m-d')
|
|
{
|
|
$d = DateTime::createFromFormat($format, $date);
|
|
return $d && $d->format($format) == $date;
|
|
}
|
|
|
|
if(!validateDate($beginn)){
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">";
|
|
exit;
|
|
}
|
|
|
|
if(!validateDate($ende)){
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">";
|
|
exit;
|
|
}
|
|
|
|
$lvs = $_POST['lvs'];
|
|
$datum = date("Y-m-d H:i:s");
|
|
if ($_SESSION["freistrekto_status"] == 'neu') {
|
|
$sql1 = $db->query("INSERT INTO dep_deputat_ermaessigung ( imtuid
|
|
, jahr
|
|
, art
|
|
, funktion
|
|
, beginn
|
|
, ende
|
|
, sws
|
|
, lvs
|
|
, sort_order
|
|
, created
|
|
)
|
|
VALUES
|
|
( '$uid'
|
|
, '$jahrgang'
|
|
, 'Deputatsermäßigung aufgrund einer Funktion/Beauftragung (§ 11 LVVO)'
|
|
, '$funktion'
|
|
, '$beginn'
|
|
, '$ende'
|
|
, '$sws'
|
|
, '$lvs'
|
|
, 5
|
|
, '$datum'
|
|
)
|
|
");
|
|
}
|
|
|
|
if ($_SESSION["freistrekto_status"] == 'edit') {
|
|
$deid = $_SESSION["freistrekto_deid"];
|
|
|
|
$result = $db->query("UPDATE dep_deputat_ermaessigung
|
|
SET funktion = '$funktion'
|
|
, beginn = '$beginn'
|
|
, ende = '$ende'
|
|
, sws = '$sws'
|
|
, lvs = '$lvs'
|
|
, modify_date = '$datum'
|
|
WHERE deid = $deid
|
|
");
|
|
|
|
unset($_SESSION['freistrekto_deid']);
|
|
}
|
|
# 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') {
|
|
$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 "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">";
|
|
}
|
|
|
|
$smarty->assign('action', "$action");
|
|
$smarty->display("$template/$templatename");
|
|
|
|
?>
|