gestion du mobile corrigé

This commit is contained in:
Didier committed 2026-10-31 09:50:04 +01:00
1 parent 0f816f1346
commit ce206e2e99
1 file changed
+23 -10
+23 -10
View File
@@ -15,13 +15,13 @@ setKazVars
. $KAZ_KEY_DIR/env-ldapServ
. $KAZ_KEY_DIR/env-paheko
VERSION="31-10-2026"
PRG=$(basename $0)
RACINE=$(echo $PRG | awk -F'.' '{print $1}')
LOG=${KAZ_ROOT}/log/${RACINE}-$(date +%d-%m-%y-%H:%M:%S).log
URL_PAHEKO="https://${API_USER}:${API_PASSWORD}@kaz-paheko.kaz.bzh"
LDAP_IP=$(docker inspect -f '{{.NetworkSettings.Networks.ldapNet.IPAddress}}' ldapServ)
regexMail="^(([A-Za-z0-9]+((\.|\-|\_|\+)?[A-Za-z0-9]?)*[A-Za-z0-9]+)|[A-Za-z0-9]+)@(([A-Za-z0-9]+)+((\.|\-|\_)?([A-Za-z0-9]+)+)*)+\.([A-Za-z]{2,})+$"
FICLDIF=/tmp/${RACINE}.ldif
IfExistRec()
@@ -110,17 +110,31 @@ LdapUpdateUniq()
PBARGU=""
I_REP=$(IfExistRec ${EMAIL})
[ "${I_REP}" = "vide" ] && { echo "Le mail ${EMAIL} n'existe pas dans l'annuaire Ldap" ; exit 1;}
[ "${MOBILE}" = IDEM ] && MOBILE=$(echo ${I_REP} | awk {'print $3'})
if [ "${MOBILE}" = IDEM ]
then
if [ "$(echo ${I_REP} | awk {'print $3'})" = "mobile" ]
then
MOBILE="NR"
else
MOBILE=$(echo ${I_REP} | awk {'print $3'})
fi
elif [ "$(echo ${MOBILE} | wc -L)" -ne "10" ] || [[ ! ${MOBILE} =~ ^[0-9]+$ ]] || [[ ! ${MOBILE} =~ ^(0)[67] ]]
then
PBARGU="${PBARGU} - Le numéro est malformé"
fi
[ "${MAILSECOURS}" = IDEM ] && MAILSECOURS=$(echo ${I_REP} | awk {'print $2'})
[ "${QUOTA}" = IDEM ] && QUOTA=$(echo ${I_REP} | awk {'print $4'})
[[ ${MOBILE} =~ ^[0-9]+$ ]] && [ "$(echo ${MOBILE} | wc -L)" -eq "10" ] && [[ ${MOBILE} =~ ^(0)[67] ]] || PBARGU="${PBARGU} - Le numéro est malformé"
[[ ${EMAIL} =~ ${regexMail} ]] || PBARGU="${PBARGU} - Le mail est malformé"
[[ ${MAILSECOURS} =~ ${regexMail} ]] || PBARGU="${PBARGU} - Le mail de secours est malformé"
[[ ${QUOTA} =~ ^[0-9]+$ ]] || echo "le quota doit être en chiffres"
# on affiche les erreurs si la variable n'est pas vide
[ ! -z "${PBARGU}" ] && { echo ${PBARGU};exit 1; }
# a chaque fois qu'un élément est différent on le dit dans la variable PBARGU en commencant par un -
# ça va permettre de compter les tirets pour déterminer si quelque chose est a changer
# on initialise un chti compteur pour déterminer les fois ou c'est ok
# si à la fin le nombre est 3 c'est que rien n'est à changer
# si c'est inferieur à 3 alors c'est que au moins un truc est à modifier
# je le mets à jour et parce que je suis un bourrin, je remets les autres valeurs déjà connues
# qui sont forcement bonnes
# la seule exeption est le mobile qui si il n'est pas connu je mets mobile = NR
COMPTEUR=0
# si le numéro est connu on le dit dans la variable
[ "$(echo ${I_REP} | awk {'print $3'})" = "${MOBILE}" ] && { PBARGU="${PBARGU} -Le numéro est ok" ; COMPTEUR=$((COMPTEUR+1)) ; }
@@ -128,10 +142,8 @@ LdapUpdateUniq()
[ "$(echo ${I_REP} | awk {'print $2'})" = "${MAILSECOURS}" ] && { PBARGU="${PBARGU} -Le mail de secours est ok" ; COMPTEUR=$((COMPTEUR+1)) ; }
# si le quota est le même on le met dans la variable
[ "$(echo ${I_REP} | awk {'print $4'})" = "${QUOTA}" ] && { PBARGU="${PBARGU} -Le quota est déjà ok" ; COMPTEUR=$((COMPTEUR+1)) ; }
# si PBARGU n'est pas vide et si le nombre de tiret est égal à 3 c'est que tout est déjà bon et je sors
# mais si le nombre de tiret n'est pas 3 c'est que au moins un des élément est a changer et là je mets les autres valeurs (puisque celles qui existent sont ok )
# donc la remettre n'est pas bien grave
[ ! -z "${PBARGU}" ] && [ "$COMPTEUR" -eq "3" ] && { echo "Tout es ok : rien à faire ";exit 1; } || echo "Info : ${PBARGU}"
#[ ! -z "${PBARGU}" ] && [ "$COMPTEUR" -eq "3" ] && { echo "Tout est ok : rien à faire ";exit 0; } || echo "Info : ${PBARGU}"
[ ! -z "${PBARGU}" ] && [ "$COMPTEUR" -eq "3" ] && exit 0
>${FICLDIF}
echo -e "dn: cn=${EMAIL},ou=users,${ldap_root}" >>${FICLDIF}
echo -e "changeType: modify">>${FICLDIF}
@@ -151,6 +163,7 @@ LdapUpdateUniq()
usage()
{
echo " Usage $0 [ -a ] [ -u mail -s mailsecours -m mobile -q quota ]"
echo " Version : ${VERSION}"
echo " ---"
echo " Ce script intérroge paheko et met à jour des champs tous les comptes ldap"
echo " Ou peut juste mettre un enregistrement à jour "