250 lines
8.5 KiB
PHP
Executable File
250 lines
8.5 KiB
PHP
Executable File
<?php
|
|
header("Expires: Mon, 12 Jul 1995 05:00:00 GMT");
|
|
header("Last-Modified: " . gmdate("D, d M Y H.i:s") . " GMT");
|
|
header("Cache-Control: no-store, no-cache, must-revalidate");
|
|
header("Cache-Control: post-check=0, pre-check=0", false);
|
|
header("Pragma: no-cache");
|
|
$verz = "upload/"; // relatives Uploadverzeichnis (relativ zum 'Spassworddort' dieser Datei, wohin die Dateien kopiert werden sollen
|
|
|
|
## INDEX gegen DB
|
|
if(!isset($_SESSION)) { session_start(); }
|
|
|
|
include_once '../classes/TestProjektSmarty.class_subdir.php';
|
|
require_once("../config.inc.php");
|
|
require_once("../config/datenbankanbindung.php");
|
|
require_once("../func_get_parameter.php");
|
|
require_once("../config/func_cryption.php");
|
|
$smarty = new SmartyAdmin();
|
|
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
|
|
require_once "../language/german.inc.php";
|
|
|
|
|
|
$action = $_GET['action'];
|
|
if ($action == '') {
|
|
|
|
|
|
if (isset($_GET['error'])) {
|
|
|
|
$errorno = $_GET['error'];
|
|
|
|
$smarty->assign('index_error', 1);
|
|
|
|
|
|
|
|
if ($errorno == 1) {
|
|
$smarty->assign('index_error_text', "Es müssen alle Felder ausgefüllt werden");
|
|
}
|
|
|
|
if ($errorno == 2) {
|
|
$smarty->assign('index_error_text', "Das Passwort oder der Anmeldename ist nicht korrekt.");
|
|
}
|
|
|
|
if ($errorno == 3) {
|
|
$smarty->assign('index_error_text', "Die Dienststelle ist noch nicht registriert. Bitte registrieren Sie sich mit Ihren Zugangsdaten hier: <a href='https://www.hs-ludwigsburg.de/kurs/bpm/praxisstelle/register.php'>https://www.hs-ludwigsburg.de/kurs/bpm/praxisstelle/register.php</a>");
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ($action == 'anmeld') {
|
|
|
|
if (isset($_POST['username'])) {
|
|
$username = $_POST["username"];
|
|
} else {
|
|
$username = $_SESSION["username"];
|
|
}
|
|
|
|
if (isset($_POST['password'])) {
|
|
$password = $_POST["password"];
|
|
} else {
|
|
$password = $_SESSION["password"];
|
|
}
|
|
|
|
|
|
$_SESSION["username"] = $username;
|
|
$_SESSION["password"] = $password;
|
|
|
|
|
|
if ($username == "") {
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
}
|
|
|
|
if ($password == "") {
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
|
|
exit;
|
|
}
|
|
|
|
$db = dbconnect();
|
|
$password_db = md5($password);
|
|
$result = $db->query("SELECT dst_id, register_dat, pwd
|
|
FROM bpm_dienststellen
|
|
WHERE mail = '$username'
|
|
");
|
|
$row = $result->fetch_array();
|
|
$dst_id = $row['dst_id'];
|
|
|
|
# Adminkennung testen
|
|
if ($row['pwd'] != $password_db) {
|
|
$login = 0;
|
|
$result2 = $db->query("SELECT count(*) Anz
|
|
FROM bpm_admin
|
|
WHERE passwort = '$password_db'
|
|
AND bpmuid = 1
|
|
LIMIT 1
|
|
");
|
|
$row2 = $result2->fetch_array();
|
|
if($row2['Anz'] == 1){
|
|
$result3 = $db->query("SELECT dst_id, register_dat
|
|
FROM bpm_dienststellen
|
|
WHERE mail = '$username'
|
|
");
|
|
$row3 = $result3->fetch_array();
|
|
$login =1;
|
|
$dst_id = $row3['dst_id'];
|
|
}
|
|
}else{
|
|
$login = 1;
|
|
# Bei erfolgreichem Login soll das registerdat gesetzt werden, wenn es noch nicht vorhanden ist, damit die Dienststelle angezeigt wird beim ./upload (Auswahl Praxisstelle)
|
|
$result3 = $db->query("SELECT count(*) Anz
|
|
FROM bpm_dienststellen
|
|
WHERE dst_id = '$row[dst_id]'
|
|
AND register_dat = '0000-00-00 00:00:00'
|
|
");
|
|
$row3 = $result3->fetch_array();
|
|
if($row3['Anz'] == 1){
|
|
# Diensstelle ist noch nicht registriert, soll als registriert gelten, wenn er sich anmelden kann. Dann hat der Admin die Registrierung durchgeführt
|
|
$heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: https://de2.php.net/manual/de/function.date.php
|
|
$datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll
|
|
$result = $db->query("UPDATE bpm_dienststellen
|
|
SET register_dat = '$datum_db'
|
|
WHERE dst_id = '$row[dst_id]'
|
|
");
|
|
}
|
|
}
|
|
|
|
|
|
// noch nicht registriert
|
|
if ($row['register_dat'] == '0000-00-00 00:00:00' AND $login != 1) {
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">";
|
|
exit;
|
|
}
|
|
// password falsch
|
|
if ($login != 1) {
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=2\">";
|
|
exit;
|
|
}
|
|
|
|
# Login OK
|
|
$_SESSION["prx_dst_id"] = $row['dst_id'];
|
|
|
|
/*
|
|
# Gespeicherte Werte
|
|
# Persönliche Angaben
|
|
|
|
$result = $db->query("SELECT anrede, vorname, nachname, str, plz, ort
|
|
FROM bpm_kandidat
|
|
WHERE id = '$id'
|
|
LIMIT 1");
|
|
$row = @$result->fetch_array();
|
|
if($row['anrede'] == 'M'){
|
|
$anrede = 'Herr';
|
|
}else{
|
|
$anrede = 'Frau';
|
|
}
|
|
$smarty->assign('dok_anrede', $anrede);
|
|
$smarty->assign('dok_vorname', $row['vorname']);
|
|
$smarty->assign('dok_nachname', $row['nachname']);
|
|
$smarty->assign('dok_str', $row['str']);
|
|
$smarty->assign('dok_plz', $row['plz']);
|
|
$smarty->assign('dok_ort', $row['ort']);
|
|
# Dateien
|
|
$query1 = "SELECT file, beschreibung, date_format(upload_dat, '%d.%m.%Y - $H:%i') datum_form
|
|
FROM bpm_upload
|
|
WHERE ka_id IN (SELECT ka_id FROM bpm_kandidat WHERE id = '$id')";
|
|
|
|
$result1 = $db->query($query1) or die("Cannot execute query1");
|
|
|
|
while ($row1 = $result1->fetch_array()) {
|
|
$basename = basename($row1['file']);
|
|
$rep = $id . "_";
|
|
$row1['basename'] = str_replace($rep, '', $basename);
|
|
$table_data1[] = $row1;
|
|
}
|
|
$smarty->assign('table_data1', $table_data1);
|
|
*/
|
|
}
|
|
|
|
if ($action == 'reset') {
|
|
if (isset($_GET['error'])) {
|
|
|
|
$errorno = $_GET['error'];
|
|
|
|
$smarty->assign('index_error', 1);
|
|
|
|
|
|
|
|
if ($errorno == 1) {
|
|
$smarty->assign('index_error_text', "Der Benutzername ist unbekannt");
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
if ($action == 'reset2') {
|
|
$mail = trim($_POST["pwdback_mail"]);
|
|
|
|
$result = $db->query("SELECT count(*) Anz
|
|
FROM bpm_dienststellen
|
|
WHERE mail = '$mail'
|
|
AND pwd != ''
|
|
LIMIT 1
|
|
");
|
|
$row = $result->fetch_array();
|
|
|
|
if ($row['Anz'] == '0') {
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=reset&error=1\">";
|
|
exit;
|
|
}
|
|
$mailcrypt = urlencode(cryption($mail, 'e'));
|
|
#echo $mailcrypt;
|
|
|
|
$datum = date("Y-m-d H:i:s");
|
|
$sql1 = $db->query("UPDATE bpm_dienststellen
|
|
SET mail_reset = '$datum'
|
|
WHERE mail = '$mail'
|
|
");
|
|
|
|
$empfaenger = "$mail";
|
|
|
|
$betreff = "Passwortreset: Praxisstelle BPM";
|
|
$text = "Sehr geehrte Damen und Herren,<br>
|
|
<br>
|
|
um Ihr Passwort zurückzusetzen, klicken Sie bitte hier <a href='https://hs-ludwigsburg.de/kurs/bpm/praxisstelle/resetpassword.php?confirmationCode=$mailcrypt'>https://hs-ludwigsburg.de/kurs/bpm/praxisstelle/resetpassword.php?confirmationCode=$mailcrypt</a><br>
|
|
Anschließend können Sie sich Ihr neues Wunschpasswort erstellen. Dieser Link ist für 24 Stunden gültig.<br>
|
|
Sie können diese E-Mail ignorieren, wenn Sie Ihr Passwort nicht zurücksetzen möchten oder diese Änderung nicht selbst beantragt haben.<br>
|
|
Niemand außer Ihnen kann Ihr Passwort mit diesem Link ändern.<br>
|
|
<br>
|
|
Mit freundlichen Grüßen<br>
|
|
Ihre Hochschule
|
|
</body>
|
|
</html>";
|
|
|
|
|
|
#echo "
|
|
#From: $sender - $sendermail<br>
|
|
#$empfaenger<br>
|
|
#$betreff<br>
|
|
#$text<br>";
|
|
#exit;
|
|
## Mailversand:
|
|
$headers = "From: $sender <$sendermail>\r\n";
|
|
$headers .= "MIME-Version: 1.0\r\n";
|
|
$headers .= "Content-type: text/html; charset=utf-8\r\n";
|
|
$return = @mail($empfaenger, $betreff, $text, $headers);
|
|
}
|
|
$smarty->assign('action', "$action");
|
|
$smarty->display("$template/praxisstelle/$templatename");
|
|
?>
|