private function existeSolapamientocsv($data, $file, $numFila) { $solapamientos = false; $csv = new csv(); //estado del evento?? (solapamientos) $idLugar = $data['ID_LUGAR']; $fechaDesde = sgrDate::dateCSVtoSpanish($data['F_DESDE_HORARIO1']); //d-m-Y $fechaHasta = sgrDate::dateCSVtoSpanish($data['F_HASTA_HORARIO1']); //d-m-Y $horaInicio = $data['INI']; $horaFin = $data['FIN']; $diaSemana = $data['COD_DIA_SEMANA']; $f = fopen($file, "r"); $contadorfila = 1; while (($fila = fgetcsv($f, 0, ';', '"')) !== false && !$solapamientos) { $datosfila = $csv->filterFila($fila); if ($datosfila['ID_LUGAR'] == $idLugar && $datosfila['COD_DIA_SEMANA'] == $diaSemana && $contadorfila != $numFila) { //posible solapamiento $filafechaDesde = sgrDate::dateCSVtoSpanish($datosfila['F_DESDE_HORARIO1']); //d-m-Y $filafechaHasta = sgrDate::dateCSVtoSpanish($datosfila['F_HASTA_HORARIO1']); //d-m-Y $filahoraInicio = $datosfila['INI']; $filahoraFin = $datosfila['FIN']; if (strtotime(sgrDate::parsedatetime($fechaDesde, 'd-m-Y', 'Y-m-d')) <= strtotime(sgrDate::parsedatetime($filafechaHasta, 'd-m-Y', 'Y-m-d')) && strtotime(sgrDate::parsedatetime($fechaHasta, 'd-m-Y', 'Y-m-d')) >= strtotime(sgrDate::parsedatetime($filafechaDesde, 'd-m-Y', 'Y-m-d'))) { //posible solapamiento if (strtotime($horaInicio) < strtotime($filahoraFin) && strtotime($horaFin) > strtotime($filahoraInicio)) { //hay solapamiento $solapamientos = true; } //tercer if } //segundo if } //primer if $contadorfila++; } //fin del while fclose($f); return $solapamientos; }