( ′∀`)σ≡σ☆))Д′)レ(゚∀゚;)ヘ=З=З=Зε≡(ノ´_ゝ`)ノ
<?php
// idp/auth.php
require_once 'config.php';
require_once 'user_sync.php';
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
header('Location: login.php');
exit;
}
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
$password = $_POST['password'] ?? '';
$project = $_POST['project'] ?? 'project1'; // Identify which project user wants to login to
if (!$email || !$password) {
$_SESSION['error'] = 'Please enter a valid email and password.';
header('Location: login.php');
exit;
}
// Check user in master DB
$masterUser = findUserInMasterDB($email);
if (!$masterUser || md5($password) !== $masterUser['pwd']) {
$_SESSION['error'] = 'Invalid email or password.';
header('Location: login.php');
exit;
}
print_r($masterUser);
// Select project sync handler based on $project
switch ($project) {
case 'project1'://sites
$projectSyncHandler = new Project1UserSync();
break;
case 'project2':
$projectSyncHandler = new Project2UserSync();
break;
default:
$_SESSION['error'] = 'Unknown project selected.';
header('Location: login.php');
exit;
}
// Prepare user data for sync (extend as needed)
$userData = [
'email' => $email,
'username' => $masterUser['username'],
'password' => $password,
'full_name' => $masterUser['username'], // example
'role' => 'user', // default role
];
// Sync user to project DB
syncUserAcrossDatabases($userData, $projectSyncHandler);
// Create session
$_SESSION['euserid'] = $masterUser['id'];
$_SESSION['email'] = $masterUser['email'];
$_SESSION['username'] = $masterUser['username'];
$_SESSION['project'] = $project;
header('Location: dashboard.php');
exit;