yazrkisvs3vvvsv33svrhetrjsvyvsvvyjsvsvs
tavsuysvssvvjvvyjyjkvsvqd
qfogsvvsvsegjdgdfgdskhgdksvqsvshdqsd
<?php
require_once __DIR__ . '/auth.php';
requireLogin();

if ($_SERVER['REQUEST_METHOD'] === 'POST' && ($_POST['_accion'] ?? '') === 'eliminar') {
    csrf_check();
    $db = getDB();
    $db->prepare("DELETE FROM dimark_influencers WHERE id=?")->execute([intval($_POST['id'] ?? 0)]);
    header('Location: influencers.php'); exit;
}

$page_title    = 'Influencers';
$page_subtitle = '10% mensual recurrente por cliente activo';
ob_start(); ?>
<a href="influencers.php?nuevo=1" class="btn btn-primary"><i class="ti ti-plus"></i> Nuevo</a>
<?php $page_actions = ob_get_clean();
require_once 'layout.php';
$db = getDB();

$precios_plan = ['desafiante'=>18,'confiado'=>21,'dinamico'=>28];

if ($_SERVER['REQUEST_METHOD']==='POST') {
    csrf_check();
    $id           = intval($_POST['id']??0);
    $plan_prom    = $_POST['plan_promedio'] ?? 'confiado';
    $clientes_gen = intval($_POST['clientes_generados'] ?? 0);
    $comision     = $clientes_gen * ($precios_plan[$plan_prom] ?? 21);
    $codigo       = 'INF-'.strtoupper(substr(md5(uniqid()),0,6));

    if ($id>0) {
        $db->prepare("UPDATE dimark_influencers SET nombre=?,cuenta=?,plataforma=?,sector=?,seguidores=?,estado=?,plan_promedio=?,clientes_generados=?,comision_mensual=?,notas=? WHERE id=?")
           ->execute([clean($_POST['nombre']??''),clean($_POST['cuenta']??''),$_POST['plataforma']??'instagram',$_POST['sector']??'general',intval($_POST['seguidores']??0),$_POST['estado']??'prospecto',$plan_prom,$clientes_gen,$comision,clean($_POST['notas']??''),$id]);
    } else {
        $db->prepare("INSERT INTO dimark_influencers (nombre,cuenta,plataforma,sector,seguidores,estado,codigo_unico,plan_promedio,clientes_generados,comision_mensual,notas) VALUES (?,?,?,?,?,?,?,?,?,?,?)")
           ->execute([clean($_POST['nombre']??''),clean($_POST['cuenta']??''),$_POST['plataforma']??'instagram',$_POST['sector']??'general',intval($_POST['seguidores']??0),$_POST['estado']??'prospecto',$codigo,$plan_prom,$clientes_gen,$comision,clean($_POST['notas']??'')]);
    }
    header('Location: influencers.php'); exit;
}

$nuevo   = isset($_GET['nuevo']);
$edit_id = intval($_GET['edit']??0);
$editing = null;
if ($edit_id) { $stmt=$db->prepare("SELECT * FROM dimark_influencers WHERE id=?"); $stmt->execute([$edit_id]); $editing=$stmt->fetch(); }

$influencers    = $db->query("SELECT * FROM dimark_influencers ORDER BY FIELD(estado,'activo','en_contacto','prospecto','inactivo'), clientes_generados DESC")->fetchAll();
$total_comision = $db->query("SELECT COALESCE(SUM(comision_mensual),0) FROM dimark_influencers WHERE estado='activo'")->fetchColumn();

