Skip to content
Extraits de code Groupes Projets
Valider 87831ff8 rédigé par marcimat@rezo.net's avatar marcimat@rezo.net
Parcourir les fichiers

On tente une fonction de normalisation des données.

Il faudra mieux définir ce genre de chose, mais ça va permettre de tester un peu.

La fonction normaliser(valeur, type, options) retourne un tableau avec
- erreur
- valeur
- changement

Changement vaut true s'il n'y a pas d'erreur et que la valeur a été modifiée.
parent be0b8055
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -4,6 +4,7 @@ aide/verifier_fonctions.php -text ...@@ -4,6 +4,7 @@ aide/verifier_fonctions.php -text
images/icones-infos.txt -text images/icones-infos.txt -text
images/verifier-128.png -text images/verifier-128.png -text
inc/is_email.php -text inc/is_email.php -text
inc/normaliser.php -text
inc/verifier.php -text inc/verifier.php -text
lang/paquet-verifier_en.php -text lang/paquet-verifier_en.php -text
lang/paquet-verifier_fr.php -text lang/paquet-verifier_fr.php -text
...@@ -18,6 +19,7 @@ lang/verifier_fr_tu.php -text ...@@ -18,6 +19,7 @@ lang/verifier_fr_tu.php -text
lang/verifier_it.php -text lang/verifier_it.php -text
lang/verifier_pt_br.php -text lang/verifier_pt_br.php -text
lang/verifier_sk.php -text lang/verifier_sk.php -text
normaliser/datepicker.php -text
/paquet.xml -text /paquet.xml -text
/plugin.xml -text /plugin.xml -text
test/verifier.html -text test/verifier.html -text
......
<?php
// Sécurité
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Fonction de base de l'API de normalisation.
* (En cours de dev... sera peut etre a revoir)
*
*/
function inc_normaliser_dist($valeur, $type, $options=null){
// On vérifie que les options sont bien un tableau
if (!is_array($options))
$options = array();
$erreur = '';
// On cherche si une fonction correspond au type existant
if ($normaliser = charger_fonction($type, 'normaliser', true)) {
$valeur_normalisee = $normaliser($valeur, $options, $erreur);
}
return array(
'erreur' => $erreur,
'valeur' => $valeur_normalisee,
'changement' => !$erreur and ($valeur_normalisee != $valeur)
);
}
?>
<?php
// Sécurité
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Convertir une date vers un type de format
*/
function normaliser_datepicker_dist($valeur, $options=array(), &$erreur) {
if (!isset($options['format'])) {
$erreur = "Pas de format de date transmis pour normalisation.";
return;
}
$format = $options['format'];
$normaliser = charger_fonction('datepicker_'.$format, 'normaliser', true);
if (!$normaliser) {
$erreur = "Pas de normalisation trouvee pour 'date' vers '$format'";
return;
}
return $normaliser($valeur, $options, $erreur);
}
/**
* Convertir une date en datetime
*
**/
function normaliser_datepicker_datetime_dist($valeur, $options, &$erreur) {
$defaut = '0000-00-00 00:00:00';
if (!$valeur) {
return $defaut;
}
$date = $valeur;
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;
}
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;
}
return date("Y-m-d H:i:s", $date);
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter