Example #1
0
 /**
  * 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]];
 }
Example #2
0
$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;
    }