From e49a34e91bfead8687cc9ad013c236f1ce1db402 Mon Sep 17 00:00:00 2001 From: poka Date: Wed, 18 Dec 2019 16:23:58 +0100 Subject: [PATCH] Fix add user to group. Check if group 1 doesn't exist, create it --- shell/functions.sh | 40 ++++++++++++++++++++++++++-------------- shell/sms_ABO.sh | 8 ++++---- shell/sms_DESTROY.sh | 2 +- shell/sms_NEW.sh | 2 +- 4 files changed, 32 insertions(+), 20 deletions(-) diff --git a/shell/functions.sh b/shell/functions.sh index 7dbb9bf..43edb1c 100755 --- a/shell/functions.sh +++ b/shell/functions.sh @@ -7,6 +7,13 @@ ################################################################################################################################### ################################################################################################################################### + +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized + +## Récupère les données du profile +[[ -f $MY_PATH/.profile ]] && source $MY_PATH/.profile + function sms_SEND () { # sms_SEND ($1=phone, $2=message) local dest="$1" @@ -621,16 +628,19 @@ function move_g1cents (){ function add_contact(){ userDB="gammu" pwdDB=$(cat /etc/gammu-smsdrc | grep "password =" | awk '{ print $3 }' || exit 1) - local sql="mysql -u$userDB -p$pwdDB gammu -e" + local sql="mysql -N -u$userDB -p$pwdDB gammu -e" - local MEMBERUID=$1 - local PHONE=$2 + local PHONE=$1 + local MEMBERUID=$2 - local reqPhoneExist="SELECT * FROM pbk WHERE Number=$PHONE" + [[ -z $MEMBERUID ]] && MEMBERUID=$PHONE - if [[ -z $($sql "$reqPhoneExist") ]]; then - local reqAddContact="INSERT INTO pbk (GroupID, Name, Number, id_user, is_public) VALUES ('1', '$MEMBERUID', '$PHONE', '1', 'false')" - $sql "$reqAddContact" || exit 1 + [[ -z $($sql "SELECT * FROM pbk_groups WHERE ID='1'") ]] && $sql "INSERT INTO pbk_groups (ID, Name, id_user, is_public) VALUES ('1', '$(grep "ADRESSE" $MY_PATH/../.profile | awk -F= '{ print $2 }' | tr -d '"')', '1', 'false')" + + if [[ -z $($sql "SELECT * FROM pbk WHERE Number=$PHONE") ]]; then + $sql "INSERT INTO pbk (GroupID, Name, Number, id_user, is_public) VALUES ('1', '$MEMBERUID', '$PHONE', '1', 'false')" || exit 1 + local id_user=$($sql "SELECT ID FROM pbk WHERE Number=$PHONE" || exit 1) + $sql "INSERT INTO user_group (id_group, id_pbk, id_pbk_groups, id_user) VALUES ('$id_user', '$id_user', '1', '1')" || exit 1 else log "${red}Contact already exist$c_" fi @@ -640,19 +650,21 @@ function add_contact(){ function rm_contact(){ userDB="gammu" pwdDB=$(cat /etc/gammu-smsdrc | grep "password =" | awk '{ print $3 }' || exit 1) - local sql="mysql -u$userDB -p$pwdDB gammu -e" + local sql="mysql -N -u$userDB -p$pwdDB gammu -e" - local MEMBERUID=$1 - local PHONE=$2 + local PHONE=$1 + local MEMBERUID=$2 - local reqPhoneExist="SELECT * FROM pbk WHERE Number=$PHONE" + [[ -z $MEMBERUID ]] && MEMBERUID=$PHONE - if [[ ! -z $($sql "$reqPhoneExist") ]]; then - local reqRmContact="DELETE FROM pbk WHERE Number=$PHONE" - $sql "$reqRmContact" || exit 1 + if [[ ! -z $($sql "SELECT * FROM pbk WHERE Number=$PHONE") ]]; then + local id_user=$($sql "SELECT ID FROM pbk WHERE Number=$PHONE" || exit 1) + $sql "DELETE FROM pbk WHERE Number=$PHONE" || exit 1 + $sql "DELETE FROM user_group WHERE id_group='$id_user'" || exit 1 else log "${red}Contact doesn't exist$c_" fi } +$@ diff --git a/shell/sms_ABO.sh b/shell/sms_ABO.sh index 8af0bfa..e3c77fb 100755 --- a/shell/sms_ABO.sh +++ b/shell/sms_ABO.sh @@ -19,16 +19,16 @@ sms_INIT_ACCOUNT "$PHONE" case "$SERVICE" in ON) - log "Abonnement Kalkun" + log "Abonnement Kalkun" if [[ "$MEMBER" != "" ]]; then - add_contact $MEMBER $PHONE && log "${c_green}Contact has been added to database$c_" || log "${c_red}Contact can't be added to database$c_"; + add_contact $PHONE $MEMBERUID && log "${c_green}Contact has been added to database$c_" || log "${c_red}Contact can't be added to database$c_"; sms_SEND "$PHONE" "$MEMBER votre inscription annuaire est active" fi ;; OFF) - log "Retrait Kalkun" + log "Retrait Kalkun" if [[ $MEMBER ]]; then - rm_contact $MEMBER $PHONE && log "${c_green}Contact has been deleted from database$c_" || log "${c_red}Contact can't be deleted database$c_"; + rm_contact $PHONE $MEMBERUID && log "${c_green}Contact has been deleted from database$c_" || log "${c_red}Contact can't be deleted database$c_"; sms_SEND "$PHONE" "$MEMBER retrait annuaire prise en compte..." fi ;; diff --git a/shell/sms_DESTROY.sh b/shell/sms_DESTROY.sh index ae0bcb7..5369a74 100755 --- a/shell/sms_DESTROY.sh +++ b/shell/sms_DESTROY.sh @@ -72,7 +72,7 @@ sms_SEND "$PHONE" "$mess" fi # Remove contact from database -rm_contact $MEMBERUID $PHONE && log "${c_green}Contact has been deleted from database$c_" || log "${c_red}Contact can't be deleted database$c_" +rm_contact $PHONE $MEMBERUID && log "${c_green}Contact has been deleted from database$c_" || log "${c_red}Contact can't be deleted database$c_" log "${c_yellow}__SUB:sms_DESTROY.sh: END ~~~~~~~~~~~~~~~~~~~~~~~~~~~~$c_" exit diff --git a/shell/sms_NEW.sh b/shell/sms_NEW.sh index 04f537a..0c945d8 100755 --- a/shell/sms_NEW.sh +++ b/shell/sms_NEW.sh @@ -52,7 +52,7 @@ sms_SEND "$PHONE" "Compte relié? $MEMBER $MAIL $MEMRIB" # Add contact to database -add_contact $MEMBERUID $PHONE && log "${c_green}Contact has been added to database$c_" || log "${c_red}Contact can't be added to database$c_" +add_contact $PHONE $MEMBERUID && log "${c_green}Contact has been added to database$c_" || log "${c_red}Contact can't be added to database$c_" log "${c_yellow}END sms_NEW.sh$c_" log "~~~~~~~~~~~~~~~~~~~~~~~~~~~~"