<?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_mail_einstell.php");
require_once("func_rechte_vergabe.php");
require_once("func_beteiligter_status.php");

$action = $_GET['action'];

  if(isset($_GET['id'])){
    $_SESSION["edit_id"] = $_GET['id'];
    $search_prefix = 'beteiligtenbenennung_';
    $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('beteiligtenbenennung_pflichtfelder', "1");
    $smarty->assign('beteiligtenbenennung_error_text', "Es ist zu einem Fehler gekommen. Bitte f&uuml;llen Sie alle Pflichtfelder aus.");  
    
    if($_SESSION["beteiligtenbenennung_user_beteiligter"] == ""){$smarty->assign('beteiligtenbenennung_user_beteiligter_ico', 1);}
  }
  

    
    $id = $_SESSION["edit_id"];
  
    $query1 = "SELECT bid, vorname, nachname, date_format(frist_datum, '%d.%m.%Y') frist_tag, date_format(stellung_dat, '%d.%m.%Y (%H:%i)') stellung_dat_form, stellung_dat
                 FROM imt_beteiligte 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();
    
    $beteiligter = new beteiligter();
      
    while ($row1 = $result1->fetch_array()){
    
      $status = $beteiligter -> beteiligter_status($row1['bid']);
      $status_klartext = $beteiligter -> beteiligter_status_klartext($row1['bid'], $status);
      
      array_push($table_data1, array(  
       'bid' => $row1['bid'],
       'vorname' => $row1['vorname'],
       'nachname' => $row1['nachname'],
       'status' => $status,
       'status_klartext' => $status_klartext,
       'frist' => $frist,
       'frist_tag' => $row1['frist_tag']
      )
      );
    }
    $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_gut' => $disable_gut,
       'disable_bet' => $disable_bet,
       'selected' => $selected
      )
      );
    }
    $smarty->assign('table_data2', $table_data2);
}

