T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/soundstudiopro.com/private_html/includes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/soundstudiopro.com/private_html/includes/event_permissions.php
<?php

if (!function_exists('ensureEventManagersTable')) {
    function ensureEventManagersTable(PDO $pdo): void
    {
        static $ensured = false;
        if ($ensured) {
            return;
        }

        $pdo->exec("
            CREATE TABLE IF NOT EXISTS event_managers (
                id INT AUTO_INCREMENT PRIMARY KEY,
                event_id INT NOT NULL,
                user_id INT NOT NULL,
                role VARCHAR(50) DEFAULT 'staff',
                status VARCHAR(20) DEFAULT 'active',
                created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
                UNIQUE KEY unique_manager (event_id, user_id),
                FOREIGN KEY (event_id) REFERENCES events(id) ON DELETE CASCADE,
                FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
        ");

        $ensured = true;
    }
}

if (!function_exists('userCanManageEvent')) {
    function userCanManageEvent(PDO $pdo, ?int $userId, int $eventId): bool
    {
        if (!$userId || !$eventId) {
            return false;
        }

        ensureEventManagersTable($pdo);

        if (!empty($_SESSION['is_admin'])) {
            return true;
        }

        $stmt = $pdo->prepare("SELECT creator_id FROM events WHERE id = ?");
        $stmt->execute([$eventId]);
        $creatorId = $stmt->fetchColumn();
        if ($creatorId && (int)$creatorId === (int)$userId) {
            return true;
        }

        $stmt = $pdo->prepare("
            SELECT COUNT(*) 
            FROM event_managers 
            WHERE event_id = ? 
              AND user_id = ? 
              AND status = 'active'
        ");
        $stmt->execute([$eventId, $userId]);

        return $stmt->fetchColumn() > 0;
    }
}



CasperSecurity Mini