<?php
include 'sesion.php';
include 'concha.php';

error_reporting(E_ALL);
ini_set('display_errors', '1');

if (!isset($conn) || !($conn instanceof mysqli)) {
    die('Error de conexion');
}

$conn->set_charset('utf8mb4');

$ID = isset($_GET['ID']) ? (int)$_GET['ID'] : 0;

if ($ID <= 0) {
    die('ID invalido');
}

$stmt = $conn->prepare("SELECT texto FROM notas WHERE ID = ? LIMIT 1");
if (!$stmt) {
    die('Error al leer la nota: ' . $conn->error);
}

$stmt->bind_param('i', $ID);

if (!$stmt->execute()) {
    die('Error al ejecutar lectura: ' . $stmt->error);
}

$stmt->bind_result($texto);

if (!$stmt->fetch()) {
    $stmt->close();
    die('No se encontro la nota');
}

$stmt->close();

$texto = html_entity_decode($texto, ENT_QUOTES, 'UTF-8');

$texto = str_replace(array(

    /* 3x mojibake */
    'ÃƒÆ’Ã‚Â¡','ÃƒÆ’Ã‚Â©','ÃƒÆ’Ã‚Â­','ÃƒÆ’Ã‚Â³','ÃƒÆ’Ã‚Âº',
    'ÃƒÆ’Ã‚Â±','ÃƒÆ’Ã‚Â¼',
    'ÃƒÆ’Ã‚Â','ÃƒÆ’Ã¢â‚¬Â°','ÃƒÆ’Ã‚Â','ÃƒÆ’Ã¢â‚¬Å“','ÃƒÆ’Ã…Â¡',
    'ÃƒÆ’Ã¢â‚¬Ëœ','ÃƒÆ’Ã…â€œ',
    'Ãƒâ€šÃ‚Â¿','Ãƒâ€šÃ‚Â¡',

    /* 2x mojibake variante con Â */
    'ÃƒÂ¡','ÃƒÂ©','ÃƒÂ­','ÃƒÂ³','ÃƒÂº',
    'ÃƒÂ±','ÃƒÂ¼',
    'ÃƒÂ','Ãƒâ€°','ÃƒÂ','Ãƒâ€œ','ÃƒÅ¡',
    'Ãƒâ€˜','ÃƒÅ“',
    'Ã‚Â¿','Ã‚Â¡',

    /* 2x mojibake variante sin Â */
    'Ãƒ¡','Ãƒ©','Ãƒ­','Ãƒ³','Ãƒº',
    'Ãƒ±','Ãƒ¼',
    'Ãƒ','Ãƒ‰','Ãƒ','Ãƒ“','Ãƒš',
    'Ãƒ‘','Ãƒœ',

    /* otros mojibake */
    'â€œ','â€','â€˜','â€™',
    'â€“','â€”','â€¦',
    'Ã‚Â°','Ã‚Âº','Ã‚Âª',
    'Ã‚Â«','Ã‚Â»',
    'Ã‚Â©','Ã‚Â®','Ã‚Â™',
    'Ã‚Â¼','Ã‚Â½','Ã‚Â¾',
    'â€¢','â‚¬',
    'Ã‚','Â',

    /* 1x mojibake */
    'Ã¡','Ã©','Ã­','Ã³','Ãº',
    'Ã±','Ã¼',
    'Ã','Ã‰','Ã','Ã“','Ãš',
    'Ã‘','Ãœ',
    'Â¿','Â¡',

    /* letra normal */
    'á','é','í','ó','ú',
    'ñ','ü',
    'Á','É','Í','Ó','Ú',
    'Ñ','Ü',
    '¿','¡',
    'º','ª','°'

), array(

    /* 3x mojibake -> letra */
    'á','é','í','ó','ú',
    'ñ','ü',
    'Á','É','Í','Ó','Ú',
    'Ñ','Ü',
    '¿','¡',

    /* 2x mojibake con Â -> letra */
    'á','é','í','ó','ú',
    'ñ','ü',
    'Á','É','Í','Ó','Ú',
    'Ñ','Ü',
    '¿','¡',

    /* 2x mojibake sin Â -> letra */
    'á','é','í','ó','ú',
    'ñ','ü',
    'Á','É','Í','Ó','Ú',
    'Ñ','Ü',

    /* otros mojibake -> letra */
    '"','"',"'","'",
    '-','-','...',
    '°','º','ª',
    '«','»',
    '©','®','™',
    '¼','½','¾',
    '•','€',
    '','',

    /* 1x mojibake -> letra */
    'á','é','í','ó','ú',
    'ñ','ü',
    'Á','É','Í','Ó','Ú',
    'Ñ','Ü',
    '¿','¡',

    /* letra normal -> entidad html */
    '&aacute;','&eacute;','&iacute;','&oacute;','&uacute;',
    '&ntilde;','&uuml;',
    '&Aacute;','&Eacute;','&Iacute;','&Oacute;','&Uacute;',
    '&Ntilde;','&Uuml;',
    '&iquest;','&iexcl;',
    '&ordm;','&ordf;','&deg;'

), $texto);

$stmt = $conn->prepare("UPDATE notas SET texto = ? WHERE ID = ?");
if (!$stmt) {
    die('Error al preparar actualizacion: ' . $conn->error);
}

$stmt->bind_param('si', $texto, $ID);

if ($stmt->execute()) {
    echo 'NOTA ARREGLADA<br><br>';
    echo '<a href="notas.php">VOLVER</a>';
} else {
    echo 'ERROR AL ACTUALIZAR: ' . $stmt->error;
}

$stmt->close();
?>