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/.cursor-server/data/User/History/5f9d09d7/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/.cursor-server/data/User/History/5f9d09d7/Bpep.php
        </div>
    </main>

    <!-- Enhanced Global Music Player -->
    <?php include 'global_player.php'; ?>

    <!-- Footer -->
    <footer class="footer">
        <div class="container">
            <div class="footer-content">
                <div class="footer-section">
                    <h3>SoundStudioPro</h3>
                    <p>Advanced AI-powered music creation platform for professionals and creators.</p>
                </div>
                <div class="footer-section">
                    <h3>Features</h3>
                    <a href="/#features">AI Music Generation</a>
                    <a href="/#features">Lyrics Creation</a>
                    <a href="/#features">Music Videos</a>
                    <a href="/#features">Vocal Removal</a>
                </div>
                <div class="footer-section">
                    <h3>Support</h3>
                    <a href="/about.php">About Us</a>
                    <a href="/#pricing">Pricing</a>
                    <a href="/admin.php">Admin</a>
                                    <a href="/auth/login.php">Login</a>
                <a href="/auth/register.php">Sign Up</a>
                </div>
                <div class="footer-section">
                    <h3>Legal</h3>
                    <a href="/terms.php">Terms & Conditions</a>
                    <a href="/privacy.php">Privacy Policy</a>
                </div>
            </div>
            <div class="footer-bottom">
                <p>&copy; 2025 SoundStudioPro. All rights reserved.</p>
            </div>
        </div>
    </footer>

    <style>
        /* Footer */
        .footer {
            background: #0a0a0a;
            color: white;
            padding: 6rem 0 3rem;
            border-top: 1px solid rgba(255, 255, 255, 0.1);
        }
        
        .footer-content {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
            gap: 4rem;
            margin-bottom: 4rem;
        }
        
        .footer-section h3 {
            font-size: 2rem;
            font-weight: 600;
            margin-bottom: 2rem;
            color: #667eea;
        }
        
        .footer-section p,
        .footer-section a {
            font-size: 1.4rem;
            color: #a0aec0;
            text-decoration: none;
            line-height: 1.6;
            display: block;
            margin-bottom: 1rem;
            transition: color 0.3s ease;
        }
        
        .footer-section a:hover {
            color: #667eea;
        }
        
        .footer-bottom {
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            padding-top: 3rem;
            text-align: center;
            font-size: 1.4rem;
            color: #718096;
        }
    </style>
    <script>
        // Global Notification System - Available on all pages
        window.showNotification = function(message, type = 'info') {
            // Random success messages for follows
            const successMessages = [
                { title: '🎉 Success!', subtitle: 'Operation completed successfully!' },
                { title: '💖 Awesome!', subtitle: 'That worked perfectly!' },
                { title: '🚀 Boom!', subtitle: 'Mission accomplished!' },
                { title: '⭐ Perfect!', subtitle: 'You nailed it!' },
                { title: '🎵 Sweet!', subtitle: 'Music to our ears!' },
                { title: '🔥 Fire!', subtitle: 'That was amazing!' },
                { title: '💎 Diamond!', subtitle: 'Pure excellence!' },
                { title: '🌟 Stellar!', subtitle: 'Out of this world!' },
                { title: '🎪 Bravo!', subtitle: 'Encore! Encore!' },
                { title: '🌈 Magic!', subtitle: 'Something wonderful happened!' }
            ];
            
            // Random error messages
            const errorMessages = [
                { title: '❌ Oops!', subtitle: 'Something went wrong, try again!' },
                { title: '😅 Uh Oh!', subtitle: 'That didn\'t work as planned!' },
                { title: '🤔 Hmm...', subtitle: 'Let\'s try that again!' },
                { title: '😱 Yikes!', subtitle: 'Something unexpected happened!' }
            ];
            
            let displayMessage = message;
            let displaySubtitle = '';
            
            if (type === 'success') {
                const randomSuccess = successMessages[Math.floor(Math.random() * successMessages.length)];
                displayMessage = randomSuccess.title;
                displaySubtitle = randomSuccess.subtitle;
            } else if (type === 'error') {
                // For error messages, show the actual error message instead of random generic ones
                // Only use random messages if the message is very generic
                const isGenericError = message.toLowerCase().includes('failed') || 
                                      message.toLowerCase().includes('error') || 
                                      message.toLowerCase().includes('something went wrong') ||
                                      message.length < 20;
                
                if (isGenericError && !message.includes(':') && !message.includes('Database') && !message.includes('Invalid')) {
                    // Use random error for very generic messages
                    const randomError = errorMessages[Math.floor(Math.random() * errorMessages.length)];
                    displayMessage = randomError.title;
                    displaySubtitle = randomError.subtitle;
                } else {
                    // Show the actual error message
                    displayMessage = message;
                    displaySubtitle = 'Please check the details above';
                }
            }
            
            const notification = document.createElement('div');
            notification.className = `global-notification notification-${type}`;
            notification.innerHTML = `
                <div style="display: flex; align-items: center; gap: 1.5rem;">
                    <div style="font-size: 3rem;">
                        ${displayMessage.split(' ')[0]}
                    </div>
                    <div>
                        <div style="font-size: 2rem; font-weight: 700; margin-bottom: 0.5rem;">${displayMessage}</div>
                        <div style="font-size: 1.4rem; opacity: 0.8;">
                            ${displaySubtitle}
                        </div>
                    </div>
                </div>
            `;
            
            // Random colors for notifications
            const notificationColors = [
                'linear-gradient(135deg, #48bb78, #38a169)', // Green
                'linear-gradient(135deg, #667eea, #764ba2)', // Purple
                'linear-gradient(135deg, #f093fb, #f5576c)', // Pink
                'linear-gradient(135deg, #4facfe, #00f2fe)', // Blue
                'linear-gradient(135deg, #43e97b, #38f9d7)', // Mint
                'linear-gradient(135deg, #fa709a, #fee140)', // Sunset
                'linear-gradient(135deg, #a8edea, #fed6e3)', // Soft
                'linear-gradient(135deg, #ffecd2, #fcb69f)'  // Warm
            ];
            
            const randomColor = notificationColors[Math.floor(Math.random() * notificationColors.length)];
            
            notification.style.cssText = `
                position: fixed;
                top: 20px;
                right: 20px;
                padding: 2.5rem 3.5rem;
                border-radius: 20px;
                color: white;
                font-weight: 600;
                z-index: 10000;
                transform: translateX(100%) scale(0.8);
                transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
                max-width: 450px;
                box-shadow: 0 25px 80px rgba(0, 0, 0, 0.4);
                backdrop-filter: blur(25px);
                border: 2px solid rgba(255, 255, 255, 0.3);
                background: ${type === 'success' ? randomColor : type === 'error' ? 'linear-gradient(135deg, #f56565, #e53e3e)' : 'linear-gradient(135deg, #667eea, #764ba2)'};
                font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            `;
            
            document.body.appendChild(notification);
            
            // Animate in with bounce effect
            setTimeout(() => {
                notification.style.transform = 'translateX(0) scale(1)';
            }, 100);
            
            // Add some sparkles to success notifications
            if (type === 'success') {
                setTimeout(() => {
                    createGlobalSparkles(notification);
                }, 500);
            }
            
            // Remove after 4 seconds
            setTimeout(() => {
                notification.style.transform = 'translateX(100%) scale(0.8)';
                setTimeout(() => notification.remove(), 400);
            }, 4000);
        };
        
        // Global sparkles function
        function createGlobalSparkles(element) {
            const rect = element.getBoundingClientRect();
            const sparkleSets = [
                ['✨', '⭐', '💫', '🌟', '⚡', '💎', '🔮', '💍'], // Sparkly
                ['🎊', '🎉', '🎈', '🎁', '🎀', '🎪', '🎨', '🎭'], // Party
                ['🌙', '☀️', '🌈', '🍀', '🌺', '🌸', '🌼', '🌻'], // Nature
                ['🎵', '🎶', '🎸', '🎹', '🎺', '🎻', '🥁', '🎤']  // Music
            ];
            
            const currentSparkleSet = sparkleSets[Math.floor(Math.random() * sparkleSets.length)];
            const numSparkles = Math.floor(Math.random() * 6) + 4;
            
            for (let i = 0; i < numSparkles; i++) {
                const sparkle = document.createElement('div');
                sparkle.innerHTML = currentSparkleSet[Math.floor(Math.random() * currentSparkleSet.length)];
                sparkle.style.position = 'fixed';
                sparkle.style.left = rect.left + Math.random() * rect.width + 'px';
                sparkle.style.top = rect.top + Math.random() * rect.height + 'px';
                sparkle.style.fontSize = (16 + Math.random() * 20) + 'px';
                sparkle.style.pointerEvents = 'none';
                sparkle.style.zIndex = '9998';
                sparkle.style.opacity = '0';
                sparkle.style.transition = 'all 1s ease-out';
                
                document.body.appendChild(sparkle);
                
                const randomDelay = Math.random() * 200;
                const randomDistance = 30 + Math.random() * 70;
                const randomAngle = Math.random() * 360;
                
                setTimeout(() => {
                    sparkle.style.opacity = '1';
                    sparkle.style.transform = `translate(${Math.cos(randomAngle * Math.PI / 180) * randomDistance}px, ${Math.sin(randomAngle * Math.PI / 180) * randomDistance}px) rotate(${Math.random() * 360}deg)`;
                    
                    setTimeout(() => {
                        sparkle.style.opacity = '0';
                        setTimeout(() => sparkle.remove(), 1000);
                    }, 1000);
                }, randomDelay);
            }
        }
        
        // Return to admin function
        async function returnToAdmin(event) {
            event.preventDefault();
            
            if (confirm('Return to admin mode?')) {
                window.location.href = '/admin_return.php';
            }
        }

        // Add smooth scrolling for navigation
        document.querySelectorAll('a[href^="#"]').forEach(anchor => {
            anchor.addEventListener('click', function (e) {
                e.preventDefault();
                const target = document.querySelector(this.getAttribute('href'));
                if (target) {
                    target.scrollIntoView({
                        behavior: 'smooth',
                        block: 'start'
                    });
                }
            });
        });
        
        // AJAX Navigation System REMOVED - Using normal page navigation
        
        // Load track monitor script
        const trackMonitorScript = document.createElement('script');
        trackMonitorScript.src = '/js/track_monitor.js';
        trackMonitorScript.onload = function() {
            console.log('🎵 Track monitor script loaded');
        };
        document.head.appendChild(trackMonitorScript);
        
        // Add active state to navigation
        document.querySelectorAll('.nav-link').forEach(link => {
            link.addEventListener('click', function() {
                document.querySelectorAll('.nav-link').forEach(l => l.classList.remove('active'));
                this.classList.add('active');
            });
        });
        
        // Mobile Menu Functionality - FIXED: No duplicate document click listeners
        const mobileMenu = {
            init() {
                this.setupEventListeners();
            },
            
            setupEventListeners() {
                const toggle = document.getElementById('mobileMenuToggle');
                const close = document.getElementById('mobileMenuClose');
                const menu = document.getElementById('mobileMenu');
                
                if (toggle) {
                    toggle.addEventListener('click', () => {
                        this.openMenu();
                    });
                }
                
                if (close) {
                    close.addEventListener('click', () => {
                        this.closeMenu();
                    });
                }
                
                // Close menu when navigating - use specific event listeners instead of document
                document.querySelectorAll('.mobile-nav-link').forEach(link => {
                    link.addEventListener('click', () => {
                        this.closeMenu();
                    });
                });
                
                // Close menu on escape key
                document.addEventListener('keydown', (e) => {
                    if (e.key === 'Escape' && menu && menu.classList.contains('active')) {
                        this.closeMenu();
                    }
                });
                
                // Close menu when navigating
                document.querySelectorAll('.mobile-nav-link').forEach(link => {
                    link.addEventListener('click', () => {
                        this.closeMenu();
                    });
                });
            },
            
            openMenu() {
                const menu = document.getElementById('mobileMenu');
                if (menu) {
                    menu.classList.add('active');
                    document.body.style.overflow = 'hidden';
                }
            },
            
            closeMenu() {
                const menu = document.getElementById('mobileMenu');
                if (menu) {
                    menu.classList.remove('active');
                    document.body.style.overflow = '';
                }
            }
        };
        
        // Initialize mobile menu
        document.addEventListener('DOMContentLoaded', () => {
            mobileMenu.init();
        });
        
        // Handle logout with AJAX navigation
        window.handleLogout = function() {
            console.log('🎵 Handling logout via AJAX...');
            
            // Show loading state
            const logoutBtns = document.querySelectorAll('.logout-btn, .mobile-logout-btn');
            logoutBtns.forEach(btn => {
                const originalText = btn.innerHTML;
                btn.innerHTML = '<i class="fas fa-spinner fa-spin"></i> Logging out...';
                btn.disabled = true;
                
                // Reset after a delay if something goes wrong
                setTimeout(() => {
                    btn.innerHTML = originalText;
                    btn.disabled = false;
                }, 5000);
            });
            
            // Call logout via AJAX
            fetch('/auth/logout.php?ajax=1', {
                method: 'GET',
                headers: {
                    'X-Requested-With': 'XMLHttpRequest'
                }
            })
            .then(response => response.json())
            .then(data => {
                if (data.success) {
                    console.log('🎵 Logout successful, navigating to login...');
                    
                    // After logout, use regular navigation since user is no longer logged in
                    window.location.href = data.redirect;
                } else {
                    console.error('🎵 Logout failed:', data.message);
                    // Reset buttons
                    logoutBtns.forEach(btn => {
                        btn.innerHTML = '<i class="fas fa-sign-out-alt"></i> Logout';
                        btn.disabled = false;
                    });
                }
            })
            .catch(error => {
                console.error('🎵 Logout error:', error);
                // Reset buttons
                logoutBtns.forEach(btn => {
                    btn.innerHTML = '<i class="fas fa-sign-out-alt"></i> Logout';
                    btn.disabled = false;
                });
                
                // Fallback to regular logout
                window.location.href = '/auth/logout.php';
            });
        };
        
        // Handle return to admin
        window.returnToAdmin = function() {
            console.log('🎵 Returning to admin...');
            
            // Show loading state
            const returnBtns = document.querySelectorAll('[onclick="returnToAdmin()"]');
            returnBtns.forEach(btn => {
                const originalText = btn.innerHTML;
                btn.innerHTML = '<i class="fas fa-spinner fa-spin"></i> Returning...';
                btn.disabled = true;
                
                // Reset after a delay if something goes wrong
                setTimeout(() => {
                    btn.innerHTML = originalText;
                    btn.disabled = false;
                }, 5000);
            });
            
            // Call return to admin via AJAX
            fetch('https://soundstudiopro.com/admin_api.php?action=return_to_admin', {
                method: 'GET',
                headers: {
                    'X-Requested-With': 'XMLHttpRequest'
                },
                credentials: 'same-origin'
            })
            .then(response => response.json())
            .then(data => {
                if (data.success) {
                    console.log('🎵 Return to admin successful, navigating...');
                    window.location.href = '/admin.php';
                } else {
                    console.error('🎵 Return to admin failed:', data.error);
                    // Reset buttons
                    returnBtns.forEach(btn => {
                        btn.innerHTML = '<i class="fas fa-user-shield"></i> Return to Admin';
                        btn.disabled = false;
                    });
                    alert('Error returning to admin: ' + data.error);
                }
            })
            .catch(error => {
                console.error('🎵 Return to admin error:', error);
                // Reset buttons
                returnBtns.forEach(btn => {
                    btn.innerHTML = '<i class="fas fa-user-shield"></i> Return to Admin';
                    btn.disabled = false;
                });
                alert('Error returning to admin. Please try again.');
            });
        };
    
        // Simple Navigation Helper (replaces AJAX navigation)
        const simpleNavigation = {
            // Navigate to a page normally
            navigateTo(page) {
                console.log("🚀 Navigating to:", page);
                window.location.href = page;
            },
            
            // Navigate to artist profile
            navigateToArtistProfile(artistId) {
                console.log("🚀 Navigating to artist profile:", artistId);
                window.location.href = `/artist_profile.php?id=${artistId}`;
            },
            
            // Navigate to track
            navigateToTrack(trackId) {
                console.log("🚀 Navigating to track:", trackId);
                window.location.href = `/track.php?id=${trackId}`;
            },
            
            // Navigate to user profile
            navigateToUserProfile(userId) {
                console.log("🚀 Navigating to user profile:", userId);
                window.location.href = `/user_profile.php?id=${userId}`;
            }
        };
        
        // Make navigation functions globally available
        window.navigateTo = simpleNavigation.navigateTo;
        window.navigateToArtistProfile = simpleNavigation.navigateToArtistProfile;
        window.navigateToTrack = simpleNavigation.navigateToTrack;
        window.navigateToUserProfile = simpleNavigation.navigateToUserProfile;
        
        // Initialize simple navigation
        document.addEventListener("DOMContentLoaded", function() {
            console.log("🚀 Simple navigation system loaded");
            
            // Remove any ajax-nav classes from links
            document.querySelectorAll(".ajax-nav").forEach(link => {
                link.classList.remove("ajax-nav");
                console.log("🚀 Removed ajax-nav class from:", link.href);
            });
        });

        // Global playTrack function - available on all pages
        window.playTrack = function(audioUrl, title, artist) {
            console.log('🎵 Global playTrack called:', { audioUrl, title, artist });
            
            // Validate audio URL
            if (!audioUrl || audioUrl === 'NULL' || audioUrl === 'null') {
                console.error('🎵 INVALID AUDIO URL:', audioUrl);
                return;
            }
            
            // Use the enhanced global player first
            if (typeof window.enhancedGlobalPlayer !== 'undefined' && typeof window.enhancedGlobalPlayer.playTrack === 'function') {
                console.log('🎵 Using enhancedGlobalPlayer.playTrack');
                try {
                    window.enhancedGlobalPlayer.playTrack(audioUrl, title, artist);
                    return;
                } catch (error) {
                    console.error('🎵 enhancedGlobalPlayer.playTrack failed:', error);
                }
            }
            
            // Fallback to basic audio (no auto-play)
            console.log('🎵 Using basic audio fallback (no auto-play)');
            try {
                const audio = new Audio(audioUrl);
                audio.volume = 0.5;
                // Don't auto-play - let user control
                console.log('🎵 Audio ready - user must click play');
            } catch (error) {
                console.error('🎵 Error creating audio element:', error);
            }
        };
</script>
</body>
</html> 

CasperSecurity Mini