/******************************************************** Aplicacion: Asignacion Auditorio Archivo: calendarioMensual.php Objetivo: Este archivo muestra el horario de el auditorio, las horas libres y las reservadas. Segun la opcion indicada en la variable $_GET['opcion'], se redirecciona a el calendario semanal: reserva, reservar o cancelar. Autor: Andrea Cordoba Año: 2011 * * Modificado: enero 2012 * Oliver Felipe Idarraga * * optimizaciones en el esquema de guardado en la BD, adaptación de la aplicaciíón para funcionamiento con el nuevo esquema *********************************************************/ session_start(); /* * opcion= 1 (reserva), opcion=2 (reservar), opcion=3 (cancelar) */ if(!isset($_GET['opcion'])){ $opcion=1; }else{ $opcion=$_GET['opcion']; } if($opcion!=1){ if(!isset($_SESSION['profesor'])) { header("Location: /Comunidad/Informatica/AsignacionSalas/index.php"); die(); } } $root_path = "../../.."; require '../../../functions.php'; $_GET['submenu_asignacion'] = true; //Variables usadas en todos los casos $num_dias = 7; //Disponibilidad por mes if(isset($_GET['atras'])) $fecha = $_GET['fecham']; else if(isset($_GET['siguiente'])) $fecha = $_GET['fecham']; else $fecha = date('Y')."-".date('m')."-".date('d'); if(isset($_POST['sala'])) $id_sala = $_POST['sala']; else if($_GET['sala']) $id_sala = $_GET['sala']; else $id_sala = 'auditorio'; $mes_anterior = monthTransform($fecha, 'before'); $mes_siguiente = monthTransform($fecha, 'next'); $dias_mes = cal_days_in_month ( CAL_GREGORIAN, intval(splitDate($fecha, 'month')), intval(splitDate($fecha, 'year'))); $dia_inicio = date("l", mktime(0, 0, 0, splitDate($fecha, 'month'), 1, splitDate($fecha, 'year'))); DBConnect('controlsalas'); $consulta = "SELECT distinct on (id_sala, fecha) * from horario_auditorio where fecha between '".splitDate($fecha, 'year')."-".splitDate($fecha, 'month')."-01' and '".splitDate($fecha, 'year')."-".splitDate($fecha, 'month')."-".$dias_mes."';"; $rs = db_query($consulta); //Si no hay registro de este mes, lo inserto en la BD if(pg_num_rows($rs) == 0) { for($i = 1; $i <= $dias_mes; $i++) { db_query('begin'); if($i < 10) $i = "0".$i; $tmp = splitDate($fecha, 'year')."-".splitDate($fecha, 'month')."-".$i; for($j = 7; $j < 22; $j++) { if($j < 10){ $h="0".$j.":00"; }else{ $h=$j.":00"; } $consulta1 = "insert into horario_auditorio (id_sala, fecha, hora, estado, color) values('$id_sala', '$tmp', '$h', 'Disponible', '#FFFFFF')"; $rs1 = db_query($consulta1); } if(!$rs1) $fallo = true; } if($fallo) db_query('rollback'); else { db_query('commit'); $rs = db_query($consulta); } } switch($dia_inicio) { case 'Sunday': $dia_semana = 1; break; case 'Monday': $dia_semana = 2; break; case 'Tuesday': $dia_semana = 3; break; case 'Wednesday': $dia_semana = 4; break; case 'Thursday': $dia_semana = 5; break; case 'Friday': $dia_semana = 6; break; case 'Saturday': $dia_semana = 7; break; } if(isset($_SESSION['profesor'])){ PageInit("Disponibilidad del Mes : Auditorio", "menu.php"); }else{ PageInit("Disponibilidad del Mes : Auditorio", "../../menu.php"); } ?>
Disponibilidad Auditorio |
||||||
|