Carpeta

 <!DOCTYPE html>

<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
 
<!-- jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js" integrity="sha512-AA1Bzp5Q0K1KanKKmvN/4d3IRKVlv9PYgwFPvm32nPO6QS8yH1HO7LbgB1pgiOxPtfeg5zEn2ba64MUcqJx6CA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
  <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.3/dist/sweetalert2.all.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.3/dist/sweetalert2.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<?php
$id = 45;
$_GET['id'] = 45;

class Conexion {
    static public function conectar() {
        $conexion = new PDO("mysql:host=localhost;dbname=dbaudiencias", "root", "");
        $conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        return $conexion;
    }
}

class CarpetaExpModel extends Conexion {
    static public function CarpetaExpUpdateModel($datosmodel, $tabla) {
        $stmt = Conexion::conectar()->prepare("UPDATE $tabla SET fecha_carpeta = :fecha_carpeta, carpeta = :carpeta, juez = :juez WHERE id = :id");
        $stmt->bindParam(":fecha_carpeta", $datosmodel['fecha_carpeta'], PDO::PARAM_STR);
        $stmt->bindParam(":carpeta", $datosmodel['carpeta'], PDO::PARAM_STR);
        $stmt->bindParam(":juez", $datosmodel['juez'], PDO::PARAM_STR);
        $stmt->bindParam(":id", $datosmodel['id'], PDO::PARAM_INT);

        if ($stmt->execute()) {
            return "success";
        } else {
            return "error";
        }

        $stmt = null;
    }

    static public function PendienteMuestraModels($datos, $tabla) {
        $stmt = Conexion::conectar()->prepare("SELECT * FROM $tabla WHERE id = :id");
        $stmt->bindParam(":id", $datos, PDO::PARAM_INT);
        $stmt->execute();
        return $stmt->fetch(PDO::FETCH_ASSOC); // Usamos PDO::FETCH_ASSOC para obtener un array asociativo
    }
}

class CarpetaExpController {
    public function CarpetaExpUpdateController() {
        if (isset($_POST['fecha_carpeta'])) {
            $datos = [
                "fecha_carpeta" => $_POST['fecha_carpeta'],
                "carpeta" => $_POST['carpeta'],
                "juez" => $_POST['juez'],
                "id" => $_POST['id']
            ];
            $resultado = CarpetaExpModel::CarpetaExpUpdateModel($datos, "carpetas");
            // window.location = "index.php?pagina=carpeta/carpeta-base&id=' . $_GET['id'] . '";
            if ($resultado == "success") {
                echo '<script>
                    if (window.history.replaceState) {
                        window.history.replaceState(null, null, window.location.href);
                    }
                    window.location = "carpeta.php";
                </script>';
            } else {
                echo '<script>
                    if (window.history.replaceState) {
                        window.history.replaceState(null, null, window.location.href);
                    }
                    window.location = "index.php";
                </script>';
            }
        }
    }