$plataformas  = ['instagram'=>'Instagram','tiktok'=>'TikTok','youtube'=>'YouTube','linkedin'=>'LinkedIn','otro'=>'Otro'];
$sectores_inf = ['hoteles'=>'🏨 Hoteles','clinicas'=>'🏥 Clínicas','inmobiliarias'=>'🏢 Inmobiliarias','ecommerce'=>'🛒 Ecommerce','servicios'=>'⚙️ Servicios','general'=>'General'];
$estados_inf  = ['prospecto'=>'Prospecto','en_contacto'=>'En contacto','activo'=>'Activo','inactivo'=>'Inactivo'];
$planes_inf   = ['desafiante'=>'Desafiante ($18)','confiado'=>'Confiado ($21)','dinamico'=>'Dinámico ($28)'];
$est_badge    = ['prospecto'=>'b-gray','en_contacto'=>'b-amber','activo'=>'b-green','inactivo'=>'b-red'];
$plat_badge   = ['instagram'=>'b-purple','tiktok'=>'b-red','youtube'=>'b-coral','linkedin'=>'b-blue','otro'=>'b-gray'];
?>

<?php if($nuevo||$editing): ?>
<form method="POST" style="max-width:640px">
  <input type="hidden" name="_csrf" value="<?= csrf_token() ?>">
  <input type="hidden" name="id" value="<?=intval($editing['id']??0)?>">
  <div class="card" style="margin-bottom:12px">
    <div class="section-label" style="margin-top:0">Datos del influencer</div>
    <div class="form-row">
      <div class="form-group"><label>Nombre / Cuenta *</label><input type="text" name="nombre" value="<?=clean($editing['nombre']??'')?>" required placeholder="@cuenta o nombre real"></div>
      <div class="form-group"><label>Handle / URL</label><input type="text" name="cuenta" value="<?=clean($editing['cuenta']??'')?>" placeholder="@handle o enlace al perfil"></div>
    </div>
    <div class="form-row">
      <div class="form-group"><label>Plataforma</label>
        <select name="plataforma"><?php foreach($plataformas as $k=>$v): ?><option value="<?=$k?>" <?=($editing['plataforma']??'')===$k?'selected':''?>><?=$v?></option><?php endforeach; ?></select>
      </div>
      <div class="form-group"><label>Sector foco</label>
        <select name="sector"><?php foreach($sectores_inf as $k=>$v): ?><option value="<?=$k?>" <?=($editing['sector']??'general')===$k?'selected':''?>><?=$v?></option><?php endforeach; ?></select>
      </div>
    </div>
    <div class="form-row">
      <div class="form-group"><label>Seguidores aprox.</label><input type="number" name="seguidores" value="<?=intval($editing['seguidores']??0)?>" placeholder="25000"></div>
      <div class="form-group"><label>Estado</label>
        <select name="estado"><?php foreach($estados_inf as $k=>$v): ?><option value="<?=$k?>" <?=($editing['estado']??'prospecto')===$k?'selected':''?>><?=$v?></option><?php endforeach; ?></select>
      </div>
    </div>
    <div class="form-row">
      <div class="form-group">
        <label>Plan promedio que cierra</label>
        <select name="plan_promedio"><?php foreach($planes_inf as $k=>$v): ?><option value="<?=$k?>" <?=($editing['plan_promedio']??'confiado')===$k?'selected':''?>><?=$v?></option><?php endforeach; ?></select>
        <div style="font-size:11px;color:var(--muted);margin-top:4px">Comisión = clientes × precio plan</div>
      </div>
      <div class="form-group"><label>Clientes generados</label><input type="number" name="clientes_generados" value="<?=intval($editing['clientes_generados']??0)?>" min="0"></div>
    </div>
    <div class="form-group"><label>Notas</label><textarea name="notas" placeholder="Temas que cubre, tipo de audiencia, condiciones..."><?=clean($editing['notas']??'')?></textarea></div>
  </div>
  <div style="display:flex;gap:10px">
    <button type="submit" class="btn btn-primary"><i class="ti ti-check"></i> Guardar</button>
    <a href="influencers.php" class="btn">Cancelar</a>
  </div>
</form>

<?php else: ?>

