<?php
require_once 'vendor/autoload.php';
session_start();

// --- CONFIGURATION ---
$CLIENT_ID = '900569503928-r48pmlpann8l0et79dh14r3u2oa60v9q.apps.googleusercontent.com'; // Your Client ID

// Add as many domains as you need here
$ALLOWED_DOMAINS = [
    'level-17.co.uk',
'rekom.fi',
'rekomtrust.org',
'tijuana.no',
'roxymalt.dk',
'heidismerch.no',
'rekom.nu',
'cafeguldhornene.dk',
'hornslethbar.dk',
'falbert.dk',
'tequilabaren.dk',
'latequilabar.dk',
'dengladegris.com',
'theaustralianbar.dk',
'abar.dk',
'heidisbierbar.dk',
'flamingo-bar.dk',
'thedrunkflamingo.dk',
'thedrunkenflamingo.dk',
'hivecph.dk',
'zoobar.dk',
'elefantenogmusen.dk',
'musen-og-elefanten.dk',
'dengladegris.dk',
'ioldgamespub-aalborg.dk',
'butcherscph.dk',
'yoku.dk',
'mazecph.dk',
'rekom.dk',
'lrdg.dk',
'1656.dk',
'introfest.dk',
'medlemskortaarhus.dk',
'julefrokostibyen.dk',
'twelvecph.dk',
'tyrolia.dk',
'diveaarhus.dk',
'dampmollen.dk',
'tequilatuesdays.dk',
'enzoclub.dk',
'ambassadennatklub.dk',
'xn--ligebrnlegerbedst-40b.dk',
'cubanaclub.dk',
'heidisbierbar.com',
'heidisbierbar.no',
'sevenoaks.dk',
'srpfesten.dk',
'klaptraeet.dk',
'xn--klaptret-o0a.dk',
'tarzanclub.dk',
'the-box.no',
'nytnatsted.dk',
'cavacph.dk',
'paperball.dk',
'tequilatequila.dk',
'jomfruanegade.dk',
'clubnox.no',
'rekomgroup.com',
'kj10.no',
'shadow-aarhus.dk',
'sommeribyen.dk',
'dandycph.com',
'bestfriendcard.dk',
'dennordiskeambassade.dk',
'familycards.dk',
'friendcard.dk',
'nordiskambassade.dk',
'skaalbar.dk',
'forgetaboutlala.com',
'forgetaboutlala.dk',
'skaalcph.dk',
'skaal.dk',
'rekomgroup.dk',
'skaalcph.com',
'loulouaarhus.dk',
'highvoltage.no',
'barism.no',
'atlanta33.dk',
'highvoltage.nu',
'monroecph.dk',
'dorsia.dk',
'heidisbierbar.fi',
'themint.no',
'thewildside.no',
'cactusgroup.dk',
'barblume.no',
'fomoclub.dk',
'nightpay.com',
'aya-club.dk',
'bestfriendcard.no',
'familycards.no',
'friendcard.no',
'membercard.no',
'sirkusoslo.no',
'nbar.dk',
'sommerklubben.dk',
'boucherie.dk',
'laboucherie.dk',
'lococph.dk',
'sjusbar.dk',
'toerstbar.dk',
'stereo-bar.dk',
'simpeltv.dk',
'rhinobar.dk',
'nostressbar.dk',
'farfarbodega.dk',
'bar-gruppen.dk',
'andysbar.dk',
'alohabeachbar.dk',
'eldoradobar.dk',
'baestbar.dk',
'davincibar.dk',
'cucaracha.dk',
'kostbar.dk',
'madamchu.dk',
'butchers.fi',
'bar7.dk',
'sumocph.dk',
'loulou.no',
'kokomo.no',
'friendcard.fi',
'bestfriendcard.fi',
'family-card.fi',
'barblume.fi',
'clubwhite.no',
'laboucherie.no',
'broeggeriet.dk',
'pangeacph.dk',
'rekomsports.dk',
'charlottenlundvenues.dk',
'silentdiscooslo.no',
'oslosilentdisco.no',
'silentdiconorge.dk',
'soir.dk',
'dennordjyskeambassade.dk',
'lavinekbh.dk',
'rabalderbar.dk',
'heidisbierbar.se',
'rekomcreative.com',
'rekomcreative.dk',
'littlegreendoor.dk',
'natcafeen.dk',
'lolaclub.dk',
'summernights.dk',
'clique-club.no',
'kyotoclub.dk',
'benefitcard.dk',
'geishaclub.dk',
'lolaclub.no',
'sportscafeen.no',
'enzoclub.fi',
'beverlystavanger.no',
'uniklubben.dk',
'butchersodense.dk',
'vice8000.dk',
'rabalderbar.no',
'skjenken.no',
'nunchi.dk',
'hvide-lam.dk',
'lolaclub.fi',
'hyggestavanger.no',
'stingnere.no',
'proudmarypub.dk',
'proudmarypub.no',
'kasketkarlesbjerg.dk',
'dansebar.nu',
'bruk-bar.no',
'brukbars.com',
'dorsia.no',
'clubalibi.no',
'rekomevent.dk',
'mavericks-silkeborg.dk',
'rustikbar.dk',
'mundotequila.com',
'mandalaycph.dk',
'pionerbar.dk',
'paloma-silkeborg.dk',
'julebordibyen.no',
'pikkujoulutkaupungissasi.fi',
'xn--pbaren-iua.dk',
'fabrikkenbar.dk',
'giraffenbar.dk',
'kasketkarl.dk',
'mexibaren.dk',
'tema-bar.dk',
'tyrenbar.dk',
'ayaclub.dk',
'xn--gld-1na.dk',
'mavericks.dk',
'sprutten.dk',
'surfnshots.dk',
'palomabar.dk',
'labar.dk',
'londonbar.dk',
'rosiemcgee.dk',
'bordbooking.dk',
'dinnerclub.dk',
'jamesbondbar.dk',
'hvidelam.dk',
'actpouches.com',
'rabalderbar.fi',
'rekomgroup.no',
'rekomgroup.fi',
'londonbaraarhus.dk',
'temabar.nu',
'promedical.dk',
'clubfoam.dk',
'lawooslo.com',
'eskes.dk',
'barenherning.dk',
'butchersclub.dk',
'dansebarroskilde.dk',
'xn--rosengrdensbodega-erb.dk',
'northernspirits.dk',
'sports-baren.no',
'mackjelleren.no',
'winehousebar.no',
'daisy-naestved.dk',
'rosengaardens.dk',
'rosengaardensvinstue.dk',
'totdy.dk',
'totdycraftbeer.dk',
'totdycraftbeer.com',
'toooldtodieyoung.dk',
'the-groovement.com',
'johnsbar.no',
'zenzabar.no',
'proudmary.fi',
'zensanightclub.no',
'swingcph.com',
'bar-mix.dk',
'barmix.dk',
'swingcph.dk',
'nightpay.io',
'proudmarypub.fi',
'hellacph.dk',
'thedrunkenflamingo.co.uk',
'paperball.no',
'zwei-grosse.dk',
'zweigrosse.dk',
'zurfbar.dk',
'stortorvet.no',
'gamla.no',
'gloed.dk',
'morks.dk',
'skaal.fi',
'pryzm.fi',
'foxyflamingo.uk',
'foxyflamingo.dk',
'foxyflamingo.fi',
'foxyflamingo.no',
'rekombi.dk',
'dansebarherning.dk',
'clubdis.no',
'pubjavel.no',
'fodboldibyen.dk',
'rekomlife.no',
'rekomlife.fi',
'studentenkrs.no',
'skiweek.dk',
'sortsne.dk',
'me-rekom.dk',
'rekom360.dk',
'javelbar.no',
'queenofclubs.no',
'queenofclubs.dk',
'queenofclubs.uk',
'thequeenofclubs.uk',
'thequeenofclubsgolf.com',
'queenofclubs.fi',
'ballare.co.uk',
'rekom360.com',
'loulou.dk',
'airandbreathe.com',
'arenaclubbing.co.uk',
'atikclub.co.uk',
'barandbeyond.co.uk',
'batchwoodhall.com',
'cameonightclub.co.uk',
'chicagorockcafe.co.uk',
'chicagosbars.co.uk',
'chill-nightclub.com',
'clubbatchwood.co.uk',
'clubbatchwood.com',
'comingandgoing.co.uk',
'completenightout.com',
'delticevents.com',
'delticgroup.co.uk',
'districtnightclub.co.uk',
'dusknightclub.co.uk',
'echotrust.org',
'edencollective.co.uk',
'evokenightclub.com',
'evoqueclub.co.uk',
'fictionclub.co.uk',
'heidisbierbar.uk',
'institutenightclub.com',
'jjsnightclub.com',
'kingstonhippodrome.co.uk',
'kudaclub.com',
'liquidclubs.com',
'liquidnightclub.co.uk',
'luminar.co.uk',
'myubar.co.uk',
'oceanaclubs.com',
'play-nightclub.com',
'proudmary.uk',
'proudmarypub.uk',
'pryzm.co.uk',
'rekom.co.uk',
'squiresnightclub.co.uk',
'steinbeckandshaw.co.uk',
'sugarmillhull.co.uk',
'switchsouthampton.co.uk',
'thecav.co.uk',
'theclubatlife.com',
'thedrunkenflamingo.uk',
'theterraceexeter.com',
'tick.it',
'trucamberley.co.uk',
'ukclubculture.com',
'ukcn.com',
'unit10nightclub.co.uk',
'unit17nightclub.co.uk',
'unit1nightclub.co.uk',
'unit7nightclub.co.uk',
'vinylclub.co.uk',
'wingerssportsbar.co.uk',
'loulouclub.dk',
'mokaclub.co.uk',
'fridtjofbar.no',
'rekom.uk',
'labar.fi',
'backyardlive.dk',
'loulouaalborg.dk',
'backyardstage.dk',
'bryggennightclub.no',
'butter-butter.dk',
'backyardstage.uk',
'backyardstage.fi',
'backyardstage.no',
'actlikethat.com',
'sedetpianobar.no',
'jokilaivajenny.fi',
'andysaalborg.dk',
'mexibaraalborg.dk',
'fabrikkenaalborg.dk',
'spruttenaalborg.dk',
'rekomevent.fi',
'denjyskeambassadekbh.dk',
'groundedevents.uk',
'rustikaarhus.dk',
'sollihagenoslo.no',
'julio.fi',
'rekomsports.fi',
'bucah.dk',
'nightpay.dk',
'nightpay.uk',
'nightpay.no',
'nightpay.fi',
'circuitcardiff.co.uk',
'nightpaysports.dk',
'studio4cph.dk',
'dasflyinghirsch.dk',
'studenter.dk',
'rustikherning.dk',
'temabar.no',
'flyinghirsch.dk',
'terrassenoslo.com',
'neoshospitality.co.uk',
'neoshospitality.uk',
'bar3.dk',
'gothersguiden.dk',
'barkaden-odense.dk',
'rustikvejle.dk',
'kokocph.dk',
'tartan-pub.dk',
'hyttabar.com',
'bouledog.no',
'lawoterrasse.com',
'jam.butter-butter.dk',
'aalborg.heidisbierbar.dk',
'enzohaugesund.no',
'barkaden-aalborg.dk',
'vestergade17.dk',
'3-halvleg.dk',
'loevstraede.dk',
'farfarsbar.no',
'vintapper.dk',
'kongensbodega.no',
'cayaoslo.no',
'diteventibyen.dk',
'spivi.fi',
'vinariam.fi',
'spivi.se',
'spivi.no',
'rundtombordetbar.dk',
]; 
// ---------------------

