From c1696bbc6b8ee5648eee1fccac8ceb1d4f55f588 Mon Sep 17 00:00:00 2001 From: didier Date: Mon, 19 Jan 2026 10:48:48 +0100 Subject: [PATCH] =?UTF-8?q?cosm=C3=A9tique=20minime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/interoPaheko.sh | 67 +++++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 32 deletions(-) diff --git a/bin/interoPaheko.sh b/bin/interoPaheko.sh index 60c11dc..91c0395 100755 --- a/bin/interoPaheko.sh +++ b/bin/interoPaheko.sh @@ -18,7 +18,7 @@ RACINE=$(echo $PRG | awk '{print $1}') TFILE_INT_PAHEKO_ACTION=$(mktemp /tmp/XXXXXXXX_INT_PAHEKO_ACTION.json) TFILE_INT_PAHEKO_IDFILE=$(mktemp /tmp/XXXXXXXX_TFILE_INT_PAHEKO_IDFILE.json) FILE_CREATEUSER="$KAZ_ROOT/tmp/createUser.txt" - +FILE_NOTIFICATION="${KAZ_TEMP_DIR}/${PRG}.txt" sep=' ' #trap "rm -f ${TFILE_INT_PAHEKO_IDFILE} ${TFILE_INT_PAHEKO_ACTION} " 0 1 2 3 15 @@ -59,7 +59,6 @@ ExpMail() { printf "Subject:${MAIL_SUJET}\n${MAIL_TEXTE}" | msmtp ${MAIL_DEST} } - Int_paheko_Action() { # $1 est une action; ACTION=$1 @@ -82,11 +81,11 @@ Int_paheko_Action() { jq -c --argjson val "${VAL_ID}" '.results[] | select (.id == $val)' ${TFILE_INT_PAHEKO_ACTION} > ${TFILE_INT_PAHEKO_IDFILE} for VAL_GAR in id_category action_auto nom email email_secours quota_disque admin_orga nom_orga responsable_organisation responsable_email agora cloud wordpress garradin docuwiki id_service do - eval $VAL_GAR=$(jq .$VAL_GAR ${TFILE_INT_PAHEKO_IDFILE}) + eval $VAL_GAR=$(jq .$VAL_GAR ${TFILE_INT_PAHEKO_IDFILE}) done ################################ # test du mail valide en $domain - echo ${email} | grep -i "${domain}" || { echo "Erreur : le mail ${email} n'est pas en ${domain}"; exit ;} + echo ${email} | grep -i "${domain}" >/dev/null || { echo "Erreur : le mail ${email} n'est pas en ${domain}"; exit ;} ################################ #comme tout va bien on continue #on compte le nom de champs dans la zone nom pour gérer les noms et prénoms composés @@ -102,37 +101,38 @@ Int_paheko_Action() { [ "$OPTION" = "silence" ] || echo -e "${NC}Abonné ${GREEN}${nom}${NC}" #si lactivité est membre rattaché on affiche a quelle orga il est rattaché if [ "$id_service" = "7" ] && [ "$OPTION" != "silence" ] && [ "$nom_orga" != null ] - then - echo -e "${NC}Orga Rattachée : ${GREEN}${nom_orga}${NC}" + then + echo -e "${NC}Orga Rattachée : ${GREEN}${nom_orga}${NC}" fi COMPTE_NOM=$(echo $nom | awk -F' ' '{for (i=1; i != NF; i++); print i;}') case "${COMPTE_NOM}" in 0|1) - echo "Il faut corriger le champ nom (il manque un nom ou prénom) de paheko" - echo "je quitte et supprime le fichier ${FILE_CREATEUSER}" - rm -f $FILE_CREATEUSER - exit 2 - ;; - 2) - nom_ok=$(echo $nom | awk -F' ' '{print $1}') - prenom_ok=$(echo $nom | awk -F' ' '{print $2}') - ;; - *) - nom_ok= - prenom_ok= - for i in ${nom}; do grep -q '^[A-Z]*$' <<<"${i}" && nom_ok="${nom_ok}${sep}${i}" || prenom_ok="${prenom_ok}${sep}${i}"; done - nom_ok="${nom_ok#${sep}}" - prenom_ok="${prenom_ok#${sep}}" - if [ -z "${nom_ok}" ] || [ -z "${prenom_ok}" ]; then - ERRMSG="Erreur : Il faut corriger le champ nom qui contient plus de 2 infos dans paheko" - [ "${IP_MAIL}" = "true" ] && ExpMail ${IP_MAILDEST} "Erreur dans la fiche paheko" "${ERRMSG}" || echo ${ERRMSG} + echo "Il faut corriger le champ nom (il manque un nom ou prénom) de paheko" + echo "je quitte et supprime le fichier ${FILE_CREATEUSER}" rm -f $FILE_CREATEUSER - exit - fi + exit 2 + ;; + 2) + nom_ok=$(echo $nom | awk -F' ' '{print $1}') + prenom_ok=$(echo $nom | awk -F' ' '{print $2}') + ;; + *) + nom_ok= + prenom_ok= + for i in ${nom}; do grep -q '^[A-Z]*$' <<<"${i}" && nom_ok="${nom_ok}${sep}${i}" || prenom_ok="${prenom_ok}${sep}${i}"; done + nom_ok="${nom_ok#${sep}}" + prenom_ok="${prenom_ok#${sep}}" + if [ -z "${nom_ok}" ] || [ -z "${prenom_ok}" ]; then + ERRMSG="Erreur : Il faut corriger le champ nom qui contient plus de 2 infos dans paheko" + OLDIFS=${IFS} + IFS='' + [ "${IP_MAIL}" = "true" ] && ExpMail ${IP_MAILDEST} "Erreur dans la fiche paheko" "${ERRMSG}" || echo ${ERRMSG} + rm -f $FILE_CREATEUSER + exit + fi esac # comme l' orga est à null nom orga est a vide, pas d' admin orga, on met dans l' agora générale # pas d' équipe agora et de groupe nextcloud spécifique - nom_orga=" " admin_orga="N" nc_base="O" @@ -146,12 +146,15 @@ Int_paheko_Action() { [ "$OPTION" = "silence" ] || echo -e "${NC}Orga : ${GREEN}${nom_orga}${NC}" nom_ok=$nom_orga # test des caractères autorisés dans le nom d' orga: lettres, chiffres et/ou le tiret - if ! [[ "${nom_ok}" =~ ^[[:alnum:]-]+$ ]]; then - ERRMSG="Erreur : l' orga doit être avec des lettres et/ou des chiffres. Le séparateur doit être le tiret" + if ! [[ "${nom_ok}" =~ ^[[:alnum:]-]+$ ]] + then + OLDIFS=${IFS} + IFS='' + ERRMSG="Erreur : l' orga doit être avec des lettres et/ou des chiffres. Le séparateur doit être le tiret" [ "${IP_MAIL}" = "true" ] && ExpMail ${IP_MAILDEST} "Erreur dans la fiche Paheko" "${ERRMSG}" || echo ${ERRMSG} - rm -f $FILE_CREATEUSER - exit 2 - fi + rm -f $FILE_CREATEUSER + exit 2 + fi prenom_ok=organisation equipe_agora=$nom_orga groupe_nc_base=" "