    static public function MuestraExpController() {
        if (isset($_GET['id'])) {
            $idshow = $_GET['id'];
            $carpeta = CarpetaExpModel::PendienteMuestraModels($idshow, "carpetas");

            if ($carpeta) {
                echo '
                <!-- Modal JUEZ -->
                <div class="modal fade" id="exampleModal-carpeta" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
                    <div class="modal-dialog">
                        <div class="modal-content">
                            <div class="modal-header">
                                <h5 class="modal-title" id="exampleModalLabel">Actualizar Carpeta</h5>
                                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                            </div>
                            <div class="modal-body">
                                <form method="post">
                                    <div class="mb-3">
                                        <label for="fecha_carpeta" class="form-label">Fecha</label>
                                        <input type="date" class="form-control" name="fecha_carpeta" value="' . $carpeta['fecha_carpeta'] . '">
                                    </div>
                                    <div class="mb-3">
                                        <label for="carpeta" class="form-label">Carpeta</label>
                                        <input type="text" class="form-control" name="carpeta" value="' . $carpeta['carpeta'] . '">
                                    </div>
                                    <div class="mb-3">
                                        <label for="juez" class="form-label">JUEZ</label>
                                        <select class="form-select" aria-label="Default select example" name="juez">
                                            <option value="Erick Serrano Aguirre"' . ($carpeta['juez'] == "Erick Serrano Aguirre" ? "selected" : "") . '>Erick Serrano Aguirre</option>
                                            <option value="Patricia Lozano Hernández"' . ($carpeta['juez'] == "Patricia Lozano Hernández" ? "selected" : "") . '>Patricia Lozano Hernández</option>
                                        </select>
                                        <input type="hidden" name="id" value="' . $idshow . '">
                                    </div>
                                    <button type="submit" class="btn btn-primary">Submit</button>
                                </form>
                            </div>
                            <div class="modal-footer">
                                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
                            </div>
                        </div>
                    </div>
                </div>
                <form>
                    <div class="row align-items-center">
                        <div class="col-1">
                            <div class="form-group">
                                <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal-carpeta">
                                    Carpeta
                                </button>
                            </div>
                        </div>
                        <div class="col-2">
                            <div class="form-group">
                                <label for="carpeta">Carpeta:</label>
                                <input type="text" class="form-control inputstl" value="' . $carpeta['carpeta'] . '" placeholder="Carpeta Judicial" aria-invalid="true">
                            </div>
                        </div>
                        <div class="col-2">
                            <div class="form-group">
                                <label for="fecha_carpeta">Fecha:</label>
                                <input type="date" class="form-control inputstl" value="' . $carpeta['fecha_carpeta'] . '" placeholder="Fecha">
                            </div>
                        </div>
                        <div class="col-4">
                            <div class="form-group">
                                <label for="tipo_solicitud">Tipo solicitud :</label>
                                <input type="text" class="form-control inputstl" value="' . $carpeta['tipo_solicitud'] . '" placeholder="Carpeta Judicial" aria-invalid="true">
                            </div>
                        </div>
                        <div class="col-3">
                            <div class="form-group">
                                <label for="juez">Juez:</label>
                                <input type="text" class="form-control inputstl" value="' . $carpeta['juez'] . '" placeholder="Carpeta Judicial" aria-invalid="true">
                            </div>
                        </div>
                    </div>
                </form>';
            } else {
                echo '
                <!-- Modal JUEZ -->
                <div class="modal fade" id="exampleModal-carpeta" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
                    <div class="modal-dialog">
                        <div class="modal-content">
                            <div class="modal-header">
                                <h5 class="modal-title" id="exampleModalLabel">Agregar Carpeta</h5>
                                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                            </div>
                            <div class="modal-body">
                                <form method="post">
                                    <div class="mb-3">
                                        <label for="fecha_carpeta" class="form-label">Fecha</label>
                                        <input type="date" class="form-control" name="fecha_carpeta">
                                    </div>
                                    <div class="mb-3">
                                        <label for="carpeta" class="form-label">Carpeta</label>
                                        <input type="text" class="form-control" name="carpeta">
                                    </div>
                                    <div class="mb-3">
                                        <label for="juez" class="form-label">JUEZ</label>
                                        <select class="form-select" aria-label="Default select example" name="juez">
                                            <option value="Erick Serrano Aguirre">Erick Serrano Aguirre</option>
                                            <option value="Patricia Lozano Hernández">Patricia Lozano Hernández</option>
                                        </select>
                                        <input type="hidden" name="id" value="' . $idshow . '">
                                    </div>
                                    <button type="submit" class="btn btn-primary">Submit</button>
                                </form>
                            </div>
                            <div class="modal-footer">
                                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
                            </div>
                        </div>
                    </div>
                </div>
                <form>
                    <div class="row align-items-center">
                        <div class="col-1">
                            <div class="form-group">
                                <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal-carpeta">
                                    Carpeta
                                </button>
                            </div>
                        </div>
                        <div class="col-2">
                            <div class="form-group">
                                <label for="fecha_carpeta">Fecha:</label>
                                <input type="date" class="form-control inputstl" placeholder="Fecha">
                            </div>
                        </div>
                        <div class="col-2">
                            <div class="form-group">
                                <label for="carpeta">Carpeta:</label>
                                <input type="text" class="form-control inputstl" placeholder="Carpeta Judicial" aria-invalid="true">
                            </div>
                        </div>
                        <div class="col-4">
                            <div class="form-group">
                                <label for="tipo_solicitud">Tipo solicitud :</label>
                                <input type="text" class="form-control inputstl" placeholder="Carpeta Judicial" aria-invalid="true">
                            </div>
                        </div>
                        <div class="col-3">
                            <div class="form-group">
                                <label for="juez">Juez:</label>
                                <input type="text" class="form-control inputstl" placeholder="Carpeta Judicial" aria-invalid="true">
                            </div>
                        </div>
                    </div>
                </form>';
            }
        }
    }
}

