<?php
session_start();
require_once "../modelos/Slider.php";

$imagenn=new Slider();
$idslider=isset($_POST["idslider"])? limpiarCadena($_POST["idslider"]):"";
$imagen=isset($_POST["nombre_imagen"])? limpiarCadena($_POST["nombre_imagen"]):"";
$tipo_imagen=isset($_POST["tipo_imagen"])? limpiarCadena($_POST["tipo_imagen"]):"";



switch ($_GET["op"]){

    case 'guardaryeditar':

        if (!file_exists($_FILES['nombre_imagen']['tmp_name']) || !is_uploaded_file($_FILES['nombre_imagen']['tmp_name'])) {
            // Si no se sube una nueva imagen, usa la imagen actual
            $imagen = $_POST["imagenactual"];
        } else {
            // Procesar la nueva imagen
            $ext = explode(".", $_FILES["nombre_imagen"]["name"]);
            if ($_FILES['nombre_imagen']['type'] == "image/jpg" || 
                $_FILES['nombre_imagen']['type'] == "image/jpeg" || 
                $_FILES['nombre_imagen']['type'] == "image/png") {
                
                $imagen = round(microtime(true)) . '.' . end($ext);
    
                // Eliminar la imagen anterior si existe y no es una nueva inserción
                if (!empty($_POST["imagenactual"]) && file_exists("../files/slider/" . $_POST["imagenactual"])) {
                    unlink("../files/slider/" . $_POST["imagenactual"]);
                }
    
                // Mover la nueva imagen a la carpeta
                move_uploaded_file($_FILES["nombre_imagen"]["tmp_name"], "../files/slider/" . $imagen);
            }
        }
       
        if(empty($idslider))
        {
          $rspta=$imagenn->insertar($imagen,$tipo_imagen);
          echo $rspta ? "Slider Registrado" : "Slidern no se pudo registrar";
        }
        else {
            $rspta=$imagenn->editar($idslider,$imagen,$tipo_imagen);
            echo $rspta ? "Slider Actualizada" : "Slider no se pudo actualizar";
        }
      break;

      case 'mostrar':
        $rspta=$imagenn->mostrar($idslider);
         //Codificar el resultado utilizando json
         echo json_encode($rspta);
      break;
  
      case 'eliminar':
        $rspta=$imagenn->eliminar($idslider);
         //Codificar el resultado utilizando json
         echo json_encode($rspta);
      break;
  
      case 'listarslider':
        $rspta=$imagenn->listarslider();
        //Vamos a declarar un array
        $data=Array();
        while($reg=$rspta->fetch_object())
        {
            if($reg->tipo_imagen == '1'){
              $tipo="Web";
             }else{
              $tipo="Portal";
             } 
          $data[]=array(
            "0"=>$reg->idslider,
            "1"=>"<img src='../../files/slider/".$reg->nombre_imagen."' height='50px' width='50px' >",
            "2"=>$tipo,
            "3"=>'<a href="create.php?idslider=' . $reg->idslider . '" class="btn btn-warning btn-xs btn-flat"><i class="fa fa-edit"></i></a>' .
                 ' <button class="btn btn-danger btn-xs btn-flat" onclick="eliminar(' . $reg->idslider . ')"><i class="fas fa-trash-alt"></i></button>'
          );
        }
        $results= array(
          "sEcho"=>1, //Informacion para el datatable
          "iTotalRecords"=>count($data),//Enviamos el total de registtros en el datatable
          "iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
          "aaData"=>$data);
        echo json_encode($results);
  
      break;




}


?>