import re
import os

filepath = r'c:\AION\CATALOGO 44\modelo.catalogo44.com.br\nova\index.php'
with open(filepath, 'r', encoding='utf-8') as f:
    content = f.read()

sections = {
    'banners': (r'<!-- ══ CARROSSEL DE BANNERS ══.*?-->', r'<!-- ══ FIM CARROSSEL DE BANNERS ══.*?-->'),
    'contatos': (r'<!-- ══ CONTATOS RÁPIDOS ══.*?-->', r'<!-- ══ FIM CONTATOS RÁPIDOS ══.*?-->'),
    'destaques': (r'<!-- ══ DESTAQUES / LANÇAMENTOS ══.*?-->', r'<!-- ══ FIM DESTAQUES / LANÇAMENTOS ══.*?-->'),
    'typewriter': (r'<!-- ══ FRASE ANIMADA \(TYPEWRITER\) ══.*?-->', r'<!-- ══ FIM FRASE ANIMADA \(TYPEWRITER\) ══.*?-->'),
    'promocoes': (r'<!-- ══ PROMOÇÕES ══.*?-->', r'<!-- ══ FIM PROMOÇÕES ══.*?-->'),
    'produtos_por_categoria': (r'<!-- ══ LISTAGEM DE PRODUTOS POR CATEGORIA ══.*?-->', r'<!-- ══ FIM LISTAGEM DE PRODUTOS POR CATEGORIA ══.*?-->'),
    'depoimentos': (r'<!-- ══ DEPOIMENTOS DE CLIENTES ══.*?-->', r'<!-- ══ FIM DEPOIMENTOS DE CLIENTES ══.*?-->'),
    'grade_categorias': (r'<!-- ══ GRADE DE DEPARTAMENTOS / CATEGORIAS ══.*?-->', r'<!-- ══ FIM GRADE DE DEPARTAMENTOS / CATEGORIAS ══.*?-->'),
    'quem_somos': (r'<!-- ══ QUEM SOMOS \(ARANTES TECNOLOGIA\) ══.*?-->', r'<!-- ══ FIM QUEM SOMOS \(ARANTES TECNOLOGIA\) ══.*?-->'),
    'oferta': (r'<!-- ══ CHAMADA PARA AÇÃO \(OFERTA EXCLUSIVA\) ══.*?-->', r'<!-- ══ FIM CHAMADA PARA AÇÃO \(OFERTA EXCLUSIVA\) ══.*?-->'),
    'newsletter': (r'<!-- ══ NEWSLETTER ══.*?-->', r'<!-- ══ FIM NEWSLETTER ══.*?-->'),
}

os.makedirs('components/secoes', exist_ok=True)

new_content = content
for name, (start_pattern, end_pattern) in sections.items():
    pattern = re.compile(f'({start_pattern}.*?{end_pattern})', re.DOTALL | re.IGNORECASE)
    match = pattern.search(content)
    if match:
        section_content = match.group(1)
        with open(f'components/secoes/{name}.php', 'w', encoding='utf-8') as sf:
            sf.write(section_content)
        # Replace the section with a placeholder for now
        new_content = new_content.replace(section_content, f'###PLACEHOLDER_{name}###')
    else:
        print(f"Could not find section {name}")

# Now, we want to replace the first placeholder with the new dynamic inclusion logic,
# and remove all other placeholders.
dynamic_inclusion = """
<!-- ========================================== -->
<!-- SEÇÕES DINÂMICAS DA HOME -->
<!-- ========================================== -->
<?php
// Buscar ordem das seções no banco ou usar fallback
$ordem_secoes_str = 'banners,contatos,destaques,typewriter,promocoes,produtos_por_categoria,depoimentos,grade_categorias,quem_somos,oferta,newsletter';

$sql_ordem = "SELECT valor FROM configuracoes WHERE chave = 'ordem_secoes'";
$res_ordem = $conn->query($sql_ordem);
if ($res_ordem && $res_ordem->num_rows > 0) {
    $row_ordem = $res_ordem->fetch_assoc();
    if (!empty($row_ordem['valor'])) {
        $ordem_secoes_str = $row_ordem['valor'];
    }
}

$secoes = explode(',', $ordem_secoes_str);

foreach ($secoes as $secao) {
    $secao = trim($secao);
    $arquivo = __DIR__ . "/components/secoes/{$secao}.php";
    if (file_exists($arquivo)) {
        include $arquivo;
    }
}
?>
<!-- ========================================== -->
"""

first_replaced = False
lines = new_content.split('\n')
final_lines = []
for line in lines:
    if '###PLACEHOLDER_' in line:
        if not first_replaced:
            final_lines.append(dynamic_inclusion)
            first_replaced = True
    else:
        final_lines.append(line)

with open(filepath, 'w', encoding='utf-8') as f:
    f.write('\n'.join(final_lines))

print("Extraction and replacement successful.")
