datos_alumnos.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. <?php
  2. require_once("./include/constantes.php");
  3. require_once("./include/bd_pdo.php");
  4. require_once("./classes/MainMenu.php");
  5. session_start();
  6. //--- Valida que el usuaro tenga permisos de superadministrador
  7. if(!isset($_SESSION) || !$_SESSION["sgi_administrador"]){
  8. header("Location: main.php");
  9. exit();
  10. }
  11. $session_life = 1*60*60;//convertido a segundos
  12. if (isset($_SESSION["timeout"])) {
  13. // calculate the session's "time to live"
  14. $sessionTTL = time() - $_SESSION["timeout"];
  15. if ($sessionTTL > $session_life) {
  16. $_SESSION = array();
  17. session_destroy();
  18. $pag = $_SERVER['SERVER_NAME']."/salir.php?expired=1";
  19. header("Location: http://".$pag);
  20. exit();
  21. }
  22. }else{
  23. $_SESSION = array();
  24. session_destroy();
  25. $pag = $_SERVER['SERVER_NAME']."/salir.php?expired=1";
  26. header("Location: http://".$pag);
  27. exit();
  28. }
  29. $_SESSION["timeout"] = time();
  30. ?>
  31. <!DOCTYPE html>
  32. <html lang="es" prefix="og: http://ogp.me/ns#">
  33. <head>
  34. <title>.: Facultad de Ingeniería :.</title>
  35. <meta charset="utf-8">
  36. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  37. <link rel="icon" type="image/png" href="img/favicon.png" />
  38. <link rel="stylesheet" href="./css/bootstrap-ulsa.min.css" type="text/css">
  39. <link rel="stylesheet" href="./css/indivisa.css" type="text/css">
  40. <link rel="stylesheet" href="./css/sgi.css?rand=<?php echo rand();?>" type="text/css">
  41. <link rel="stylesheet" href="./css/fa_all.css" type="text/css">
  42. <style>
  43. .badge{padding:4px 8px; margin-left:10px;}
  44. </style>
  45. </head>
  46. <body>
  47. <div>
  48. <?php
  49. //--- Objeto que pinta menu
  50. $menuObj = new MainMenu($_SESSION["usuario_id"], NULL, $pdo, NULL, "Historial de alumnos");//usr, menu, pdo, sist
  51. require_once("./include/main_menus.php");
  52. if(isset($_MAIN_MENU)){
  53. foreach($_MAIN_MENU as $menu){
  54. $menuObj->agregaMenu($menu["nombre"], $menu["pag"], $menu["ico"]);
  55. }
  56. $menuObj->printMenu();
  57. }
  58. //Obtiene datos de alumnos
  59. $stmt = $pdo->prepare('Select count(1) as total from alumno_detalles');
  60. if(!$stmt->execute()){
  61. $errorDesc = "Ocurrió un error al cargar los datos";
  62. }else
  63. $datos_rs = $stmt->fetch();
  64. $stmt->closeCursor();
  65. $stmt = null;
  66. $total = $datos_rs["total"];
  67. //--Manejo de errores y mensajes de exito
  68. if(isset($_GET["error"]) && is_numeric($_GET["error"])){
  69. switch ($_GET["error"]){
  70. case 0: $errorDesc = "No se reciberon los datos correctamente."; break;
  71. case 1: $errorDesc = "Ocurrió un error al actualizar los datos de los usuarios."; break;
  72. }
  73. if(isset($_GET["lista"])){
  74. $errorDesc .= "IDs: ".$_GET["lista"];
  75. }
  76. }
  77. if(isset($_GET["ok"]) && is_numeric($_GET["ok"])){
  78. switch ($_GET["ok"]){
  79. case 0: $successDesc = "Los datos se actualizaron correctamente."; break;
  80. }
  81. }
  82. ?>
  83. <div class="container marco mt-4" style="min-height: 360px;">
  84. <?php include_once("./include/errorMessage.php"); ?>
  85. <div class="row">
  86. <div class="col-12">
  87. <h4>Se encontraron <b class="text-danger"><?php echo $total;?></b> registros de alumnos</h4>
  88. </div>
  89. </div>
  90. <div class="row mt-4">
  91. <div class="col-12 text-center">
  92. <button class="btn btn-primary" id="btn-guardar">Actualizar datos</button>
  93. <div class="form-group row mt-3" id="loadingGroup" style="display:none">
  94. <div class="col-12 text-center text-info">
  95. Cargando información
  96. <div class="spinner-border" role="status">
  97. <span class="sr-only">Loading...</span>
  98. </div>
  99. </div>
  100. </div>
  101. <p id="desc" class="mt-2 d-none">Resultado</p>
  102. </div>
  103. </div>
  104. </div>
  105. <!--- FOOTER--->
  106. <?php require_once("./include/footer.php"); ?>
  107. </div>
  108. <script src="./js/jquery.min.js"></script>
  109. <script src="./js/bootstrap/popper.min.js"></script>
  110. <script src="./js/bootstrap/bootstrap.min.js"></script>
  111. <script src="./js/sidebarmenu.js"></script>
  112. <script>
  113. $(document).ready(function(){
  114. $(".btn-menus").click(function(){
  115. var sist = $(this).parents("tr").data("id");
  116. $("#sist").val(sist);
  117. //$("#formHidden").attr("action", "menus.php").submit();
  118. $("#formHidden").submit();
  119. });
  120. $("#btn-guardar").click(function(){
  121. //ajax a './action/datos_alumnos_insert.php' recibe el texto de la página y lo muestra en #desc
  122. $(this).hide()
  123. $("#loadingGroup").show();
  124. $.ajax({
  125. url: './action/datos_alumnos_insert.php',
  126. type: 'GET',
  127. dataType: 'text',
  128. success: function(result) {
  129. $("#desc").text(result);
  130. $("#desc").removeClass("d-none").removeClass("text-danger");
  131. $(this).show()
  132. $("#loadingGroup").hide();
  133. },
  134. error: function(jqXHR, textStatus, errorThrown ){
  135. $("#desc").text(textStatus);
  136. $("#desc").removeClass("d-none").addClass("text-danger");
  137. }
  138. });
  139. });
  140. });
  141. </script>
  142. </body>
  143. </html>