![]() 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/public_html/utils/ |
<?php
/**
* COMPREHENSIVE COLOR SCHEME FIXER
* This script audits and fixes ALL pages to use CSS variables
*/
// Set error reporting
error_reporting(E_ALL);
ini_set('display_errors', 1);
echo "đ¨ COMPREHENSIVE COLOR SCHEME FIXER\n";
echo "=====================================\n\n";
// Define all PHP files to check and fix
$files_to_fix = [
// Main pages
'index.php',
'create_music.php',
'artists.php',
'dashboard.php',
'community.php',
'library.php',
'artist_profile.php',
'bands.php',
'pricing.php',
'winamp_player.php',
'player.php',
'dashboard_new.php',
'create.php',
// Auth pages
'auth/login.php',
'auth/register.php',
'auth/login_new.php',
'auth/register_new.php',
// API/Backend pages
'api.php',
'callback.php',
'get_result.php',
'monitor_track.php',
// Other pages
'profile_settings.php',
'band_profile.php',
'audiofiles.php',
'audiofiles_public.php'
];
// Define color patterns to replace
$color_patterns = [
// Hardcoded gradients
'linear-gradient\(135deg,\s*#0a0a0a\s*0%,\s*#1a1a1a\s*50%,\s*#0a0a0a\s*100%\)' => 'var(--bg-primary)',
'linear-gradient\(135deg,\s*#1a1a1a\s*0%,\s*#2d2d2d\s*100%\)' => 'var(--bg-secondary)',
'linear-gradient\(135deg,\s*#667eea\s*0%,\s*#764ba2\s*100%\)' => 'var(--primary-gradient)',
'linear-gradient\(135deg,\s*#4facfe\s*0%,\s*#00f2fe\s*100%\)' => 'var(--primary-gradient)',
'linear-gradient\(135deg,\s*#f093fb\s*0%,\s*#f5576c\s*100%\)' => 'var(--secondary-gradient)',
'linear-gradient\(135deg,\s*#a8edea\s*0%,\s*#fed6e3\s*100%\)' => 'var(--secondary-gradient)',
'linear-gradient\(135deg,\s*#ffecd2\s*0%,\s*#fcb69f\s*100%\)' => 'var(--accent-gradient)',
// Hardcoded colors
'#667eea' => 'var(--text-accent)',
'#764ba2' => 'var(--text-accent)',
'#4facfe' => 'var(--text-accent)',
'#00f2fe' => 'var(--text-accent)',
'#f093fb' => 'var(--text-accent)',
'#f5576c' => 'var(--text-accent)',
'#a8edea' => 'var(--text-accent)',
'#fed6e3' => 'var(--text-accent)',
'#ffecd2' => 'var(--text-accent)',
'#fcb69f' => 'var(--text-accent)',
// Background colors
'#0a0a0a' => 'var(--bg-primary)',
'#1a1a1a' => 'var(--bg-secondary)',
'#2d2d2d' => 'var(--bg-tertiary)',
'#ffffff' => 'var(--bg-card)',
'#f8fafc' => 'var(--bg-primary)',
'#f1f5f9' => 'var(--bg-tertiary)',
// Text colors
'#ffffff' => 'var(--text-primary)',
'#a0aec0' => 'var(--text-secondary)',
'#718096' => 'var(--text-muted)',
'#4a5568' => 'var(--text-light)',
'#1e293b' => 'var(--text-primary)',
'#475569' => 'var(--text-secondary)',
'#64748b' => 'var(--text-muted)',
'#94a3b8' => 'var(--text-light)',
// Border colors
'rgba\(255,\s*255,\s*255,\s*0\.1\)' => 'var(--border-light)',
'rgba\(255,\s*255,\s*255,\s*0\.2\)' => 'var(--border-medium)',
'rgba\(102,\s*126,\s*234,\s*0\.3\)' => 'var(--border-accent)',
'rgba\(102,\s*126,\s*234,\s*0\.2\)' => 'var(--border-accent)',
'rgba\(148,\s*163,\s*184,\s*0\.2\)' => 'var(--border-light)',
'rgba\(148,\s*163,\s*184,\s*0\.3\)' => 'var(--border-medium)',
// Shadow colors
'rgba\(0,\s*0,\s*0,\s*0\.1\)' => 'rgba(0, 0, 0, 0.3)',
'rgba\(0,\s*0,\s*0,\s*0\.2\)' => 'rgba(0, 0, 0, 0.3)',
'rgba\(102,\s*126,\s*234,\s*0\.4\)' => 'var(--shadow-heavy)',
'rgba\(102,\s*126,\s*234,\s*0\.2\)' => 'var(--shadow-medium)',
'rgba\(102,\s*126,\s*234,\s*0\.1\)' => 'var(--shadow-light)',
// Glow colors
'rgba\(102,\s*126,\s*234,\s*0\.5\)' => 'var(--glow-primary)',
'rgba\(118,\s*75,\s*162,\s*0\.8\)' => 'var(--glow-secondary)',
'rgba\(102,\s*126,\s*234,\s*0\.3\)' => 'var(--glow-accent)',
// Background overlays
'rgba\(255,\s*255,\s*255,\s*0\.05\)' => 'var(--bg-card)',
'rgba\(255,\s*255,\s*255,\s*0\.1\)' => 'var(--bg-card)',
'rgba\(0,\s*0,\s*0,\s*0\.8\)' => 'var(--bg-overlay)',
'rgba\(0,\s*0,\s*0,\s*0\.3\)' => 'var(--bg-overlay)',
// Specific patterns for different elements
'background:\s*white' => 'background: var(--text-primary)',
'color:\s*white' => 'color: var(--text-primary)',
'border-color:\s*white' => 'border-color: var(--text-primary)',
// Button patterns
'background:\s*#667eea' => 'background: var(--primary-gradient)',
'background:\s*#764ba2' => 'background: var(--primary-gradient)',
'background:\s*#4facfe' => 'background: var(--primary-gradient)',
// Card patterns
'background:\s*#ffffff' => 'background: var(--bg-card)',
'background:\s*#f8fafc' => 'background: var(--bg-primary)',
'background:\s*#1a1a1a' => 'background: var(--bg-secondary)',
];
// Define specific element patterns to ensure coverage
$element_patterns = [
// Buttons
'\.btn\s*\{[^}]*background:\s*[^;]+;' => '.btn { background: var(--primary-gradient);',
'\.btn-primary\s*\{[^}]*background:\s*[^;]+;' => '.btn-primary { background: var(--primary-gradient);',
'\.btn-secondary\s*\{[^}]*background:\s*[^;]+;' => '.btn-secondary { background: var(--bg-card);',
// Cards
'\.card\s*\{[^}]*background:\s*[^;]+;' => '.card { background: var(--bg-card);',
'\.artist-card\s*\{[^}]*background:\s*[^;]+;' => '.artist-card { background: var(--bg-card);',
'\.track-card\s*\{[^}]*background:\s*[^;]+;' => '.track-card { background: var(--bg-card);',
'\.stat-card\s*\{[^}]*background:\s*[^;]+;' => '.stat-card { background: var(--bg-card);',
// Forms
'\.form-input\s*\{[^}]*background:\s*[^;]+;' => '.form-input { background: var(--bg-secondary);',
'\.form-textarea\s*\{[^}]*background:\s*[^;]+;' => '.form-textarea { background: var(--bg-secondary);',
'\.form-select\s*\{[^}]*background:\s*[^;]+;' => '.form-select { background: var(--bg-secondary);',
// Headers
'\.header\s*\{[^}]*background:\s*[^;]+;' => '.header { background: var(--bg-header);',
'\.nav\s*\{[^}]*background:\s*[^;]+;' => '.nav { background: var(--bg-header);',
// Players
'\.player\s*\{[^}]*background:\s*[^;]+;' => '.player { background: var(--bg-card);',
'\.winamp-container\s*\{[^}]*background:\s*[^;]+;' => '.winamp-container { background: var(--bg-secondary);',
// Progress bars
'\.progress-bar\s*\{[^}]*background:\s*[^;]+;' => '.progress-bar { background: var(--border-light);',
'\.progress-fill\s*\{[^}]*background:\s*[^;]+;' => '.progress-fill { background: var(--primary-gradient);',
];
function fixFileColors($filepath) {
global $color_patterns, $element_patterns;
if (!file_exists($filepath)) {
echo "â File not found: $filepath\n";
return false;
}
echo "đ§ Fixing: $filepath\n";
// Read file content
$content = file_get_contents($filepath);
$original_content = $content;
$changes_made = 0;
// Apply color pattern replacements
foreach ($color_patterns as $pattern => $replacement) {
$new_content = preg_replace("/$pattern/i", $replacement, $content, -1, $count);
if ($count > 0) {
$changes_made += $count;
$content = $new_content;
}
}
// Apply element pattern replacements
foreach ($element_patterns as $pattern => $replacement) {
$new_content = preg_replace("/$pattern/i", $replacement, $content, -1, $count);
if ($count > 0) {
$changes_made += $count;
$content = $new_content;
}
}
// Additional comprehensive fixes
$additional_fixes = [
// Ensure all text colors use variables
'/color:\s*#[0-9a-fA-F]{3,6};/i' => 'color: var(--text-primary);',
'/color:\s*#[0-9a-fA-F]{3,6}\s*;/i' => 'color: var(--text-primary);',
// Ensure all backgrounds use variables
'/background:\s*#[0-9a-fA-F]{3,6};/i' => 'background: var(--bg-card);',
'/background:\s*#[0-9a-fA-F]{3,6}\s*;/i' => 'background: var(--bg-card);',
// Ensure all borders use variables
'/border-color:\s*#[0-9a-fA-F]{3,6};/i' => 'border-color: var(--border-light);',
'/border-color:\s*#[0-9a-fA-F]{3,6}\s*;/i' => 'border-color: var(--border-light);',
// Fix box-shadow patterns
'/box-shadow:\s*0\s*[0-9]+px\s*[0-9]+px\s*rgba\([^)]+\)/i' => 'box-shadow: var(--shadow-medium)',
'/box-shadow:\s*0\s*[0-9]+px\s*[0-9]+px\s*[0-9]+px\s*rgba\([^)]+\)/i' => 'box-shadow: var(--shadow-heavy)',
];
foreach ($additional_fixes as $pattern => $replacement) {
$new_content = preg_replace($pattern, $replacement, $content, -1, $count);
if ($count > 0) {
$changes_made += $count;
$content = $new_content;
}
}
// Write back to file if changes were made
if ($content !== $original_content) {
file_put_contents($filepath, $content);
echo "â
Fixed $changes_made color references\n";
return true;
} else {
echo "âšī¸ No changes needed\n";
return false;
}
}
function addHeaderInclude($filepath) {
if (!file_exists($filepath)) {
return false;
}
$content = file_get_contents($filepath);
// Check if file already includes header
if (strpos($content, 'include') !== false && strpos($content, 'header.php') !== false) {
return false;
}
// Check if it's a PHP file that needs header
if (pathinfo($filepath, PATHINFO_EXTENSION) === 'php' &&
strpos($content, '<!DOCTYPE html>') !== false) {
echo "đ§ Adding header include to: $filepath\n";
// Find the position after DOCTYPE and add header include
$header_include = "<?php\n// Include header for color scheme\ninclude 'includes/header.php';\n?>\n";
// Insert header include after DOCTYPE
$content = preg_replace(
'/(<!DOCTYPE html>)/',
"$1\n$header_include",
$content,
1
);
file_put_contents($filepath, $content);
echo "â
Added header include\n";
return true;
}
return false;
}
function createComprehensiveCSSFile() {
$css_content = "/* COMPREHENSIVE COLOR SCHEME CSS */\n";
$css_content .= "/* This file ensures ALL elements use CSS variables */\n\n";
$css_content .= "/* Global element overrides */\n";
$css_content .= "* {\n";
$css_content .= " transition: all 0.3s ease;\n";
$css_content .= "}\n\n";
$css_content .= "/* Button overrides */\n";
$css_content .= ".btn, .btn-primary, .btn-secondary, button, input[type='submit'], input[type='button'] {\n";
$css_content .= " background: var(--primary-gradient) !important;\n";
$css_content .= " color: var(--text-primary) !important;\n";
$css_content .= " border-color: var(--border-light) !important;\n";
$css_content .= "}\n\n";
$css_content .= "/* Card overrides */\n";
$css_content .= ".card, .artist-card, .track-card, .stat-card, .pricing-card, .band-card {\n";
$css_content .= " background: var(--bg-card) !important;\n";
$css_content .= " border-color: var(--border-light) !important;\n";
$css_content .= " color: var(--text-primary) !important;\n";
$css_content .= "}\n\n";
$css_content .= "/* Form overrides */\n";
$css_content .= "input, textarea, select, .form-input, .form-textarea, .form-select {\n";
$css_content .= " background: var(--bg-secondary) !important;\n";
$css_content .= " color: var(--text-primary) !important;\n";
$css_content .= " border-color: var(--border-light) !important;\n";
$css_content .= "}\n\n";
$css_content .= "/* Player overrides */\n";
$css_content .= ".player, .winamp-container, .audio-player, .music-player {\n";
$css_content .= " background: var(--bg-secondary) !important;\n";
$css_content .= " border-color: var(--border-light) !important;\n";
$css_content .= "}\n\n";
$css_content .= "/* Progress bar overrides */\n";
$css_content .= ".progress-bar, .progress-container {\n";
$css_content .= " background: var(--border-light) !important;\n";
$css_content .= "}\n\n";
$css_content .= ".progress-fill, .progress-bar-fill {\n";
$css_content .= " background: var(--primary-gradient) !important;\n";
$css_content .= "}\n\n";
$css_content .= "/* Text overrides */\n";
$css_content .= "h1, h2, h3, h4, h5, h6, .title, .heading {\n";
$css_content .= " color: var(--text-primary) !important;\n";
$css_content .= "}\n\n";
$css_content .= "p, span, div, .text, .content {\n";
$css_content .= " color: var(--text-secondary) !important;\n";
$css_content .= "}\n\n";
$css_content .= "/* Background overrides */\n";
$css_content .= "body, .body, .main, .container, .wrapper {\n";
$css_content .= " background: var(--bg-primary) !important;\n";
$css_content .= "}\n\n";
$css_content .= "/* Shadow overrides */\n";
$css_content .= ".shadow, .card, .btn, .player {\n";
$css_content .= " box-shadow: var(--shadow-light) !important;\n";
$css_content .= "}\n\n";
$css_content .= "/* Glow overrides */\n";
$css_content .= ".glow, .title, .logo {\n";
$css_content .= " filter: var(--glow-primary) !important;\n";
$css_content .= "}\n\n";
file_put_contents('comprehensive_colors.css', $css_content);
echo "â
Created comprehensive_colors.css\n";
}
// Main execution
echo "đ Starting comprehensive color scheme fix...\n\n";
$total_fixed = 0;
$total_files = 0;
// Fix all PHP files
foreach ($files_to_fix as $file) {
$total_files++;
if (fixFileColors($file)) {
$total_fixed++;
}
// Add header include if needed
addHeaderInclude($file);
echo "\n";
}
// Create comprehensive CSS file
createComprehensiveCSSFile();
// Create a script to include the comprehensive CSS
$include_script = "<?php\n";
$include_script .= "// Add this to your header.php to ensure ALL elements use color variables\n";
$include_script .= "echo '<link rel=\"stylesheet\" href=\"/comprehensive_colors.css\">';\n";
$include_script .= "?>\n";
file_put_contents('include_comprehensive_colors.php', $include_script);
echo "đ COMPREHENSIVE COLOR FIX COMPLETE!\n";
echo "=====================================\n";
echo "đ Files processed: $total_files\n";
echo "đ§ Files fixed: $total_fixed\n";
echo "đ Created comprehensive_colors.css\n";
echo "đ Created include_comprehensive_colors.php\n\n";
echo "đ NEXT STEPS:\n";
echo "1. Add this line to your header.php:\n";
echo " include 'include_comprehensive_colors.php';\n\n";
echo "2. Or manually add this to your header:\n";
echo " <link rel=\"stylesheet\" href=\"/comprehensive_colors.css\">\n\n";
echo "3. Test the color picker on all pages\n";
echo "4. Verify all elements change with theme\n\n";
echo "⨠Your entire site now uses Feng Shui color harmony!\n";
?>