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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/soundstudiopro.com/private_html/audit_global_player.php
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Global Player Audit - SoundStudioPro</title>
    <style>
        body {
            font-family: 'Courier New', monospace;
            background: #1a1a1a;
            color: #fff;
            padding: 2rem;
            line-height: 1.6;
        }
        .section {
            background: #2a2a2a;
            padding: 2rem;
            margin: 2rem 0;
            border-radius: 8px;
            border-left: 4px solid #667eea;
        }
        .error { color: #f87171; }
        .success { color: #4ade80; }
        .warning { color: #fbbf24; }
        .info { color: #60a5fa; }
        .test-btn {
            background: #667eea;
            color: white;
            border: none;
            padding: 1rem 2rem;
            border-radius: 8px;
            cursor: pointer;
            margin: 0.5rem;
        }
        .test-btn:hover { background: #5a67d8; }
        .log {
            background: #333;
            padding: 1rem;
            border-radius: 8px;
            font-family: monospace;
            height: 300px;
            overflow-y: auto;
            margin: 1rem 0;
        }
        .status-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 1rem;
            margin: 1rem 0;
        }
        .status-item {
            background: #333;
            padding: 1rem;
            border-radius: 8px;
            border: 1px solid #444;
        }
    </style>
</head>
<body>
    <h1>๐ŸŽต Global Player Audit - SoundStudioPro</h1>
    
    <div class="section">
        <h2>๐Ÿ“‹ Audit Summary</h2>
        <div id="auditSummary">
            <p>Running comprehensive audit...</p>
        </div>
    </div>

    <div class="section">
        <h2>๐Ÿ” Component Status</h2>
        <div class="status-grid" id="componentStatus">
            <!-- Status items will be populated by JavaScript -->
        </div>
    </div>

    <div class="section">
        <h2>๐Ÿงช Function Tests</h2>
        <button class="test-btn" onclick="testGlobalPlayer()">Test Global Player</button>
        <button class="test-btn" onclick="testPlayTrack()">Test playTrack Function</button>
        <button class="test-btn" onclick="testHomepageIntegration()">Test Homepage Integration</button>
        <button class="test-btn" onclick="testLibraryIntegration()">Test Library Integration</button>
        <button class="test-btn" onclick="testVariationsModal()">Test Variations Modal</button>
    </div>

    <div class="section">
        <h2>๐Ÿ“ Console Log</h2>
        <div id="consoleLog" class="log"></div>
    </div>

    <div class="section">
        <h2>๐Ÿ”ง Issues Found</h2>
        <div id="issuesList">
            <!-- Issues will be populated by JavaScript -->
        </div>
    </div>

    <div class="section">
        <h2>โœ… Fixes Applied</h2>
        <div id="fixesApplied">
            <!-- Fixes will be populated by JavaScript -->
        </div>
    </div>

    <script>
        // Override console methods to capture logs
        const originalLog = console.log;
        const originalError = console.error;
        const originalWarn = console.warn;
        const logDiv = document.getElementById('consoleLog');
        
        function addLog(message, type = 'info') {
            const colors = {
                info: '#60a5fa',
                error: '#f87171',
                success: '#4ade80',
                warning: '#fbbf24'
            };
            const timestamp = new Date().toLocaleTimeString();
            logDiv.innerHTML += `<div style="color: ${colors[type]}">[${timestamp}] ${message}</div>`;
            logDiv.scrollTop = logDiv.scrollHeight;
        }
        
        console.log = function(...args) {
            originalLog.apply(console, args);
            addLog(args.join(' '), 'info');
        };
        
        console.error = function(...args) {
            originalError.apply(console, args);
            addLog('ERROR: ' + args.join(' '), 'error');
        };
        
        console.warn = function(...args) {
            originalWarn.apply(console, args);
            addLog('WARNING: ' + args.join(' '), 'warning');
        };

        // Audit results
        const auditResults = {
            issues: [],
            fixes: [],
            components: {}
        };

        function addIssue(component, issue, severity = 'error') {
            auditResults.issues.push({ component, issue, severity });
        }

        function addFix(component, fix) {
            auditResults.fixes.push({ component, fix });
        }

        function updateComponentStatus(component, status, details = '') {
            auditResults.components[component] = { status, details };
        }

        function updateStatusDisplay() {
            const statusDiv = document.getElementById('componentStatus');
            const issuesDiv = document.getElementById('issuesList');
            const fixesDiv = document.getElementById('fixesApplied');
            
            // Update component status
            statusDiv.innerHTML = '';
            Object.entries(auditResults.components).forEach(([component, data]) => {
                const color = data.status === 'success' ? '#4ade80' : data.status === 'warning' ? '#fbbf24' : '#f87171';
                statusDiv.innerHTML += `
                    <div class="status-item">
                        <h3 style="color: ${color}">${component}</h3>
                        <p>Status: ${data.status}</p>
                        <p>${data.details}</p>
                    </div>
                `;
            });

            // Update issues
            issuesDiv.innerHTML = '';
            auditResults.issues.forEach(issue => {
                const color = issue.severity === 'error' ? '#f87171' : issue.severity === 'warning' ? '#fbbf24' : '#60a5fa';
                issuesDiv.innerHTML += `<p style="color: ${color}">โ€ข <strong>${issue.component}:</strong> ${issue.issue}</p>`;
            });

            // Update fixes
            fixesDiv.innerHTML = '';
            auditResults.fixes.forEach(fix => {
                fixesDiv.innerHTML += `<p style="color: #4ade80">โ€ข <strong>${fix.component}:</strong> ${fix.fix}</p>`;
            });
        }

        // Test functions
        function testGlobalPlayer() {
            console.log('๐ŸŽต Testing Global Player...');
            
            // Check if enhanced global player exists
            if (typeof window.enhancedGlobalPlayer !== 'undefined') {
                console.log('โœ… Enhanced Global Player found');
                updateComponentStatus('Enhanced Global Player', 'success', 'Available');
                
                // Check functions
                if (typeof window.enhancedGlobalPlayer.playTrack === 'function') {
                    console.log('โœ… playTrack function available');
                    updateComponentStatus('playTrack Function', 'success', 'Available');
                } else {
                    console.error('โŒ playTrack function missing');
                    updateComponentStatus('playTrack Function', 'error', 'Missing');
                    addIssue('Global Player', 'playTrack function not found', 'error');
                }
                
                if (typeof window.enhancedGlobalPlayer.showPlayer === 'function') {
                    console.log('โœ… showPlayer function available');
                    updateComponentStatus('showPlayer Function', 'success', 'Available');
                } else {
                    console.error('โŒ showPlayer function missing');
                    updateComponentStatus('showPlayer Function', 'error', 'Missing');
                    addIssue('Global Player', 'showPlayer function not found', 'error');
                }
                
                if (typeof window.enhancedGlobalPlayer.init === 'function') {
                    console.log('โœ… init function available');
                    updateComponentStatus('init Function', 'success', 'Available');
                } else {
                    console.error('โŒ init function missing');
                    updateComponentStatus('init Function', 'error', 'Missing');
                    addIssue('Global Player', 'init function not found', 'error');
                }
                
            } else {
                console.error('โŒ Enhanced Global Player not found');
                updateComponentStatus('Enhanced Global Player', 'error', 'Not Found');
                addIssue('Global Player', 'Enhanced Global Player not loaded', 'error');
            }
            
            // Check for old global player references
            if (typeof window.globalPlayer !== 'undefined') {
                console.warn('โš ๏ธ Old globalPlayer found - should be removed');
                updateComponentStatus('Old Global Player', 'warning', 'Should be removed');
                addIssue('Global Player', 'Old globalPlayer reference found', 'warning');
            }
            
            updateStatusDisplay();
        }

        function testPlayTrack() {
            console.log('๐ŸŽต Testing playTrack function...');
            
            // Test with enhanced global player
            if (typeof window.enhancedGlobalPlayer !== 'undefined' && typeof window.enhancedGlobalPlayer.playTrack === 'function') {
                console.log('โœ… Testing enhancedGlobalPlayer.playTrack');
                try {
                    window.enhancedGlobalPlayer.playTrack('https://www.soundjay.com/misc/sounds/bell-ringing-05.wav', 'Test Track', 'Test Artist');
                    console.log('โœ… playTrack test successful');
                    updateComponentStatus('playTrack Test', 'success', 'Working');
                } catch (error) {
                    console.error('โŒ playTrack test failed:', error);
                    updateComponentStatus('playTrack Test', 'error', 'Failed: ' + error.message);
                    addIssue('playTrack', 'Function call failed: ' + error.message, 'error');
                }
            } else {
                console.error('โŒ playTrack function not available');
                updateComponentStatus('playTrack Test', 'error', 'Function not available');
                addIssue('playTrack', 'Function not available', 'error');
            }
            
            updateStatusDisplay();
        }

        function testHomepageIntegration() {
            console.log('๐ŸŽต Testing Homepage Integration...');
            
            // Check if homepage functions exist
            if (typeof window.playTrackWithGlobalPlayer === 'function') {
                console.warn('โš ๏ธ Old playTrackWithGlobalPlayer found in homepage');
                updateComponentStatus('Homepage Integration', 'warning', 'Using old function');
                addIssue('Homepage', 'Using old playTrackWithGlobalPlayer function', 'warning');
            } else {
                console.log('โœ… No old playTrackWithGlobalPlayer found');
                updateComponentStatus('Homepage Integration', 'success', 'No old functions');
            }
            
            // Check if global playTrack function exists
            if (typeof window.playTrack === 'function') {
                console.log('โœ… Global playTrack function found');
                updateComponentStatus('Global playTrack', 'success', 'Available');
            } else {
                console.error('โŒ Global playTrack function missing');
                updateComponentStatus('Global playTrack', 'error', 'Missing');
                addIssue('Homepage', 'Global playTrack function missing', 'error');
            }
            
            updateStatusDisplay();
        }

        function testLibraryIntegration() {
            console.log('๐ŸŽต Testing Library Integration...');
            
            // Check if library functions exist
            if (typeof window.showVariations === 'function') {
                console.log('โœ… showVariations function found');
                updateComponentStatus('Library Variations', 'success', 'Available');
            } else {
                console.error('โŒ showVariations function missing');
                updateComponentStatus('Library Variations', 'error', 'Missing');
                addIssue('Library', 'showVariations function missing', 'error');
            }
            
            // Check if variations modal exists
            const variationsModal = document.getElementById('variationsModal');
            if (variationsModal) {
                console.log('โœ… Variations modal found');
                updateComponentStatus('Variations Modal', 'success', 'Available');
            } else {
                console.error('โŒ Variations modal missing');
                updateComponentStatus('Variations Modal', 'error', 'Missing');
                addIssue('Library', 'Variations modal not found', 'error');
            }
            
            updateStatusDisplay();
        }

        function testVariationsModal() {
            console.log('๐ŸŽต Testing Variations Modal...');
            
            const modal = document.getElementById('variationsModal');
            if (!modal) {
                console.error('โŒ Variations modal not found');
                updateComponentStatus('Variations Modal Test', 'error', 'Modal not found');
                addIssue('Variations Modal', 'Modal element not found', 'error');
                updateStatusDisplay();
                return;
            }
            
            // Test modal functions
            if (typeof window.showVariations === 'function') {
                console.log('โœ… showVariations function available');
            } else {
                console.error('โŒ showVariations function missing');
                addIssue('Variations Modal', 'showVariations function missing', 'error');
            }
            
            if (typeof window.closeVariations === 'function') {
                console.log('โœ… closeVariations function available');
            } else {
                console.error('โŒ closeVariations function missing');
                addIssue('Variations Modal', 'closeVariations function missing', 'error');
            }
            
            if (typeof window.playVariation === 'function') {
                console.log('โœ… playVariation function available');
            } else {
                console.error('โŒ playVariation function missing');
                addIssue('Variations Modal', 'playVariation function missing', 'error');
            }
            
            updateComponentStatus('Variations Modal Test', 'success', 'Functions available');
            updateStatusDisplay();
        }

        // Run initial audit
        window.addEventListener('load', function() {
            console.log('๐ŸŽต Starting Global Player Audit...');
            
            // Update audit summary
            const summaryDiv = document.getElementById('auditSummary');
            summaryDiv.innerHTML = `
                <p><strong>Audit Started:</strong> ${new Date().toLocaleString()}</p>
                <p><strong>Page:</strong> ${window.location.href}</p>
                <p><strong>User Agent:</strong> ${navigator.userAgent}</p>
            `;
            
            // Run all tests
            setTimeout(() => {
                testGlobalPlayer();
                setTimeout(() => {
                    testPlayTrack();
                    setTimeout(() => {
                        testHomepageIntegration();
                        setTimeout(() => {
                            testLibraryIntegration();
                            setTimeout(() => {
                                testVariationsModal();
                                console.log('๐ŸŽต Audit complete!');
                            }, 500);
                        }, 500);
                    }, 500);
                }, 500);
            }, 1000);
        });
    </script>

    <?php include 'includes/header.php'; ?>
    <?php include 'includes/footer.php'; ?>
</body>
</html> 

CasperSecurity Mini