M3 Registrierung und Login-Grundlage ergänzen

- SaaS-Auth-Helper und PDO-Datenbankzugriff einführen
- Registrierung, Login, Logout und Kontoansicht ergänzen
- Auth-Migration, Flow-Check und Smoke-Abdeckung aktualisieren
This commit is contained in:
2026-07-12 20:17:42 +02:00
parent eef0338e31
commit 5baf6542ce
15 changed files with 909 additions and 24 deletions
+31 -8
View File
@@ -1,21 +1,33 @@
<?php
include_once "config.php";
require_once __DIR__ . "/app/saas-auth.php";
$devAuthEmail = getenv('DEV_AUTH_EMAIL') ?: '';
if ($devAuthEmail !== '') {
$mailadress = strtolower(trim($devAuthEmail));
$mailadress = '';
$kennung = '';
$saasUser = saas_current_user();
if ($saasUser !== null) {
$mailadress = strtolower(trim((string)$saasUser['email']));
$kennung = $mailadress;
} else {
$kennungtemp = $_SERVER['AUTH_USER'];
$teile = explode("\\", $kennungtemp);
$kennung = $teile[1];
$devAuthEmail = getenv('DEV_AUTH_EMAIL') ?: '';
if ($devAuthEmail !== '') {
$mailadress = strtolower(trim($devAuthEmail));
$kennung = $mailadress;
} elseif (!empty($_SERVER['AUTH_USER'])) {
$kennungtemp = $_SERVER['AUTH_USER'];
$teile = explode("\\", $kennungtemp);
$kennung = $teile[1] ?? $kennungtemp;
include_once "functionsLDAP.php";
include_once "functionsLDAP.php";
}
}
function getUserName($conn, $mail){
if (trim((string)$mail) === '') {
return '';
}
$sqlMitglieder = "SELECT Name FROM kl_Mitarbeiter WHERE Email like '" . strtolower($mail) . "' ";
$stmtMitglieder = sqlsrv_query($conn, $sqlMitglieder);
@@ -27,6 +39,9 @@ function getUserName($conn, $mail){
}
function getUserId($conn, $mail){
if (trim((string)$mail) === '') {
return null;
}
$sqlMitglieder = "SELECT MitarbeiterID FROM kl_Mitarbeiter WHERE Email like '" . strtolower($mail) . "' ";
$stmtMitglieder = sqlsrv_query($conn, $sqlMitglieder);
@@ -41,6 +56,10 @@ function getUserId($conn, $mail){
function checkKaffeelisteAccess($conn, $mail)
{
if (trim((string)$mail) === '') {
return false;
}
// Mitarbeiter aus der Datenbank abrufen und nach Namen sortieren
$sqlMitarbeiter = "SELECT MitarbeiterID FROM kl_Mitarbeiter WHERE Email like '" . strtolower($mail) . "' AND aktiv='1'";
@@ -57,6 +76,10 @@ function checkKaffeelisteAccess($conn, $mail)
function checkKaffeelisteAdmin($conn, $mail)
{
if (trim((string)$mail) === '') {
return false;
}
// Mitarbeiter aus der Datenbank abrufen und nach Namen sortieren
$sqlMitarbeiter = "SELECT MitarbeiterID FROM kl_Mitarbeiter WHERE Email like '" . strtolower($mail) . "' AND admin='1'";