tieneAcceso()){ $objSesion->terminaSesion(); } if(!$objSesion->puedeEditar()){ $errorDesc = "No puedes editar el horario."; } if(!$_SESSION["profesor"]){ header("Location: perfil.php"); exit(); } //Dias $stmt = $pdo->prepare('Select * from fs_dia(NULL)'); if(!$stmt->execute()){ $errorDesc = "Error al obtener los días"; print_r($stmt->errorInfo()); }else $dias_rs = $stmt->fetchAll(); $stmt->closeCursor(); //Estado de horario (edicion/nuevo) /*$stmt = $pdo->prepare('Select * from fs_mihorarioestado(:usr)'); $stmt->bindParam(":usr", $_SESSION["usuario_id"]); if(!$stmt->execute()){ $errorDesc = "Error al cargar el horario del grupo"; print_r($stmt->errorInfo()); }else{ $rs = $stmt->fetch(); $horario_estado = $rs["fs_mihorarioestado"]; unset($rs); } $stmt->closeCursor();*/ $stmt = null; function enBloqueClase($pdo, $hora, $frac, $nivel){ $stmt = $pdo->prepare('Select * from fs_horaclase(:nivel, NULL)'); $stmt->bindParam(":nivel", $nivel); $stmt->execute(); $bloque_rs = $stmt->fetchAll(); $horaFracc = $hora .":". (60/FRACCION_HORA*$frac).":00"; foreach($bloque_rs as $bloque){ if(strtotime($horaFracc) >= strtotime($bloque["HoraClase_inicio"]) && strtotime($horaFracc) < strtotime($bloque["HoraClase_final"])) return "fraccion-sugerida"; } return ""; } function validaHorarios(& $arr){ $erroresArr = array(); for($i = 0; $i < count($arr)-1; $i++){ for($j = $i+1; $j < count($arr); $j++){ if($arr[$i]["Dia_id"] == $arr[$j]["Dia_id"] && !($arr[$i]["TipoHorario_id"] == 3 && $arr[$i]["TipoHorario_id"] == $arr[$j]["TipoHorario_id"])){ if( (date('H:i', strtotime($arr[$i]["Hora_inicio"])) <= date('H:i', strtotime($arr[$j]["Hora_inicio"])) && date('H:i', strtotime($arr[$i]["Hora_final"])) > date('H:i', strtotime($arr[$j]["Hora_inicio"])) ) || (date('H:i', strtotime($arr[$j]["Hora_inicio"])) <= date('H:i', strtotime($arr[$i]["Hora_inicio"])) && date('H:i', strtotime($arr[$j]["Hora_final"])) > date('H:i', strtotime($arr[$i]["Hora_inicio"])) ) ){ if($arr[$i]["TipoHorario_id"] < $arr[$j]["TipoHorario_id"]){ $erroresArr[] = array('nombre'=>$arr[$i]["TipoHorario_desc"], 'dia'=> diaNombre($arr[$i]["Dia_id"]), 'hora_i'=>date('H:i', strtotime($arr[$i]["Hora_inicio"])), 'hora_f'=> date('H:i', strtotime($arr[$i]["Hora_final"]))); $arr[$i]["Duracion"] = (strtotime('2019-01-01 '.$arr[$j]["Hora_inicio"]) - strtotime('2019-01-01 '.$arr[$i]["Hora_inicio"]))/60; if($arr[$i]["Duracion"] <= 0) array_splice($arr, $i, 1); }else{ //if($arr[$i]["TipoHorario_id"] < $arr[$j]["TipoHorario_id"]) $erroresArr[] = array('nombre'=>$arr[$j]["TipoHorario_desc"], 'dia'=> diaNombre($arr[$j]["Dia_id"]), 'hora_i'=>date('H:i', strtotime($arr[$j]["Hora_inicio"])), 'hora_f'=> date('H:i', strtotime($arr[$j]["Hora_final"]))); $arr[$j]["Duracion"] = (strtotime('2019-01-01 '.$arr[$i]["Hora_inicio"]) - strtotime('2019-01-01 '.$arr[$j]["Hora_inicio"]))/60; if($arr[$j]["Duracion"] <= 0) array_splice($arr, $j, 1); } } } } } return $erroresArr; } ?>
Haz clic en el calendario para asignar un bloque de horario.
Puedes expandir los horarios arrastrando desde la orilla.