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); ?>