<?php
declare(strict_types=1);

require_once __DIR__ . '/concha.php';
require_once __DIR__ . '/url_amigable.php';

error_reporting(E_ERROR | E_WARNING | E_PARSE);
@mysqli_set_charset($conn, 'utf8mb4');

function h($v): string {
  return htmlspecialchars((string)$v, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
}

function bad_input(string $s): bool {
  $s = (string)$s;
  if ($s === '') return true;
  // bloqueos “clásicos” del código viejo, pero más robustos
  if (stripos($s, 'http') !== false) return true;
  if (stripos($s, 'html') !== false) return true;
  if (strpos($s, '<') !== false) return true;
  if (strpos($s, '>') !== false) return true;
  return false;
}

$IDD = isset($_GET['IDD']) ? (int)$_GET['IDD'] : 0;
if ($IDD <= 0) {
  http_response_code(400);
  echo "Falta IDD válido.";
  exit;
}

/* ====== Traer título de la nota ====== */
$titulo = '';
if ($stmt = $conn->prepare("SELECT ID, titulo FROM notas WHERE ID = ? LIMIT 1")) {
  $stmt->bind_param("i", $IDD);
  if ($stmt->execute()) {
    $res = $stmt->get_result();
    if ($row = $res->fetch_assoc()) {
      $titulo = (string)($row['titulo'] ?? '');
    }
    $res->free();
  }
  $stmt->close();
}

/* ====== Procesar comentario ====== */
$nombre = trim((string)($_POST['nombre'] ?? ''));
$texto  = trim((string)($_POST['texto'] ?? ''));

$ok = true;
$err = '';

if ($nombre === '') { $ok = false; $err = "No permitido, FALTA UN NOMBRE"; }
if ($ok && $texto === '') { $ok = false; $err = "No permitido, FALTA UN COMENTARIO"; }

if ($ok && bad_input($texto))  { $ok = false; $err = "No Escribas tu mail, ni nada raro!"; }
if ($ok && bad_input($nombre)) { $ok = false; $err = "No Escribas tu mail, ni nada raro!"; }

// límites razonables (evita flood / inserts gigantes)
if ($ok) {
  if (mb_strlen($nombre, 'UTF-8') > 80)  $nombre = mb_substr($nombre, 0, 80, 'UTF-8');
  if (mb_strlen($texto, 'UTF-8')  > 1500) $texto  = mb_substr($texto, 0, 1500, 'UTF-8');
}

$IP_c = $_SERVER['REMOTE_ADDR'] ?? '';

if ($ok) {
  $ver = 'no';
  $sub = 0;

  $stmtIns = $conn->prepare("INSERT INTO comentarios (nombre, texto, IDD, ver, IP, sub_comentario) VALUES (?, ?, ?, ?, ?, ?)");
  if (!$stmtIns) {
    $ok = false;
    $err = "Error interno al preparar el guardado.";
  } else {
    $stmtIns->bind_param("ssissi", $nombre, $texto, $IDD, $ver, $IP_c, $sub);
    if (!$stmtIns->execute()) {
      $ok = false;
      $err = "Error interno al guardar el comentario.";
    }
    $stmtIns->close();
  }

  /* Email opcional (mantiene tu lógica) */
  if ($ok && ($e_email ?? '') === 'si') {
    $recipiente = (string)($emailsitio ?? '');
    if ($recipiente !== '') {
      $asunto = "NUEVO MENSAJE EN UNA NOTA";
      $msg = "-----------------------------------------------------\n"
           . "NUEVO MENSAJE:\n"
           . $texto . "\n"
           . "-----------------------------------------------------\n"
           . "PARA ACEPTARLO INGRESA AL PANEL " . ($dom ?? '') . "/panel\n";

      $from = (string)($email ?? $emailsitio ?? '');
      $headers = '';
      if ($from !== '') {
        // evita inyección de headers
        $from = str_replace(["\r", "\n"], '', $from);
        $headers = "From: {$from}";
      }

      @mail($recipiente, $asunto, $msg, $headers);
    }
  }
}

/* ====== Variables usadas en el HTML (evita notices) ====== */
$lang_actual     = $lang_actual ?? 'es';
$nombresitio     = $nombresitio ?? '';
$descripcion_web = $descripcion_web ?? '';
$dom             = $dom ?? '';
$logo_C          = $logo_C ?? '';
$link_titulo     = $link_titulo ?? '';
$link_menu       = $link_menu ?? '';
$link_bajada     = $link_bajada ?? '';
$estiloweb       = $estiloweb ?? 1;
$opcion101       = $opcion101 ?? 0;

$d_color_fondo       = $d_color_fondo ?? '#ffffff';
$d_color_titulo      = $d_color_titulo ?? '#000000';
$d_color_menu        = $d_color_menu ?? '#000000';
$d_color_menu_sobre  = $d_color_menu_sobre ?? '#000000';
$d_color_fondo_menu  = $d_color_fondo_menu ?? '#ffffff';
$d_color_weather2    = $d_color_weather2 ?? '#000000';
$d_color_fondo_cabecera = $d_color_fondo_cabecera ?? '#ffffff';

$style_titulo = $style_titulo ?? 'sans-serif';
$textura      = $textura ?? null;
$color_cat    = $color_cat ?? ($d_color_menu ?? '#000000');

$catba = $_GET['cat'] ?? '';
$i_publi = 10000000;

// forzar https en variables del head como hacías
$logo_C      = str_replace('http://', 'https://', $logo_C);
$link_titulo = str_replace('http://', 'https://', $link_titulo);
$link_menu   = str_replace('http://', 'https://', $link_menu);
$link_bajada = str_replace('http://', 'https://', $link_bajada);
?>
<!doctype html>
<html lang="<?php echo h($lang_actual); ?>">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <!-- ///version 20.9 -->

  <title><?php echo h($nombresitio); ?></title>
  <meta name="description" content="<?php echo h($descripcion_web); ?>" />
  <meta name="keywords" content="<?php echo h($nombresitio); ?>, radio, en vivo, escuchar, portal" />
  <meta name="language" content="es" />

  <meta property="og:title" content="<?php echo h($nombresitio); ?>" />
  <meta property="og:description" content="<?php echo h($descripcion_web); ?>" />
  <meta property="og:site_name" content="<?php echo h($nombresitio); ?>" />
  <meta name="language" content="es" />
  <meta property="og:type" content="article" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta property="og:url" content="<?php echo h($dom); ?>" />
  <meta property="og:image" content="<?php echo h($logo_C); ?>" />

  <?php echo $link_titulo; ?>
  <?php echo $link_menu; ?>
  <?php echo $link_bajada; ?>

  <link rel="shortcut icon" href="<?php echo h($dom); ?>/icono.ico" type="image/x-icon" />

  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
        integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

  <link href="https://radioshosting.com/css/delalora<?php echo (int)$estiloweb; ?>new.css" rel="stylesheet">

  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.0/animate.min.css">
  <link rel="stylesheet" href="https://unpkg.com/flickity@2/dist/flickity.min.css"/>
  <link href="https://use.fontawesome.com/releases/v5.0.6/css/all.css" rel="stylesheet">
  <link rel="stylesheet" href="https://radioshosting.com/css/css/lightbox.min.css">

  <link rel="alternate" type="application/rss+xml" title="RSS" href="<?php echo h($dom); ?>/rss.php" >

  <script src="https://code.jquery.com/jquery-3.4.1.min.js"
          integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
          crossorigin="anonymous"></script>

  <script type="text/javascript" src="js/prototype.js"></script>
  <script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
  <script type="text/javascript" src="js/lightbox.js"></script>

  <style>
    body{
      background-color: <?php echo h($d_color_fondo); ?>;
      overflow-x: hidden;
      margin: 0 auto;
    }

    h1, h2, h3, h4, h5, h6 {
      margin-bottom: 10px;
      line-height: 1.1em;
      font-weight: 600;
      margin-top: 0;
      color: <?php echo h($d_color_titulo); ?>;
      font-family: <?php echo h($style_titulo); ?>;
    }

    p { font-family: <?php echo h($style_titulo); ?>; }

    .h3, h3 { font-size: 1rem; }

    h1 a, h2 a, h3 a, h4 a, h5 a, h6 a{
      display:block;
      color:<?php echo h($d_color_menu); ?>;
    }

    a:hover { color:<?php echo h($d_color_menu_sobre); ?>; }

    a:link, a:visited, a:active, a:focus, a:before, a:after {
      outline: 0 none;
      text-decoration: none;
      color:<?php echo h($d_color_menu); ?>;
    }

    .navbar-nav .dropdown-menu{
      position:absolute;
      background-color: <?php echo h($d_color_fondo_menu); ?>;
    }

    .dropdown:hover>ul { display:block !important; }
    .dropdown ul li a { color: <?php echo h($d_color_menu); ?>; }

    .navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav {
      color: <?php echo h($d_color_menu); ?>;
    }

    .nav-link:hover { color: <?php echo h($d_color_menu_sobre); ?>; }

    #logo { max-width: 3.2rem; }
    #logo:hover path { fill: <?php echo h($d_color_menu); ?>; }
    #logo:hover { color: <?php echo h($d_color_menu_sobre); ?>; }
    #logo2 { fill: <?php echo h($d_color_weather2); ?>; }

    .btn-outline-primary.active, .btn-outline-primary:active, .show>.btn-outline-primary.dropdown-toggle {
      color:#fff;
      background-color: <?php echo h($d_color_menu); ?>;
      border-color: <?php echo h($d_color_menu); ?>;
    }

    .btn-outline-primary:hover {
      color:#fff;
      background-color: <?php echo h($d_color_menu); ?>;
      border-color: <?php echo h($d_color_menu); ?>;
    }

    .btn-outline-primary {
      color: <?php echo h($d_color_menu); ?>;
      background-color: transparent;
      background-image: none;
      border-color: <?php echo h($d_color_menu); ?>;
    }

    footer p {
      margin-bottom:.25rem;
      color:<?php echo h($d_color_menu); ?>;
      font-weight: 300;
    }

    .facebook, .twitter {
      display:block;
      float:right;
      background-color: <?php echo h($color_cat); ?>!important;
    }
    .facebook { margin-right:37px!important; }

    .flickity-page-dots .dot{ background: <?php echo h($d_color_menu); ?>; }
    .sidebar .widget .widget-title { font-size: 20px; }

    <?php
      $hexa = ltrim((string)$d_color_fondo_menu, '#');
      $decimal = ctype_xdigit($hexa) ? hexdec($hexa) : 0;
      $color_titulo_barra = ($decimal <= 10066329) ? "250,250,250,0.9" : "0,0,0,0.9";
    ?>

    .widget-head{ background-color: <?php echo h($d_color_fondo_menu); ?>!important; }

    .widget-title {
      font-size:25px;
      font-weight:900;
      line-height:1;
      text-transform:uppercase;
      margin-bottom:0;
      color:<?php echo h($d_color_menu); ?>;
      font-family: <?php echo h($style_titulo); ?>;
    }

    .topbar {
      border-bottom:0;
      background-color: <?php echo h($d_color_fondo_menu); ?>;
      color: <?php echo h($d_color_menu); ?>;
    }

    .header {
      background-position:left center;
      background-size:cover;
      background-repeat:no-repeat;
      <?php if (empty($textura)) { ?>
        background-color:<?php echo h($d_color_fondo_cabecera); ?>;
      <?php } else { ?>
        background-image:url(<?php echo h(str_replace("www.radiosnet.com.ar","recursos.radiosnethosting.com",(string)$textura)); ?>);
        -moz-background-size: cover;
        -webkit-background-size: cover;
      <?php } ?>
      clear: both;
    }

    .header-right { float:right; }
    .logo{ max-width: 80%; }

    .bg-light { background-color:#fff!important; }

    article { background:transparent; }

    .colorTitulo {
      color: <?php echo h($d_color_titulo); ?>;
      font-weight:800;
      letter-spacing:1px;
    }

    p.displaytitulo{
      height:0;
      margin:0;
      font-family:'Montserrat', sans-serif!important;
      letter-spacing:1px;
    }

    .carousel-caption {
      z-index:10;
      padding: 4px 20px;
      background-color: <?php echo h($d_color_fondo_menu); ?>99;
    }
    .carousel-caption h2 {
      color: <?php echo h($d_color_menu); ?>!important;
      font-weight:700;
      margin:0;
      font-size:2.5vw;
    }

    .localidad {
      font-family:<?php echo h($style_titulo); ?>;
      color:<?php echo h($d_color_weather2); ?>;
      line-height:1;
    }

    .titulo{
      display:none;
      position:absolute;
      bottom:0;
      height:100%;
      width:100%;
      padding:20px 15px;
      background-color: <?php echo h($d_color_fondo_menu); ?>;
      opacity:0.7;
    }

    .cub3r-caption{
      position:absolute;
      bottom:0;
      left:0;
      background-color:<?php echo h($d_color_fondo_menu); ?>99;
      width:100%;
      padding:0.5rem 0.75rem;
    }
    .cub3r-caption-text{ color:<?php echo h($d_color_menu); ?>!important; }

    .html-marquee {
      font-weight:200;
      height:40px!important;
      width:100%;
      background-color:transparent!important;
      font-family:'Montserrat', sans-serif!important;
      font-size: inherit!important;
      color: <?php echo h($d_color_menu); ?>!important;
      letter-spacing:0.5px;
    }

    marquee p { color: <?php echo h($d_color_menu); ?>!important; }
    .texto-fecha{ font-weight:bold; color: <?php echo h($d_color_menu); ?>; }
    .navbar-toggler-icon{ color: <?php echo h($d_color_menu); ?>; }
  </style>

  <?php
  require __DIR__ . "/calendario.php";

  // reemplazo de $HTTP_POST_VARS / $HTTP_GET_VARS (obsoletos)
  if (empty($_POST) && empty($_GET)) {
    $tiempo_actual = time();
    $mes  = (int)date('n', $tiempo_actual);
    $ano  = (int)date('Y', $tiempo_actual);
    $dia  = (int)date('d', $tiempo_actual);
    $fecha = $ano . "-" . $mes . "-" . $dia;
  } else {
    $mes = (int)($nuevo_mes ?? ($_POST['nuevo_mes'] ?? $_GET['nuevo_mes'] ?? date('n')));
    $ano = (int)($nuevo_ano ?? ($_POST['nuevo_ano'] ?? $_GET['nuevo_ano'] ?? date('Y')));
    $dia = (int)($dia ?? date('d'));
    $fecha = $ano . "-" . $mes . "-" . $dia;
  }
  ?>
</head>

<body>

<?php if ((int)$estiloweb === 1)  { include __DIR__ . '/menu1.php'; } ?>
<?php if ((int)$estiloweb === 2)  { include __DIR__ . '/menu2.php'; } ?>
<?php if ((int)$estiloweb === 3)  { include __DIR__ . '/menu3.php'; } ?>
<?php if ((int)$estiloweb === 4)  { include __DIR__ . '/menu4.php'; } ?>
<?php if ((int)$estiloweb === 5)  { include __DIR__ . '/menu5.php'; } ?>
<?php if ((int)$estiloweb === 72) { include __DIR__ . '/menu_magazine.php'; } ?>

<div id="margenSup"
     class="mt-3 <?php echo ((int)$opcion101 === 1) ? 'container-fluid' : 'container'; ?> margenSup px-1 px-sm-3">

  <div class="px-1 px-sm-3">

    <?php if (!$ok): ?>
      <div class="alert alert-danger text-center" role="alert" style="margin-top:20px;">
        <?php echo h($err); ?>
        <div style="margin-top:10px;">
          <a class="btn btn-outline-primary" href="index.php">Volver</a>
        </div>
      </div>
    <?php else: ?>
      <p align="center" class="Estilo41">GRACIAS POR COMENTAR EN LA PAGINA!</p>
      <a href="<?php echo h($dom); ?>/nota/<?php echo (int)$IDD; ?>/<?php echo h(urls_amigables($titulo)); ?>">VOLVER</a>
    <?php endif; ?>

    <img src="abajo1.png" width="960" height="10" alt="">
    <div align="center" class="Estilo40"><?php include __DIR__ . '/abajo.php'; ?></div>

  </div>
</div>

<script>
  window.lazyLoadOptions = { elements_selector: ".lazy" };
  window.addEventListener('LazyLoad::Initialized', function (event) {
    window.lazyLoadInstance = event.detail.instance;
  }, false);
</script>
<script async src="https://cdn.jsdelivr.net/npm/vanilla-lazyload@12.4.0/dist/lazyload.min.js"></script>

<?php if ((int)$estiloweb === 1)  { include __DIR__ . '/menu1.php'; } ?>
<?php if ((int)$estiloweb === 2)  { include __DIR__ . '/menu2.php'; } ?>
<?php if ((int)$estiloweb === 3)  { include __DIR__ . '/menu3.php'; } ?>
<?php if ((int)$estiloweb === 4)  { include __DIR__ . '/menu4.php'; } ?>
<?php if ((int)$estiloweb === 5)  { include __DIR__ . '/menu5.php'; } ?>
<?php if ((int)$estiloweb === 72) { include __DIR__ . '/footer.magazine.php'; } ?>

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
        integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
        crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
        integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
        crossorigin="anonymous"></script>

<script src="https://radioshosting.com/css/js/lightbox-plus-jquery.min.js"></script>
<script src="<?php echo h($dom); ?>/js/jquery.fittext.js"></script>
<script src="https://unpkg.com/flickity@2/dist/flickity.pkgd.min.js"></script>
<script src="https://unpkg.com/isotope-layout@3/dist/isotope.pkgd.js"></script>

<script>
  $(window).on('shown.bs.modal', function () {
    var status = $('#myModal').modal('show');
    console.log('qwe', status);
  });

  function ventanaSecundaria56(URL){
    window.open(URL,"ventana1","width=960,height=630,scrollbars=NO");
  }
</script>

<script>
  $(".carousel-captionh1").fitText(1.2, { minFontSize: '14px', maxFontSize: '18px' });
  $(".colorTitulo").fitText(1.2, { minFontSize: '14px', maxFontSize: '24px' });
  $(".carousel-caption h2").fitText(1.2, { minFontSize: '14px', maxFontSize: '30px' });
  $(".tituloVideo").fitText(1.2, { minFontSize: '14px', maxFontSize: '30px' });
  $(".tarso").fitText(1.2, { minFontSize: '20px', maxFontSize: '50px' });
  $(".tarso2").fitText(1.2, { minFontSize: '5px', maxFontSize: '11px' });
</script>

<script>
$(function(){
  $('img.svg').each(function(){
    var $img = $(this);
    var imgID = $img.attr('id');
    var imgClass = $img.attr('class');
    var imgURL = $img.attr('src');

    $.get(imgURL, function(data) {
      var $svg = $(data).find('svg');
      if (typeof imgID !== 'undefined') $svg = $svg.attr('id', imgID);
      if (typeof imgClass !== 'undefined') $svg = $svg.attr('class', imgClass+' replaced-svg');
      $svg = $svg.removeAttr('xmlns:a');

      if (!$svg.attr('viewBox') && $svg.attr('height') && $svg.attr('width')) {
        $svg.attr('viewBox', '0 0 ' + $svg.attr('height') + ' ' + $svg.attr('width'));
      }
      $img.replaceWith($svg);
    }, 'xml');
  });
});
</script>

<?php include __DIR__ . '/google.php'; ?>
</body>
</html>