/** * Obtener el periodo de tiempo más cercano al tiempo actual * * @param array $timePeriods * @return int */ private function getTimePeriod(array $timePeriods) { $result = array(); foreach ($timePeriods as $timePeriod) { if ($timePeriod->timeperiod_type == 0) { $end = $timePeriod->start_date + $timePeriod->period; if (time() <= $end) { $result[] = array('type' => $timePeriod->timeperiod_type, 'start' => $timePeriod->start_date, 'end' => $end); } } else { $start = strtotime('today', time()) + $timePeriod->start_time; $end = $start + $timePeriod->period; $result[] = array('type' => $timePeriod->timeperiod_type, 'start' => $start, 'end' => $end); } } Util::arraySortByKey($result, 'end'); return count($result) > 0 ? $result[0] : false; }