bpm/praxisstelle/index.php
2023-04-25 13:16:13 +02:00

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&uuml;ssen alle Felder ausgef&uuml;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");
?>