<?php
session_start();
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";


$action = $_GET['action'];

if($action == ''){

  if(isset($_GET['error'])){
    
    $errorno = $_GET[error];
    $smarty->assign('passwort_vergessen_error', 1);
    
    if($errorno == 1){
      $smarty->assign('passwort_vergessen_error_text', "Es m&uuml;ssen alle Felder ausgef&uuml;llt werden.");
      if($_SESSION["passwort_vergessen_mail"] == ""){$smarty->assign('passwort_vergessen_mail_ico', 1);}
    }
    
    if($errorno == 2){
      $smarty->assign('passwort_vergessen_error_text', "Der Benutzer ist im System nicht vorhanden.");
      $smarty->assign('passwort_vergessen_mail', $_SESSION["passwort_vergessen_mail"]);
    }
    
    
  }

}


if($action == 'pwback'){
  
  $mailpw = strtolower($_POST['mailpw']);
  $_SESSION["passwort_vergessen_mail"] = "$mailpw";  
  
  if($mailpw == ""){
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=1\">";
  }else{

    $db = dbconnect();
    $result = $db->query("SELECT imtuid, akivierungscode, mail, vorname, nachname FROM imt_user WHERE lower(mail) = '$mailpw'");
    $row = $result->fetch_array();
    
    if($row[akivierungscode] == ""){
      echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=2\">";
    }else{
      
      
      $empfaenger = "$row[mail]";
      $betreff = "Ideenmanagement: Neues Passwort beantragt";
      $text = "
        <html>
        <head>
        <title>Neues Passwort beantragt</title>
        </head>
        <body>
        <font face='Arial' size='2'>
        Guten Tag $row[vorname] $row[nachname]!<br><br>
        Sie haben auf der Homepage 'Ideenmanagement der Hochschule Ludwigsburg' neue Zugangsdaten angefordert.
        <p>
        Ist dies korrekt, k&ouml;nnen Sie Ihr Passwort mit folgendem Link zur&uuml;cksetzen: 
        <a href='https://www.hs-ludwigsburg.de/kurs/ideenmanagement/passwort_vergessen.php?action=pwneu&par1=$row[imtuid]&par2=$row[akivierungscode]'>Zugangsdaten zuschicken</a>
        <p>
        Oder kopieren Sie folgenden Link in Ihren Browser:<br>
        https://www.hs-ludwigsburg.de/kurs/ideenmanagement/passwort_vergessen.php?action=pwneu&par1=$row[imtuid]&par2=$row[akivierungscode]
        <p>
        Sind Ihre Zugangsdaten nicht von Ihnen angefordert worden, k&ouml;nnen Sie die Mail ignorieren.
        <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";
        
        $return = @mail($empfaenger, $betreff, $text,  $headers);
     
        if($return){
          $smarty->assign('passwort_vergessen_anfordern_erfolg', "1");
        }else{
          # Es reicht nicht, dass das Passwort zurückgesetzt wurde, es muss auch die Mail vollständig verschickt sein, sonst gibt es keine Erfolgsmeldung
          $smarty->assign('passwort_vergessen_anfordern_erfolg', "2");
        }
    
    }
  }
}


if($action == 'pwneu'){

  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){
    
      $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='$imtuid'
                              AND akivierungscode='$aktivierungscode'");
                              
      if($sql){
      
      $result_mail = $db->query("SELECT vorname, nachname, mail, uid
                                    FROM imt_user 
                                   WHERE imtuid='$imtuid'
                                     AND akivierungscode='$aktivierungscode'");
      $row_mail = $result_mail->fetch_array();
      
      $empfaenger = "$row_mail[mail]";
      $betreff = "Zugangsdaten Ideenmanagement ";
      $text = "
        <html>
        <head>
        <title>Zugangsdaten Ideenmanagement</title>
        </head>
        <body>
        <font face='Arial' size='2'>
        Guten Tag $row_mail[vorname] $row_mail[nachname]!<br><br>
        Sie haben Ihre Zugangsdaten für das Ideenmanagement der Hochschule Ludwigsburg neu angefordert!<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>$row_mail[uid]</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>
        Link zum Ideenmanagement: <a href=\"https://www.hs-ludwigsburg.de/kurs/ideenmanagement\">https://www.hs-ludwigsburg.de/kurs/ideenmanagement</a>
        <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";
    
        $return = @mail($empfaenger, $betreff, $text,  $headers);
      
        if($return){
          $smarty->assign('passwort_vergessen_erfolg', "1");
        }else{
          # Es reicht nicht, dass das Passwort zurückgesetzt wurde, es muss auch die Mail vollständig verschickt sein, sonst gibt es keine Erfolgsmeldung
          $smarty->assign('passwort_vergessen_erfolg', "2");
        }
      }else{
        # Wenn update nicht gelingt,
        $smarty->assign('passwort_vergessen_erfolg', "2");
      }
    }else{
      # Wenn SQL keinen Treffer auf vorhandenen Account bekommt
      $smarty->assign('passwort_vergessen_erfolg', "2");
    }
  }

}

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