469 lines
16 KiB
PHP
Executable File
469 lines
16 KiB
PHP
Executable File
<?php
|
|
# Fuer debugging
|
|
#error_reporting(E_ALL);
|
|
#ini_set('display_errors', 1);
|
|
|
|
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_mail_einstell.php");
|
|
require_once("func_htmlclean.php");
|
|
|
|
if(isset($_GET['id'])){
|
|
$_SESSION["edit_id"] = $_GET['id'];
|
|
}
|
|
$id = $_SESSION["edit_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
|
|
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('edit_beziehung', $beziehung);
|
|
$smarty->assign('edit_id', "$id");
|
|
$smarty->assign('edit_vorname', $row['vorname']);
|
|
$smarty->assign('edit_nachname', $row['nachname']);
|
|
$smarty->assign('edit_mail', "$row[mail]");
|
|
|
|
$smarty->assign('edit_betreff', "$row[betreff]");
|
|
$smarty->assign('edit_beschreibung', "$row[beschreibung]");
|
|
$smarty->assign('edit_vorschlag', "$row[vorschlag]");
|
|
$smarty->assign('edit_nutzen', "$row[nutzen]");
|
|
|
|
if($row['public'] == 'Y'){
|
|
$public = "Ja";
|
|
}else{
|
|
$public = "Nein";
|
|
}
|
|
$smarty->assign('edit_public', "$public");
|
|
$smarty->assign('edit_status', "$row[status]");
|
|
$smarty->assign('edit_hinweis_eigen', "$row[hinweis_eigen]");
|
|
$smarty->assign('edit_hinweis_admin', "$row[hinweis_admin]");
|
|
|
|
|
|
$query2 = "SELECT kid, kategorie
|
|
FROM imt_kategorie
|
|
ORDER BY sort_order ASC";
|
|
|
|
$result2 = $db->query ($query2)
|
|
or die ("Cannot execute query2");
|
|
|
|
$table_data2 = array();
|
|
|
|
while ($row2 = $result2->fetch_array()){
|
|
|
|
if($row2['kid'] == $row['kategorie']){
|
|
$selected = "1";
|
|
}else{
|
|
$selected = "0";
|
|
}
|
|
|
|
array_push($table_data2, array(
|
|
'kid' => $row2['kid'],
|
|
'selected' => $selected,
|
|
'kategorie' => $row2['kategorie']
|
|
)
|
|
);
|
|
}
|
|
$smarty->assign('table_data2', $table_data2);
|
|
|
|
|
|
# Ablehnbutton ermöglichen, wenn der Status=neu ist
|
|
$result2a = $db->query("SELECT status
|
|
FROM imt_verlauf
|
|
WHERE vid = $id
|
|
AND status != 104 #--> Erfasser kann gleich eine Mitteilung erfassen (Status 104). Der Anträg wäre dann immer noch neu
|
|
ORDER BY datum DESC
|
|
LIMIT 1");
|
|
$row2a = $result2a->fetch_array();
|
|
if($row2a['status'] == 1){
|
|
$smarty->assign('edit_ablehnen_bttn', "1");
|
|
$smarty->assign('edit_ablehnen_vid', "$id");
|
|
}
|
|
|
|
# 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) ü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["bearbeiten_id"];
|
|
|
|
/*
|
|
Ändert sich der Hinweis --> Eintrag in Verlauf
|
|
Ändert sich Kategorie --> Eintrag in Verlauf
|
|
*/
|
|
|
|
$edit_hinweis_admin = htmlclean($_POST['edit_hinweis_admin']);
|
|
$edit_kategorie = $_POST['edit_kategorie'];
|
|
|
|
|
|
|
|
$result = $db->query("SELECT kategorie, hinweis_admin
|
|
FROM imt_vorschlag
|
|
WHERE vid = '$id'");
|
|
$row = $result->fetch_array();
|
|
|
|
if($row[kategorie] != $edit_kategorie){
|
|
$result1 = $db->query("SELECT kategorie
|
|
FROM imt_kategorie
|
|
WHERE kid = '$edit_kategorie'");
|
|
$row1 = $result1->fetch_array();
|
|
$sql = $db->query("UPDATE imt_vorschlag SET kategorie='$edit_kategorie' WHERE vid='$id'");
|
|
if($sql){
|
|
verlauf($uid, $id, "Kategorie wurde neu gesetzt: $row1[kategorie]", 101, '');
|
|
}
|
|
}
|
|
|
|
if($row[hinweis_admin] != $edit_hinweis_admin){
|
|
|
|
$sql = $db->query("UPDATE imt_vorschlag SET hinweis_admin='$edit_hinweis_admin' WHERE vid='$id'");
|
|
if($sql){
|
|
#verlauf($uid, $id, 'Adminhinweis wurde geändert', 102, '');
|
|
$query_ga = $db->query("SELECT uid, a.imtuid, passwort, vorname, nachname, betreff
|
|
FROM imt_user a, imt_vorschlag b
|
|
WHERE a.imtuid=b.imtuid
|
|
AND b.vid='$id'") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
|
|
$row_ga = $query_ga->fetch_array();
|
|
$empfaenger = "$row_ga[imtuid]";
|
|
$betreff = "Hinweis des Administrators zu Vorschlag $id";
|
|
|
|
$text = "
|
|
<html>
|
|
<head>
|
|
<title>Hinweis des Administrators</title>
|
|
</head>
|
|
<body>
|
|
<font face='Arial' size='2'>
|
|
Guten Tag $row_ga[vorname] $row_ga[nachname]!
|
|
<br /><br />
|
|
Im Rahmen des Ideenmanagements ist ein Hinweis des Administrators eingegangen.
|
|
|
|
<br />
|
|
<br />
|
|
<table>
|
|
<tr>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
<b>Vorschlag:</b>
|
|
</font>
|
|
</td>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
$row_ga[betreff]
|
|
</font>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
<b>ID:</b>
|
|
</font>
|
|
</td>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
$id
|
|
</font>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
<b>Hinweis:</b>
|
|
</font>
|
|
</td>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
$edit_hinweis_admin
|
|
</font>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<br />
|
|
Um den Hinweis zu kommentieren melden Sie sich bitte am System an und wählen den Vorschlag im Erfassungsbereich unter Status aus, um
|
|
einen Hinweis zu erfassen!
|
|
<br>
|
|
Link zum System: <a href='https://www.hs-ludwigsburg.de/kurs/ideenmanagement'>Ideenmanagement</a>
|
|
<p>
|
|
Diese Mail wurde automatisch generiert!<br />
|
|
Antworten Sie daher nicht auf diese Mail.<br />
|
|
<br />
|
|
Vielen Dank!
|
|
</body>
|
|
</html>";
|
|
|
|
|
|
mail_einstell($id, $uid, $empfaenger, NULL, NULL, $betreff, $text, 102, NULL);
|
|
|
|
}
|
|
}
|
|
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."\">";
|
|
|
|
}
|
|
|
|
if($action == 'ablehnung2'){
|
|
$id = $_SESSION["bearbeiten_id"];
|
|
$aend_dat = date("Y-m-d H:i:s");
|
|
$abschluss_bemerkung = $_POST["edit_ablehnung_bemerkung"];
|
|
$db = dbconnect();
|
|
$sql1 = $db->query("INSERT INTO imt_vorschlag_ende ( erfass_dat
|
|
, vid
|
|
, annahme
|
|
, annahme_bemerkung
|
|
)
|
|
VALUES
|
|
( '$aend_dat'
|
|
, '$id'
|
|
, 'N'
|
|
, '$abschluss_bemerkung'
|
|
)
|
|
");
|
|
|
|
|
|
verlauf($uid, $id, 'Vorschlag wurde ausgeschlossen', '8', $aend_dat);
|
|
|
|
$query_ga = $db->query("SELECT uid, a.imtuid, passwort, vorname, nachname, betreff
|
|
FROM imt_user a, imt_vorschlag b
|
|
WHERE a.imtuid=b.imtuid
|
|
AND b.vid='$id'") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
|
|
$row_ga = $query_ga->fetch_array();
|
|
|
|
$query_entscheidung = $db->query("SELECT annahme, annahme_bemerkung
|
|
FROM imt_vorschlag_ende
|
|
WHERE vid='$id'") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
|
|
$row_entscheidung = $query_entscheidung->fetch_array();
|
|
|
|
if($row_entscheidung[annahme] == 'J'){
|
|
$entscheidung = 'angenommen';
|
|
}else{
|
|
$entscheidung = 'abgelehnt';
|
|
}
|
|
$empfaenger = "$row_ga[imtuid]";
|
|
$betreff = "Entscheidung Vorschlag $id";
|
|
$text = "
|
|
<html>
|
|
<head>
|
|
<title>Entscheidung Vorschlag</title>
|
|
</head>
|
|
<body>
|
|
<font face='Arial' size='2'>
|
|
Guten Tag $row_ga[vorname] $row_ga[nachname]!
|
|
<br /><br />
|
|
Im Rahmen des Ideenmanagements ist ein Verbesserungsvorschlag eingegangen.
|
|
Ihr Vorschlag wurde wie folgt entschieden:
|
|
|
|
<br />
|
|
<br />
|
|
<table>
|
|
<tr>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
<b>Vorschlag:</b>
|
|
</font>
|
|
</td>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
$row_ga[betreff]
|
|
</font>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
<b>ID:</b>
|
|
</font>
|
|
</td>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
$id
|
|
</font>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
<b>Entscheidung:</b>
|
|
</font>
|
|
</td>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
$entscheidung
|
|
</font>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
<b>Bemerkung:</b>
|
|
</font>
|
|
</td>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
$row_entscheidung[annahme_bemerkung]
|
|
</font>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<br />
|
|
Bei Fragen wenden Sie sich bitte an den <a href=\"mailto:$global_service_mail?subject=Frage zu ID: $id\">Qualitätsmanagementbeauftragten.</a>
|
|
<p>
|
|
Diese Mail wurde automatisch generiert!<br />
|
|
Antworten Sie daher nicht auf diese Mail.<br />
|
|
<br />
|
|
Vielen Dank!
|
|
</body>
|
|
</html>";
|
|
|
|
|
|
mail_einstell($id, $uid, $empfaenger, NULL, NULL, $betreff, $text, 110, NULL);
|
|
|
|
|
|
echo "<meta http-equiv=\"refresh\" content=\"2; URL=".$_SERVER['PHP_SELF']."?\">";
|
|
}
|
|
|
|
$smarty->assign('action', "$action");
|
|
$smarty->display("$template/$templatename");
|
|
?>
|