<div class="metrics-grid">
  <div class="metric"><div class="metric-n"><?=count($influencers)?></div><div class="metric-l">Total influencers</div></div>
  <div class="metric"><div class="metric-n green"><?=count(array_filter($influencers,fn($i)=>$i['estado']==='activo'))?></div><div class="metric-l">Activos</div></div>
  <div class="metric"><div class="metric-n"><?=array_sum(array_column($influencers,'clientes_generados'))?></div><div class="metric-l">Clientes generados</div></div>
  <div class="metric"><div class="metric-n green">$<?=number_format($total_comision,0)?></div><div class="metric-l">Comisiones/mes (USD)</div></div>
</div>

<div class="table-wrap">
<table>
<thead><tr>
  <th style="width:20%">Influencer</th>
  <th style="width:11%">Plataforma</th>
  <th style="width:12%">Sector</th>
  <th style="width:9%">Seguidores</th>
  <th style="width:9%">Estado</th>
  <th style="width:9%">Código</th>
  <th style="width:8%">Plan</th>
  <th style="width:7%">Clientes</th>
  <th style="width:9%">Comisión</th>
  <th style="width:6%"></th>
</tr></thead>
<tbody>
<?php foreach($influencers as $inf):
  $plan_p  = $inf['plan_promedio'] ?: 'confiado';
  $comision= floatval($inf['comision_mensual']) > 0
             ? floatval($inf['comision_mensual'])
             : intval($inf['clientes_generados']) * ($precios_plan[$plan_p] ?? 21);
  $plan_labels = ['desafiante'=>'Desaf.','confiado'=>'Confi.','dinamico'=>'Dinámi.'];
?>
<tr>
  <td>
    <strong><?=clean($inf['nombre'])?></strong>
    <?php if($inf['cuenta']): ?><br><span style="font-size:11px;color:var(--muted)"><?=clean($inf['cuenta'])?></span><?php endif; ?>
  </td>
  <td><span class="badge <?=$plat_badge[$inf['plataforma']]??'b-gray'?>"><?=$plataformas[$inf['plataforma']]??$inf['plataforma']?></span></td>
  <td style="font-size:12px"><?=$sectores_inf[$inf['sector']]??$inf['sector']?></td>
  <td><?=number_format($inf['seguidores'])?></td>
  <td><span class="badge <?=$est_badge[$inf['estado']]??'b-gray'?>"><?=$estados_inf[$inf['estado']]??$inf['estado']?></span></td>
  <td><code style="font-size:10px;background:var(--off);padding:2px 6px;border-radius:4px"><?=clean($inf['codigo_unico']??'—')?></code></td>
  <td style="font-size:11px;color:var(--muted)"><?=$plan_labels[$plan_p]??$plan_p?></td>
  <td style="font-weight:500;text-align:center"><?=$inf['clientes_generados']?></td>
  <td style="font-weight:600;color:#0F6E56">$<?=number_format($comision,0)?></td>
  <td style="display:flex;gap:4px">
    <a href="influencers.php?edit=<?=$inf['id']?>" class="btn" style="font-size:11px;padding:3px 8px"><i class="ti ti-pencil"></i></a>
    <form method="POST" style="display:inline" onsubmit="return confirm('¿Eliminar <?=addslashes(clean($inf['nombre']))?>?')">
      <input type="hidden" name="_csrf" value="<?= csrf_token() ?>">
      <input type="hidden" name="_accion" value="eliminar">
      <input type="hidden" name="id" value="<?=$inf['id']?>">
      <button type="submit" class="btn" style="font-size:11px;padding:3px 8px;color:#A32D2D"><i class="ti ti-trash"></i></button>
    </form>
  </td>
</tr>
<?php endforeach; ?>
<?php if(empty($influencers)): ?>
<tr><td colspan="9" style="text-align:center;padding:1.5rem;color:var(--muted)">Sin influencers. <a href="influencers.php?nuevo=1" style="color:var(--black);text-decoration:underline">Agrega el primero →</a></td></tr>
<?php endif; ?>
</tbody>
</table>
</div>
<?php endif; ?>
<?php require_once 'layout_end.php'; ?>
