403Webshell
Server IP : 202.61.199.114  /  Your IP : 216.73.217.139
Web Server : nginx/1.22.1
System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : web20 ( 1018)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/clients/client2/arni-solutions.de/web/slots/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/clients/client2/arni-solutions.de/web/slots/index.php
<?php
require_once __DIR__ . '/includes/bootstrap.php';
$user = require_login();
update_playtime_ping((int)$user['id']);
$user = current_user();
$config = app_config();
$rrTerm = $_SESSION['rr_terminal'] ?? null;   // Terminal-Modus (ohne Login, feste Spielauswahl)

$boot = [
    'csrf'     => csrf_token(),
    'currency' => $config['app']['currency'],
    'coinValue'=> $config['bet']['coin_value'],
    'lineOptions'  => $config['bet']['line_options'],
    'levelOptions' => $config['bet']['level_options'],
    'winTiers' => $config['app']['win_tiers'],
    'toastMs'  => $config['app']['toast_autohide_ms'],
    'user' => [
        'name'       => $user['username'],
        'balance'    => (float)$user['balance'],
        'free_spins' => (int)$user['free_spins'],
        'fs_game'    => $_SESSION['fs_game'] ?? null,
        'fs_total'   => (int)($_SESSION['fs_total'] ?? 0),
        'playtime'   => format_duration((int)$user['total_play_seconds']),
    ],
    'games'    => games_client_list(),
    'roulette' => roulette_client_config(),
];
// Terminal-Modus: nur freigeschaltete Spiele anzeigen (leer = alle), keine Tisch-/Brettspiele
if ($rrTerm) {
    $boot['terminal'] = true;
    if (!empty($rrTerm['games'])) {
        $allow = $rrTerm['games'];
        $boot['games'] = array_values(array_filter($boot['games'], function ($g) use ($allow) {
            return in_array($g['id'], $allow, true);
        }));
    }
}
?>
<!doctype html>
<html lang="de">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">
    <title><?= e($config['app']['name']) ?> · <?= e($config['app']['tagline']) ?></title>
    <meta name="theme-color" content="#0a0710">
    <?php require __DIR__ . '/includes/pwa.php'; ?>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@600;800&family=Inter:wght@400;600;800&display=swap" rel="stylesheet">
    <link href="css/core.css" rel="stylesheet">
    <link href="css/themes.css" rel="stylesheet">
    <link href="css/animations.css" rel="stylesheet">
    <link href="css/roulette.css" rel="stylesheet">
</head>
<body class="rr-body" data-screen="lobby">

<!-- Hintergrund-Ebenen -->
<div class="rr-bg" id="rrBg"><div class="rr-bg-scene" id="rrBgScene"></div><div class="rr-bg-vignette"></div></div>
<canvas class="rr-particles" id="rrParticles"></canvas>

<!-- Top-Bar -->
<header class="rr-topbar">
    <button class="rr-brand" id="brandHome">
        <span class="rr-brand-mark">♛</span>
        <span class="rr-brand-text"><?= e($config['app']['name']) ?><small><?= e($config['app']['tagline']) ?></small></span>
    </button>
    <div class="rr-topbar-hud">
        <div class="rr-chip rr-chip-balance"><span>Guthaben</span><strong id="hudBalance">0</strong></div>
        <div class="rr-chip rr-chip-session" id="hudSession" hidden><span>Session</span><strong id="hudSessionVal">±0</strong></div>
        <div class="rr-chip rr-chip-fs" id="hudFsChip" hidden><span>Freispiele</span><strong id="hudFreeSpins">0</strong></div>
        <button class="rr-icon-btn" id="soundToggle" title="Ton an/aus" aria-label="Ton">🔊</button>
        <input type="range" class="rr-volume" id="volumeSlider" min="0" max="100" value="55" title="Lautstärke">
        <button class="rr-icon-btn" id="lobbyBtn" title="Lobby" aria-label="Lobby">🏛️</button>
        <?php if ($rrTerm): ?>
            <a class="rr-icon-btn" href="<?= e($rrTerm['back']) ?>" target="_top" title="Zurück zum Terminal" aria-label="Zurück zum Terminal">⎋</a>
        <?php else: ?>
            <a class="rr-icon-btn" href="wetten.php" title="WM 2026 Wetten" aria-label="Wetten">⚽</a>
            <?php if (is_admin($user)): ?><a class="rr-icon-btn" href="admin.php" title="Administration" aria-label="Administration" style="color:#ffce53">⚙</a><?php endif; ?>
            <a class="rr-icon-btn" href="logout.php" title="Logout" aria-label="Logout">⎋</a>
        <?php endif; ?>
    </div>
</header>

