23 or $minutes < 0 or $minutes > 59){ return _T('verifier:erreur_heure'); } // Si tout est bon pour l'heure, on recompose en ajoutant des 0 si besoin else { $options['heure'] = sprintf('%02d:%02d', $heures, $minutes); } } } // normaliser si demandé if ($options['normaliser'] and $options['normaliser'] == 'datetime') { $valeur_normalisee = normaliser_date_datetime_dist($valeur, $options, $ok); } return $ok; } /** * Convertir une date en datetime * **/ function normaliser_date_datetime_dist($valeur, $options, &$erreur) { $defaut = '0000-00-00 00:00:00'; if (!$valeur) { return $defaut; } $date = str_replace('-', '/', $valeur); // formater en jj/mm/aaaa if (isset($options['heure'])) { $date .= (' ' . $options['heure'] . ':00'); } else { $date .= ' 00:00:00'; } include_spip('inc/filtres'); if (!$date = recup_date($date)) { $erreur = "Impossible d'extraire la date de $date"; return false; } if (!($date = mktime($date[3], $date[4], 0, (int)$date[1], (int)$date[2], (int)$date[0]))) { // mauvais format de date $erreur = "Impossible de normaliser la date..."; return false; } $date = date("Y-m-d H:i:s", $date); $date = vider_date($date); // enlever les valeurs considerees comme nulles (1 1 1970, etc...) if (!$date) { $date = $defaut; } return $date; }