224 lines
7.6 KiB
PHP
Executable File
224 lines
7.6 KiB
PHP
Executable File
<?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");
|
|
?>
|