<?php 
// scripts/add_namespace.php 
// Adds the Hypertool\Html namespace to all PHP class files in src/ 
 
$namespace = "Hypertool\\Html"; 
$srcDir = __DIR__ . '/../src'; 
$excludeFiles = [ 
    'Html.php', // Handle separately due to static factory methods needing updates 
    'html_elements_master_list.php', 
    'check_missing_elements.php', 
    'generate_missing_elements.php', 
    'add_usage_examples.php', 
    'ScriptIncludes.php', // Assuming these might not need the namespace or are handled differently 
    'ScriptManager.php' 
]; 
 
$files = glob("$srcDir/*.php"); 
 
foreach ($files as $file) { 
    $basename = basename($file); 
    if (in_array($basename, $excludeFiles)) { 
        echo "Skipping: $basename\n"; 
        continue; 
    } 
 
    $content = file_get_contents($file); 
 
    // Check if namespace already exists 
    if (strpos($content, "namespace $namespace;") !== false) { 
        echo "Namespace already exists in: $basename\n"; 
        continue; 
    } 
 
    // Prepend namespace after <?php 
    $newContent = preg_replace('/^<\?php\s*/', "<?php\n\nnamespace $namespace;\n\n", $content, 1); 
 
    if ($newContent !== $content) { 
        file_put_contents($file, $newContent); 
        echo "Added namespace to: $basename\n"; 
    } else { 
        echo "Could not add namespace to: $basename (Maybe no <?php tag?)\n"; 
    } 
} 
 
// Handle Html.php, ScriptIncludes.php, ScriptManager.php separately 
foreach (['Html.php', 'ScriptIncludes.php', 'ScriptManager.php'] as $specialFile) { 
     $filePath = $srcDir . '/' . $specialFile; 
     if (!file_exists($filePath)) continue; 
 
     $content = file_get_contents($filePath); 
     if (strpos($content, "namespace $namespace;") !== false) { 
        echo "Namespace already exists in: $specialFile\n"; 
        continue; 
     } 
     $newContent = preg_replace('/^<\?php\s*/', "<?php\n\nnamespace $namespace;\n\n", $content, 1); 
     if ($newContent !== $content) { 
        file_put_contents($filePath, $newContent); 
        echo "Added namespace to: $specialFile\n"; 
     } else { 
        echo "Could not add namespace to: $specialFile\n"; 
     } 
} 
 
 
echo "Namespace script finished.\n"; 
?>
 
 |