ideenmanagement/sitzung_terminieren.php
2023-04-25 13:05:19 +02:00

475 lines
18 KiB
PHP
Executable File

<?php
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_mail_einstell.php");
require_once("func_sitzung_terminieren.php");
$action = $_GET['action'];
if(isset($_GET['id'])){
$_SESSION["status_id"] = $_GET['id'];
}
$status = $_SESSION["status_id"];
if($action == ''){
if($_GET['error'] == 1){
$smarty->assign('sitzung_terminieren_pflichtfelder', "1");
$smarty->assign('sitzung_terminieren_error_text', "Es ist zu einem Fehler gekommen. Bitte f&uuml;llen Sie alle Pflichtfelder aus.");
if($_SESSION["sitzung_terminieren_tag"] == "" OR $_SESSION["sitzung_terminieren_mon"] == "" OR $_SESSION["sitzung_terminieren_jahr"] == ""){$smarty->assign('sitzung_terminieren_datum_ico', 1);}
if($_SESSION["sitzung_terminieren_tag"] == ""){$smarty->assign('sitzung_terminieren_tag_ico', 1);}
if($_SESSION["sitzung_terminieren_mon"] == ""){$smarty->assign('sitzung_terminieren_mon_ico', 1);}
if($_SESSION["sitzung_terminieren_jahr"] == ""){$smarty->assign('sitzung_terminieren_jahr_ico', 1);}
if($_SESSION["sitzung_terminieren_std"] == "" OR $_SESSION["sitzung_terminieren_min"] == ""){$smarty->assign('sitzung_terminieren_uhr_ico', 1);}
if($_SESSION["sitzung_terminieren_std"] == ""){$smarty->assign('sitzung_terminieren_std_ico', 1);}
if($_SESSION["sitzung_terminieren_min"] == ""){$smarty->assign('sitzung_terminieren_min_ico', 1);}
if($_SESSION["sitzung_terminieren_raum"] == ""){$smarty->assign('sitzung_terminieren_raum_ico', 1);}
$smarty->assign('sitzung_terminieren_tag', $_SESSION["sitzung_terminieren_tag"]);
$smarty->assign('sitzung_terminieren_mon', $_SESSION["sitzung_terminieren_mon"]);
$smarty->assign('sitzung_terminieren_jahr', $_SESSION["sitzung_terminieren_jahr"]);
$smarty->assign('sitzung_terminieren_std', $_SESSION["sitzung_terminieren_std"]);
$smarty->assign('sitzung_terminieren_min', $_SESSION["sitzung_terminieren_min"]);
$smarty->assign('sitzung_terminieren_raum', $_SESSION["sitzung_terminieren_raum"]);
$smarty->assign('sitzung_terminieren_bemerkung', $_SESSION["sitzung_terminieren_bemerkung"]);
}
if($_GET['error'] == 2){
$smarty->assign('sitzung_terminieren_pflichtfelder', "1");
$smarty->assign('sitzung_terminieren_error_text', "Es ist zu einem Fehler gekommen. Bitte geben Sie ein g&uuml;ltiges Datum an.");
if(!@checkdate($_SESSION["sitzung_terminieren_mon"], $_SESSION["sitzung_terminieren_tag"], $_SESSION["sitzung_terminieren_jahr"])){$smarty->assign('sitzung_terminieren_datum_ico', 1);}
$smarty->assign('sitzung_terminieren_tag', $_SESSION["sitzung_terminieren_tag"]);
$smarty->assign('sitzung_terminieren_mon', $_SESSION["sitzung_terminieren_mon"]);
$smarty->assign('sitzung_terminieren_jahr', $_SESSION["sitzung_terminieren_jahr"]);
$smarty->assign('sitzung_terminieren_std', $_SESSION["sitzung_terminieren_std"]);
$smarty->assign('sitzung_terminieren_min', $_SESSION["sitzung_terminieren_min"]);
$smarty->assign('sitzung_terminieren_raum', $_SESSION["sitzung_terminieren_raum"]);
$smarty->assign('sitzung_terminieren_bemerkung', $_SESSION["sitzung_terminieren_bemerkung"]);
}
if($_GET['error'] == 3){
$smarty->assign('sitzung_terminieren_pflichtfelder', "1");
$smarty->assign('sitzung_terminieren_error_text', "Es ist zu einem Fehler gekommen. Bitte geben Sie ein g&uuml;ltige Uhrzeit ein.");
if($_SESSION["sitzung_terminieren_std"] < 0 OR $_SESSION["sitzung_terminieren_std"] > 23 OR $_SESSION["sitzung_terminieren_min"] < 0 OR $_SESSION["sitzung_terminieren_min"] > 59){$smarty->assign('sitzung_terminieren_uhr_ico', 1);}
if($_SESSION["sitzung_terminieren_std"] < 0 OR $_SESSION["sitzung_terminieren_std"] > 23){$smarty->assign('sitzung_terminieren_std_ico', 1);}
if($_SESSION["sitzung_terminieren_min"] < 0 OR $_SESSION["sitzung_terminieren_min"] > 59){$smarty->assign('sitzung_terminieren_min_ico', 1);}
$smarty->assign('sitzung_terminieren_tag', $_SESSION["sitzung_terminieren_tag"]);
$smarty->assign('sitzung_terminieren_mon', $_SESSION["sitzung_terminieren_mon"]);
$smarty->assign('sitzung_terminieren_jahr', $_SESSION["sitzung_terminieren_jahr"]);
$smarty->assign('sitzung_terminieren_std', $_SESSION["sitzung_terminieren_std"]);
$smarty->assign('sitzung_terminieren_min', $_SESSION["sitzung_terminieren_min"]);
$smarty->assign('sitzung_terminieren_raum', $_SESSION["sitzung_terminieren_raum"]);
$smarty->assign('sitzung_terminieren_bemerkung', $_SESSION["sitzung_terminieren_bemerkung"]);
}
}
if($action == 'step2'){
if(isset($_POST["tag"])){
$tag = $_POST["tag"];
$_SESSION["sitzung_terminieren_tag"] = $tag;
}
if(isset($_POST["mon"])){
$mon = $_POST["mon"];
$_SESSION["sitzung_terminieren_mon"] = $mon;
}
if(isset($_POST["jahr"])){
$jahr = $_POST["jahr"];
$_SESSION["sitzung_terminieren_jahr"] = $jahr;
}
if(isset($_POST["std"])){
$std = $_POST["std"];
$_SESSION["sitzung_terminieren_std"] = $std;
}
if(isset($_POST["min"])){
$min = $_POST["min"];
$_SESSION["sitzung_terminieren_min"] = $min;
}
if(isset($_POST["raum"])){
$raum = $_POST["raum"];
$_SESSION["sitzung_terminieren_raum"] = $raum;
}
if(isset($_POST["bemerkung"])){
$bemerkung = $_POST["bemerkung"];
$_SESSION["sitzung_terminieren_bemerkung"] = $bemerkung;
}
if($_GET['error'] == 1){
$smarty->assign('sitzung_terminieren_pflichtfelder', "1");
$smarty->assign('sitzung_terminieren_error_text', "Es ist zu einem Fehler gekommen. Bitte w&auml;hlen Sie mindestens einen Vorschlag aus, der in der Sitzung besprochen werden soll.");
}
if(!@checkdate($_SESSION["sitzung_terminieren_mon"], $_SESSION["sitzung_terminieren_tag"], $_SESSION["sitzung_terminieren_jahr"])){
# Fehler Datum
$fehler = 1;
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=2\">";
}
if($_SESSION["sitzung_terminieren_std"] <0 or $_SESSION["sitzung_terminieren_std"]>23 or $_SESSION["sitzung_terminieren_min"] <0 or $_SESSION["sitzung_terminieren_min"] >59){
# Fehler Datum
$fehler = 1;
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=3\">";
}
if($_SESSION["sitzung_terminieren_tag"] == "" OR $_SESSION["sitzung_terminieren_mon"] == "" OR $_SESSION["sitzung_terminieren_jahr"] == "" or $_SESSION["sitzung_terminieren_std"] == "" or $_SESSION["sitzung_terminieren_min"] == "" or $_SESSION["sitzung_terminieren_raum"] == ""){
# Fehler Pflichtfelder
$fehler = 1;
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=1\">";
}
if(!isset($fehler )){
$query1 = "SELECT vid, betreff
FROM imt_vorschlag
WHERE vid NOT IN (SELECT vid FROM imt_sitzungen_vorschlag)
ORDER BY vid ASC";
$result1 = $db->query ($query1)
or die ("Cannot execute query");
$table_data1 = array();
while ($row1 = $result1->fetch_array()){
$stat = sitzung_terminieren($row1[vid]);
if($stat == 0){$status = 'OK';}
if($stat == 1){$status = 'Es fehlt mindestens ein Gutachten';}
if($stat == 2){$status = 'Warten auf Stellungnahmen';}
if($stat == 3){$status = 'Abgabefristen nicht abgelaufen';}
array_push($table_data1, array(
'vid' => $row1[vid],
'betreff' => $row1[betreff],
'stat' => $stat,
'status' => $status
)
);
}
$smarty->assign('table_data1', $table_data1);
}
}
if($action == 'step3'){
$auswahl = $_POST[auswahl];
if(sizeof($auswahl) == 0){
$fehler = 1;
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=step2&error=1\">";
}
if(!isset($fehler )){
$tag = $_SESSION["sitzung_terminieren_tag"];
$mon = $_SESSION["sitzung_terminieren_mon"];
$jahr = $_SESSION["sitzung_terminieren_jahr"];
$std = $_SESSION["sitzung_terminieren_std"];
$min = $_SESSION["sitzung_terminieren_min"];
$raum = $_SESSION["sitzung_terminieren_raum"];
$beschreibung = $_SESSION["sitzung_terminieren_bemerkung"];
$sitzungsdat = "$jahr-$mon-$tag $std:$min:00";
$aend_dat = date("Y-m-d H:i:s");
$db = dbconnect();
$sql1 = $db->query("INSERT INTO imt_sitzungen ( datum
, raum
, beschreibung
, erfass_dat
)
VALUES
( '$sitzungsdat'
, '$raum'
, '$beschreibung'
, '$aend_dat'
)
");
$isid = $db->insert_id;
for ($i=0;$i<sizeof($auswahl);$i++) {
$sql2 = $db->query("INSERT INTO imt_sitzungen_vorschlag ( isid
, vid
)
VALUES
( '$isid'
, '$auswahl[$i]'
)
");
}
# Alle Ausschussmitglieder anschreiben: RoId 4
$query = "SELECT a.imtuid, vorname, nachname, mail, akivierungscode
FROM imt_user a, imt_rollen_user_zuord b
WHERE a.imtuid=b.imtuid
AND b.roid='4'";
$result = $db->query ($query)
or die ("Cannot execute query");
$table_data1 = array();
while ($row = $result->fetch_array()){
$ausschuss_vorname = str_replace (array("ä", "ö", "ü", "ß", "Ä", "Ö", "Ü"), array("&auml;", "&ouml;", "&uuml;", "&szlig;", "&Auml;", "&Ouml;", "&Uuml;"), $row['vorname']);
$ausschuss_nachname = str_replace (array("ä", "ö", "ü", "ß", "Ä", "Ö", "Ü"), array("&auml;", "&ouml;", "&uuml;", "&szlig;", "&Auml;", "&Ouml;", "&Uuml;"), $row['nachname']);
$empfaenger = "$row[imtuid]";
$betreff = "Ausschusssitzung terminiert";
$text = "
<html>
<head>
<style type='text/css'>
.zusage:link, .zusage:visited {
background: #7CFC00;
color: black;
font-weight:bold;
display: block;
line-height: 60px;
text-decoration: none;
margin-left: auto;
margin-right: auto;
position: relative;
text-align: center;
outline; 1px;
width: 140px;
}
.zusage:active, .zusage:hover {
background-color: #3CB371;
color: #FFFFFF;
font-weight:bold;
text-decoration: none;
display: block;
line-height: 60px;
text-decoration: none;
margin-left: auto;
margin-right: auto;
position: relative;
text-align: center;
width: 140px;
}
.absage:link, .absage:visited {
background: #FF0000;
color: black;
font-weight:bold;
display: block;
line-height: 60px;
text-decoration: none;
margin-left: auto;
margin-right: auto;
position: relative;
text-align: center;
outline; 1px;
width: 140px;
}
.absage:active, .absage:hover {
background-color: #8B0000;
color: #FFFFFF;
font-weight:bold;
text-decoration: none;
display: block;
line-height: 60px;
text-decoration: none;
margin-left: auto;
margin-right: auto;
position: relative;
text-align: center;
width: 140px;
}
</style>
<title>Ausschusssitzung terminiert</title>
</head>
<body>
<font face='Arial' size='2'>
Guten Tag $ausschuss_vorname $ausschuss_nachname!
<br /><br />
In regelm&auml;&szlig;igen Abst&auml;nden finden Ausschusssitzungen statt, um &uuml;ber Vorschl&auml;ge des
Ideenmanagements zu beraten.<br>
Der folgende Termin wurde festgelegt:
<br />
<br />
<table>
<tr>
<td valign='top'>
<font face='Arial' size='2'>
<b>Datum:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
$tag.$mon.$jahr
</font>
</td>
</tr>
<tr>
<td valign='top'>
<font face='Arial' size='2'>
<b>Uhrzeit:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
$std:$min Uhr
</font>
</td>
</tr>
<tr>
<td valign='top'>
<font face='Arial' size='2'>
<b>Raum:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
$raum
</font>
</td>
</tr>
";
if($beschreibung != ""){
$text .= "
<tr>
<td valign='top'>
<font face='Arial' size='2'>
<b>Bemerkung:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
$beschreibung
</font>
</td>
</tr>";
}
$text .="
<tr>
<td valign='top'>
<font face='Arial' size='2'>
<b>Vorschl&auml;ge:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
<table width='100%'>
<tr>
<td width='30%' valign='top'>
<font face='Arial' size='2'><b>ID</b></font
</td>
<td width='70%' valign='top'>
<font face='Arial' size='2'><b>Betreff</b></font
</td>
</tr>
";
for ($i=0;$i<sizeof($auswahl);$i++) {
$query_vbet = $db->query("SELECT betreff
FROM imt_vorschlag
WHERE vid='$auswahl[$i]'") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
$row_vbet = $query_vbet->fetch_array();
$text .="
<tr>
<td width='30%'>
<font face='Arial' size='2'>$auswahl[$i]</font
</td>
<td width='70%'>
<font face='Arial' size='2'>$row_vbet[betreff]</font>
</td>
</tr>
";
}
$text .="
</table>
</font>
</td>
</tr>
</table>
Bitte teilen Sie uns &uuml;ber die Abstimmungslink mit, ob der Termin m&ouml;glich ist:
<table >
<tr>
<td>
<a href='https://www.hs-ludwigsburg.de/kurs/ideenmanagement/status_termin.php?id1=$row[imtuid]&id2=Y&id4=$isid' class='zusage'>Termin zusagen</a>
</td>
<td>
&nbsp;
</td>
<td >
<a href='https://www.hs-ludwigsburg.de/kurs/ideenmanagement/status_termin.php?id1=$row[imtuid]&id2=N&id4=$isid' class='absage'>Termin absagen</a>
</td>
</tr>
</table>
<br />
Melden Sie sich am System an und wechseln Sie auf das Register \"Ausschuss\".
<p>
Klicken Sie hier um zum <a href='https://www.hs-ludwigsburg.de/kurs/ideenmanagement'>Ideenmanagement</a> zu gelangen.
<p>
Diese Mail wurde automatisch generiert!<br />
Antworten Sie daher nicht auf diese Mail.<br />
<br />
Vielen Dank!
</body>
</html>";
$sql3 = $db->query("INSERT INTO imt_sitzungen_abfrage ( isid
, imtuid
, ergebnis
)
VALUES
( '$isid'
, '$row[imtuid]'
, 'NA'
)
");
for ($i=0;$i<sizeof($auswahl);$i++) {
$vids .= "$auswahl[$i],";
}
$vids = substr($vids, 0, -1);
$sitzungsdat = "$tag.$mon.$jahr ($std:$min)";
$verlauf_body = "$sitzungsdat|$vids";
mail_einstell($vid, $uid, $empfaenger, NULL, NULL, $betreff, $text, 109, $verlauf_body);
$vids = "";
}
}
}
$smarty->assign('action', "$action");
$smarty->display("$template/$templatename");
?>