123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- <?php
- session_start();
- require_once '../include/bd_pdo.php';
- if(!isset($_POST['tipo'])){
- $return['error'] = 'Error! No se recibieron los datos.';
- } else {
- switch ($_POST['tipo']) {
- case 1: //Select All
- $error = '';
- $idiomas = array();
- $stmt = $pdo->prepare('SELECT * FROM alu_fs_idioma(:Usuario_id, null)');
- $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
- if(!$stmt->execute()){
- $error = 'No fue posible obtener los idiomas';
- print_r($stmt->errorInfo());
- } else
- $idiomas = $stmt->fetchAll();
- $stmt->closeCursor();
- $stmt = null;
- if(count($idiomas) > 0 && empty($error)){
- $return['html'] = generaIdiomas($idiomas);
- } else {
- if (!empty($error))
- $return['error'] = $error;
- else{
- $return['html'] = '<div class="msgBox d-flex flex-row justify-content-center align-items-center mt-5">
- <img src="img/triangulos.svg" class="imgBoxIzq" />
- <img src="img/triangulos.svg" class="imgBoxDer" />
- <hr class="hrArriba">
- <hr class="hrAbajo">
- <div class="d-flex flex-column justify-content-center align-items-center display-5 text-center p-4">
- <div>Aún no tienes<span class="text-azul1 mx-1">ningún</span>idioma capturado</div>
- </div>
- </div>';
- }
- }
- break;
- case 2: //Add
- $_POST['idioma'] = filter_var($_POST['idioma'], FILTER_SANITIZE_STRING);
- $_POST['nivel'] = filter_var($_POST['nivel'], FILTER_SANITIZE_NUMBER_INT);
- $stmt = $pdo->prepare('SELECT * FROM alu_fi_idioma(:Usuario_id, :Idioma_nombre, :Idioma_nivel)');
- $stmt->bindParam(':Idioma_nombre', $_POST['idioma']);
- $stmt->bindParam(':Idioma_nivel', $_POST['nivel']);
- $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
- if(!$stmt->execute()){
- print_r($stmt->errorInfo());
- $return['error'] = 'No fue posible agregar el idioma <span class="text-azul1">' . $_POST['idioma'] . '</span>';
- }
- else
- $return['ok'] = 'Se agregó correctamente el idioma <span class="text-azul1">' . $_POST['idioma'] . '</span>';
- $stmt->closeCursor();
- $stmt = null;
- break;
- case 3: //Update
- $_POST['idioma'] = filter_var($_POST['idioma'], FILTER_SANITIZE_STRING);
- $_POST['nivel'] = filter_var($_POST['nivel'], FILTER_SANITIZE_NUMBER_INT);
- $stmt = $pdo->prepare('SELECT * FROM alu_fu_idioma(:Usuario_id, :Idioma_id, :Idioma_nombre, :Idioma_nivel)');
- $stmt->bindParam(':Idioma_nombre', $_POST['idioma']);
- $stmt->bindParam(':Idioma_nivel', $_POST['nivel']);
- $stmt->bindParam(':Idioma_id', $_POST['id']);
- $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
- if(!$stmt->execute()){
- print_r($stmt->errorInfo());
- $return['error'] = 'No fue posible editar el idioma <span class="text-azul1">' . $_POST['idioma'] . '</span>';
- }
- else
- $return['ok'] = 'Se editó correctamente el idioma <span class="text-azul1">' . $_POST['idioma'] . '</span>';
- $stmt->closeCursor();
- $stmt = null;
- break;
- case 4: //Delete
- $stmt = $pdo->prepare('SELECT * FROM alu_fd_idioma(:Idioma_id, :Usuario_id)');
- $stmt->bindParam(':Idioma_id', $_POST['id']);
- $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
- if(!$stmt->execute()){
- print_r($stmt->errorInfo());
- $return['error'] = 'No fue posible eliminar el idioma';
- }
- else
- $return['ok'] = 'Se eliminó de manera exitosa el idioma';
- $stmt->closeCursor();
- $stmt = null;
- break;
- case 5: //Select One
- $idioma = array();
- $stmt = $pdo->prepare('SELECT * FROM alu_fs_idioma(:Usuario_id, :Idioma_id)');
- $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
- $stmt->bindParam(':Idioma_id', $_POST['id']);
- if(!$stmt->execute()){
- $return['error'] = 'No fue posible obtener los datos del idioma ';
- print_r($stmt->errorInfo());
- } else {
- $idioma = $stmt->fetch();
- $return['idioma'] = $idioma['Idioma_nombre'];
- $return['nivel'] = $idioma['Idioma_nivel'];
- }
- $stmt->closeCursor();
- $stmt = null;
- break;
- }
- }
- $return['json'] = json_encode($return);
- echo json_encode($return);
- function generaIdiomas($idiomas){
- $html = '';
- $texto = '';
- $tipo = '';
- foreach ($idiomas as $idioma){
- switch ($idioma['Idioma_nivel']){
- case 1: $texto = 'Básico'; $tipo = 'empty'; break;
- case 2: $texto= 'Intermedio'; $tipo = 'half'; break;
- case 3: $texto= 'Avanzado'; $tipo = 'full'; break;
- default: $texto = ''; $tipo = ''; break;
- }
- $html .= '<div class="tarjeta p-3 d-flex flex-column justify-content-start align-items-center">
- <div class="align-self-end">
- <span class="ing-editar iconAcciones text-azul2" data-id="' . $idioma['Idioma_id'] . '"></span>
- <span class="ing-basura iconAcciones text-danger" data-id="' . $idioma['Idioma_id'] . '"></span>
- </div>
- <i class="display-3 ing-estrella1 ' . $tipo . ' mb-2"></i>
- <label>' . $texto . '</label>
- <div class="display-6 text-center text-primary flex-grow-1 d-flex flex-row justify-content-center align-items-center">' . $idioma['Idioma_nombre'] . '</div>
- </div>';
- }
- return $html;
- }
|