12) { $nextMonth = 1; $nextYear++; } // Datos del mes actual solicitado $firstDayOfMonth = date('w', mktime(0, 0, 0, $month, 1, $year)); $daysInMonth = date('t', mktime(0, 0, 0, $month, 1, $year)); $monthNames = ["", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]; $actual_month_title = $monthNames[$month] . " " . $year; $actual_month_url = "month=$month&year=$year"; $next_month_url = "?e=$e&month=$nextMonth&year=$nextYear"; $prev_month_url = "?e=$e&month=$prevMonth&year=$prevYear"; // Jornadas especiales del mes de la agenda seleccionada $consulta = mysqli_query($db_conexion,"SELECT * FROM jornadas WHERE dia LIKE '$year-$month_txt-%'") or die("2"); $wt = 0; while($resultados = mysqli_fetch_array($consulta)) { // consultar agenda de la especialidad $consulta2 = mysqli_query($db_conexion,"SELECT * FROM turnero_tipos WHERE ID='$resultados[especialidad]'") or die(mysqli_error($db_conexion)); while($resultados2 = mysqli_fetch_array($consulta2)) { $jornada_agenda = $resultados2['agenda']; } mysqli_free_result($consulta2); if($jornada_agenda == $e){ $wt++; $jornadas_day[$wt] = $resultados['dia']; $jornadas_esp[$wt] = $resultados['especialidad']; $consulta3 = mysqli_query($db_conexion,"SELECT * FROM turnero_tipos WHERE ID='$resultados[especialidad]'") or die(mysqli_error($db_conexion)); while($resultados3 = mysqli_fetch_array($consulta3)) { $especialidad_txt[$wt] = strtoupper($resultados3['name']); } mysqli_free_result($consulta3); } } // Días cerrados del mes $consulta = mysqli_query($db_conexion,"SELECT * FROM turnero_diacerrado WHERE dia LIKE '$year-$month_txt-%'") or die(mysqli_error($db_conexion)); $n_diacerrado = 0; while($resultados = mysqli_fetch_array($consulta)) { $n_diacerrado++; $diacerrado_dia[$n_diacerrado] = $resultados['dia']; } // Tipos de Especialidades $consulta = mysqli_query($db_conexion,"SELECT * FROM turnero_tipos WHERE status='1' AND agenda='$e' AND especial='0' ORDER BY name ASC") or die(mysqli_error($db_conexion)); $t = 0; while($resultados = mysqli_fetch_array($consulta)) { $t++; $tipo_id[$t] = $resultados['ID']; $tipo_name[$t] = strtoupper($resultados['name']); if($tipo_id[$t] == $e){ $esp_calendario = $tipo_name[$t]; } } // Cuantos turnos hay por día? mysqli_free_result($consulta); mysqli_close($db_conexion); // Desarrollo include ("header.php"); include ("menu.php"); echo <<< HTML

Seleccioná una fecha para $esp_calendario

HTML; // Celdas vacías al inicio for ($i = 0; $i < $firstDayOfMonth; $i++) { echo <<< HTML HTML; } $currentDay = 1; $dayOfWeekCounter = $firstDayOfMonth; while ($currentDay <= $daysInMonth) { if ($dayOfWeekCounter == 7) { echo ""; $dayOfWeekCounter = 0; } // Verificar si es el día de "hoy" real $isToday = (date('Y-m-j') == "$year-$month_txt-$currentDay") ? "class='today'" : ""; // URL del día $day_txt = str_pad($currentDay, 2, "0", STR_PAD_LEFT); $day_url = "reservar_calendario-dia.php?e=$e&day=$year-$month_txt-$day_txt"; // Sabados y Domingos $isWeekend = ""; if ($dayOfWeekCounter == 0) { $isWeekend = true; } elseif ($dayOfWeekCounter == 6) { //$isWeekend = true; } // Dia pasado $isPastDay = ""; if (strtotime("$year-$month_txt-$currentDay") < strtotime(date('Y-m-j'))) { $isPastDay = true; } $classDay = ""; $day_not_link = true; if($isWeekend){ $classDay .= "weekend "; $day_not_link = false; } if($isPastDay){ $classDay .= "pastday "; $day_not_link = false; } if($isToday){ $classDay .= "today "; $day_not_link = false; } // Hay jornada especial? $event_html = ""; $es_jornada = false; for($d=1; $d<=$wt; $d++){ $jornada_day_num = date('j', strtotime($jornadas_day[$d])); $jornada_month = date('m', strtotime($jornadas_day[$d])); $jornada_year = date('Y', strtotime($jornadas_day[$d])); if($jornada_day_num == $currentDay && $jornada_month == $month_txt && $jornada_year == $year){ // Jornada especial $es_jornada = true; $event_html .= "$especialidad_txt[$d]"; $classDay .= "especial "; } } // Esta Cerrado? for($c=1; $c<=$n_diacerrado; $c++){ $diacerrado_day_num = date('j', strtotime($diacerrado_dia[$c])); $diacerrado_month = date('m', strtotime($diacerrado_dia[$c])); $diacerrado_year = date('Y', strtotime($diacerrado_dia[$c])); if($diacerrado_day_num == $currentDay && $diacerrado_month == $month_txt && $diacerrado_year == $year){ // Dia cerrado $event_html .= "CERRADO!"; $classDay .= "diacerrado"; $day_not_link = false; } } // Hoy o dias posteriores if($day_not_link){ echo <<< HTML HTML; } else { // Dias anteriores if($user_id!= ""){ echo <<< HTML HTML; } else { echo <<< HTML HTML; } } $currentDay++; $dayOfWeekCounter++; } // Celdas vacías al final while ($dayOfWeekCounter < 7) { echo ""; $dayOfWeekCounter++; } echo <<< HTML
D L M M J V S
$currentDay

$event_html

$currentDay

$event_html

$currentDay

$event_html

HTML; if($user_id!= ""){ echo <<< HTML
Puedes hacer click en cualquier día para ver la agenda diaria.
Las agendas pasadas no pueden editarse.
HTML; } echo <<< HTML
HTML; // Pie include ("footer.php"); ?>