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': ('CARROSSEL DE BANNERS', 'FIM CARROSSEL DE BANNERS'),
    'contatos': ('CONTATOS RÁPIDOS', 'FIM CONTATOS RÁPIDOS'),
    'destaques': ('DESTAQUES / LANÇAMENTOS', 'FIM DESTAQUES / LANÇAMENTOS'),
    'typewriter': ('FRASE ANIMADA (TYPEWRITER)', 'FIM FRASE ANIMADA (TYPEWRITER)'),
    'promocoes': ('PROMOÇÕES', 'FIM PROMOÇÕES'),
    'produtos_por_categoria': ('LISTAGEM DE PRODUTOS POR CATEGORIA', 'FIM LISTAGEM DE PRODUTOS POR CATEGORIA'),
    'depoimentos': ('DEPOIMENTOS DE CLIENTES', 'FIM DEPOIMENTOS DE CLIENTES'),
    'grade_categorias': ('GRADE DE DEPARTAMENTOS / CATEGORIAS', 'FIM GRADE DE DEPARTAMENTOS / CATEGORIAS'),
    'quem_somos': ('QUEM SOMOS (ARANTES TECNOLOGIA)', 'FIM QUEM SOMOS (ARANTES TECNOLOGIA)'),
    'oferta': ('CHAMADA PARA AÇÃO (OFERTA EXCLUSIVA)', 'FIM CHAMADA PARA AÇÃO (OFERTA EXCLUSIVA)'),
    'newsletter': ('NEWSLETTER', 'FIM NEWSLETTER'),
}

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

new_content = content

for key, (start_name, end_name) in sections.items():
    escaped_start = re.escape(start_name)
    escaped_end = re.escape(end_name)
    
    # In some places, accents might be mismatched (like LANÇAMENTOS vs LANAMENTOS in the command output earlier)
    # The output earlier was probably just an encoding issue on stdout, but let's be safe.
    
    pattern = re.compile(f'(<!-- ══ {escaped_start} ══.*?-->.*?<!-- ══ {escaped_end} ══.*?-->)', re.DOTALL | re.IGNORECASE)
    
    match = pattern.search(content)
    if match:
        section_content = match.group(1)
        with open(f'components/secoes/{key}.php', 'w', encoding='utf-8') as sf:
            sf.write(section_content)
        new_content = new_content.replace(section_content, f'###PLACEHOLDER_{key}###')
    else:
        print(f'Failed to find {key}')

# Replace 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('Done')
