Files
intranet/web/intranet_repo/projects/authorization/validate-email.php
T

41 lines
1.3 KiB
PHP

<?php /* Name: validate-email.php
Beschreibung: Validierung der E-Mailadresse
- Wird innerhalb von validation.js aufgerufen
- Prüft ob E-Mail bereits vollständig registriert oder
ein offener Antrag vorliegt */
$pdo = require_once($_SERVER['DOCUMENT_ROOT']."/intranet_repo/general_files/ini/database.php");
header("Content-Type: application/json");
if (!isset($_GET["email"]) || empty(trim($_GET["email"]))) {
echo json_encode(["available" => false]);
exit;
}
$email = trim($_GET["email"]);
$is_available = true;
// Prüfung 1: Gibt es einen vollständigen Login für diese E-Mail?
$stmt = $pdo->prepare("SELECT u.user_id FROM user_general_information u INNER JOIN user_login l ON u.user_id = l.user_id WHERE u.mail = ?");
$stmt->execute([$email]);
if ($stmt->fetch()) {
$is_available = false;
}
// Prüfung 2: Liegt bereits ein offener Antrag vor?
if ($is_available) {
$stmt = $pdo->prepare("SELECT COUNT(*) FROM pending_registrations WHERE email = ? AND status = 'pending'");
$stmt->execute([$email]);
$pendingCount = $stmt->fetchColumn();
if ($pendingCount > 0) {
$is_available = false;
}
}
echo json_encode(["available" => $is_available]);
exit;
?>