$controller = new CarpetaExpController();
$controller->CarpetaExpUpdateController();
CarpetaExpController::MuestraExpController();
?>
<hr>

<!-- Button trigger modal -->
<?php
class CarpetaDelitoModel {

  static public function obtenerDelitosPorCarpeta($idCarpeta) {
    try {
      $conexion = Conexion::conectar();
      $stmt = $conexion->prepare("SELECT * FROM delitos WHERE fk_carpeta = :idCarpeta");
      $stmt->bindParam(":idCarpeta", $idCarpeta, PDO::PARAM_INT);
      $stmt->execute();
      return $stmt->fetchAll(PDO::FETCH_ASSOC);
    } catch (PDOException $e) {
      return []; // Manejar errores adecuadamente
    } finally {
      $stmt = null;
      $conexion = null;
    }
  }

  static public function guardarDelito($datos) {
    try {
      $conexion = Conexion::conectar();
      $stmt = $conexion->prepare("INSERT INTO delitos (nombre, modalidad, fk_carpeta) VALUES (:nombre, :modalidad, :fk_carpeta)");
      $stmt->bindParam(":nombre", $datos['nombre'], PDO::PARAM_STR);
      $stmt->bindParam(":modalidad", $datos['modalidad'], PDO::PARAM_STR);
      $stmt->bindParam(":fk_carpeta", $datos['fk_carpeta'], PDO::PARAM_INT);
     
      if ($stmt->execute()) {
        return "success";
      } else {
        return "error";
      }
    } catch (PDOException $e) {
      return $e->getMessage(); // Manejar errores de la base de datos
    } finally {
      $stmt = null;
      $conexion = null;
    }
  }

}

class CarpetaDelitoController {

    public function guardarDelitoController() {
        if (isset($_POST['delito']) && isset($_POST['action']) && $_POST['action'] == 'delito') {

            $datos = array(
                "nombre" => htmlspecialchars($_POST['delito']),
                "modalidad" => htmlspecialchars($_POST['modalidad']),
                "fk_carpeta" => intval($_POST['fk_carpeta'])
            );

            $resultado = CarpetaDelitoModel::guardarDelito($datos);

            if ($resultado == "success") {
                echo '<script>
                document.getElementById("mensaje").innerHTML = "<div class=\'alert alert-success\' id=\'success-message\'>Delito guardado con éxito</div>";

                  if (window.history.replaceState) {
                    window.history.replaceState(null, null, window.location.href);
                  }
                  setTimeout(function() {
                    window.location = "carpeta.php";
                  }, 1000); // Esperar 3 segundos antes de redirigir
                </script>';
            } else {
              echo "<div class='alert alert-danger'>Error al guardar el delito: $resultado</div>";
            }
        }
    }

}
?>

<!-- Botón para abrir el modal -->
<div class=row>
    <div class="col-2">
        <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#staticBackdrop-delito">
        Delitos
        </button>
    </div>
    <div class="col-8">
    <div id="mensaje"></div>
    </div>
</div>

