tieneAcceso()){ $objSesion->terminaSesion(); } $objSesion->validaPeriodoUsuario();//si no tiene periodo manda a main function comparaMaterias(&$materiasArr, $fileArr, $electivas = false ){ foreach($materiasArr as $index => $materia){ //$row = $materia["Carrera_id"].",".$materia["PlanEstudio_id"].",".$materia["Grupo_id"].",".$materia["Materia_id"].",".$materia["Submateria_id"].",".$materia["Usuario_id"]."\n"; if(!$electivas) $row = $materia["Grupo_desc"].$materia["Carrera_prefijo"].",".$materia["Materia_id"].",".$materia["Usuario_id"]."\n"; else $row = "Electivas,".$materia["Submateria_id"].",".$materia["Usuario_id"]."\n"; //echo $row; if(!in_array($row, $fileArr)){ $materiasArr[$index]["color"] = "table-warning"; $materiasArr[$index]["modificado"] = 1; //echo $index.") No está"; }else{ $materiasArr[$index]["modificado"] = 0; } //echo "
"; } } function materiasSobrantes($materiasArr, $fileArr ){ $sobrantes = 0; foreach($fileArr as $index => $materia){ $row = trim($materia["Carrera_id"].",".$materia["PlanEstudio_id"].",".$materia["Grupo_id"].",".$materia["Materia_id"].",".$materia["Submateria_id"].",".$materia["Usuario_id"]); //echo $row; if(!in_array($row, $materiasArr)){ $sobrantes++; //echo $index.") No está"; } //echo "
"; } } function getIniciales($materia){ $ret = ''; $materia = str_ireplace( array("Á","É","Í","Ó","Ú","Ñ","Ä","Ë","Ï","Ö","Ü","Â","Ê","Î","Ô","Û","Ã"), array("A","E","I","O","U","N","A","E","I","O","U","A","E","I","O","U","A"), utf8_encode($materia)); foreach (explode(' ', $materia) as $word){ if(ctype_alpha($word[0])) $ret .= $word[0]; } return strtoupper($ret); } ?> APSA - Facultad de Ingeniería
printMenu(); $filter_modificados = 1;//sólo modificados //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 materias del periodo"; $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 materias electivas del periodo"; $stmt->closeCursor(); }else{ $electivas_rs = $stmt->fetchAll(); $stmt->closeCursor(); } if(isset($materias_rs) || isset($electivas_rs)){ //print_r($materias_rs); //--- Valida cambios $stmt = $pdo->prepare('Select * from fs_materiasmoodle(:usr, :per)');//selecciona archivo con materias moodle $stmt->bindParam(":usr", $_SESSION["usuario_id"]); $stmt->bindParam(":per", $_SESSION["periodo_id"]); if(!$stmt->execute()){ //$t = $stmt->errorInfo(); $errorDesc = "Ocurrió un error al obtener el archivo de las materias."; $stmt->closeCursor(); }else{ $file_rs = $stmt->fetch(); $filename = $file_rs["fs_materiasmoodle"]; $stmt->closeCursor(); unset($file_rs); if($filename != ""){//existe $materiasObj = new ArchivoMaterias($_SESSION["usuario_id"], $_SESSION["periodo_id"], $filename ); $fileContentsArr = $materiasObj->getFile(); if(isset($materias_rs)) comparaMaterias($materias_rs, $fileContentsArr, false);//agrega modificado y color if(isset($electivas_rs)) comparaMaterias($electivas_rs, $fileContentsArr, true);//agrega modificado y color } } }//fin hay materias ?>

Materias que cambiaron desde la última generación del archivo.

"> ">
Nombre corto Materia Profesor Grupo Semestre
>PENDIENTE"; echo $prof; ?>
>PENDIENTE"; echo $prof; ?> Electivas