/** * Read and validate variables from the url * used by results() * @return array **/ static function validateParams() { // $errors = []; $date_min = str_replace('+', 'P', strtoupper(self::$config['mindate'])); $date_max = str_replace('+', 'P', strtoupper(self::$config['maxdate'])); // Request::setMethod('GET'); // $origin = Request::get('origen', ""); if ("" == $origin) { $errors[] = 'Debe elegir una ciudad de origen'; } // $destination = Request::get('destino', ""); if ("" == $destination) { $errors[] = 'Debe elegir una ciudad de destino'; } // $dateFrom = Request::get('fecha-desde', ""); if ("" == $dateFrom) { $errors[] = 'Debe elegir una fecha inicial para siu seguro'; } else { $validDate = dateValidate($dateFrom, $date_min, $date_max); if (true !== $validDate) { if ('min' == $validDate) { $errors[] = 'La fecha inicial no debe ser anterior a la fecha actual + 3 días'; } else { if ('max' == $validDate) { $errors[] = 'La fecha inicial no debe ser mayor que 61 meses'; } else { $errors[] = 'Debe elegir una fecha válida de inicio para su seguro'; } } } } // $dateTo = Request::get('fecha-hasta', ""); if ("" == $dateFrom) { $errors[] = 'Debe elegir una fecha inicial para siu seguro'; } else { $validDate = dateValidate($dateTo, $date_min, $date_max); if (true !== $validDate) { if ('min' == $validDate) { $errors[] = 'La fecha final no debe ser anterior a la fecha actual + 3 días'; } else { if ('max' == $validDate) { $errors[] = 'La fecha final no debe ser mayor que 12 meses'; } else { $errors[] = 'Debe elegir una fecha válida de finalización del su seguro'; } } } } // $passengers = self::passengersParseUrl(); if ([] == $passengers) { $errors[] = 'Debe especificar los pasajeros y sus edades'; } // return ['errors' => $errors, 'search' => ['origin' => $origin, 'destination' => $destination, 'dateFrom' => $dateFrom, 'dateTo' => $dateTo, 'passengers' => $passengers]]; }
$debug = 0; /* always do a lookup. if start and end specified, use them if valid. if only end set, use start of 1 month ago if neither set, use default start & end */ // If end is set, make sure it looks like a date if (isset($_GET['end']) && dateValidate($_GET['end'])) { $end_date = $_GET['end']; } else { // default end date is now $end_date = strftime("%Y-%m-%d %H:%M:%S"); } // check that start looks like a date if (dateValidate($_GET['start'])) { $start_date = $_GET['start']; } else { // default start date is one month before end date $start_timestamp = strtotime("{$end_date} 1 month ago"); $start_date = strftime("%Y-%m-%d %H:%M:%S", $start_timestamp); } profileLookup(); function dateValidate($date) { if (preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$/', $date)) { $timestamp = strtotime($date); return checkdate(date('m', $timestamp), date('d', $timestamp), date('Y', $timestamp)); } else { return 0; }