<!-- ======================= LOBBY ======================= -->
<main class="rr-lobby" id="lobby">
    <div class="rr-lobby-hero">
        <h1 class="rr-lobby-title">Wähle deinen Slot</h1>
        <p class="rr-lobby-sub">Sechs einzigartige Welten · 5×3 Walzen · 96% RTP</p>
    </div>
    <div class="rr-lobby-grid" id="lobbyGrid"><!-- Karten via JS --></div>
    <footer class="rr-lobby-foot">
        <?php if (!$rrTerm): ?>
        <button class="rr-btn rr-btn-ghost" id="dailyBonusBtn">🎁 Tagesbonus</button>
        <a class="rr-btn rr-btn-ghost" href="highscores.php">🏆 Bestenliste</a>
        <a class="rr-btn rr-btn-gold" href="wetten.php">⚽ WM 2026 Wetten</a>
        <?php endif; ?>
    </footer>
</main>

<!-- ======================= SPIEL ======================= -->
<main class="rr-game" id="game" hidden>
    <div class="rr-game-head">
        <button class="rr-back" id="backToLobby">‹ Lobby</button>
        <div class="rr-game-title"><h2 id="gameTitle">—</h2><span id="gameSubtitle"></span></div>
        <div class="rr-game-stats">
            <span class="rr-stat" id="statRtp">RTP —</span>
            <span class="rr-stat" id="statVol">—</span>
        </div>
    </div>

    <div class="rr-machine" id="machine">
        <div class="rr-feature-banner" id="featureBanner" hidden></div>
        <div class="rr-reels-frame">
            <div class="rr-reels" id="reels"><!-- Walzen via JS --></div>
            <svg class="rr-winlines" id="winLines"></svg>
            <div class="rr-win-pop" id="winPop" hidden></div>
        </div>
        <div class="rr-collect-bar" id="collectBar" hidden>
            <span>Sammler</span><strong id="collectTotal">0</strong>
            <span class="rr-mult-pill" id="multPill" hidden>×1</span>
        </div>
    </div>

    <!-- Bedienleiste -->
    <div class="rr-controls">
        <div class="rr-ctrl-group">
            <button class="rr-ctrl-btn" id="linesDown">−</button>
            <div class="rr-ctrl-readout"><span>Linien</span><strong id="lineValue">10</strong></div>
            <button class="rr-ctrl-btn" id="linesUp">+</button>
        </div>
        <div class="rr-ctrl-group">
            <button class="rr-ctrl-btn" id="betDown">−</button>
            <div class="rr-ctrl-readout"><span>Einsatz/Linie</span><strong id="betValue">10</strong></div>
            <button class="rr-ctrl-btn" id="betUp">+</button>
        </div>

        <button class="rr-spin" id="spinBtn">
            <span class="rr-spin-ring"></span>
            <span class="rr-spin-label" id="spinLabel">SPIN</span>
        </button>

        <div class="rr-ctrl-group rr-ctrl-secondary">
            <button class="rr-ctrl-btn rr-wide" id="maxBetBtn">MAX</button>
            <div class="rr-ctrl-readout rr-readout-total"><span>Gesamt</span><strong id="totalBetValue">100</strong></div>
        </div>
        <div class="rr-ctrl-group rr-ctrl-secondary">
            <button class="rr-ctrl-btn rr-wide" id="autoBtn">AUTO</button>
            <button class="rr-ctrl-btn" id="payTableBtn" title="Auszahlungen">ℹ️</button>
        </div>
    </div>

    <div class="rr-game-foot">
        <div class="rr-lastwin"><span>Letzter Gewinn</span><strong id="lastWin">0</strong></div>
        <div class="rr-winsummary" id="winSummary">Bereit für den nächsten Spin.</div>
    </div>
</main>

<!-- ======================= ROULETTE ======================= -->
<main class="rr-roulette" id="roulette" hidden>
    <div class="rr-game-head">
        <button class="rr-back" id="rouletteBack">‹ Lobby</button>
        <div class="rr-game-title"><h2>European Roulette</h2><span>Einzel-Null · 37 Zahlen</span></div>
        <div class="rr-game-stats"><span class="rr-stat">RTP 97,3%</span><span class="rr-stat">Single Zero</span></div>
    </div>

    <div class="rr-roulette-main">
        <div class="rr-wheel-wrap">
            <div class="rr-wheel-stage">
                <canvas id="rouletteWheel" width="380" height="380"></canvas>
                <div class="rr-result-num" id="rouletteResult"></div>
            </div>
            <div class="rr-history-strip" id="rouletteHistory"></div>
        </div>
        <div class="rr-table-wrap">
            <div class="rr-table" id="rouletteTable"></div>
        </div>
    </div>

    <div class="rr-chiprack" id="chipRack"></div>

    <div class="rr-roul-controls">
        <button id="rlClear" disabled>CLEAR</button>
        <button id="rlUndo" disabled>UNDO</button>
        <button id="rlDouble" disabled>×2</button>
        <button id="rlRepeat" disabled>REPEAT</button>
        <button id="rlBetsBtn" title="Wetten speichern/laden">💾</button>
        <div class="rr-roul-bet">Einsatz <strong id="rlBet">0</strong></div>
        <button class="rr-spin-roul" id="rlSpin" disabled>DREHEN</button>
        <button id="rlAuto">AUTO</button>
    </div>

    <div class="rr-stats-panel" id="rlStats"></div>
