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 = '';
- $habilidades = array();
- $stmt = $pdo->prepare('SELECT * FROM alu_fs_habilidad(:Usuario_id, null)');
- $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
- if(!$stmt->execute()){
- $error = 'No fue posible obtener las habilidades';
- print_r($stmt->errorInfo());
- } else
- $habilidades = $stmt->fetchAll();
- $stmt->closeCursor();
- $stmt = null;
- if(count($habilidades) > 0 && empty($error)){
- $return['html'] = generaHabilidades($habilidades);
- } 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">ninguna</span>habilidad capturada</div>
- </div>
- </div>';
- }
- }
- break;
- case 2: //Add
- $_POST['habilidad'] = filter_var($_POST['habilidad'], FILTER_SANITIZE_STRING);
- $_POST['nivel'] = filter_var($_POST['nivel'], FILTER_SANITIZE_NUMBER_INT);
- $stmt = $pdo->prepare('SELECT * FROM alu_fi_habilidad(:Usuario_id, :Habilidad_nombre, :Habilidad_nivel)');
- $stmt->bindParam(':Habilidad_nombre', $_POST['habilidad']);
- $stmt->bindParam(':Habilidad_nivel', $_POST['nivel']);
- $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
- if(!$stmt->execute()){
- print_r($stmt->errorInfo());
- $return['error'] = 'No fue posible agregar la habilidad <span class="text-azul1">' . $_POST['habilidad'] . '</span>';
- }
- else
- $return['ok'] = 'Se agregó correctamente la habilidad <span class="text-azul1">' . $_POST['habilidad'] . '</span>';
- $stmt->closeCursor();
- $stmt = null;
- break;
- case 3: //Update
- $_POST['habilidad'] = filter_var($_POST['habilidad'], FILTER_SANITIZE_STRING);
- $_POST['nivel'] = filter_var($_POST['nivel'], FILTER_SANITIZE_NUMBER_INT);
- $stmt = $pdo->prepare('SELECT * FROM alu_fu_habilidad(:Usuario_id, :Habilidad_id, :Habilidad_nombre, :Habilidad_nivel)');
- $stmt->bindParam(':Habilidad_nombre', $_POST['habilidad']);
- $stmt->bindParam(':Habilidad_nivel', $_POST['nivel']);
- $stmt->bindParam(':Habilidad_id', $_POST['id']);
- $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
- if(!$stmt->execute()){
- print_r($stmt->errorInfo());
- $return['error'] = 'No fue posible editar la habilidad <span class="text-azul1">' . $_POST['habilidad'] . '</span>';
- }
- else
- $return['ok'] = 'Se editó correctamente la habilidad <span class="text-azul1">' . $_POST['habilidad'] . '</span>';
- $stmt->closeCursor();
- $stmt = null;
- break;
- case 4: //Delete
- $stmt = $pdo->prepare('SELECT * FROM alu_fd_habilidad(:Habilidad_id, :Usuario_id)');
- $stmt->bindParam(':Habilidad_id', $_POST['id']);
- $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
- if(!$stmt->execute()){
- print_r($stmt->errorInfo());
- $return['error'] = 'No fue posible eliminar la habilidad';
- }
- else
- $return['ok'] = 'Se eliminó de manera exitosa la habilidad';
- $stmt->closeCursor();
- $stmt = null;
- break;
- case 5: //Select One
- $habilidad = array();
- $stmt = $pdo->prepare('SELECT * FROM alu_fs_habilidad(:Usuario_id, :Habilidad_id)');
- $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
- $stmt->bindParam(':Habilidad_id', $_POST['id']);
- if(!$stmt->execute()){
- $return['error'] = 'No fue posible obtener los datos de la habilidad';
- print_r($stmt->errorInfo());
- } else {
- $habilidad = $stmt->fetch();
- $return['habilidad'] = $habilidad['HabilidadTecnica_nombre'];
- $return['nivel'] = $habilidad['HabilidadTecnica_nivel'];
- }
- $stmt->closeCursor();
- $stmt = null;
- break;
- }
- }
- $return['json'] = json_encode($return);
- echo json_encode($return);
- function generaHabilidades($habilidades){
- $html = '';
- $texto = '';
- $tipo = '';
- foreach ($habilidades as $habilidad){
- switch ($habilidad['HabilidadTecnica_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="' . $habilidad['HabilidadTecnica_id'] . '"></span>
- <span class="ing-basura iconAcciones text-danger" data-id="' . $habilidad['HabilidadTecnica_id'] . '"></span>
- </div>
- <i class="display-3 ing-insignia3 ' . $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">' . $habilidad['HabilidadTecnica_nombre'] . '</div>
- </div>';
- }
- return $html;
- }
|