// Handle the POST request from Google Sign-In (Login Logic)
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['credential'])) {
    $id_token = $_POST['credential'];
    $client = new Google_Client(['client_id' => $CLIENT_ID]);

    try {
        $payload = $client->verifyIdToken($id_token);
        if ($payload) {
            $user_domain = isset($payload['hd']) ? $payload['hd'] : '';

            // Check if the user's domain is in the allowed list
            if (in_array($user_domain, $ALLOWED_DOMAINS)) {
                // SUCCESS: User is allowed
                $_SESSION['user_id'] = $payload['sub'];
                $_SESSION['email'] = $payload['email'];
                $_SESSION['name'] = $payload['name'];
                
                header("Location: " . $_SERVER['PHP_SELF']);
                exit;
            } else {
                // FAIL: Valid Google account, but not on the allowed list
                // We show a generic message to avoid revealing which domains ARE allowed.
                $error_msg = "Access Denied: Your account is not authorized to access this page.";
            }
        } else {
            $error_msg = "Invalid Google Token. Please try again.";
        }
    } catch (Exception $e) {
        $error_msg = "Authentication error. Please contact support.";
    }
}

// Check if user is logged in
$isLoggedIn = isset($_SESSION['email']);

// Handle Logout
if (isset($_GET['logout'])) {
    session_destroy();
    header("Location: " . $_SERVER['PHP_SELF']);
    exit;
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>Design Request Forms</title>
    <meta name="description" content="Design Request Forms">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://anijs.github.io/lib/anicollection/anicollection.css">
    <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
    <script src="https://accounts.google.com/gsi/client" async defer></script>

    <style>
        body { background-color: #17312D; color: white; font-family: 'Roboto', sans-serif; }
        #form_login {
            position: absolute; top: 20%; left: 50%;
            transform: translate(-50%, -50%); text-align: center;
        }
        .wrapper { width: 700px; margin: auto; text-align: center; }
        .btn-request {
            display: block; background-color: #E6BD71; padding: 15px;
            font-size: 20px; color: #17312D; text-align: center;
            width: 400px; margin: 30px auto; text-decoration: none; font-weight: bold;
        }
        .btn-request:hover { background-color: #d4a95a; text-decoration: none; color: #17312D;}
        
        /* Alert Styling */
        .alert { 
            width: 400px; 
            margin: 20px auto; 
            color: #721c24; 
            background-color: #f8d7da; 
            border-color: #f5c6cb; 
            padding: 15px; 
            border-radius: 5px;
            font-weight: bold;
            font-size: 14px;
        }

        .welcome-msg { margin-top: 20px; font-size: 1.2em; }
        .logout-link { color: #E6BD71; text-decoration: underline; cursor: pointer; }
    </style>
</head>
<body>

<?php if (!$isLoggedIn): ?>

    <div id="form_login">
        <img style="width:200px;margin-bottom:30px;" src="https://rekomgroup.com/media/dcyhxlkz/rekom_logo_beige_rgb.png?center=0.5%2C0.5&mode=crop&heightratio=0.224&width=400&upscale=true&format=png&bgcolor=transparent">
        
        <?php if (isset($error_msg)): ?>
            <div class="alert fadeInDown animated">
                <i class="bi bi-exclamation-triangle-fill"></i> 
                <?php echo htmlspecialchars($error_msg); ?>
            </div>
        <?php endif; ?>

        <div id="g_id_onload"
             data-client_id="<?php echo $CLIENT_ID; ?>"
             data-context="signin"
             data-ux_mode="popup"
             data-login_uri="<?php echo 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; ?>"
             data-auto_prompt="false">
        </div>

        <div class="g_id_signin"
             data-type="standard"
             data-shape="rectangular"
             data-theme="outline"
             data-text="sign_in_with"
             data-size="large"
             data-logo_alignment="left">
        </div>
    </div>

<?php else: ?>

    <div class="wrapper">
        <img style="width:200px;margin-top:50px;display:inline-block" src="https://rekomgroup.com/media/dcyhxlkz/rekom_logo_beige_rgb.png?center=0.5%2C0.5&mode=crop&heightratio=0.224&width=400&upscale=true&format=png&bgcolor=transparent">
        
        <div class="welcome-msg fadeInDown animated">
            Hi <?php echo htmlspecialchars($_SESSION['name']); ?>, <br> 
            (<?php echo htmlspecialchars($_SESSION['email']); ?>)
            <br><br>
            <a href="?logout=true" class="logout-link">Log out</a>
        </div>

        <a class="btn-request" href=" https://oas4zz7ggmf.typeform.com/to/H6l0wQud">Ads Bestillinger</a>
         <a class="btn-request" href=" https://oas4zz7ggmf.typeform.com/to/PDnvPU2P">Ads Bestillinger Norge</a>
      
    </div>

<?php endif; ?>

</body>
</html>