ideenmanagement/ansicht_entschieden.php
2023-03-14 08:08:06 +01:00

325 lines
11 KiB
PHP
Executable File

<?php
session_start();
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 "language/german.inc.php";
require_once("func_verlauf.php");
require_once("func_htmlclean.php");
if(isset($_GET['id'])){
$_SESSION["ansicht_entschieden_id"] = $_GET['id'];
}
$id = $_SESSION["ansicht_entschieden_id"];
$action = $_GET['action'];
if($action == ''){
$db = dbconnect();
$query = "SELECT name, mail
FROM imt_gruppenmitglieder
WHERE vid='$id'
ORDER BY name ASC";
$result = $db->query ($query)
or die ("Cannot execute query");
$table_data1 = array();
while ($row = $result->fetch_array()){
array_push($table_data1, array(
'name' => $row[name],
'mail' => $row[mail]
)
);
}
$smarty->assign('table_data1', $table_data1);
$result = $db->query("SELECT vorname, nachname, mail, beziehung, betreff, beschreibung, vorschlag, nutzen, public, kategorie, hinweis_eigen, hinweis_admin, date_format(erfass_dat, '%d.%m.%Y (%H:%i Uhr)') datum
FROM imt_user a, imt_vorschlag b
WHERE a.imtuid=b.imtuid
AND b.vid = '$id'");
$row = $result->fetch_array();
$result_status = $db->query("SELECT max(STATUS) status
FROM imt_vorschlag a, imt_verlauf b
WHERE a.vid = b.vid
AND a.vid ='$id'
GROUP BY a.vid
ORDER BY erfass_dat ASC");
$row_status = $result_status->fetch_array();
switch ($row['beziehung'])
{
case "P":
$beziehung = "ProfessorIn";
break;
case "L":
$beziehung = "Lehrbeauftragte/r";
break;
case "E":
$beziehung = "Externe/r";
break;
case "S":
$beziehung = "StudentIn";
break;
case "V":
$beziehung = "Verwaltungsmitarbeiter";
break;
default:
$beziehung = "$row[beziehung]";
}
$smarty->assign('ansicht_entschieden_beziehung', $beziehung);
$smarty->assign('ansicht_entschieden_id', "$id");
$smarty->assign('ansicht_entschieden_datum', "$row[datum]");
$smarty->assign('ansicht_entschieden_vorname', "$row[vorname]");
$smarty->assign('ansicht_entschieden_nachname', "$row[nachname]");
$smarty->assign('ansicht_entschieden_mail', "$row[mail]");
$smarty->assign('ansicht_entschieden_betreff', "$row[betreff]");
$smarty->assign('ansicht_entschieden_beschreibung', "$row[beschreibung]");
$smarty->assign('ansicht_entschieden_vorschlag', "$row[vorschlag]");
$smarty->assign('ansicht_entschieden_nutzen', "$row[nutzen]");
if($row['public'] == 'Y'){
$public = "Ja";
}else{
$public = "Nein";
}
$smarty->assign('ansicht_entschieden_public', "$public");
$smarty->assign('ansicht_entschieden_status', "$row[status]");
$smarty->assign('ansicht_entschieden_hinweis_eigen', "$row[hinweis_eigen]");
$smarty->assign('ansicht_entschieden_hinweis_admin', "$row[hinweis_admin]");
$result2 = $db->query ("SELECT kid, kategorie
FROM imt_kategorie
WHERE kid = $row[kategorie]");
$row2 = $result2->fetch_array();
$smarty->assign('ansicht_entschieden_kategorie', "$row2[kategorie]");
# Gutachter auflisten
$query2 = "SELECT vorname, nachname, gid, stellung_dat, date_format(stellung_dat, '%d.%m.%Y (%H:%i:%s)') stellung_dat_form
FROM imt_gutachter a, imt_user b
WHERE a.imtuid=b.imtuid
AND vid='$id'";
$result2 = $db->query ($query2)
or die ("Cannot execute query2");
$table_data2 = array();
while ($row2 = $result2->fetch_array()){
array_push($table_data2, array(
'vorname' => $row2[vorname],
'nachname' => $row2[nachname],
'gid' => $row2[gid],
'stellung_dat' => $row2[stellung_dat],
'stellung_dat_form' => $row2[stellung_dat_form]
)
);
}
$smarty->assign('table_data2', $table_data2);
# Beteiligte auflisten
$query2a = "SELECT vorname, nachname, bid, stellung_dat, date_format(stellung_dat, '%d.%m.%Y (%H:%i:%s)') stellung_dat_form
FROM imt_beteiligte a, imt_user b
WHERE a.imtuid=b.imtuid
AND vid='$id'";
$result2a = $db->query ($query2a)
or die ("Cannot execute query2a");
$table_data2a = array();
while ($row2a = $result2a->fetch_array()){
array_push($table_data2a, array(
'vorname' => $row2a['vorname'],
'nachname' => $row2a['nachname'],
'bid' => $row2a['bid'],
'stellung_dat' => $row2a['stellung_dat'],
'stellung_dat_form' => $row2a['stellung_dat_form']
)
);
}
$smarty->assign('table_data2a', $table_data2a);
# Abschlussinformationen
$result4 = $db->query ("SELECT annahme, annahme_bemerkung, ziel, praemie, punkte_praemie1, punkte_praemie2
, punkte_praemie3, punkte_praemie4, punkte_gesamt, praemie_gutschein, dienstbefreiung
, klassierung, massnahme, sachstand, praemienart
FROM imt_vorschlag_ende
WHERE vid = $id");
$row4 = $result4->fetch_array();
if($row4['annahme'] == 'J'){
$annahme = 'Ja';
}else{
$annahme = 'Nein';
}
if(preg_match("/1/",$row4['ziel'])){
$smarty->assign('ansicht_entschieden_chk1', 1);
}else{
$smarty->assign('ansicht_entschieden_chk1', 0);
}
if(preg_match("/2/",$row4['ziel'])){
$smarty->assign('ansicht_entschieden_chk2', 2);
}else{
$smarty->assign('ansicht_entschieden_chk2', 0);
}
if(preg_match("/3/",$row4['ziel'])){
$smarty->assign('ansicht_entschieden_chk3', 3);
}else{
$smarty->assign('ansicht_entschieden_chk3', 0);
}
if(preg_match("/4/",$row4['ziel'])){
$smarty->assign('ansicht_entschieden_chk4', 4);
}else{
$smarty->assign('ansicht_entschieden_chk4', 0);
}
if(preg_match("/5/",$row4['ziel'])){
$smarty->assign('ansicht_entschieden_chk5', 5);
}else{
$smarty->assign('ansicht_entschieden_chk5', 0);
}
$smarty->assign('ansicht_entschieden_annahme', "$annahme");
$smarty->assign('ansicht_entschieden_annahme_bemerkung', "$row4[annahme_bemerkung]");
if($row4['praemie'] == 'J'){
$praemie = 'Ja';
}else{
$praemie = 'Nein';
}
$smarty->assign('ansicht_entschieden_praemie', "$praemie");
$smarty->assign('ansicht_entschieden_praemie1', "$row4[punkte_praemie1]");
$smarty->assign('ansicht_entschieden_praemie2', "$row4[punkte_praemie2]");
$smarty->assign('ansicht_entschieden_praemie3', "$row4[punkte_praemie3]");
$smarty->assign('ansicht_entschieden_praemie4', "$row4[punkte_praemie4]");
$smarty->assign('ansicht_entschieden_punkte_gesamt', "$row4[punkte_gesamt]");
$smarty->assign('ansicht_entschieden_praemie_gutschein', "$row4[praemie_gutschein]");
$smarty->assign('ansicht_entschieden_dienstbefreiung', "$row4[dienstbefreiung]");
$smarty->assign('ansicht_entschieden_klassierung', "$row4[klassierung]");
$smarty->assign('ansicht_entschieden_massnahme', "$row4[massnahme]");
$smarty->assign('ansicht_entschieden_sachstand', "$row4[sachstand]");
$smarty->assign('ansicht_entschieden_praemienart', "$row4[praemienart]");
# Variable erfassen_eingabe_vid leer setzen, damit wird Doppelspeicherung unten beim Insert verhindert
$_SESSION["erfassen_eingabe_vid"] = "";
if($_GET['error'] == 1){
$smarty->assign('erfassen_eingabe_pflichtfelder', "1");
$smarty->assign('erfassen_eingabe_betreff', $_SESSION["erfassen_eingabe_betreff"]);
if($_SESSION["erfassen_eingabe_betreff"] == ""){$smarty->assign('erfassen_eingabe_betreff_ico', 1);}
$smarty->assign('erfassen_eingabe_beschreibung', $_SESSION["erfassen_eingabe_beschreibung"]);
if($_SESSION["erfassen_eingabe_beschreibung"] == ""){$smarty->assign('erfassen_eingabe_beschreibung_ico', 1);}
$smarty->assign('erfassen_eingabe_vorschlag', $_SESSION["erfassen_eingabe_vorschlag"]);
if($_SESSION["erfassen_eingabe_vorschlag"] == ""){$smarty->assign('erfassen_eingabe_vorschlag_ico', 1);}
$smarty->assign('erfassen_eingabe_nutzen', $_SESSION["erfassen_eingabe_nutzen"]);
if($_SESSION["erfassen_eingabe_nutzen"] == ""){$smarty->assign('erfassen_eingabe_nutzen_ico', 1);}
if($_SESSION["erfassen_eingabe_einwilligung_public"] == 'Y'){
$smarty->assign('erfassen_eingabe_einwilligung_public', $_SESSION["erfassen_eingabe_einwilligung_public"]);
}
}
$query3 = "SELECT date_format(datum, '%d.%m.%Y - %H:%i Uhr') datum1,b.sid, b.status, verlauf
FROM imt_verlauf a, imt_stati b
WHERE a.status = b.sid
AND a.status != 0
AND a.vid='$id'
ORDER BY datum DESC";
$result3 = $db->query ($query3)
or die ("Cannot execute query3");
$table_data3 = array();
$verlauf_dup = array("");
while ($row3 = $result3->fetch_array()){
$status = $row3['status'];
if($row3['sid'] == '103'){
# Da jedes Ausschussmitglied informiert wird, reicht es aus, wenn bei den Statusdetails nur ein Hinweis pro Gutachter genannt wird, nicht 5x pro Person
# Bei der Meldung "Ausschuss (Bernd Fuchsi) &uuml;ber Gutachter Wolf Wursti informiert. Frist: 25.06.2011" wird der Gutachter "Wolf Wursti"
# ausgeschnitten und in ein Array gepackt. Wird der gleiche Gutachter mit dem Status 103 nochamls durchgeschleift, wird in den else Bereich verwiesen
# Im Template werden nur die Statis angezeigt die != "" sind
$pos1 = strpos ($row3[verlauf], 'Gutachter')+9;
$status_103 = trim(substr($row3[verlauf], $pos1));
$pos2 = strpos ($status_103, 'informiert')-1;
$status = trim(substr($status_103, 0,$pos2));
if (!in_array($status, $verlauf_dup)) {
$verlauf_dup[] = "$status";
$status = $row3[status];
}else{
$status = "";
}
}
if($row3['sid'] == '7' OR $row3['sid'] == '8'){
$info = '1';
}else{
$info = '0';
}
array_push($table_data3, array(
'datum1' => $row3['datum1'],
'info' => $info,
'status' => $status
)
);
}
$smarty->assign('table_data3', $table_data3);
}
if($action == 'save'){
$id = $_SESSION["ansicht_entschieden_id"];
$db = dbconnect();
$ansicht_entschieden_sachstand = $_POST["ansicht_entschieden_sachstand"];
$sql = $db->query("UPDATE imt_vorschlag_ende
SET sachstand='$ansicht_entschieden_sachstand'
WHERE vid='$id'");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?id=$id\">";
}
$smarty->assign('action', "$action");
$smarty->display("$template/$templatename");
?>