<!-- Modal -->
<div class="modal fade" id="staticBackdrop-delito" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="staticBackdropLabel">Delitos</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        <form method="post" action="">
          <input type="hidden" name="fk_carpeta" value="<?php echo htmlspecialchars($id); ?>">
          <input type="hidden" name="action" value="delito">
          <div class="col">
            <div class="form-group">
              <label for="delito">Delito:</label>
              <input type="text" class="form-control" name="delito" placeholder="Delito" required>
            </div>
          </div>
          <div class="col">
            <div class="form-group">
              <label for="modalidad">Modalidad:</label>
              <input type="text" class="form-control" name="modalidad" placeholder="Modalidad" required>
            </div>
          </div>
      </div>
      <div class="modal-footer">
        <button type="submit" class="btn btn-primary">Submit</button>
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
      </div>
      </form>
    </div>
  </div>
</div>

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delito'])) {
  $controller = new CarpetaDelitoController();
  $controller->guardarDelitoController();
}
?>

<!-- DELITOS -->
<table class="table" style='width:100%'>
  <thead>
    <tr>
      <th>id</th>
      <th>Delito</th>
      <th>Modalidad</th>
      <th>Eliminar</th>
    </tr>
  </thead>
  <tbody>
    <?php
    $delitos = CarpetaDelitoModel::obtenerDelitosPorCarpeta($id);
    foreach ($delitos as $delito) {
    ?>
      <tr>
        <td><?php echo htmlspecialchars($delito["id"]); ?></td>
        <td><?php echo htmlspecialchars($delito["nombre"]); ?></td>
        <td><?php echo htmlspecialchars($delito["modalidad"]); ?></td>
        <td>
          <form method="POST">
            <input type="hidden" name="id" value="<?php echo htmlspecialchars($delito["id"]); ?>">
            <input type="hidden" name="eliminardelito" value="eliminardelito">
            <button type="submit" class="btn btn-danger fa fa-trash"></button>
          </form>
        </td>
      </tr>
    <?php } ?>
  </tbody>
</table>


