<?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&uuml;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&uuml;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&uuml;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&uuml;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&auml;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&auml;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&auml;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&auml;ngt
	 }
	 
       }
       if($user_gutachter == "S"){
         $c = strpos ($dn, ",OU=Benutzer");   // Position bestimmen woe ,o= anf&auml;ngt
       }
       
       $d = $c-$b;                 // beide Werte subrahieren, dann erh&auml;lt man die L&auml;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&ouml;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&uuml;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&uuml;ltig! Bitte tragen Sie eine g&uuml;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&uuml;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&uuml;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&uuml;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&auml;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&auml;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&auml;ngt
	 $d = $c-$b;                 // beide Werte subrahieren, dann erh&auml;lt man die L&auml;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&ouml;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&uuml;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&ouml;rung";
        $text = "
          <html>
          <head>
          <title>Gutachtenanh&ouml;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 &uuml;ber die eingereichte Idee treffen zu k&ouml;nnen, 
          ben&ouml;tigt der Ausschuss Ideenmanagement von Ihnen als Gutachter eine Stellungnahme. 
          Bitte halten Sie Stillschweigen &uuml;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&auml;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&ouml;nnen die Motivation zum Einreichen der Ideen steigern, indem wir schnelle, aber ausreichend begr&uuml;ndete Antworten geben. 
          Der Bearbeitungsaufwand soll sich am zu erwartenden Nutzen orientieren. 
          Sollten Sie die genannte Frist voraussichtlich nicht einhalten k&ouml;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");

?>