<?php
declare(strict_types=1);

ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);

ini_set('log_errors', '1');
ini_set('error_log', __DIR__ . '/php-error.log');

/*
  IMPORTANT:
  Force session cookie to work across /portfolio and across www/non-www.
*/

$host = $_SERVER['HTTP_HOST'] ?? '';
$host = strtolower(trim($host));
$host = preg_replace('/:\d+$/', '', $host);

// If someone hits www, normalize to non-www (or flip this if you prefer www)
if ($host === 'www.vsatdomains.com') {
    header("Location: https://vsatdomains.com/portfolio/login.php", true, 301);
    exit;
}

// Configure cookie BEFORE session_start()
$cookieDomain = '.vsatdomains.com';
$secure = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off');

session_set_cookie_params([
    'lifetime' => 0,
    'path' => '/',
    'domain' => $cookieDomain,
    'secure' => $secure,
    'httponly' => true,
    'samesite' => 'Lax'
]);

session_start();

// Use absolute config path for reliability
$configPath = '/home/fvme60ccdm8r/config/config5.php';
if (!is_readable($configPath)) {
    die("Config missing or not readable: " . htmlspecialchars($configPath));
}
require_once $configPath;

// If already logged in, bounce to admin home
if (!empty($_SESSION['admin_logged_in'])) {
    header("Location: /portfolio/index.php?page=1");
    exit;
}

// Handle login form submission
$login_error = '';
if (isset($_POST['login'])) {
    $username = trim((string)($_POST['username'] ?? ''));
    $password = (string)($_POST['password'] ?? '');

    // Hard coded admin credentials (your original working logic)
    $admin_username = "admin";
    $admin_password = "Firefirepo##222";

    if ($username === $admin_username && $password === $admin_password) {
        session_regenerate_id(true);
        $_SESSION['admin_logged_in'] = true;

        header("Location: /portfolio/index.php?page=1");
        exit;
    }

    $login_error = "Invalid username or password.";
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>VSATDomains - Admin Login</title>
    <link rel="stylesheet" href="styles.css">
    <style>
        header{background:#000;color:white;padding:20px;text-align:center}
        nav{margin:15px 0;position:relative}
        nav ul{display:flex;justify-content:center;flex-wrap:wrap;margin:0;padding:0;list-style:none}
        nav li{margin:0}
        nav a{color:white;text-decoration:none;margin:0 15px;padding:10px;display:block}
        nav a:hover{text-decoration:underline}

        .hamburger{
            display:none;font-size:24px;background:none;border:none;cursor:pointer;color:white;
            position:absolute;left:10px;top:50%;transform:translateY(-50%);z-index:1000
        }
        nav ul.active{display:flex}

        .main{max-width:900px;margin:30px auto;padding:0 15px}
        .intro{background:white;padding:25px;border:1px solid #eee;border-radius:8px}

        form{display:flex;flex-direction:column;gap:0.5rem;max-width:400px;margin:0 auto}
        input{padding:0.5rem;border:1px solid #ddd;border-radius:4px}
        button{padding:0.6rem;background:#1a73e8;color:white;border:none;border-radius:4px;cursor:pointer}
        button:hover{background:#1557b0}

        .error{color:red;text-align:center;margin:1rem 0}
        .error-message{color:red;display:none;margin-bottom:0.5rem}

        footer{background:#000;color:white;padding:1rem;text-align:center;margin-top:40px}
        footer a{color:#1a73e8;text-decoration:none}
        footer a:hover{text-decoration:underline}
        .contact a{margin:0 0.5rem}

        @media (max-width:768px){
            .hamburger{display:block}
            nav ul{
                display:none;flex-direction:column;position:absolute;top:60px;left:50%;
                transform:translateX(-50%);width:80%;max-width:300px;background:#000;
                box-shadow:0 2px 5px rgba(0,0,0,0.1);padding:10px 0
            }
            nav ul.active{display:flex}
            nav a{margin:10px 0}
        }
    </style>
</head>
<body>

<header>
    <h1>VSAT Domains</h1>
    <p>Your destination for premium domain names</p>
    <nav>
        <button class="hamburger" onclick="toggleMenu()">☰</button>
        <ul>
            <li><a href="/portfolio/index.php?page=1">Home</a></li>
            <li><a href="/portfolio/about.php">About</a></li>
            <li><a href="/portfolio/contact.php">Contact</a></li>
            <li><a href="/portfolio/terms.php">Terms</a></li>
            <li><a href="/portfolio/privacy.php">Privacy</a></li>
            <li><a href="/portfolio/login.php">Admin Login</a></li>
        </ul>
    </nav>
</header>

<div class="main">
    <div class="intro">
        <h2 style="text-align:center">Admin Login</h2>

        <?php if ($login_error): ?>
            <p class="error"><?php echo htmlspecialchars($login_error); ?></p>
        <?php endif; ?>

        <form method="POST" action="/portfolio/login.php" onsubmit="return validateLoginForm(this);">
            <input type="text" id="login_username" name="username" placeholder="Username" required>
            <p class="error-message" id="login-username-error">
                Please enter a valid username (letters, numbers, underscores only).
            </p>

            <input type="password" id="login_password" name="password" placeholder="Password" required>
            <p class="error-message" id="login-password-error">
                Password must be at least 6 characters long.
            </p>

            <button type="submit" name="login">Login</button>
        </form>
    </div>
</div>

<footer>
    <div class="contact">
        <p>
            <a href="mailto:info@metaverde.com">Email</a> |
            <a href="https://twitter.com/VSATDomains">Twitter</a> |
            <a href="https://linkedin.com/company/VSATDomains">LinkedIn</a>
        </p>
    </div>

    <p>© 2025 VSATDomains</p>
</footer>

<script>
function toggleMenu() {
    const navLinks = document.querySelector('nav ul');
    navLinks.classList.toggle('active');
}

function validateLoginForm(form) {
    const username = form.querySelector('#login_username').value;
    const password = form.querySelector('#login_password').value;
    const usernameError = form.querySelector('#login-username-error');
    const passwordError = form.querySelector('#login-password-error');
    const usernamePattern = /^[a-zA-Z0-9_]+$/;

    let isValid = true;

    if (!usernamePattern.test(username)) {
        usernameError.style.display = 'block';
        isValid = false;
    } else {
        usernameError.style.display = 'none';
    }

    if (password.length < 6) {
        passwordError.style.display = 'block';
        isValid = false;
    } else {
        passwordError.style.display = 'none';
    }

    return isValid;
}
</script>

</body>
</html>