<hr>
<!-- INTERVINIENTES -->
<?php
class CarpetaIntercreateModel extends Conexion
{
  static public function CarpetaInterCreateModels($datos, $tabla)
  {
    $stmt = Conexion::conectar()->prepare("INSERT INTO $tabla(nombre,tipo,fk_carpeta)
                                                      VALUES (:nombre,:tipo,:fk_carpeta)");
    $stmt->bindParam(":nombre", $datos['nombre'], PDO::PARAM_STR);
    $stmt->bindParam(":tipo", $datos['tipo'], PDO::PARAM_STR);
    $stmt->bindParam(":fk_carpeta", $datos['fk_carpeta'], PDO::PARAM_STR);
    if ($stmt->execute()) {
      return "ModalCarpeta-inter";
    } else {
      return "error";
    }
    $stmt = null;
  }
  static public function CarpetaInterVistaModels($id, $tabla)
  {
    $stmt = Conexion::conectar()->prepare("SELECT * FROM $tabla WHERE fk_carpeta = :id ");
    $stmt->bindParam(":id", $id, PDO::PARAM_INT);
    $stmt->execute();
    return $stmt->fetchAll();
  }
}
?>

<?php
  #CONTROLADORES
class CarpetaInterController
{
  #Crea la solicitud para una carpeta-vista-carpetas
  public function CarpetaInterCrearController()
  {
    if (isset($_POST['ModalCarpeta-inter'])) {
 
      $datos = [
        "nombre" => $_POST['nombre'],
        "tipo" => $_POST['tipo'],
        "fk_carpeta" => $_POST['fk_carpeta']
      ];
      //var_dump($datos);

      $respuesta = CarpetaIntercreateModel::CarpetaInterCreateModels($datos, "carp_interviniente");
     // var_dump($respuesta);
      if ($respuesta == "ModalCarpeta-inter") {
        echo '<script>
            if ( window.history.replaceState ) {
                window.history.replaceState( null, null, window.location.href );
            }
            window.history.replaceState(null, null, window.location.href);
            </script>';
      } else {
        //header("location:index.php");
        echo '<script>
            if ( window.history.replaceState ) {
                window.history.replaceState( null, null, window.location.href );
            }
            window.location = "index.php";
            </script>';
      }
    }
  }
      #Mostramos todas las carpetas
  public function CarpetaInterVistaController($id)
  {

    $intervinientes = CarpetaIntercreateModel::CarpetaInterVistaModels($id, "carp_interviniente");
   //  var_dump( $intervinientes);
    //return;
   
    foreach ($intervinientes as $interviniente) {
    echo '
            <tr>
                <td>' . $interviniente["id"] . '</td>
                <td>' . $interviniente["tipo"] . '</td>
                <td>' . $interviniente["nombre"] . '</td>
                <td>
               
                 <div class="modal fade" id="exampleModal-carpeta" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
                <div class="modal-dialog">
                  <div class="modal-content">
                    <div class="modal-header">
                      <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
                      <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                    </div>
                    <div class="modal-body">
                      <form  method="post">
                          <div class="mb-3">
                              <label for="exampleInputEmail1" class="form-label" >Fecha</label>
                              <input type="date" class="form-control" name="fecha_carpeta">
                          </div>
                          <div class="mb-3">
                              <label for="exampleInputPassword1" class="form-label" >Carpeta</label>
                              <input type="text" class="form-control" name="carpeta">
                          </div>
                          <div class="mb-3">
                              <label for="exampleInputEmail1" class="form-label" >JUEZ</label>
             
                              <select class="form-select" aria-label="Default select example" name="juez">
                                <option value="Erick Serrano Aguirre">Erick Serrano Aguirre</option>
                                <option value="Patricia Lozano Hernández">Patricia Lozano Hernández</option>
                            </select>
             
                              <input type="hidden" name="id" value="<?php echo $id; ?>">
                          </div>
                          <button type="submit" class="btn btn-primary">Submit</button>
                      </form>
             
                    </div>
                    <div class="modal-footer">
                      <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
             
                    </div>
                  </div>
                </div>
              </div></td>
            </tr>    
          ';
    }
  }

}
?>

<button type="button" class="btn btn-success" data-bs-toggle="modal" data-bs-target="#ModalCarpeta-inter">
    Intervinientes
    </button>
    <!-- The Modal Creamos una solicitud modal-lg -->
    <div class="modal" id="ModalCarpeta-inter">
    <div class="modal-dialog">
        <div class="modal-content">
            <!-- Modal Header -->
            <div class="modal-header">
                <h4 class="modal-title">Expediente id:<?php echo $id; ?></h4>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>

            <!-- Modal body -->
            <div class="modal-body">
                <form method="POST">
                    <input type="hidden" name="ModalCarpeta-inter">
                    <input type="hidden" name="fk_carpeta" value="<?php echo $id; ?>">

                    <!-- Carpeta:carpeta -->
                        <div class="col">
                            <label for="nombre" class="col-form-label">Nombre</label>
                            <input type="text" class="form-control bg-white" name="nombre">
                        </div>
                        <div class="col">
                            <label for="tipo" class="col-form-label">Tipo</label>
                            <select class="form-select" aria-label="Default select example" name="tipo">
                                <option selected disabled>Seleccione un tipo</option>
                                <option value="Victima">Victima</option>
                                <option value="Imputado">Imputado</option>
                                <option value="Sentenciado">Sentenciado</option>
                                <option value="Defensor">Defensor</option>
                            </select>
                        </div>
               
                    <div class="modal-footer">
                        <button type="submit" class="btn btn-primary">Guardar</button>
                        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cerrar</button>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>

    <!-- Creamos un nuevo registro -->
    <?php

   
    $CarpetaInter  = new CarpetaInterController();

    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        // Verificando todos los datos enviados por el formulario-->
        // var_dump($_POST);
       
        $CarpetaInter->CarpetaInterCrearController();
    }
    ?>


    <table  class="table">
        <thead class="thead-dark">
            <tr>
            <th>Id</th>
            <th>tipo</th>
            <th>nombre</th>
            </tr>
        </thead>
        <tbody>
            <?php
            $CarpetaInter->CarpetaInterVistaController($id);
            ?>
        </tbody>
    </table>







</div>

</body>
</html>

Comentarios