</main>

<!-- Auto-Spin Menü -->
<div class="rr-modal" id="autoModal" hidden>
    <div class="rr-modal-card rr-auto-card">
        <h3>Auto Spin</h3>
        <div class="rr-auto-grid" id="autoGrid"></div>
        <button class="rr-btn rr-btn-ghost" data-close-modal>Abbrechen</button>
    </div>
</div>

<!-- Gespeicherte Roulette-Wetten -->
<div class="rr-modal" id="savedBetsModal" hidden>
    <div class="rr-modal-card">
        <div class="rr-modal-head"><h3>Wetten speichern / laden</h3><button class="rr-icon-btn" data-close-modal>✕</button></div>
        <button class="rr-btn rr-btn-gold rr-btn-block" id="rlSaveNew" style="margin-bottom:14px">💾 Aktuelle Wette speichern</button>
        <div id="savedBetsList"></div>
    </div>
</div>

<!-- Paytable Modal -->
<div class="rr-modal" id="payModal" hidden>
    <div class="rr-modal-card rr-pay-card">
        <div class="rr-modal-head"><h3 id="payTitle">Auszahlungen</h3><button class="rr-icon-btn" data-close-modal>✕</button></div>
        <div class="rr-pay-body" id="payBody"></div>
    </div>
</div>

<!-- Bonus-Rad Overlay -->
<div class="rr-overlay rr-bonus-overlay" id="bonusOverlay" hidden>
    <div class="rr-bonus-stage">
        <h2 class="rr-bonus-title">BONUS</h2>
        <canvas id="bonusWheel" width="420" height="420"></canvas>
        <div class="rr-bonus-result" id="bonusResult"></div>
        <button class="rr-btn rr-btn-gold" id="bonusClose" hidden>Einsammeln</button>
    </div>
</div>

<!-- Win-Stufen – seitlich eingeblendet (kein Vollbild) -->
<div class="rr-win-dock" id="bigWin" hidden>
    <div class="rr-bigwin-title" id="bigWinTitle">BIG WIN</div>
    <div class="rr-bigwin-amount" id="bigWinAmount">0</div>
    <button class="rr-btn rr-btn-gold rr-btn-block" id="bigWinClose">Weiter</button>
</div>

<!-- Verdopplungsspiel (Gamble / Rot-Schwarz) – rechts angedockt, per Klick ausklappen -->
<div class="rr-gamble-dock" id="gambleOverlay" hidden>
    <button class="rr-gamble-teaser" id="gambleTeaser" type="button">
        <span class="rr-gamble-teaser-label">VERDOPPELN?</span>
        <span class="rr-gamble-amount" id="gambleAmount">0</span>
        <span class="rr-gamble-teaser-foot">
            <span class="rr-gamble-teaser-hint">Tippen zum Spielen</span>
            <span id="gambleTimer"></span>
        </span>
    </button>
    <div class="rr-gamble-body" id="gambleBody">
        <div class="rr-gamble-ladder" id="gambleLadder"></div>
        <div class="rr-gamble-deck" id="gambleDeck">?</div>
        <div class="rr-gamble-status" id="gambleStatus">Rot oder Schwarz wählen</div>
        <div class="rr-gamble-buttons">
            <button class="rr-gamble-btn rr-gamble-red" id="gambleRed">♥ ROT</button>
            <button class="rr-gamble-btn rr-gamble-black" id="gambleBlack">♠ SCHWARZ</button>
        </div>
        <button class="rr-btn rr-btn-gold rr-btn-block" id="gambleCollect">NEHMEN</button>
    </div>
</div>

<!-- Flow Overlay (Freispiel Start/Ende) -->
<div class="rr-overlay rr-flow" id="flowOverlay" hidden>
    <div class="rr-flow-card">
        <div class="rr-flow-badge" id="flowBadge">Freispiele</div>
        <h2 id="flowTitle">—</h2>
        <p id="flowText"></p>
        <button class="rr-btn rr-btn-gold" id="flowConfirm">Weiter</button>
    </div>
</div>

<!-- Toasts -->
<div class="rr-toasts" id="toasts"></div>

<!-- Dev-Panel (Strg+Shift+D) -->
<div class="rr-devpanel" id="devPanel" hidden>
    <div class="rr-dev-head"><strong>⚙ Dev-Panel</strong><button class="rr-icon-btn" id="devClose">✕</button></div>
    <div class="rr-dev-body" id="devBody"></div>
    <button class="rr-btn rr-btn-ghost" id="devReset">Statistik zurücksetzen</button>
</div>

<script>window.RR_BOOT = <?= json_encode($boot, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) ?>;</script>
<script type="module" src="js/main.js"></script>
</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit