<?php
include_once 'classes/TestProjektSmarty.class.php';
require_once("config.inc.php");
$template = "login";
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
$smarty = new Smarty();
require_once "language/german.inc.php";

require_once "func_genUser.php";
require_once "validation/func_validEmail.php";

$action = $_GET['action'];

if($action == ''){

  if($_REQUEST['par1'] && $_REQUEST['par2']){

    $imtuid = $_REQUEST['par1'];
    $aktivierungscode = $_REQUEST['par2'];

    $db = dbconnect();
    $result_vorh = $db->query("SELECT count(*) Anz
                                  FROM imt_user
                                 WHERE imtuid='$imtuid'
                                   AND akivierungscode='$aktivierungscode'");
    $row_vorh = $result_vorh->fetch_array();

    if($row_vorh[Anz] == 1){
      $sql = $db->query ("UPDATE imt_user SET aktiv='1' WHERE imtuid='$imtuid' AND akivierungscode='$aktivierungscode'");
      if($sql){
        $smarty->assign('register_aktivierung', "1");
      }else{
        $smarty->assign('register_aktivierung', "2");
      }
    }else{
      $smarty->assign('register_aktivierung', "2");
    }


  }else{
    $smarty->assign('register_aktivierung', "3");
    if($_GET['error'] == 1){
      $smarty->assign('register_pflichtfelder', "1");
      $smarty->assign('register_error_text', "Es ist zu einem Fehler gekommen. Bitte f&uuml;llen Sie alle Pflichtfelder aus.");


      if($_SESSION["register_vorname"] == ""){$smarty->assign('register_vorname_ico', 1);}

      if($_SESSION["register_nachname"] == ""){$smarty->assign('register_nachname_ico', 1);}

      if($_SESSION["register_mail"] == ""){$smarty->assign('register_mail_ico', 1);}

      if($_SESSION["register_beziehung"] == ""){$smarty->assign('register_beziehung_ico', 1);}

      if($_SESSION["register_fakultaet"] == ""){$smarty->assign('register_fakultaet_ico', 1);}

      if($_SESSION["register_ag"] == ""){$smarty->assign('register_ag_ico', 1);}

      if($_SESSION["register_jahrgang"] == ""){$smarty->assign('register_jahrgang_ico', 1);}
    }


    if($_GET['error'] == 2){
      $smarty->assign('register_pflichtfelder', "1");
      $smarty->assign('register_error_text', "Die Mailadresse ist nicht g&uuml;ltig! Bitte tragen Sie eine g&uuml;ltige Mailadresse ein.");
    }

    if($_GET['error'] == 3){
      $smarty->assign('register_pflichtfelder', "1");
      $smarty->assign('register_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('register_vorname', $_SESSION["register_vorname"]);
    $smarty->assign('register_nachname', $_SESSION["register_nachname"]);
    $smarty->assign('register_mail', $_SESSION["register_mail"]);
    $smarty->assign('register_beziehung', $_SESSION["register_beziehung"]);
    $smarty->assign('register_fakultaet', $_SESSION["register_fakultaet"]);
    $smarty->assign('register_ag', $_SESSION["register_ag"]);
    $smarty->assign('register_jahrgang', $_SESSION["register_jahrgang"]);

    $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] == $_SESSION["register_jahrgang"]){
        $select = 1;
      }else{
        $select = 0;
      }

      array_push($table_data, array(
       'select' => $select,
       'jahrgang' => $row['jahrgang']
      )
      );
    }
    $smarty->assign('table_data', $table_data);

  } // Ende Aktivierungslink
}

if($action == 'register'){
  $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["register_vorname"] = "$vorname";
      $_SESSION["register_nachname"] = "$nachname";
      $_SESSION["register_mail"] = "$mail";
      $_SESSION["register_beziehung"] = "$beziehung";

      $_SESSION["register_ag"] = "$ag";
      $_SESSION["register_jahrgang"] = "$jahrgang";
      $_SESSION["register_fakultaet"] = "$fakultaet";

  if(!validEmail($mail)){
     $fehler = 1;
     echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?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){
     $fehler = 1;
     echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=3\">";
  }

  if($vorname == "" OR $nachname == "" OR $mail == "" OR $beziehung == ""){
     $fehler = 1;
     echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=1\">";
  }

  if($beziehung == "P" OR $beziehung == "L" OR $beziehung == ""){
    if($fakultaet == ""){
      $fehler = 1;
      echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=1\">";
    }
  }

  if($beziehung == "S"){
    if($ag == "" OR $jahrgang == ""){
      $fehler = 1;
      echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=1\">";
    }
  }


  if(!isset($fehler )){
    if($beziehung == "P" OR $beziehung == "L"){
      $ag = "";
      $jahrgang = "";
    }

    if($beziehung == "S"){
      $fakultaet = "";
    }

    $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);

    $db = dbconnect();
    $fakultaet = utf8_decode($fakultaet);
    $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'
                                              , '0'
                                              , '$aktivierungscode'
                                              )
                      ");
      $imtuid = $db->insert_id;




      $empfaenger = "$mail";
      $betreff = "Benutzerregistrierung Ideenmanagement";
      $text = "
        <html>
        <head>
        <title>Benutzerregistrierung Ideenmanagement</title>
        </head>
        <body>
        <font face='Arial' size='2'>
        Guten Tag $vorname $nachname!<br><br>
        Sie haben sich beim Ideenmanagement der Hochschule Ludwigsburg registriert!<br>
        Nachfolgend finden Sie Ihre neuen Zugangsdaten:
        <br>
        <br>
        <table>
        <tr>
           <td valign='top'>
             <font face='Arial' size='2'>
               Benutzerkennung:
             </font>
           </td>
           <td valign='top'>
             <font face='Arial' size='2'>
               <b>$benutzerkennung</b>
             </font>
           </td>
        </tr>
        <tr>
           <td valign='top'>
             <font face='Arial' size='2'>
               Passwort:
             </font>
           </td>
           <td valign='top'>
             <font face='Arial' size='2'>
               <b>$pass_word</b>
             </font>
           </td>
        </tr>
        </table>
        <br>
        Bitte beachten Sie, dass zwischen Gro&szlig;- und<br>
        Kleinschreibung unterschieden wird.
        <p>
        Um Ihren Account freizuschalten, müssen Sie ihn erst aktivieren:
        Klicken Sie hier auf den <a href='https://www.hs-ludwigsburg.de/kurs/ideenmanagement/register.php?par1=$imtuid&par2=$aktivierungscode'>Aktivierungslink</a>
        <p>
        Oder kopieren Sie folgenden Link in Ihren Browser:<br>
        https://www.hs-ludwigsburg.de/kurs/ideenmanagement/register.php?par1=$imtuid&par2=$aktivierungscode'
        <p>
        Diese Mail wurde automatisch generiert!<br>
        Antworten Sie daher nicht auf diese Mail.<br />
        <br>
        Vielen Dank!
        </body>
        </html>";


    $headers = "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/html; charset=utf-8\n";
    $headers .= "From: Ideenwettbewerb HS Ludwigsburg <$global_service_mail>\n";

    if($sql1){ // Wenn Insert geklappt hat, dann mail
      $return = @mail($empfaenger, $betreff, $text,  $headers);
      $smarty->assign('register_registrierung', "1");
    }else{
      $smarty->assign('register_registrierung', "2");
    }


  }

}

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