first commit
This commit is contained in:
224
passwort_vergessen.php
Executable file
224
passwort_vergessen.php
Executable file
@ -0,0 +1,224 @@
|
||||
<?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='http://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>
|
||||
http://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=\"http://www.hs-ludwigsburg.de/kurs/ideenmanagement\">http://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");
|
||||
?>
|
Reference in New Issue
Block a user