Valider be9710e1 rédigé par Fil's avatar Fil
Parcourir les fichiers

normaliser_date() prend un argument indiquant si on veut forcer un jour...

normaliser_date() prend un argument indiquant si on veut forcer un jour existant (en -01; c'est la cas d'une date passee dans l'url) ou se contenter d'un nc (-00, cas d'une date passee dans {{{#DATE}}}).
parent 8f49e9a4
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+7 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -693,18 +693,22 @@ function choixsiegal($a1,$a2,$v,$f) {
// Date, heure, saisons
//

// on normalise la date, si elle vient du contexte (public/parametrer.php), on force le jour
// http://doc.spip.org/@normaliser_date
function normaliser_date($date) {
function normaliser_date($date, $forcer_jour = false) {
	$date = vider_date($date);
	if ($date) {
		if (preg_match("/^[0-9]{8,10}$/", $date))
			$date = date("Y-m-d H:i:s", $date);
		if (preg_match("#^([12][0-9]{3})([-/]00)?( [-0-9:]+)?$#", $date, $regs))
			$date = $regs[1]."-01-01".$regs[3];
			$date = $regs[1]."-00-00".$regs[3];
		else if (preg_match("#^([12][0-9]{3}[-/][01]?[0-9])([-/]00)?( [-0-9:]+)?$#", $date, $regs))
			$date = preg_replace("@/@","-",$regs[1])."-01".$regs[3];
			$date = preg_replace("@/@","-",$regs[1])."-00".$regs[3];
		else
			$date = date("Y-m-d H:i:s", strtotime($date));

		if ($forcer_jour)
			$date = str_replace('-00', '-01', $date);
	}
	return $date;
}
+2 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -94,12 +94,12 @@ function public_parametrer_dist($fond, $contexte='', $cache='', $connect='') {
		if (!isset($contexte['date'])) {
			$contexte['date'] = date("Y-m-d H:i:s");
			$contexte['date_default'] = true;
		} else $contexte['date'] = normaliser_date($contexte['date']);
		} else $contexte['date'] = normaliser_date($contexte['date'], true);

		if (!isset($contexte['date_redac'])) {
			$contexte['date_redac'] = date("Y-m-d H:i:s");
			$contexte['date_redac_default'] = true;
		} else $contexte['date_redac'] = normaliser_date($contexte['date_redac']);
		} else $contexte['date_redac'] = normaliser_date($contexte['date_redac'], true);

	// Passer le nom du cache pour produire sa destruction automatique
		$page = $fonc(array('cache' => $cache), array($contexte));