materiasperiodo_insert.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. /* AJAX
  3. * Selecciona los datos de la carrera
  4. * Recibe:
  5. * Return:
  6. * resultado o cadena de error
  7. */
  8. require_once("../../include/constantes.php");
  9. require_once("../../include/nocache.php");
  10. require_once("../../include/bd_pdo.php");
  11. require_once("../../include/util.php");
  12. require_once("../../classes/ValidaSesion.php");
  13. require_once("../../classes/ArchivoMaterias.php");
  14. //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
  15. $objSesion = new ValidaSesion($pdo, 84, APSA);
  16. if(!$objSesion->tieneAcceso() || !$objSesion->puedeEditar()){
  17. $return["error"] = "Error! No tienes permisos para realizar esta acción.";
  18. }else{
  19. $return["error"] = "";
  20. try {
  21. $pdo->beginTransaction();
  22. $error = false;
  23. $arregloQuery = array();
  24. //---- Valida si existe el archivo ----------
  25. $stmt = $pdo->prepare('Select * from fs_materiasmoodle(:usr, :per)');
  26. $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
  27. $stmt->bindParam(":per", $_SESSION["periodo_id"]);
  28. if(!$stmt->execute()){
  29. $pdo->rollBack();
  30. //$t = $stmt->errorInfo();
  31. $return["error"] .= "Ocurrió un error al obtener el archivo de las materias.";
  32. $return["json"] = json_encode($return);
  33. echo json_encode($return);
  34. }else{
  35. $file_rs = $stmt->fetch();
  36. $filename = $file_rs["fs_materiasmoodle"];
  37. $stmt->closeCursor();
  38. unset($file_rs);
  39. }
  40. $materiasObj = new ArchivoMaterias($_SESSION["usuario_id"], $_SESSION["periodo_id"], $filename );
  41. if(!isset($filename) || $filename== ""){//crea archivo
  42. $filename = $materiasObj->getFileName();//Si existe no cambia, si no, se asigna
  43. //Actualiza archivo
  44. $stmt = $pdo->prepare('Select * from fi_materiasmoodle(:usr, :per, :name)');
  45. $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
  46. $stmt->bindParam(":per", $_SESSION["periodo_id"]);
  47. $stmt->bindParam(":name", $filename);
  48. if(!$stmt->execute()){
  49. $pdo->rollBack();
  50. //$t = $stmt->errorInfo();
  51. $return["error"] .= "Ocurrió un error al insertar el archivo de las materias.";
  52. $return["json"] = json_encode($return);
  53. echo json_encode($return);
  54. }
  55. $stmt->closeCursor();
  56. }
  57. $materiasObj->cleanFile();
  58. //Materias
  59. $stmt = $pdo->prepare('Select * from fs_materiasperiodo(:per)');
  60. $stmt->bindParam(":per", $_SESSION["periodo_id"]);
  61. if(!$stmt->execute()){
  62. $errorDesc = "Ocurrió un error al cargar las áreas académicas";
  63. $stmt->closeCursor();
  64. }else{
  65. $materias_rs = $stmt->fetchAll();
  66. $stmt->closeCursor();
  67. }
  68. //Electivas
  69. $stmt = $pdo->prepare('Select * from fs_electivasperiodo(:per)');
  70. $stmt->bindParam(":per", $_SESSION["periodo_id"]);
  71. if(!$stmt->execute()){
  72. $errorDesc = "Ocurrió un error al cargar las áreas académicas";
  73. $stmt->closeCursor();
  74. }else{
  75. $electivas_rs = $stmt->fetchAll();
  76. $stmt->closeCursor();
  77. }
  78. if(isset($materias_rs)){
  79. foreach($materias_rs as $materia){
  80. $row = $materia["Grupo_desc"].$materia["Carrera_prefijo"].",".$materia["Materia_id"].",".$materia["Usuario_id"];
  81. $materiasObj->appendFile($row);
  82. }
  83. $materiasObj->appendFile("");
  84. }
  85. $materiasObj->appendFile($row);
  86. if(isset($electivas_rs)){
  87. foreach($electivas_rs as $materia){
  88. $row = "Electivas,".$materia["Submateria_id"].",".$materia["Usuario_id"];
  89. $materiasObj->appendFile($row);
  90. }
  91. }
  92. $return["ok"] = "Archivo de materias guardado.";
  93. $pdo->commit();
  94. } catch(PDOException $e) {
  95. $pdo->rollBack();
  96. $return["error"] = "Ocurrió un error al crear el archivo de materias.";
  97. }
  98. }
  99. $return["json"] = json_encode($return);
  100. echo json_encode($return);
  101. ?>