access(); if ($user->acceso === null && !$user->admin){ die(header('Location: index.php')); exit(); } $periodo_rs = $db->querySingle('SELECT periodo_fecha_inicio, periodo_fecha_fin FROM periodo WHERE periodo_id = :periodo_id', [':periodo_id' => $user->periodo_id]); if(isset($_POST["fecha_ini"]) && $_POST["fecha_ini"]!=""){ $fecha_ini_obj = DateTime::createFromFormat('d/m/Y', $_POST["fecha_ini"]); }else{ $fecha_ini_obj = DateTime::createFromFormat('Y-m-d', $periodo_rs["periodo_fecha_inicio"]); } if(isset($_POST["fecha_fin"]) && $_POST["fecha_fin"]!=""){ $fecha_fin_obj = DateTime::createFromFormat('d/m/Y', $_POST["fecha_fin"]); }else{ $fecha_fin_obj = DateTime::createFromFormat('Y-m-d', $periodo_rs["periodo_fecha_fin"]); } $fecha_ini = $fecha_ini_obj->format('d/m/Y'); $fecha_fin = $fecha_fin_obj->format('d/m/Y'); unset($periodo_rs); $fs_dias_festivos = $db->query("SELECT d.diasfestivos_id, d.diasfestivos_dia , p.periodo_id , p.periodo_nombre, extract(dow from diasfestivos_dia) AS dia_id from diasfestivos d join periodo p on p.periodo_id = any (d.periodos_id) where diasfestivos_dia between :ini and :fin order by d.diasfestivos_dia DESC", [":ini"=> $fecha_ini_obj->format('Y-m-d'), ":fin"=>$fecha_fin_obj->format('Y-m-d')]); $dias_arr = array(); foreach ($fs_dias_festivos as $dia){ if(isset($dias_arr[$dia["diasfestivos_id"]])){ $dias_arr[$dia["diasfestivos_id"]]["periodos"][] = array("periodo_id"=>$dia["periodo_id"], "periodo_nombre"=>$dia["periodo_nombre"]); }else{ $dias_arr[$dia["diasfestivos_id"]] = array("diasfestivos_id"=>$dia["diasfestivos_id"], "diasfestivos_dia"=>$dia["diasfestivos_dia"], "dia_id"=>$dia["dia_id"], "periodos"=>array(array("periodo_id"=>$dia["periodo_id"], "periodo_nombre"=>$dia["periodo_nombre"])) ); } } $dias_nombres=array("Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"); $write = true; $fs_periodos = $db->query("SELECT periodo_id, periodo_nombre, periodo_fecha_inicio, periodo_fecha_fin FROM periodo WHERE CURRENT_DATE < periodo_fecha_fin order by id_periodo_sgu"); ?>