892 lines
34 KiB
PHP
Executable File
892 lines
34 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 "validation/func_validEmail.php";
|
|
require_once "func_genUser.php";
|
|
require_once("func_verlauf.php");
|
|
require_once("func_gutachter_entscheid.php");
|
|
require_once("func_gutachter_status.php");
|
|
require_once("func_mail_einstell.php");
|
|
require_once("func_rechte_vergabe.php");
|
|
|
|
$action = $_GET['action'];
|
|
|
|
if(isset($_GET['id'])){
|
|
$_SESSION["edit_id"] = $_GET['id'];
|
|
$search_prefix = 'gutachterbenennung_';
|
|
$search_len = strlen($search_prefix);
|
|
foreach( $_SESSION as $key => $value){
|
|
if ( substr( $key, 0, $search_len) == $search_prefix) {
|
|
unset( $_SESSION[$key]);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if($action == ''){
|
|
|
|
if($_GET['error'] == 1){
|
|
$smarty->assign('gutachterbenennung_pflichtfelder', "1");
|
|
$smarty->assign('gutachterbenennung_error_text', "Es ist zu einem Fehler gekommen. Bitte füllen Sie alle Pflichtfelder aus.");
|
|
|
|
if($_SESSION["gutachterbenennung_user_gutachter"] == ""){$smarty->assign('gutachterbenennung_user_gutachter_ico', 1);}
|
|
}
|
|
|
|
$id = $_SESSION["edit_id"];
|
|
|
|
$query1 = "SELECT a.gid, vorname, nachname, date_format(frist_datum, '%d.%m.%Y') frist_tag, date_format(frist_datum_abgabe, '%d.%m.%Y') frist_datum_abgabe
|
|
FROM imt_gutachter a, imt_user b
|
|
WHERE a.imtuid=b.imtuid
|
|
AND a.vid='$id'
|
|
ORDER BY nachname ASC";
|
|
|
|
$result1 = $db->query ($query1)
|
|
or die ("Cannot execute query");
|
|
|
|
$table_data1 = array();
|
|
|
|
### Status des Gutachtens
|
|
### Berechnen, ob bereits entschieden ist, da die Mehrzahl der Stimmen bereits abgegeben wurde
|
|
$gutachter = new gutachter();
|
|
|
|
while ($row1 = $result1->fetch_array()){
|
|
|
|
|
|
gutachter_entscheid($uid, $row1[gid], $id);
|
|
$status = $gutachter -> gutachter_status($row1[gid]);
|
|
$status_klartext = $gutachter -> gutachter_status_klartext($row1[gid], $status);
|
|
|
|
#/* Gutachter muss nicht mehr vom Ausschuss genehmigt werden
|
|
# if($status == '1' OR $status == '2' OR $status == '3' OR $status == '4' OR $status == '5'){
|
|
# # Briefsymbol um Gutachter anzuschreiben anzeigen
|
|
# $gutachterbrief = 1;
|
|
# }else{
|
|
# $gutachterbrief = 0;
|
|
# }
|
|
#*/
|
|
# Es kann gleich das Briefsymbol eingeblendet werden ohne Ausschuss
|
|
$gutachterbrief = 1;
|
|
|
|
if($row1[frist_datum_abgabe] == '00.00.0000'){
|
|
$abgabefrist = "Gutachter noch nicht angeschrieben";
|
|
}else{
|
|
$abgabefrist = $row1[frist_datum_abgabe];
|
|
}
|
|
|
|
|
|
array_push($table_data1, array(
|
|
'gid' => $row1[gid],
|
|
'vorname' => $row1[vorname],
|
|
'nachname' => $row1[nachname],
|
|
'status' => $status,
|
|
'status_klartext' => $status_klartext,
|
|
'gutachterbrief' => $gutachterbrief,
|
|
'frist_tag' => $row1[frist_tag],
|
|
'frist_datum_abgabe' => $abgabefrist
|
|
)
|
|
);
|
|
}
|
|
$smarty->assign('table_data1', $table_data1);
|
|
|
|
|
|
|
|
|
|
$query2 = "SELECT imtuid, vorname, nachname
|
|
FROM imt_user
|
|
ORDER BY nachname ASC";
|
|
|
|
$result2 = $db->query ($query2)
|
|
or die ("Cannot execute query2");
|
|
|
|
$table_data2 = array();
|
|
|
|
while ($row2 = $result2->fetch_array()){
|
|
$query_dis_gut = $db->query("SELECT count(*) Anz
|
|
FROM imt_gutachter
|
|
WHERE vid='$id'
|
|
AND imtuid='$row2[imtuid]'") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
|
|
$row_dis_gut = $query_dis_gut->fetch_array();
|
|
if($row_dis_gut['Anz'] > 0){
|
|
$disable_gut = 1;
|
|
}else{
|
|
$disable_gut = 0;
|
|
}
|
|
|
|
|
|
$query_dis_bet = $db->query("SELECT count(*) Anz
|
|
FROM imt_beteiligte
|
|
WHERE vid='$id'
|
|
AND imtuid='$row2[imtuid]'") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
|
|
$row_dis_bet = $query_dis_bet->fetch_array();
|
|
if($row_dis_bet['Anz'] > 0){
|
|
$disable_bet = 1;
|
|
}else{
|
|
$disable_bet = 0;
|
|
}
|
|
|
|
|
|
if($row2['imtuid'] == $_GET['userid']){
|
|
$selected = 1;
|
|
}else{
|
|
$selected = 0;
|
|
}
|
|
array_push($table_data2, array(
|
|
'imtuid' => $row2['imtuid'],
|
|
'vorname' => $row2['vorname'],
|
|
'nachname' => $row2['nachname'],
|
|
'disable_bet' => $disable_bet,
|
|
'disable_gut' => $disable_gut,
|
|
'selected' => $selected
|
|
)
|
|
);
|
|
}
|
|
$smarty->assign('table_data2', $table_data2);
|
|
}
|
|
|
|
if($action == 'balance'){
|
|
|
|
if(isset($_POST["user_gutachter"])){
|
|
$user_gutachter = $_POST["user_gutachter"];
|
|
$_SESSION["gutachterbenennung_user_gutachter"] = $user_gutachter;
|
|
}
|
|
|
|
if($user_gutachter == ""){
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=1\">";
|
|
}elseif($user_gutachter == "S"){
|
|
# Gutachter soll ein Student sein
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=ldap1\">";
|
|
}elseif($user_gutachter == "P" OR $user_gutachter == "V"){
|
|
# Gutachter soll ein Professor oder Verwaltungsmitarbeiter
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=ldap1\">";
|
|
}elseif($user_gutachter == "L"){
|
|
# Gutachter soll ein Lehrbeauftragter ohne LDAP sein
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=ldap3\">";
|
|
}elseif($user_gutachter == "R"){
|
|
# Beteiligter soll ein Mitarbeiter des Rechenzentrums sein
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=ldap1\">";
|
|
}else{
|
|
# Wenn ein konkreter Benutzer ausgewählt wurde
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=frist\">";
|
|
}
|
|
|
|
}
|
|
|
|
|
|
if($action == 'ldap2'){
|
|
|
|
$suchstring=utf8_decode($_POST['suchstring']);
|
|
$suchpfad=$_POST['suchpfad'];
|
|
|
|
$result_ldap = $db->query("SELECT wert1 user, wert2 passwd
|
|
FROM imt_parameter
|
|
WHERE pid='2'
|
|
LIMIT 1");
|
|
$row_ldap = $result_ldap->fetch_array();
|
|
|
|
$_ad_username="$row_ldap[user]";
|
|
$_ad_password="$row_ldap[passwd]";
|
|
|
|
$user_gutachter = $_SESSION["gutachterbenennung_user_gutachter"];
|
|
if($user_gutachter == "P" OR $user_gutachter == "V"){
|
|
$_ldap_dn = "ou=OUHochschulnetzwerk,dc=hsnet,dc=hs-ludwigsburg,dc=de";
|
|
$ds=@ldap_connect("141.10.128.30", "389"); // muss ein gültiger LDAP Server Port 389->3268
|
|
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
|
|
}
|
|
|
|
if($user_gutachter == "S"){
|
|
$_ldap_dn = "ou=ouStudnet,dc=studnet,dc=hs-ludwigsburg,dc=de";
|
|
$ds=@ldap_connect("141.10.144.37", "389"); // muss ein gültiger LDAP Server Port 389->3268
|
|
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
|
|
}
|
|
|
|
if($user_gutachter == "R"){
|
|
$_ldap_dn = "ou=OURechenzentrum,dc=hsnet,dc=hs-ludwigsburg,dc=de";
|
|
$ds=@ldap_connect("141.10.128.30", "389"); // muss ein gültiger LDAP Server Port 389->3268
|
|
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
|
|
}
|
|
|
|
if ($ds) {
|
|
|
|
$r=ldap_bind($ds, $_ad_username, $_ad_password);
|
|
|
|
|
|
// Suchen des Nachnamen-Eintrags
|
|
#$suchstring2=$suchstring;
|
|
#$sr=ldap_search($ds,"o=fhov", "cn=$suchstring");
|
|
$sr=ldap_search($ds, $_ldap_dn, "$suchpfad=$suchstring");
|
|
|
|
|
|
|
|
$anzahl = ldap_count_entries($ds,$sr);
|
|
|
|
$info = ldap_get_entries($ds, $sr);
|
|
|
|
$table_data3 = array();
|
|
for ($i=0; $i<$info["count"]; $i++) {
|
|
|
|
//$dn enthält dn-string ==> 'cn=test,ou=extern,o=fhov': Nachfolgende Zeilen nur ou extrahieren
|
|
|
|
$uid = $info[$i]['samaccountname'][0];
|
|
$vorname = $info[$i]['givenname'][0];
|
|
$nachname = $info[$i]['sn'][0];
|
|
$dn = $info[$i][dn];
|
|
$mail = $info[$i]['mail'][0];
|
|
|
|
|
|
$b = strpos ($dn, "OU=")+3; // Position bestimmen wo ou anfängt, +3 damit "ou=" nicht mitangezeigt wird, also Positon um 3 nach recht verschoben wird
|
|
if($user_gutachter == "P" OR $user_gutachter == "V"){
|
|
# Bei Mitarbeiter: CN=Rieth\, Wolfgang,OU=Verwaltung,OU=Mitarbeiter,OU=OUHochschulnetzwerk,DC=hsnet,DC=hs-ludwigsburg,DC=de
|
|
$c = strpos ($dn, ",OU=Mitarbeiter"); // Position bestimmen woe ,o= anfängt
|
|
|
|
if($c == ""){
|
|
# Bei externen: CN=Schwarz\, Alexander,OU=Externe Benutzer,OU=OUHochschulnetzwerk,DC=hsnet,DC=hs-ludwigsburg,DC=de
|
|
$c = strpos ($dn, ",OU=OUHochschulnetzwerk"); // Position bestimmen woe ,o= anfängt
|
|
}
|
|
|
|
}
|
|
if($user_gutachter == "S"){
|
|
$c = strpos ($dn, ",OU=Benutzer"); // Position bestimmen woe ,o= anfängt
|
|
}
|
|
|
|
$d = $c-$b; // beide Werte subrahieren, dann erhält man die Länge von ou
|
|
$gruppe = substr($dn, $b, $d);
|
|
|
|
array_push($table_data3, array(
|
|
'uid' => $uid,
|
|
'vorname' => $vorname,
|
|
'nachname' => $nachname,
|
|
'gruppe' => $gruppe,
|
|
'mail' => $mail
|
|
)
|
|
);
|
|
|
|
$uid = "";
|
|
$vorname = "";
|
|
$nachname = "";
|
|
$dn = "";
|
|
$gruppe = "";
|
|
$mail = "";
|
|
|
|
}
|
|
$smarty->assign('table_data3', $table_data3);
|
|
ldap_close($ds);
|
|
}else{
|
|
echo "<h4>Verbindung zum LDAP Server nicht möglich</h4>";
|
|
}
|
|
|
|
}
|
|
|
|
|
|
if($action == 'ldap3'){
|
|
|
|
if($_GET['error'] == 1){
|
|
$smarty->assign('gutachterbenennung_pflichtfelder', "1");
|
|
$smarty->assign('gutachterbenennung_error_text', "Es ist zu einem Fehler gekommen. Bitte füllen Sie alle Pflichtfelder aus.");
|
|
|
|
|
|
if($_SESSION["gutachterbenennung_vorname"] == ""){$smarty->assign('gutachterbenennung_vorname_ico', 1);}
|
|
|
|
if($_SESSION["gutachterbenennung_nachname"] == ""){$smarty->assign('gutachterbenennung_nachname_ico', 1);}
|
|
|
|
if($_SESSION["gutachterbenennung_mail"] == ""){$smarty->assign('gutachterbenennung_mail_ico', 1);}
|
|
|
|
if($_SESSION["gutachterbenennung_beziehung"] == ""){$smarty->assign('gutachterbenennung_beziehung_ico', 1);}
|
|
|
|
if($_SESSION["gutachterbenennung_fakultaet"] == ""){$smarty->assign('gutachterbenennung_fakultaet_ico', 1);}
|
|
|
|
if($_SESSION["gutachterbenennung_ag"] == ""){$smarty->assign('gutachterbenennung_ag_ico', 1);}
|
|
|
|
if($_SESSION["gutachterbenennung_jahrgang"] == ""){$smarty->assign('gutachterbenennung_jahrgang_ico', 1);}
|
|
}
|
|
|
|
if($_GET['error'] == 2){
|
|
$smarty->assign('gutachterbenennung_pflichtfelder', "1");
|
|
$smarty->assign('gutachterbenennung_error_text', "Die Mailadresse ist nicht gültig! Bitte tragen Sie eine gültige Mailadresse ein.");
|
|
}
|
|
|
|
if($_GET['error'] == 3){
|
|
$smarty->assign('gutachterbenennung_pflichtfelder', "1");
|
|
$smarty->assign('gutachterbenennung_error_text', "Die Mailadresse ist im System bereits vorhanden. Setzen Sie sich bitte mit <a href='mailto:$global_service_mail?subject=Fehler bei Anmeldung Ideenmanagement: Mailadresse bereits vorhanden'>$global_service_admin</a> in Verbindung");
|
|
}
|
|
|
|
$smarty->assign('gutachterbenennung_vorname', $_SESSION["gutachterbenennung_vorname"]);
|
|
$smarty->assign('gutachterbenennung_nachname', $_SESSION["gutachterbenennung_nachname"]);
|
|
$smarty->assign('gutachterbenennung_mail', $_SESSION["gutachterbenennung_mail"]);
|
|
$smarty->assign('gutachterbenennung_beziehung', $_SESSION["gutachterbenennung_beziehung"]);
|
|
$smarty->assign('gutachterbenennung_fakultaet', $_SESSION["gutachterbenennung_fakultaet"]);
|
|
$smarty->assign('gutachterbenennung_ag', $_SESSION["gutachterbenennung_ag"]);
|
|
$smarty->assign('gutachterbenennung_jahrgang', $_SESSION["gutachterbenennung_jahrgang"]);
|
|
|
|
if(isset($_POST['auswahl'])){
|
|
$suchstring=$_POST['auswahl'];
|
|
$_SESSION["gutachterbenennung_user_uid"] = $suchstring;
|
|
$suchpfad='samaccountname';
|
|
|
|
$result_ldap = $db->query("SELECT wert1 user, wert2 passwd
|
|
FROM imt_parameter
|
|
WHERE pid='2'
|
|
LIMIT 1");
|
|
$row_ldap = $result_ldap->fetch_array();
|
|
|
|
$_ad_username="$row_ldap[user]";
|
|
$_ad_password="$row_ldap[passwd]";
|
|
|
|
$user_gutachter = $_SESSION["gutachterbenennung_user_gutachter"];
|
|
if($user_gutachter == "P" OR $user_gutachter == "V"){
|
|
$_ldap_dn = "ou=OUHochschulnetzwerk,dc=hsnet,dc=hs-ludwigsburg,dc=de";
|
|
$ds=@ldap_connect("141.10.128.30", "389"); // muss ein gültiger LDAP Server Port 389->3268
|
|
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
|
|
}
|
|
|
|
if($user_gutachter == "S"){
|
|
$_ldap_dn = "ou=ouStudnet,dc=studnet,dc=hs-ludwigsburg,dc=de";
|
|
$ds=@ldap_connect("141.10.144.37", "389"); // muss ein gültiger LDAP Server Port 389->3268
|
|
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
|
|
}
|
|
|
|
if($user_gutachter == "R"){
|
|
$_ldap_dn = "ou=OURechenzentrum,dc=hsnet,dc=hs-ludwigsburg,dc=de";
|
|
$ds=@ldap_connect("141.10.128.30", "389"); // muss ein gültiger LDAP Server Port 389->3268
|
|
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
|
|
}
|
|
|
|
|
|
if ($ds) {
|
|
|
|
$r=ldap_bind($ds, $_ad_username, $_ad_password);
|
|
|
|
|
|
// Suchen des Nachnamen-Eintrags
|
|
#$suchstring2=$suchstring;
|
|
#$sr=ldap_search($ds,"o=fhov", "cn=$suchstring");
|
|
$sr=ldap_search($ds, $_ldap_dn, "$suchpfad=$suchstring");
|
|
|
|
|
|
$anzahl = ldap_count_entries($ds,$sr);
|
|
|
|
$info = ldap_get_entries($ds, $sr);
|
|
|
|
$table_data3 = array();
|
|
for ($i=0; $i<$info["count"]; $i++) {
|
|
|
|
//$dn enthält dn-string ==> 'cn=test,ou=extern,o=fhov': Nachfolgende Zeilen nur ou extrahieren
|
|
|
|
$vorname = $info[$i]['givenname'][0];
|
|
$nachname = $info[$i]['sn'][0];
|
|
$mail = $info[$i]['mail'][0];
|
|
$dn = $info[$i][dn];
|
|
$b = strpos ($dn, "OU=")+3; // Position bestimmen wo ou anfängt, +3 damit "ou=" nicht mitangezeigt wird, also Positon um 3 nach recht verschoben wird
|
|
$c = strpos ($dn, ",OU=Benutzer"); // Position bestimmen woe ,o= anfängt
|
|
$d = $c-$b; // beide Werte subrahieren, dann erhält man die Länge von ou
|
|
$gruppe = substr($dn, $b, $d);
|
|
$gruppe = str_replace ("Stud", "", $gruppe);
|
|
|
|
|
|
}
|
|
ldap_close($ds);
|
|
|
|
if($user_gutachter == "S"){
|
|
$db = dbconnect();
|
|
$query = "SELECT distinct jahrgang
|
|
FROM kurs.stud
|
|
WHERE jahrgang <= substr(date_format(now(), '%Y'),3,2)
|
|
ORDER BY jahrgang desc
|
|
LIMIT 4";
|
|
$result = $db->query ($query)
|
|
or die ("Cannot execute query1");
|
|
|
|
$table_data = array();
|
|
|
|
|
|
while ($row = $result->fetch_array()){
|
|
|
|
if($row[jahrgang] == $gruppe){
|
|
$select = 1;
|
|
}else{
|
|
$select = 0;
|
|
}
|
|
|
|
array_push($table_data, array(
|
|
'select' => $select,
|
|
'jahrgang' => $row['jahrgang']
|
|
)
|
|
);
|
|
}
|
|
$smarty->assign('table_data', $table_data);
|
|
|
|
}
|
|
|
|
$smarty->assign('gutachterbenennung_beziehung', "$user_gutachter");
|
|
$smarty->assign('gutachterbenennung_vorname', "$vorname");
|
|
$smarty->assign('gutachterbenennung_nachname', "$nachname");
|
|
$smarty->assign('gutachterbenennung_mail', "$mail");
|
|
|
|
}else{
|
|
echo "<h4>Verbindung zum LDAP Server nicht möglich</h4>";
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
if($action == 'ldap4'){
|
|
|
|
$vorname = utf8_decode($_POST['vorname']);
|
|
$nachname = utf8_decode($_POST['nachname']);
|
|
$mail = utf8_decode($_POST['mail']);
|
|
$beziehung = utf8_decode($_POST['beziehung']);
|
|
|
|
$ag = $_POST['ag'];
|
|
$jahrgang = $_POST['jahrgang'];
|
|
$fakultaet = $_POST['fakultaet'];
|
|
|
|
$_SESSION["gutachterbenennung_vorname"] = "$vorname";
|
|
$_SESSION["gutachterbenennung_nachname"] = "$nachname";
|
|
$_SESSION["gutachterbenennung_mail"] = "$mail";
|
|
$_SESSION["gutachterbenennung_beziehung"] = "$beziehung";
|
|
|
|
$_SESSION["gutachterbenennung_ag"] = "$ag";
|
|
$_SESSION["gutachterbenennung_jahrgang"] = "$jahrgang";
|
|
$_SESSION["gutachterbenennung_fakultaet"] = "$fakultaet";
|
|
|
|
if(!validEmail($mail)){
|
|
$fehler = 1;
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=ldap3&error=2\">";
|
|
}
|
|
|
|
|
|
$db = dbconnect();
|
|
$query = $db->query("SELECT count(*) Anz
|
|
FROM imt_user
|
|
WHERE mail = '$mail'") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
|
|
$row = $query->fetch_array();
|
|
|
|
if($row[Anz] > 0){
|
|
# Benutzer vorhanden
|
|
$fehler = 1;
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=ldap3&error=3\">";
|
|
}
|
|
|
|
if($vorname == "" OR $nachname == "" OR $mail == "" OR $beziehung == ""){
|
|
# Fehler Pflichtfelder
|
|
$fehler = 1;
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=ldap3&error=1\">";
|
|
}
|
|
|
|
if($beziehung == "P" OR $beziehung == "L" OR $beziehung == ""){
|
|
if($fakultaet == ""){
|
|
# Fakultaet leer
|
|
$fehler = 1;
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=ldap3&error=1\">";
|
|
}
|
|
}
|
|
|
|
if($beziehung == "S"){
|
|
if($ag == "" OR $jahrgang == ""){
|
|
# AG Jahrgang leer
|
|
$fehler = 1;
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=ldap3&error=1\">";
|
|
}
|
|
}
|
|
|
|
|
|
if(!isset($fehler )){
|
|
if($beziehung == "P" OR $beziehung == "L"){
|
|
$ag = "";
|
|
$jahrgang = "";
|
|
}
|
|
|
|
if($beziehung == "S"){
|
|
$fakultaet = "";
|
|
}
|
|
|
|
# Lehrbeauftragte und Externe Benutzer bekommen eine Benutzerkennung da Sie nicht in der Hochschule erfasst sind, zumindest nicht alle
|
|
if($beziehung == "E" or $beziehung == "L"){
|
|
$benutzerkennung = genUser($vorname, $nachname);
|
|
|
|
$datum=date("Y-m-d H:i:s");
|
|
#$pw_expire = date("Y-m-d H:i:s", mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")+1)); // ISO-8601 Format
|
|
$aktivierungscode = rand(1, 99999999);
|
|
|
|
#$pool = "qwertzupasdfghkyxcvbnm";
|
|
#$pool .= "23456789";
|
|
#$pool .= "WERTZUPLKJHGFDSAYXCVBNM";
|
|
#
|
|
#srand ((double)microtime()*1000000);
|
|
#for($index = 0; $index < 7; $index++)
|
|
#{
|
|
#$pass_word .= substr($pool,(rand()%(strlen ($pool))), 1);
|
|
#}
|
|
|
|
#$new_pw_md5=md5($pass_word);
|
|
}else{
|
|
# Bei User innerhalb des ADs benötigt man die Original-Benutzerkennung, aber dafür kein Passwort
|
|
$benutzerkennung = $_SESSION["gutachterbenennung_user_uid"];
|
|
}
|
|
|
|
$db = dbconnect();
|
|
$sql1 = $db->query("INSERT INTO imt_user ( vorname
|
|
, nachname
|
|
, mail
|
|
, beziehung
|
|
, ag
|
|
, jahrgang
|
|
, fakultaet
|
|
, uid
|
|
, erstell_dat
|
|
, aktiv
|
|
, akivierungscode
|
|
)
|
|
VALUES
|
|
( '$vorname'
|
|
, '$nachname'
|
|
, '$mail'
|
|
, '$beziehung'
|
|
, '$ag'
|
|
, '$jahrgang'
|
|
, '$fakultaet'
|
|
, '$benutzerkennung'
|
|
, '$datum'
|
|
, '1'
|
|
, '$aktivierungscode'
|
|
)
|
|
");
|
|
$imtuid = $db->insert_id;
|
|
|
|
if($sql1){ // Wenn Insert geklappt hat, dann mail
|
|
# Bei erfolgreichem Insert, auf die Startseite gutachterbenennung wechseln und dort den Benutzer vorselektieren
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?userid=$imtuid\">";
|
|
}else{
|
|
echo "Beim anlegen des Benutzer ist ein unbekannter Fehler aufgetreten!";
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
if($action == 'frist'){
|
|
# START: Da kein Ausschuss mehr benötigt wird, wird der Gutachter gleich erfasst
|
|
$imtuid = $_SESSION["gutachterbenennung_user_gutachter"];
|
|
$vid = $_SESSION["edit_id"];
|
|
$gutachterbemerkung = ""; # Dem Ausschuss muss keine Bemerkung mitgeteilt werden, da er nicht mehr informiert wird.
|
|
$aend_dat = date("Y-m-d H:i:s");
|
|
$frist = "0000-00-00"; # Dem Ausschuss muss keine Bemerkung mitgeteilt werden, da er nicht mehr informiert wird.
|
|
$db = dbconnect();
|
|
$sql1 = $db->query("INSERT INTO imt_gutachter ( imtuid
|
|
, vid
|
|
, bemerkung
|
|
, erfass_dat
|
|
, frist_datum
|
|
)
|
|
VALUES
|
|
( '$imtuid'
|
|
, '$vid'
|
|
, '$gutachterbemerkung'
|
|
, '$aend_dat'
|
|
, '$frist'
|
|
)
|
|
");
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?id=$vid\">";
|
|
# ENDE: Da kein Ausschuss mehr benötigt wird, wird der Gutachter gleich erfasst
|
|
}
|
|
|
|
if($action == 'anschreiben'){
|
|
# Gutachter anschreiben, ihnen die Frist mitteilen und das Recht für den Gutachterbereich geben.
|
|
# GGf muss ein Passwort gesetzt und mitgeteilt werden
|
|
|
|
$gid = $_GET['gid'];
|
|
$_SESSION["gutachterbenennung_gid"] = $gid;
|
|
|
|
if($_GET['error'] == 1){
|
|
$smarty->assign('gutachterbenennung_pflichtfelder', "1");
|
|
$smarty->assign('gutachterbenennung_error_text', "Es ist zu einem Fehler gekommen. Bitte füllen Sie alle Pflichtfelder aus.");
|
|
|
|
|
|
if($_SESSION["gutachterbenennung_fristtag"] == "" OR $_SESSION["gutachterbenennung_fristmon"] == "" OR $_SESSION["gutachterbenennung_frisjahr"] == ""){$smarty->assign('gutachterbenennung_frist_ico', 1);}
|
|
if($_SESSION["gutachterbenennung_fristtag"] == ""){$smarty->assign('gutachterbenennung_fristtag_ico', 1);}
|
|
if($_SESSION["gutachterbenennung_fristmon"] == ""){$smarty->assign('gutachterbenennung_fristmon_ico', 1);}
|
|
if($_SESSION["gutachterbenennung_fristjahr"] == ""){$smarty->assign('gutachterbenennung_fristjahr_ico', 1);}
|
|
|
|
|
|
$smarty->assign('gutachterbenennung_fristtag', $_SESSION["gutachterbenennung_fristtag"]);
|
|
$smarty->assign('gutachterbenennung_fristmon', $_SESSION["gutachterbenennung_fristmon"]);
|
|
$smarty->assign('gutachterbenennung_fristjahr', $_SESSION["gutachterbenennung_fristjahr"]);
|
|
$smarty->assign('gutachterbenennung_gutachterbemerkung', $_SESSION["gutachterbenennung_gutachterbemerkung"]);
|
|
|
|
}elseif($_GET['error'] == 2){
|
|
$smarty->assign('gutachterbenennung_pflichtfelder', "1");
|
|
$smarty->assign('gutachterbenennung_error_text', "Das Fristdatum ist nicht korrekt. Bitte korrigieren Sie das Datum!");
|
|
|
|
$smarty->assign('gutachterbenennung_fristtag', $_SESSION["gutachterbenennung_fristtag"]);
|
|
$smarty->assign('gutachterbenennung_fristmon', $_SESSION["gutachterbenennung_fristmon"]);
|
|
$smarty->assign('gutachterbenennung_fristjahr', $_SESSION["gutachterbenennung_fristjahr"]);
|
|
$smarty->assign('gutachterbenennung_gutachterbemerkung', $_SESSION["gutachterbenennung_gutachterbemerkung"]);
|
|
}else{
|
|
|
|
$query_ga = $db->query("SELECT date_format(frist_datum_abgabe, '%d') frist_datum_abgabe_tag, date_format(frist_datum_abgabe, '%m') frist_datum_abgabe_mon, date_format(frist_datum_abgabe, '%Y') frist_datum_abgabe_jahr, frist_datum_abgabe
|
|
FROM imt_gutachter
|
|
WHERE gid = '$gid'") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
|
|
$row_ga = $query_ga->fetch_array();
|
|
|
|
if($row_ga[frist_datum_abgabe] == '0000-00-00'){
|
|
$smarty->assign('gutachterbenennung_fristtag', date("d",strtotime("+4 week")) );
|
|
$smarty->assign('gutachterbenennung_fristmon', date("m",strtotime("+4 week")) );
|
|
$smarty->assign('gutachterbenennung_fristjahr', date("Y",strtotime("+4 week")) );
|
|
}else{
|
|
$smarty->assign('gutachterbenennung_fristtag', $row_ga["frist_datum_abgabe_tag"] );
|
|
$smarty->assign('gutachterbenennung_fristmon', $row_ga["frist_datum_abgabe_mon"] );
|
|
$smarty->assign('gutachterbenennung_fristjahr', $row_ga["frist_datum_abgabe_jahr"] );
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if($action == 'anschreiben1'){
|
|
# Gutachter anschreiben, ihnen die Frist mitteilen und das Recht für den Gutachterbereich geben.
|
|
# GGf muss ein Passwort gesetzt und mitgeteilt werden
|
|
|
|
$gid = $_SESSION["gutachterbenennung_gid"];
|
|
$tag = $_POST["frist_tag"];
|
|
$mon = $_POST["frist_mon"];
|
|
$jahr = $_POST["frist_jahr"];
|
|
$abgabefrist = "$jahr-$mon-$tag";
|
|
$gutachterbemerkung = $_POST["gutachter_bemerkung"];
|
|
$beziehung = $_SESSION["gutachterbenennung_beziehung"];
|
|
|
|
$_SESSION["gutachterbenennung_fristtag"] = $tag;
|
|
$_SESSION["gutachterbenennung_fristmon"] = $mon;
|
|
$_SESSION["gutachterbenennung_fristjahr"] = $jahr;
|
|
$_SESSION["gutachterbenennung_gutachterbemerkung"] = $gutachterbemerkung;
|
|
|
|
|
|
|
|
|
|
if(!@checkdate($mon, $tag, $jahr)){
|
|
# Fehler Datum
|
|
$fehler = 1;
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=anschreiben&error=2\">";
|
|
}
|
|
|
|
if($tag == "" OR $mon == "" OR $jahr == ""){
|
|
# Fehler Pflichtfelder
|
|
$fehler = 1;
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=anschreiben&error=1\">";
|
|
}
|
|
|
|
if(!isset($fehler )){
|
|
|
|
# Daten des Gutachters abfragen
|
|
$db = dbconnect();
|
|
$query_ga = $db->query("SELECT uid, imtuid, passwort, vorname, nachname, beziehung
|
|
FROM imt_user
|
|
WHERE imtuid IN (SELECT imtuid FROM imt_gutachter WHERE gid='$gid')") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
|
|
$row_ga = $query_ga->fetch_array();
|
|
|
|
|
|
|
|
# Lehrbeauftragte und Externe Benutzer bekommen eine Benutzerkennung da Sie nicht in der Hochschule erfasst sind, zumindest nicht alle
|
|
if($row_ga['beziehung'] == "E" or $row_ga['beziehung'] == "L"){
|
|
|
|
if($row_ga[passwort] == ''){
|
|
# Passwort ggf. setzen
|
|
|
|
$pw_expire = date("Y-m-d H:i:s", mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")+1)); // ISO-8601 Format
|
|
|
|
$pool = "qwertzupasdfghkyxcvbnm";
|
|
$pool .= "23456789";
|
|
$pool .= "WERTZUPLKJHGFDSAYXCVBNM";
|
|
|
|
srand ((double)microtime()*1000000);
|
|
for($index = 0; $index < 7; $index++)
|
|
{
|
|
$pass_word .= substr($pool,(rand()%(strlen ($pool))), 1);
|
|
}
|
|
|
|
$new_pw_md5=md5($pass_word);
|
|
$sql = $db->query ("UPDATE imt_user SET passwort='$new_pw_md5', pw_expire='$pw_expire' WHERE imtuid='$row_ga[imtuid]'");
|
|
}
|
|
}
|
|
|
|
|
|
# Herausfinden, ob der Gutachter bereits ein Recht für den Gutachterbereicht, ggf setzen
|
|
rechte_vergabe($row_ga[imtuid], 2);
|
|
|
|
# Frist setzen
|
|
$sql = $db->query ("UPDATE imt_gutachter SET frist_datum_abgabe='$abgabefrist' WHERE gid='$gid'");
|
|
|
|
|
|
# Herausfinden des Betreffs des Verbesserungsvorschlages
|
|
$query_vv = $db->query("SELECT betreff, vid
|
|
FROM imt_vorschlag
|
|
WHERE vid IN (SELECT vid FROM imt_gutachter WHERE gid='$gid')") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
|
|
$row_vv = $query_vv->fetch_array();
|
|
|
|
|
|
# Gutachter anschreiben
|
|
|
|
$empfaenger = "$row_ga[imtuid]";
|
|
$betreff = "Gutachteranhörung";
|
|
$text = "
|
|
<html>
|
|
<head>
|
|
<title>Gutachtenanhörung</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.
|
|
Zu diesem Vorschlag wurden Sie im System \"Ideenmanagement\" als Gutachter benannt.
|
|
Um eine sachliche Entscheidung über die eingereichte Idee treffen zu können,
|
|
benötigt der Ausschuss Ideenmanagement von Ihnen als Gutachter eine Stellungnahme.
|
|
Bitte halten Sie Stillschweigen über die eingereichte Idee ein.
|
|
|
|
<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_vv[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'>
|
|
$row_vv[vid]
|
|
</font>
|
|
</td>
|
|
</tr>
|
|
";
|
|
$benutzerkennung = $row_ga[uid];
|
|
# Bei Benutzer im AD
|
|
$benutzerkennung2 = $_SESSION["gutachterbenennung_user_uid"];
|
|
if($benutzerkennung != ""){
|
|
$text .= "
|
|
<tr>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
<b>Benutzerkennung:</b>
|
|
</font>
|
|
</td>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
$benutzerkennung
|
|
</font>
|
|
</td>
|
|
</tr>";
|
|
}
|
|
|
|
if($pass_word != ""){
|
|
$text .= "
|
|
<tr>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
<b>Passwort:</b>
|
|
</font>
|
|
</td>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
$pass_word
|
|
</font>
|
|
</td>
|
|
</tr>";
|
|
}
|
|
|
|
if($benutzerkennung2 != ""){
|
|
$text .= "
|
|
<tr>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
<b>Benutzerkennung:</b>
|
|
</font>
|
|
</td>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
$benutzerkennung2
|
|
</font>
|
|
</td>
|
|
</tr>";
|
|
}
|
|
|
|
if($gutachterbemerkung != ""){
|
|
$text .= "
|
|
<tr>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
<b>Bemerkung:</b>
|
|
</font>
|
|
</td>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
$gutachterbemerkung
|
|
</font>
|
|
</td>
|
|
</tr>";
|
|
}
|
|
|
|
$text .="
|
|
<tr>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
<b>Bearbeitungsfrist:</b>
|
|
</font>
|
|
</td>
|
|
<td valign='top'>
|
|
<font face='Arial' size='2'>
|
|
$tag.$mon.$jahr
|
|
</font>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<br />
|
|
Um den Vorschlag vollständig zu lesen und Ihre Stellungnahme abzugeben, melden Sie sich am System an und wechseln Sie auf das Register \"Gutachterbereich\".
|
|
<p>
|
|
Klicken Sie hier um zum <a href='https://www.hs-ludwigsburg.de/kurs/ideenmanagement'>Ideenmanagement</a> zu gelangen.
|
|
<p>
|
|
Wir können die Motivation zum Einreichen der Ideen steigern, indem wir schnelle, aber ausreichend begründete Antworten geben.
|
|
Der Bearbeitungsaufwand soll sich am zu erwartenden Nutzen orientieren.
|
|
Sollten Sie die genannte Frist voraussichtlich nicht einhalten können, stimmen Sie bitte eine Zeitspanne mit dem/der QMB ab.
|
|
|
|
<p>
|
|
Diese Mail wurde automatisch generiert!<br />
|
|
Antworten Sie daher nicht auf diese Mail.<br />
|
|
<br />
|
|
Vielen Dank!
|
|
</body>
|
|
</html>";
|
|
|
|
|
|
mail_einstell($row_vv[vid], $uid, $empfaenger, NULL, NULL, $betreff, $text, 108, NULL);
|
|
|
|
echo "<meta http-equiv=\"refresh\" content=\"2; URL=".$_SERVER['PHP_SELF']."?\">";
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
$smarty->assign('action', "$action");
|
|
$smarty->display("$template/$templatename");
|
|
|
|
?>
|