1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| db_verif_date_db () {
if test $db_debug -eq 1 ; then
set -x
echo "db_verif_date_db" 1>&2
fi
local -i ret=0
reinit_day="$1"
if test -z "$reinit_day" ; then
echo "Attention : Le champ < date de début > de creation n'est pas renseigné." 1>&2
ret=-1
return $ret
fi
if test -z "$(echo "$reinit_day" |grep "^[0-9]\{8\}$")" ; then
echo "La date de réinit $reinit_day est mal formatée." 1>&2
echo "Elle doit comporter 8 chiffres." 1>&2
ret=-1
return $ret
fi
reinit_annee="$(echo "$reinit_day"|sed -e "s/^\([0-9]\{4\}\)[0-9]\{2\}.*/\1/")"
annee="$(date +%Y)"
let "annee1=$annee+1"
if test -z "$(echo "$reinit_day" |grep -E "^$annee|^$annee1")" ; then
echo "L'année de la date de réinit $reinit_day est mal formatée." 1>&2
echo "date = $reinit_day" 1>&2
ret=-1
return $ret
fi
reinit_mois="$(echo "$reinit_day"|sed -e "s/^[0-9]\{4\}\([0-9]\{2\}\).*/\1/")"
if test $reinit_mois -lt 1 -o $reinit_mois -gt 12 ; then
echo "Le mois dans $reinit_day est erroné." 1>&2
ret=-1
return $ret
fi
reinit_jour="$(echo "$reinit_day"|sed -e "s/^[0-9]\{4\}[0-9]\{2\}\([0-9]\{2\}\)$/\1/")"
nb_jour_du_mois=${mois_de_annee[$reinit_mois]}
if test $reinit_jour -lt 1 -o $reinit_jour -gt $nb_jour_du_mois ; then
echo "Le jour dans $reinit_day est erroné." 1>&2
ret=-1
return $ret
fi
return $ret
} |
Partager