if($action == 'balance'){

  if(isset($_POST["user_beteiligter"])){
    $user_beteiligter = $_POST["user_beteiligter"];
    $_SESSION["beteiligtenbenennung_user_beteiligter"] = $user_beteiligter;
  }
  
  if($user_beteiligter == ""){
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=1\">";
  }elseif($user_beteiligter == "S"){
    # Beteiligter soll ein Student sein
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=ldap1\">";
  }elseif($user_beteiligter == "P" OR $user_beteiligter == "V"){
      # Beteiligter soll ein Professor oder Verwaltungsmitarbeiter
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=ldap1\">";
  }elseif($user_beteiligter == "L"){
      # Beteiligter soll ein Lehrbeauftragter ohne LDAP sein
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=ldap3\">";
  }elseif($user_beteiligter == "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_beteiligter = $_SESSION["beteiligtenbenennung_user_beteiligter"];
  if($user_beteiligter == "P" OR $user_beteiligter == "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_beteiligter == "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_beteiligter == "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) {
  
     # bind wird benötigt, sonst werden die Umlaute bei Namen  nicht richtig angezeigt ?!!?
     $r=ldap_bind($ds, $_ad_username, $_ad_password);    
    
     // Suchen des Nachnamen-Eintrags
     #$suchstring2=utf8_decode($suchstring);
     #echo "$suchstring<hr>";
     #$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_beteiligter == "P" OR $user_beteiligter == "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_beteiligter == "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('beteiligtenbenennung_pflichtfelder', "1");
    $smarty->assign('beteiligtenbenennung_error_text', "Es ist zu einem Fehler gekommen. Bitte f&uuml;llen Sie alle Pflichtfelder aus.");
    
    
    if($_SESSION["beteiligtenbenennung_vorname"] == ""){$smarty->assign('beteiligtenbenennung_vorname_ico', 1);}
    
    if($_SESSION["beteiligtenbenennung_nachname"] == ""){$smarty->assign('beteiligtenbenennung_nachname_ico', 1);}
    
    if($_SESSION["beteiligtenbenennung_mail"] == ""){$smarty->assign('beteiligtenbenennung_mail_ico', 1);}
    
    if($_SESSION["beteiligtenbenennung_beziehung"] == ""){$smarty->assign('beteiligtenbenennung_beziehung_ico', 1);}

    if($_SESSION["beteiligtenbenennung_fakultaet"] == ""){$smarty->assign('beteiligtenbenennung_fakultaet_ico', 1);}
    
    if($_SESSION["beteiligtenbenennung_ag"] == ""){$smarty->assign('beteiligtenbenennung_ag_ico', 1);}
    
    if($_SESSION["beteiligtenbenennung_jahrgang"] == ""){$smarty->assign('beteiligtenbenennung_jahrgang_ico', 1);}
  }
    
  if($_GET['error'] == 2){
    $smarty->assign('beteiligtenbenennung_pflichtfelder', "1");
    $smarty->assign('beteiligtenbenennung_error_text', "Die Mailadresse ist nicht g&uuml;ltig! Bitte tragen Sie eine g&uuml;ltige Mailadresse ein.");
  }
  
  if($_GET['error'] == 3){
    $smarty->assign('beteiligtenbenennung_pflichtfelder', "1");
    $smarty->assign('beteiligtenbenennung_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('beteiligtenbenennung_vorname', $_SESSION["beteiligtenbenennung_vorname"]);
  $smarty->assign('beteiligtenbenennung_nachname', $_SESSION["beteiligtenbenennung_nachname"]);
  $smarty->assign('beteiligtenbenennung_mail', $_SESSION["beteiligtenbenennung_mail"]);
  $smarty->assign('beteiligtenbenennung_beziehung', $_SESSION["beteiligtenbenennung_beziehung"]);
  $smarty->assign('beteiligtenbenennung_fakultaet', $_SESSION["beteiligtenbenennung_fakultaet"]);
  $smarty->assign('beteiligtenbenennung_ag', $_SESSION["beteiligtenbenennung_ag"]);
  $smarty->assign('beteiligtenbenennung_jahrgang', $_SESSION["beteiligtenbenennung_jahrgang"]);  
  
  if(isset($_POST['auswahl'])){
    $suchstring=$_POST['auswahl'];
    $_SESSION["beteiligtenbenennung_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_beteiligter = $_SESSION["beteiligtenbenennung_user_beteiligter"];
    if($user_beteiligter == "P" OR $user_beteiligter == "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_beteiligter == "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_beteiligter == "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=utf8_decode($suchstring);
       #echo "$suchstring<hr>";
       #$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_beteiligter == "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('beteiligtenbenennung_beziehung', "$user_beteiligter");
       $smarty->assign('beteiligtenbenennung_vorname', "$vorname");
       $smarty->assign('beteiligtenbenennung_nachname', "$nachname");
       $smarty->assign('beteiligtenbenennung_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["beteiligtenbenennung_vorname"] = "$vorname";
  $_SESSION["beteiligtenbenennung_nachname"] = "$nachname";
  $_SESSION["beteiligtenbenennung_mail"] = "$mail";
  $_SESSION["beteiligtenbenennung_beziehung"] = "$beziehung";
  
  $_SESSION["beteiligtenbenennung_ag"] = "$ag";
  $_SESSION["beteiligtenbenennung_jahrgang"] = "$jahrgang";
  $_SESSION["beteiligtenbenennung_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);
      }
    
      $_SESSION["beteiligtenbenennung_user_benutzerkennung"] = "$benutzerkennung";
      $_SESSION["beteiligtenbenennung_user_password"] = "$pass_word";
    
      $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["beteiligtenbenennung_user_uid"];
     
    }
    $db = dbconnect();
    $sql1 = $db->query("INSERT INTO imt_user ( vorname
                                              , nachname
                                              , mail
                                              , beziehung
                                              , ag
                                              , jahrgang
                                              , fakultaet
                                              , uid
                                              , passwort
                                              , pw_expire
                                              , erstell_dat
                                              , aktiv
                                              , akivierungscode
                                              )
                         VALUES
                                              ( '$vorname'
                                              , '$nachname'
                                              , '$mail'
                                              , '$beziehung'
                                              , '$ag'
                                              , '$jahrgang'
                                              , '$fakultaet'
                                              , '$benutzerkennung'
                                              , '$new_pw_md5'
                                              , '$pw_expire'
                                              , '$datum'
                                              , '1'
                                              , '$aktivierungscode'
                                              )
                      ");
      $imtuid = $db->insert_id;



  
    if($sql1){
      $_SESSION["beteiligtenbenennung_user_beteiligter"] = $imtuid;
      echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=frist\">";
    }else{
      echo "Beim anlegen des Benutzer ist ein unbekannter Fehler aufgetreten!";
    }
    
  }
  
  
}

if($action == 'frist'){
  if($_GET['error'] == 1){
    $smarty->assign('beteiligtenbenennung_pflichtfelder', "1");
    $smarty->assign('beteiligtenbenennung_error_text', "Es ist zu einem Fehler gekommen. Bitte f&uuml;llen Sie alle Pflichtfelder aus.");
    
    
    if($_SESSION["beteiligtenbenennung_fristtag"] == "" OR $_SESSION["beteiligtenbenennung_fristmon"] == "" OR $_SESSION["beteiligtenbenennung_frisjahr"] == ""){$smarty->assign('beteiligtenbenennung_frist_ico', 1);}
    
    if($_SESSION["beteiligtenbenennung_fristtag"] == ""){$smarty->assign('beteiligtenbenennung_fristtag_ico', 1);}
    
    if($_SESSION["beteiligtenbenennung_fristmon"] == ""){$smarty->assign('beteiligtenbenennung_fristmon_ico', 1);}
    
    if($_SESSION["beteiligtenbenennung_fristjahr"] == ""){$smarty->assign('beteiligtenbenennung_fristjahr_ico', 1);}
    
  }


  if($_GET['error'] == 2){
    $smarty->assign('beteiligtenbenennung_pflichtfelder', "1");
    $smarty->assign('beteiligtenbenennung_error_text', "Das Fristdatum ist nicht korrekt. Bitte korrigieren Sie das Datum!");
  }
  
  $smarty->assign('beteiligtenbenennung_fristtag', $_SESSION["beteiligtenbenennung_fristtag"]);
  $smarty->assign('beteiligtenbenennung_fristmon', $_SESSION["beteiligtenbenennung_fristmon"]);
  $smarty->assign('beteiligtenbenennung_fristjahr', $_SESSION["beteiligtenbenennung_fristjahr"]);

  $smarty->assign('beteiligtenbenennung_beteiligterbemerkung', $_SESSION["beteiligtenbenennung_beteiligterbemerkung"]);

}

if($action == 'frist2'){
  
  $imtuid = $_SESSION["beteiligtenbenennung_user_beteiligter"];
  $vid = $_SESSION["edit_id"];
  
  $tag = $_POST["frist_tag"];
  $mon = $_POST["frist_mon"];
  $jahr = $_POST["frist_jahr"];
  $beteiligtenbemerkung = $_POST["beteiligte_bemerkung"];
  
  $frist = "$jahr-$mon-$tag";
  $aend_dat = date("Y-m-d H:i:s");
  
  $_SESSION["beteiligtenbenennung_fristtag"] = $tag;
  $_SESSION["beteiligtenbenennung_fristmon"] = $mon;
  $_SESSION["beteiligtenbenennung_fristjahr"] = $jahr;
  $_SESSION["beteiligtenbenennung_beteiligterbemerkung"] = $beteiligtenbemerkung;
  
  
   if(!@checkdate($mon, $tag, $jahr)){
    # Fehler Datum
    $fehler = 1;
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=frist&error=2\">";
  }
  
  if($tag == "" OR $mon == "" OR $jahr == ""){
     # Fehler Pflichtfelder
     $fehler = 1;
     echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=frist&error=1\">";
  }
  
  if(!isset($fehler )){ 
    $db = dbconnect();
    $sql1 = $db->query("INSERT INTO imt_beteiligte ( imtuid
                                                   , vid
                                                   , bemerkung
                                                   , erfass_dat
                                                   , frist_datum
                                                   )
                         VALUES
                                                   ( '$imtuid'
                                                   , '$vid'
                                                   , '$beteiligtenbemerkung'
                                                   , '$aend_dat'
                                                   , '$frist'
                                                   )
                       ");
                       
    # Bei Neubenennung eines Beteiligten muss der Status "Alle Beteiligte angehÃ¶rt" gelÃ¶scht werden, da dann noch nicht alle angehÃ¶rt wurden
    $sql2 = $db->query("DELETE FROM imt_verlauf WHERE status = '4' AND vid='$vid'");
    
  
    if($sql1){
    
      $query_vv = $db->query("SELECT betreff
                                 FROM imt_vorschlag
                                WHERE vid = '$vid'") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
      $row_vv = $query_vv->fetch_array();
      
      $query_beteiligter = $db->query("SELECT imtuid, vorname, nachname, mail
                                          FROM imt_user
                                         WHERE imtuid = '$imtuid'") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
      $row_beteiligter = $query_beteiligter->fetch_array();
      
      
      $beteiligter_vorname = str_replace (array("Ã¤", "Ã¶", "Ã¼", "ÃŸ", "Ã„", "Ã–", "Ãœ"), array("&auml;", "&ouml;", "&uuml;", "&szlig;", "&Auml;", "&Ouml;", "&Uuml;"), $row_beteiligter['vorname']);
      $beteiligter_nachname = str_replace (array("Ã¤", "Ã¶", "Ã¼", "ÃŸ", "Ã„", "Ã–", "Ãœ"), array("&auml;", "&ouml;", "&uuml;", "&szlig;", "&Auml;", "&Ouml;", "&Uuml;"), $row_beteiligter['nachname']);

        
        
        $empfaenger = "$row_beteiligter[imtuid]";
        $betreff = "Beteiligtenanh&ouml;rung";
        $text = "
          <html>
          <head>
          <title>Beteiligtenanh&ouml;rung</title>
          </head>
          <body>
          <font face='Arial' size='2'>
          Guten Tag $beteiligter_vorname $beteiligter_nachname!
          <br /><br />
          Im Rahmen des Ideenmanagements ist ein Verbesserungsvorschlag eingegangen. 
          Zu diesem Vorschlag wurden Sie im System \"Ideenmanagement\" als Beteiligter benannt. 
          Um eine sachliche Entscheidung &uuml;ber die eingereichte Idee treffen zu k&ouml;nnen, 
          ben&ouml;tigt der Ausschuss Ideenmanagement von Ihnen als beteiligter Verantwortlicher 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'>
                 $vid
               </font>
             </td>
          </tr>
          ";
    # Bei Externen
    $benutzerkennung = $_SESSION["beteiligtenbenennung_user_benutzerkennung"];
    $pass_word = $_SESSION["beteiligtenbenennung_user_password"];
    
    # Bei Benutzer im AD
    $benutzerkennung2 = $_SESSION["beteiligtenbenennung_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($beteiligtenbemerkung != ""){
          $text .= "
          <tr>
             <td valign='top'>
               <font face='Arial' size='2'>
                 <b>Bemerkung:</b>
               </font>
             </td>
             <td valign='top'>
               <font face='Arial' size='2'>
                 $beteiligtenbemerkung
               </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 sowie Ihre Stellungnahme abzugeben, melden Sie sich am System an und wechseln Sie auf das Register \"Beteiligtenbereich\".
          <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($vid, $uid, $empfaenger, NULL, NULL, $betreff, $text, 100, NULL);
          
          # Beteiligtenrolle an EmpfÃ¤nger vergeben
          rechte_vergabe($empfaenger, 3);
      
      
    }else{
        echo "Beteiligter konnte nicht erfasst werden: beteiligtenbenennung.php?action=frist2";
    }
    
  }  
  
    
}






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

  $bid = $_GET['bid'];
  $_SESSION["beteiligtenbenennung_bid"] = $bid;

  if($_GET['error'] == 1){
    $smarty->assign('beteiligtenbenennung_pflichtfelder', "1");
    $smarty->assign('beteiligtenbenennung_error_text', "Es ist zu einem Fehler gekommen. Bitte f&uuml;llen Sie alle Pflichtfelder aus.");
    
    
    if($_SESSION["beteiligtenbenennung_fristtag"] == "" OR $_SESSION["beteiligtenbenennung_fristmon"] == "" OR $_SESSION["beteiligtenbenennung_frisjahr"] == ""){$smarty->assign('beteiligtenbenennung_frist_ico', 1);}
    if($_SESSION["beteiligtenbenennung_fristtag"] == ""){$smarty->assign('beteiligtenbenennung_fristtag_ico', 1);}
    if($_SESSION["beteiligtenbenennung_fristmon"] == ""){$smarty->assign('beteiligtenbenennung_fristmon_ico', 1);}
    if($_SESSION["beteiligtenbenennung_fristjahr"] == ""){$smarty->assign('beteiligtenbenennung_fristjahr_ico', 1);}
    
    
    $smarty->assign('beteiligtenbenennung_fristtag', $_SESSION["beteiligtenbenennung_fristtag"]);
    $smarty->assign('beteiligtenbenennung_fristmon', $_SESSION["beteiligtenbenennung_fristmon"]);    
    $smarty->assign('beteiligtenbenennung_fristjahr', $_SESSION["beteiligtenbenennung_fristjahr"]);    
    $smarty->assign('beteiligtenbenennung_beteiligtenbemerkung', $_SESSION["beteiligtenbenennung_beteiligtenbemerkung"]);
    
  }elseif($_GET['error'] == 2){
    $smarty->assign('beteiligtenbenennung_pflichtfelder', "1");
    $smarty->assign('beteiligtenbenennung_error_text', "Das Fristdatum ist nicht korrekt. Bitte korrigieren Sie das Datum!");
  
    $smarty->assign('beteiligtenbenennung_fristtag', $_SESSION["beteiligtenbenennung_fristtag"]);
    $smarty->assign('beteiligtenbenennung_fristmon', $_SESSION["beteiligtenbenennung_fristmon"]);
    $smarty->assign('beteiligtenbenennung_fristjahr', $_SESSION["beteiligtenbenennung_fristjahr"]);
    $smarty->assign('beteiligtenbenennung_beteiligtenbemerkung', $_SESSION["beteiligtenbenennung_beteiligtenbemerkung"]);
  }else{

    $query_ga = $db->query("SELECT date_format(frist_datum, '%d') frist_datum_abgabe_tag, date_format(frist_datum, '%m') frist_datum_abgabe_mon, date_format(frist_datum, '%Y') frist_datum_abgabe_jahr, frist_datum
                               FROM imt_beteiligte
                              WHERE bid = '$bid'") 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('beteiligtenbenennung_fristtag', date("d",strtotime("+4 week")) );
      $smarty->assign('beteiligtenbenennung_fristmon', date("m",strtotime("+4 week")) );
      $smarty->assign('beteiligtenbenennung_fristjahr', date("Y",strtotime("+4 week")) );
    }else{
      $smarty->assign('beteiligtenbenennung_fristtag', $row_ga["frist_datum_abgabe_tag"] );
      $smarty->assign('beteiligtenbenennung_fristmon', $row_ga["frist_datum_abgabe_mon"] );
      $smarty->assign('beteiligtenbenennung_fristjahr', $row_ga["frist_datum_abgabe_jahr"] );  
    }
  }
  
  
}


if($action == 'anschreiben1'){
  # Beiteiligter anschreiben, ihnen die Frist mitteilen und das Recht fÃ¼r den Beteiligtenbereich geben. 
  # GGf muss ein Passwort gesetzt und mitgeteilt werden

  $bid = $_SESSION["beteiligtenbenennung_bid"];
  $tag = $_POST["frist_tag"];
  $mon = $_POST["frist_mon"];
  $jahr = $_POST["frist_jahr"];
  $abgabefrist = "$jahr-$mon-$tag";
  $beteiligtenbemerkung = $_POST["beteiligten_bemerkung"];

  $_SESSION["beteiligtenbenennung_fristtag"] = $tag;
  $_SESSION["beteiligtenbenennung_fristmon"] = $mon;
  $_SESSION["beteiligtenbenennung_fristjahr"] = $jahr;
  $_SESSION["beteiligtenbenennung_beteiligtenbemerkung"] = $beteiligtenbemerkung;
  
  
   

  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 )){


    
    $query_ga = $db->query("SELECT uid, imtuid, passwort, vorname, nachname
                               FROM imt_user
                              WHERE imtuid  IN (SELECT imtuid FROM imt_beteiligte WHERE bid='$bid')") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
    $row_ga = $query_ga->fetch_array();
   

    # Herausfinden, ob der Beteiligte bereits ein Recht fÃ¼r den Beteiligtenbereich hat, ggf setzen
    rechte_vergabe($row_ga[imtuid], 3);
    
    # Frist setzen
    $sql = $db->query ("UPDATE imt_beteiligte SET frist_datum ='$abgabefrist' WHERE bid='$bid'");
    
    
    # Herausfinden des Betreffs des Verbesserungsvorschlages
    $query_vv = $db->query("SELECT betreff, vid
                               FROM imt_vorschlag
                              WHERE vid  IN (SELECT vid FROM imt_beteiligte WHERE bid='$bid')") or die(mysql_error()); // Change users to the database where you keep your usernames, and likewise with username
    $row_vv = $query_vv->fetch_array();
    
    
    # Beteiligte anschreiben
    
        $empfaenger = "$row_ga[imtuid]";
        $betreff = "Beteiligtenanh&ouml;rung";
        $text = "
          <html>
          <head>
          <title>Beteiligtenanh&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 Beteiligter benannt. 
          Um eine sachliche Entscheidung &uuml;ber die eingereichte Idee treffen zu k&ouml;nnen, 
          ben&ouml;tigt der Ausschuss Ideenmanagement von Ihnen als beteiligter Verantwortlicher 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];


          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($beteiligtenbemerkung != ""){
          $text .= "
          <tr>
             <td valign='top'>
               <font face='Arial' size='2'>
                 <b>Bemerkung:</b>
               </font>
             </td>
             <td valign='top'>
               <font face='Arial' size='2'>
                 $beteiligtenbemerkung
               </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 sowie Ihre Stellungnahme abzugeben, melden Sie sich am System an und wechseln Sie auf das Register \"Beteiligtenbereich\".
          <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, 100, NULL);

          
          echo "<meta http-equiv=\"refresh\" content=\"2; URL=".$_SERVER['PHP_SELF']."?\">";
  
  }
  
  
}


$smarty->assign('action', "$action");
$smarty->display("$template/$templatename");

?>
