123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?php
- /* AJAX
- * Selecciona los datos de la carrera
- * Recibe:
- * Return:
- * resultado o cadena de error
- */
- require_once("../../include/constantes.php");
- require_once("../../include/nocache.php");
- require_once("../../include/bd_pdo.php");
- require_once("../../include/util.php");
- require_once("../../classes/ValidaSesion.php");
- require_once("../../classes/ArchivoMaterias.php");
- //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
- $objSesion = new ValidaSesion($pdo, 84, APSA);
- if(!$objSesion->tieneAcceso() || !$objSesion->puedeEditar()){
- $return["error"] = "Error! No tienes permisos para realizar esta acción.";
- }else{
-
- $return["error"] = "";
-
- try {
- $pdo->beginTransaction();
- $error = false;
- $arregloQuery = array();
-
- //---- Valida si existe el archivo ----------
- $stmt = $pdo->prepare('Select * from fs_materiasmoodle(:usr, :per)');
- $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
- $stmt->bindParam(":per", $_SESSION["periodo_id"]);
- if(!$stmt->execute()){
- $pdo->rollBack();
- //$t = $stmt->errorInfo();
- $return["error"] .= "Ocurrió un error al obtener el archivo de las materias.";
- $return["json"] = json_encode($return);
- echo json_encode($return);
- }else{
- $file_rs = $stmt->fetch();
- $filename = $file_rs["fs_materiasmoodle"];
- $stmt->closeCursor();
- unset($file_rs);
- }
- $materiasObj = new ArchivoMaterias($_SESSION["usuario_id"], $_SESSION["periodo_id"], $filename );
-
- if(!isset($filename) || $filename== ""){//crea archivo
- $filename = $materiasObj->getFileName();//Si existe no cambia, si no, se asigna
- //Actualiza archivo
- $stmt = $pdo->prepare('Select * from fi_materiasmoodle(:usr, :per, :name)');
- $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
- $stmt->bindParam(":per", $_SESSION["periodo_id"]);
- $stmt->bindParam(":name", $filename);
-
- if(!$stmt->execute()){
- $pdo->rollBack();
- //$t = $stmt->errorInfo();
- $return["error"] .= "Ocurrió un error al insertar el archivo de las materias.";
- $return["json"] = json_encode($return);
- echo json_encode($return);
- }
- $stmt->closeCursor();
- }
-
-
- $materiasObj->cleanFile();
-
- //Materias
- $stmt = $pdo->prepare('Select * from fs_materiasperiodo(:per)');
- $stmt->bindParam(":per", $_SESSION["periodo_id"]);
- if(!$stmt->execute()){
- $errorDesc = "Ocurrió un error al cargar las áreas académicas";
- $stmt->closeCursor();
- }else{
- $materias_rs = $stmt->fetchAll();
- $stmt->closeCursor();
- }
- //Electivas
- $stmt = $pdo->prepare('Select * from fs_electivasperiodo(:per)');
- $stmt->bindParam(":per", $_SESSION["periodo_id"]);
- if(!$stmt->execute()){
- $errorDesc = "Ocurrió un error al cargar las áreas académicas";
- $stmt->closeCursor();
- }else{
- $electivas_rs = $stmt->fetchAll();
- $stmt->closeCursor();
- }
- if(isset($materias_rs)){
- foreach($materias_rs as $materia){
- $row = $materia["Grupo_desc"].$materia["Carrera_prefijo"].",".$materia["Materia_id"].",".$materia["Usuario_id"];
- $materiasObj->appendFile($row);
- }
- $materiasObj->appendFile("");
- }
- $materiasObj->appendFile($row);
- if(isset($electivas_rs)){
- foreach($electivas_rs as $materia){
- $row = "Electivas,".$materia["Submateria_id"].",".$materia["Usuario_id"];
- $materiasObj->appendFile($row);
- }
- }
- $return["ok"] = "Archivo de materias guardado.";
- $pdo->commit();
-
- } catch(PDOException $e) {
- $pdo->rollBack();
- $return["error"] = "Ocurrió un error al crear el archivo de materias.";
- }
- }
- $return["json"] = json_encode($return);
- echo json_encode($return);
- ?>
|