ideenmanagement/beteiligte_edit.php
2023-03-09 11:22:13 +01:00

312 lines
12 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["beteiligte_edit_id"] = $_GET['id'];
}
$id = $_SESSION["beteiligte_edit_id"];
$action = $_GET['action'];
if($action == ''){
$db = dbconnect();
if($_GET['error'] == 1){
$smarty->assign('beteiligte_edit_pflichtfelder', "1");
$smarty->assign('beteiligte_edit_error_text', "Es ist zu einem Fehler gekommen. Alle Felder sind Pflichtfelder!");
if($_SESSION["beteiligte_edit_zweck"] == ""){$smarty->assign('beteiligte_edit_zweck_ico', 1);}
$smarty->assign('beteiligte_edit_zweck', $_SESSION["beteiligte_edit_zweck"]);
if($_SESSION["beteiligte_edit_umsetzung"] == ""){$smarty->assign('beteiligte_edit_umsetzung_ico', 1);}
$smarty->assign('beteiligte_edit_umsetzung', $_SESSION["beteiligte_edit_umsetzung"]);
if($_SESSION["beteiligte_edit_nutzen"] == ""){$smarty->assign('beteiligte_edit_nutzen_ico', 1);}
$smarty->assign('beteiligte_edit_nutzen', $_SESSION["beteiligte_edit_nutzen"]);
if($_SESSION["beteiligte_edit_kosteneinsparung"] == ""){$smarty->assign('beteiligte_edit_kosteneinsparung_ico', 1);}
$smarty->assign('beteiligte_edit_kosteneinsparung', $_SESSION["beteiligte_edit_kosteneinsparung"]);
if($_SESSION["beteiligte_edit_arbeitszeiteinsparung"] == ""){$smarty->assign('beteiligte_edit_arbeitszeiteinsparung_ico', 1);}
$smarty->assign('beteiligte_edit_arbeitszeiteinsparung', $_SESSION["beteiligte_edit_arbeitszeiteinsparung"]);
if($_SESSION["beteiligte_edit_ideeneu"] == ""){$smarty->assign('beteiligte_edit_ideeneu_ico', 1);}
$smarty->assign('beteiligte_edit_ideeneu', $_SESSION["beteiligte_edit_ideeneu"]);
if($_SESSION["beteiligte_edit_empfehlung"] == ""){$smarty->assign('beteiligte_edit_empfehlung_ico', 1);}
$smarty->assign('beteiligte_edit_empfehlung', $_SESSION["beteiligte_edit_empfehlung"]);
}else{
$result_bem = $db->query("SELECT zweck, umsetzung, nutzen, kosteneinsparung, arbeitszeiteinsparung, ideeneu, empfehlung
FROM imt_beteiligte
WHERE imtuid = '$uid'
AND vid = '$id'");
$row_bem = $result_bem->fetch_array();
$smarty->assign('beteiligte_edit_zweck', "$row_bem[zweck]");
$smarty->assign('beteiligte_edit_umsetzung', "$row_bem[umsetzung]");
$smarty->assign('beteiligte_edit_nutzen', "$row_bem[nutzen]");
$smarty->assign('beteiligte_edit_kosteneinsparung', "$row_bem[kosteneinsparung]");
$smarty->assign('beteiligte_edit_arbeitszeiteinsparung', "$row_bem[arbeitszeiteinsparung]");
$smarty->assign('beteiligte_edit_ideeneu', "$row_bem[ideeneu]");
$smarty->assign('beteiligte_edit_empfehlung', "$row_bem[empfehlung]");
}
$result = $db->query("SELECT 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();
$smarty->assign('beteiligte_edit_id', "$id");
$smarty->assign('beteiligte_edit_betreff', "$row[betreff]");
$smarty->assign('beteiligte_edit_beschreibung', "$row[beschreibung]");
$smarty->assign('beteiligte_edit_vorschlag', "$row[vorschlag]");
$smarty->assign('beteiligte_edit_nutzen1', "$row[nutzen]");
$result_kat = $db->query("SELECT a.kategorie
FROM imt_kategorie a, imt_vorschlag b
WHERE a.kid = b.kategorie
AND b.vid = '$id'");
$row_kat = $result_kat->fetch_array();
$smarty->assign('beteiligte_edit_kat', "$row_kat[kategorie]");
$result_bem = $db->query("SELECT stellungnahme
FROM imt_beteiligte
WHERE imtuid = '$uid'
AND vid = '$id'");
$row_bem = $result_bem->fetch_array();
$smarty->assign('beteiligte_edit_bemerkung', "$row_bem[stellungnahme]");
$result_frist = $db->query("SELECT count(*) Anz
FROM imt_beteiligte
WHERE imtuid = '$uid'
AND vid = '$id'
AND frist_datum < date_format(now(), '%Y-%m-%d')");
$row_frist = $result_frist->fetch_array();
if($row_frist[Anz] > 0){
$smarty->assign('beteiligte_edit_fristablauf', "1");
}else{
$smarty->assign('beteiligte_edit_fristablauf', "0");
}
# Statis
$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["beteiligte_edit_id"];
$zweck = htmlclean($_POST[beteiligte_edit_zweck]);
$umsetzung = htmlclean($_POST[beteiligte_edit_umsetzung]);
$nutzen = htmlclean($_POST[beteiligte_edit_nutzen]);
$kosteneinsparung = htmlclean($_POST[beteiligte_edit_kosteneinsparung]);
$arbeitszeiteinsparung = htmlclean($_POST[beteiligte_edit_arbeitszeiteinsparung]);
$ideeneu = htmlclean($_POST[beteiligte_edit_ideeneu]);
$empfehlung = htmlclean($_POST[beteiligte_edit_empfehlung]);
if($zweck == "" OR $umsetzung == "" OR $nutzen == "" OR $kosteneinsparung == "" OR $arbeitszeiteinsparung == "" OR $ideeneu == "" OR $empfehlung == "" ){
$smarty->assign('beteiligte_edit_error', "1");
$_SESSION["beteiligte_edit_zweck"] = $zweck;
$_SESSION["beteiligte_edit_umsetzung"] = $umsetzung;
$_SESSION["beteiligte_edit_nutzen"] = $nutzen;
$_SESSION["beteiligte_edit_kosteneinsparung"] = $kosteneinsparung;
$_SESSION["beteiligte_edit_arbeitszeiteinsparung"] = $arbeitszeiteinsparung;
$_SESSION["beteiligte_edit_ideeneu"] = $ideeneu;
$_SESSION["beteiligte_edit_empfehlung"] = $empfehlung;
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=1\">";
}else{
$smarty->assign('beteiligte_edit_error', "0");
$aend_dat = date("Y-m-d H:i:s");
$sql_update = $db->query("UPDATE imt_beteiligte
SET zweck='$zweck'
, umsetzung ='$umsetzung'
, nutzen = '$nutzen'
, kosteneinsparung = '$kosteneinsparung'
, arbeitszeiteinsparung = '$arbeitszeiteinsparung'
, ideeneu = '$ideeneu'
, empfehlung = '$empfehlung'
, stellung_dat='$aend_dat'
WHERE vid='$id'
AND imtuid='$uid'");
# Verlauf setzen
# 1) beim abgeben des Gutachten, Verlauf setzen, beim wiederbearbeiten nur das Datum setzen
$query_get_data1 = $db->query("SELECT vorname, nachname
FROM imt_user a
WHERE a.imtuid = '$uid'") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
$row_data1 = $query_get_data1->fetch_array();
$text = "Beteiligung von $row_data1[vorname] $row_data1[nachname] ist eingegangen";
$result_stat2 = $db->query("SELECT count(*) Anz
FROM imt_verlauf
WHERE vid= '$id'
AND status='106'
AND verlauf = '$text'");
$row_stat2 = $result_stat2->fetch_array();
if($row_stat2[Anz] == 0){
verlauf($uid, $id, "$text", 107, '');
}else{
$sql_verlauf_err = $db->query("UPDATE imt_verlauf
SET datum='$aend_dat'
WHERE vid='$id'
AND status = '106'
AND verlauf = '$text'
");
}
echo"
<script type='text/javascript'>
<!--
setTimeout(\"parent.document.location.href='beteiligte_offen.php'\", 2000);
//-->
</script>
";
}
/*
$id = $_SESSION["beteiligte_edit_id"];
$stellungnahme = htmlclean($_POST[beteiligte_edit_stellungnahme]);
$aend_dat = date("Y-m-d H:i:s");
$sql_update = $db->query("UPDATE imt_beteiligte SET stellungnahme='$stellungnahme', stellung_dat='$aend_dat' WHERE vid='$id' AND imtuid='$uid'");
$query_get_data1 = $db->query("SELECT vorname, nachname
FROM imt_user a
WHERE a.imtuid = '$uid'") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
$row_data1 = $query_get_data1->fetch_array();
# Verlauf setzen
# 1) beim abgeben des Beteiligtenstatements, Verlauf setzen, beim wiederbearbeiten nur das Datum setzen
$text = "Beteiligung von $row_data1[vorname] $row_data1[nachname] ist eingegangen";
$result_stat2 = $db->query("SELECT count(*) Anz
FROM imt_verlauf
WHERE vid= '$id'
AND status='106'
AND verlauf='$text'");
$row_stat2 = $result_stat2->fetch_array();
if($row_stat2[Anz] == 0){
verlauf($uid, $id, "$text", 106, '');
}else{
$sql_verlauf_err = $db->query("UPDATE imt_verlauf
SET datum='$aend_dat'
WHERE vid='$id'
AND status = '106'
AND verlauf = '$text'
");
}
echo"
<script type='text/javascript'>
<!--
setTimeout(\"parent.document.location.href='beteiligte_offen.php'\", 2000);
//-->
</script>
";
*/
}
$smarty->assign('action', "$action");
$smarty->display("$template/$templatename");
?>