import os
import re

def fix_asset_paths(content):
    content = content.replace("assets.surecertificate.com", "assets.knowledgehut.com")
    content = content.replace("d2o2utebsixu4k.surecertificate.net", "d2o2utebsixu4k.cloudfront.net")
    content = content.replace("../assets.knowledgehut.com", "https://assets.knowledgehut.com")
    content = content.replace("../../assets.knowledgehut.com", "https://assets.knowledgehut.com")
    content = content.replace("../d2o2utebsixu4k.cloudfront.net", "https://d2o2utebsixu4k.cloudfront.net")
    content = content.replace("../../d2o2utebsixu4k.cloudfront.net", "https://d2o2utebsixu4k.cloudfront.net")
    return content

def process_file(filepath):
    try:
        with open(filepath, 'r', encoding='utf-8', errors='ignore') as f:
            content = f.read()

        content = content.replace("KnowledgeHut", "SureCertificate")
        content = content.replace("knowledgehut", "surecertificate")
        content = content.replace("Knowledgehut", "Surecertificate")
        content = content.replace("upGrad", "")
        content = content.replace(" SureCertificate", "SureCertificate")
        content = content.replace("@surecertificate", "info@surecertificate.online")
        
        content = fix_asset_paths(content)

        # FIXED REGEX: No backtracking
        content = re.sub(r'href="([^"]+)\.html"', r'href="\1.php"', content)

        # Fast split without regex matching the whole file
        header_split = content.split('</header>', 1)
        if len(header_split) == 2:
            header_php = "<?php include $_SERVER['DOCUMENT_ROOT'] . '/header.php'; ?>\n"
            content = header_php + header_split[1]

        footer_split = content.split('<footer', 1)
        if len(footer_split) == 2:
            footer_php = "\n<?php include $_SERVER['DOCUMENT_ROOT'] . '/footer.php'; ?>\n"
            content = footer_split[0] + footer_php
            
        return content
    except Exception as e:
        return None

count = 0
for dirpath, dirnames, filenames in os.walk("."):
    for filename in filenames:
        if filename.endswith(".html"):
            filepath = os.path.join(dirpath, filename)
            new_content = process_file(filepath)
            if new_content:
                new_filepath = filepath[:-5] + ".php"
                with open(new_filepath, 'w', encoding='utf-8') as f:
                    f.write(new_content)
                os.remove(filepath)
                count += 1

# Also fix the global header.php and footer.php we already generated
for core_file in ["header.php", "footer.php", "index.php"]:
    if os.path.exists(core_file):
        with open(core_file, 'r', encoding='utf-8', errors='ignore') as f:
             c = f.read()
        c = fix_asset_paths(c)
        c = re.sub(r'href="([^"]+)\.html"', r'href="\1.php"', c)
        with open(core_file, 'w', encoding='utf-8') as f:
             f.write(c)

print(f"All {count} course files successfully converted to PHP, layout and structure preserved!")
