<?php
/* disable autocommit */
mysqli_autocommit($conexion, FALSE);
try {
    $titulo_aux = str_replace(' ', '', $titulo); //Quiamos espacios
    $titulo_aux = eliminar_acentos($titulo_aux); //Quiamos espacios

    $consulta = "INSERT INTO documento (idDocumento, titulo, descripcion, activo, eliminado, documento, idModulo, idUsuario, fechaCreacion, fechaActualizacion) VALUES (NULL, '$titulo', '$descripcion', '1', '0', 'documentos/$idModulo/', '$idModulo', '$idUsuario', NOW(), NOW())";
    $resultado  = mysqli_query($conexion, $consulta);
    if ($resultado) {
        $idCreado = mysqli_insert_id($conexion);
        //Agregamos lista de links
        foreach ($listaLink as $row) {
            $aux_texto = $row['texto'];
            $aux_color = $row['color'];
            $aux_enlace = $row['enlace'];
            $consultaLink = "INSERT INTO link (idLink, idDocumento, texto, color, enlace) VALUES (NULL, '$idCreado', '$aux_texto', '$aux_color', '$aux_enlace')";
            mysqli_query($conexion, $consultaLink);
        }


        //Creamos el archivo base64
        if (strlen($file) > 0) {
            $path = "documentos/$idModulo";
            if (!is_dir($path)) {
                mkdir($path, 0777, true);
            }
            $flag = file_put_contents("$path/$idCreado.pdf", base64_decode($file));
            if ($flag != false) {
                mysqli_commit($conexion);
                echo json_encode(array("code" => CODE_SUCCESS, "message" => 'Documento cargado con exito'));
            } else {
                /* Rollback */
                mysqli_rollback($conexion);
                echo json_encode(array("code" => CODE_FAILED, "message" => 'Error al crear modulo'));
            }
        } else {
            /* Rollback */
            mysqli_rollback($conexion);
            echo json_encode(array("code" => CODE_FAILED, "message" => 'Error al crear modulo'));
        }
    } else {
        /* Rollback */
        mysqli_rollback($conexion);
        echo json_encode(array("code" => CODE_FAILED, "message" => 'Error al crear modulo'));
    }
} catch (Exception $e) {
    /* Rollback */
    mysqli_rollback($conexion);
    echo json_encode(array("code" => CODE_FAILED, "message" => 'Error al crear modulo'));
}

function eliminar_acentos($cadena)
{

    //Reemplazamos la A y a
    $cadena = str_replace(
        array('Á', 'À', 'Â', 'Ä', 'á', 'à', 'ä', 'â', 'ª'),
        array('A', 'A', 'A', 'A', 'a', 'a', 'a', 'a', 'a'),
        $cadena
    );

    //Reemplazamos la E y e
    $cadena = str_replace(
        array('É', 'È', 'Ê', 'Ë', 'é', 'è', 'ë', 'ê'),
        array('E', 'E', 'E', 'E', 'e', 'e', 'e', 'e'),
        $cadena
    );

    //Reemplazamos la I y i
    $cadena = str_replace(
        array('Í', 'Ì', 'Ï', 'Î', 'í', 'ì', 'ï', 'î'),
        array('I', 'I', 'I', 'I', 'i', 'i', 'i', 'i'),
        $cadena
    );

    //Reemplazamos la O y o
    $cadena = str_replace(
        array('Ó', 'Ò', 'Ö', 'Ô', 'ó', 'ò', 'ö', 'ô'),
        array('O', 'O', 'O', 'O', 'o', 'o', 'o', 'o'),
        $cadena
    );

    //Reemplazamos la U y u
    $cadena = str_replace(
        array('Ú', 'Ù', 'Û', 'Ü', 'ú', 'ù', 'ü', 'û'),
        array('U', 'U', 'U', 'U', 'u', 'u', 'u', 'u'),
        $cadena
    );

    //Reemplazamos la N, n, C y c
    $cadena = str_replace(
        array('Ñ', 'ñ', 'Ç', 'ç'),
        array('N', 'n', 'C', 'c'),
        $cadena
    );

    return $cadena;
}
