<?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üssen alle Felder ausgefü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önnen Sie Ihr Passwort mit folgendem Link zurü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ö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ß- 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"); ?>