tieneAcceso()){ $objSesion->terminaSesion(); } $objSesion->validaPeriodoUsuario();//si no tiene periodo manda a main //Obtiene materias de profesor if(empty($matArr[2])){ $stmt = $pdo->prepare('Select * from fs_materiasprofesor(:per, :usr) '); }else{ $stmt = $pdo->prepare('Select * from fs_materiasprofesor(:per, :usr) '); $stmt->bindParam(":sub", $matArr[2]); } $stmt->bindParam(":per", $_SESSION["periodo_id"]); $stmt->bindParam(":usr", $_SESSION["usuario_id"]); if(!$stmt->execute()){ print_r($stmt->errorInfo()); $errorDesc = "Ocurrió un error al cargar los planes de estudios"; exit(); }else $mat_rs = $stmt->fetchAll(); $stmt = null; //------- function buscaVacacion($fecha, $vacacionesArr){ $i=0; foreach($vacacionesArr as $vacacion){ if ($vacacion["fecha"] == $fecha){ return $i; } $i++; } return false; } function getSesiones($arr, $num){ foreach($arr as $ses){ if($ses["sesion"] == $num ){ return $ses["subsesiones"]; } } return array(); } //------------ if(isset($_POST["materia"])){ $filter_mat = $_POST["materia"]; $filter_materia_nom = $_POST["materia_nom"]; $matArr = explode("_",$filter_mat); if(empty($matArr[2])){ $stmt = $pdo->prepare('Select * from fs_syllabus(:periodo, :prof, :mat, :gpo, NULL )'); }else{ $stmt = $pdo->prepare('Select * from fs_syllabus(:periodo, :prof, :mat, :gpo, :sub )'); $stmt->bindParam(":sub", $matArr[2]); } $stmt->bindParam(":periodo", $_SESSION["periodo_id"]); $stmt->bindParam(":prof", $_SESSION["usuario_id"]); $stmt->bindParam(":mat", $matArr[0]); $stmt->bindParam(":gpo", $matArr[1]); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); $errorDesc = "Ocurrió un error al cargar los datos del sýllabus"; }else{ $syllabus_rs = $stmt->fetch(); } $stmt->closeCursor(); //Obtiene grupos $query = ""; //---Tipo de sesiones plan cátedra $stmt = $pdo->prepare('Select * from fs_sesioncatedra_tipo(NULL)'); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); $errorDesc = "Ocurrió un error al cargar los días de las materias"; }else{ $tipoSesionArr = $stmt->fetchAll(); } $stmt->closeCursor(); $stmt = null; //------------------------- //Obtiene materias de profesor if(empty($matArr[2])){ $stmt = $pdo->prepare('Select * from fs_materiadias(:usr, :mat, :gpo, NULL)'); }else{ $stmt = $pdo->prepare('Select * from fs_materiadias(:usr, :mat, :gpo, :sub)'); $stmt->bindParam(":sub", $matArr[2]); } $stmt->bindParam(":usr", $_SESSION["usuario_id"]); $stmt->bindParam(":mat", $matArr[0]); $stmt->bindParam(":gpo", $matArr[1]); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); $errorDesc = "Ocurrió un error al cargar los días de las materias"; }else{ $rs = $stmt->fetchAll(); $diasMatArr = array(); foreach($rs as $dia){ $diasMatArr[] = array( "dia"=> $dia["Dia_id"], "hora"=>substr($dia["Horario_hora"],0, 5)); } } $stmt->closeCursor(); $stmt = null; //------------------------- //Obtiene fechas de periodo $stmt = $pdo->prepare('Select * from fs_periodo(:periodo, NULL, NULL, true)'); $stmt->bindParam(":periodo", $_SESSION["periodo_id"]); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); $errorDesc = "Ocurrió un error al cargar los datos del periodo"; }else{ $periodo_rs = $stmt->fetch(); } $stmt->closeCursor(); /*$eventoObj = new Evento(0, "Inicio de cursos","",0, "Fechas importantes", PERIODO_COLOR, $_SESSION["periodo_id"], $periodo_rs["Periodo_fecha_inicial"], true,"","", false); $eventoObj->addFecha($periodo_rs["Periodo_fecha_inicial"]); $eventos_display = array_merge($eventos_display, $eventoObj->getEventList($mes, $anho)); $eventoObj = new Evento(0, "Fin de cursos","",0, "Fechas importantes", PERIODO_COLOR, $_SESSION["periodo_id"], $periodo_rs["Periodo_fecha_final"], true,"","", false); $eventoObj->addFecha($periodo_rs["Periodo_fecha_final"]); $eventos_display = array_merge($eventos_display, $eventoObj->getEventList($mes, $anho));*/ $fecha_min = $periodo_rs["Periodo_fecha_inicial"]; $fecha_max = $periodo_rs["Periodo_fecha_final"]; // Obtiene fechas de vacaciones $stmt = $pdo->prepare('select * from fs_calendarioevento_categoria(:fini, :ffin, 2)'); $stmt->bindParam(":fini", $fecha_min); $stmt->bindParam(":ffin", $fecha_max); if(!$stmt->execute()){ $errorDesc = "Ocurrió un error al cargar las fechas de vacaciones"; }else{ $vacaciones_rs = $stmt->fetchAll(); } $stmt->closeCursor(); $stmt = null; $vacacionesArr = array();//Guarda los días individuales de vacaciones foreach($vacaciones_rs as $evento){ $fecha = fechaGuion($evento["CalendarioEvento_fecha"]); switch($evento["CalendarioRepeticion_id"]){ case 1: //diario while (strtotime($fecha) <= strtotime($evento["CalendarioReglas_fecha_final"])) { $vacacionesArr[] = array("fecha"=> $fecha, "titulo"=>$evento["CalendarioEvento_titulo"]); $fecha = date ("Y-m-d", strtotime("+1 day", strtotime($fecha))); } break; case 2: //semanal $diasArr = explode(",", $evento["CalendarioReglas_dias_str"]); while (strtotime($fecha) <= strtotime($evento["CalendarioReglas_fecha_final"])) { if(in_array(date("w", strtotime($fecha)), $diasArr) ){//si es el día que quiero $vacacionesArr[] = array("fecha"=> $fecha, "titulo"=>$evento["CalendarioEvento_titulo"]); } $fecha = date ("Y-m-d", strtotime("+1 day", strtotime($fecha))); } break; case 3://mensual $diasArr = explode(",", $evento["CalendarioReglas_dias_str"]); //reglas $weekTxt = array(1=>"first", 2=>"second", 3=>"third", 4=>"fourth", -1=>"last"); $dayname = array("sun", "mon", "tue", "wed", "thu", "fri", "sat"); $fecha = date ("Y-m-01", strtotime($fecha));//empieza a revisar en el primer día del mes $semana = $evento["CalendarioReglas_semana"]; while (strtotime($fecha) <= strtotime($evento["CalendarioReglas_fecha_final"])) { foreach($diasArr as $d){ //echo "-->". intval(date("w", strtotime($fecha)))." == ". intval($d)."[".$fecha."]"; if($semana == 1 && intval(date("w", strtotime($fecha))) == intval($d) ){//si el día actual es el que quiero lo guarda $vacacionesArr[] = array("fecha"=> $fecha, "titulo"=>$evento["CalendarioEvento_titulo"]); }else{//si no calcula siguiente día if(intval(date("w", strtotime($fecha))) == intval($d)){ $fechaTmp = date ("Y-m-d", strtotime($weekTxt[$semana-1]." ".$dayname[$d], strtotime($fecha))); }else{ $fechaTmp = date ("Y-m-d", strtotime($weekTxt[$semana]." ".$dayname[$d], strtotime($fecha))); } $vacacionesArr[] = array("fecha"=> $fecha, "titulo"=>$evento["CalendarioEvento_titulo"]); } } $fecha = date ("Y-m-01", strtotime("+1 month", strtotime($fecha)));//siguiente mes primer día } break; default: //no se repite $vacacionesArr[] = array("fecha"=> $fecha, "titulo"=>$evento["CalendarioEvento_titulo"]); } } $MESES = array(1=>"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"); $DIAS = array("Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"); $calendario = array(); $fechasArr = array(); $fecha = $fecha_min; $semOld=1; //$semana_ini = date("W", strtotime($fecha)); $cont = 0; while (strtotime($fecha) <= strtotime($fecha_max)) { if(date("w", strtotime($fecha)) == $diasMatArr[$cont%count($diasMatArr)]["dia"]) {//si es el día que quiero if($semOld != floor($cont/count($diasMatArr))+1){ $sem = floor($cont/count($diasMatArr))+1; $semOld = $sem; $calendario[] = array("semana"=>$sem-1, "fechas"=>$fechasArr); $mes_old = $nmes; $fechasArr = array(); } $vacPos = buscaVacacion($fecha, $vacacionesArr); if($vacPos === false){ $fechasArr[] = array("numSesion"=>$cont+1, "fecha"=>fechaSlash($fecha)." ".$diasMatArr[$cont%count($diasMatArr)]["hora"], "habil"=>true, "dia"=>$DIAS[date("w", strtotime($fecha))-1], "titulo"=>""); $cont++; //Si el día de la fecha no es el día del siguiente evento O se reinicia el arreglo de días if(date("w", strtotime($fecha)) != $diasMatArr[$cont%count($diasMatArr)]["dia"] || $cont%count($diasMatArr)==0){ $fecha = date ("Y-m-d", strtotime("+1 day", strtotime($fecha))); } }else{ $fechasArr[] = array("numSesion"=> 0,"fecha"=>fechaSlash($fecha), "habil"=>false, "dia"=>$DIAS[date("w", strtotime($fecha))-1], "titulo"=>$vacacionesArr[$vacPos]["titulo"]); $fecha = date ("Y-m-d", strtotime("+1 day", strtotime($fecha))); } }else{ $fecha = date ("Y-m-d", strtotime("+1 day", strtotime($fecha))); } } if($semOld != floor($cont/count($diasMatArr))){ $sem = floor($cont/count($diasMatArr))+1; }else{ $sem = floor($cont/count($diasMatArr)); } $calendario[] = array("semana"=>$sem, "fechas"=>$fechasArr); //print_r($vacacionesArr); echo "
"; //print_r($calendario); exit(); //---Obtiebe contenido de sesiones plan cátedra //echo "Select * from fs_sesioncatedra({$matArr[0]}, {$_SESSION["usuario_id"]}, {$matArr[1]}, NULL, NULL)"; if(empty($matArr[2])){ $stmt = $pdo->prepare('Select * from fs_sesioncatedra(:mat, :usr, :gpo, NULL, NULL)'); }else{ $stmt = $pdo->prepare('Select * from fs_sesioncatedra(:mat, :usr, :gpo, :sub, NULL)'); $stmt->bindParam(":sub", $matArr[2]); } $stmt->bindParam(":usr", $_SESSION["usuario_id"]); $stmt->bindParam(":mat", $matArr[0]); $stmt->bindParam(":gpo", $matArr[1]); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); $errorDesc = "Ocurrió un error al cargar las sesiones del plan de cátedra"; }else{ $rs = $stmt->fetchAll(); $sesionesArr = array(); $ses_old = -1; $subsesionArr = array(); $i = -1; foreach($rs as $ses){ if($ses_old != $ses["SesionCatedra_numero"]){ $i++; $sesionesArr[$i]=array("sesion"=>$ses["SesionCatedra_numero"], "subsesiones"=>array()); $ses_old = $ses["SesionCatedra_numero"]; } $sesionesArr[$i]["subsesiones"][] = array("desc"=>$ses["SesionCatedra_desc"], "tipo_id"=>$ses["SesionCatedraTipo_id"], "tipo"=>$ses["SesionCatedraTipo_desc"], "color"=>$ses["SesionCatedraTipo_color"]); //$diasMatArr[] = array( "dia"=> $dia["Dia_id"], "hora"=>substr($dia["Horario_hora"],0, 5)); } } //print_r($sesionesArr); exit(); $stmt->closeCursor(); $stmt = null; } ?> APSA - Facultad de Ingeniería
printMenu(); //--Manejo de errores y mensajes de exito if(isset($_GET["error"]) && is_numeric($_GET["error"])){ switch ($_GET["error"]){ case 0: $errorDesc = "No se reciberon los datos."; break; case 1: $errorDesc = "Ocurrió un error al insertar los datos del syllabus."; break; case 2: $errorDesc = "No tienes permisos para realizar esa acción."; break; case 3: $errorDesc = "Ocurrió un error al cargar los datos del syllabus."; break; } } if(isset($_GET["ok"]) && is_numeric($_GET["ok"])){ switch ($_GET["ok"]){ case 0: $successDesc = "El syllaubus se actualizó correctamente."; break; case 1: $successDesc = "El plan de cátedra se actualizó correctamente."; break; } } ?>
puedeEditar() && duracionMinutos(date("Y-m-d H:i:00"), $periodo_rs["Periodo_fecha_final"] ) > 0){ ?>
Mostrar todas
  • " >

INFORMACIÓN DE LA ASIGNATURA

"> Subir

" >

Sesión

">

" title="" data-tipo="">
">
" title="" data-tipo="">

puedeEditar()){ ?>
puedeEditar()){ ?>