Cleanup: Remoción masiva de restos de WordPress y consolidación de archivos GKACHELE™

This commit is contained in:
komkida91
2026-01-27 18:00:16 +01:00
parent d9aad67066
commit 7083aa3893
874 changed files with 137670 additions and 137443 deletions

View File

@@ -30,6 +30,7 @@ def scan_available_themes():
'name': config.get('name', theme_dir),
'description': config.get('description', ''),
'rubro': config.get('rubro', 'general'),
'plan': config.get('plan', 'base'),
'sections': config.get('sections', []),
'colors': config.get('colors', {}),
'typography': config.get('typography', {}),
@@ -55,10 +56,19 @@ def get_theme_config(theme_id):
print(f"⚠️ Error cargando config de {theme_id}: {e}")
return None
def get_themes_by_rubro(rubro):
"""Obtener templates filtrados por rubro"""
def get_themes_by_rubro(rubro, user_plan='base'):
"""Obtener templates filtrados por rubro y plan del usuario"""
all_themes = scan_available_themes()
return {k: v for k, v in all_themes.items() if v.get('rubro') == rubro or v.get('rubro') == 'general'}
plan_priority = {'base': 1, 'pro': 2, 'premium': 3}
user_level = plan_priority.get(user_plan, 1)
filtered_themes = {}
for k, v in all_themes.items():
theme_level = plan_priority.get(v.get('plan', 'base'), 1)
# Solo mostrar temas del rubro (o general) que estén dentro del plan del usuario
if (v.get('rubro') == rubro or v.get('rubro') == 'general') and theme_level <= user_level:
filtered_themes[k] = v
return filtered_themes
def get_site_menus(site_id, user_id):
"""Obtener menús del sitio organizados por ubicación"""
@@ -175,5 +185,20 @@ def render_gkachele_template(theme, content, site_id=None, user_id=None):
return template.render(**template_data)
full_template = header + theme_template + sidebar + footer
template = Template(full_template)
# Inject WhatsApp Button if configured
whatsapp = content.get('redes_sociales', {}).get('whatsapp')
if whatsapp:
wa_html = f'''
<a href="https://wa.me/{whatsapp}" class="whatsapp-float" target="_blank" style="position:fixed; width:60px; height:60px; bottom:40px; right:40px; background-color:#25d366; color:#FFF; border-radius:50px; text-align:center; font-size:30px; box-shadow: 2px 2px 3px #999; z-index:10000; display:flex; align-items:center; justify-content:center; text-decoration:none;">
<i class="fab fa-whatsapp"></i>
</a>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
'''
if is_full_page:
theme_template = theme_template.replace('</body>', wa_html + '</body>')
else:
footer = footer.replace('</body>', wa_html + '</body>')
template = Template(theme_template if is_full_page else header + theme_template + sidebar + footer)
return template.render(**template_data)