Subversion Repositories ALCASAR

Rev

Rev 2558 | Rev 2601 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
1349 richard 1
#!/bin/bash
2250 tom.houday 2
# $Id: alcasar-sms.sh 2600 2018-08-19 23:48:55Z tom.houdayer $
1502 richard 3
 
4
# alcasar-sms.sh
5
# by Nicolas Aubry & Rexy
6
# This script is distributed under the Gnu General Public License (GPL)
7
 
8
# This script manages the 'gammu-smsd' service when a GSM adapter is detected
9
# Ce script gère le service 'gammu-smsd' quand un adaptateur GSM est détecté
10
 
2600 tom.houday 11
CONF_FILE='/usr/local/etc/alcasar.conf'
12
 
1349 richard 13
#########################################
1502 richard 14
####### VARIABLES ########
1452 richard 15
nb_essais=3
1349 richard 16
time_account=1
1452 richard 17
time_ban=2
1349 richard 18
#########################################
19
####### IDs DB ##########################
20
u_db="radius"
2557 rexy 21
p_db="password"
1349 richard 22
#########################################
23
#########################################
24
 
25
rad="radcheck"
26
radgp="radusergroup"
27
radgpck="radgroupcheck"
28
radinf="userinfo"
29
 
30
sms_p="SMS_ban_perm"
31
sms_t="SMS_ban_temp"
32
 
33
inb="inbox"
1416 richard 34
SMS_c="SMS_country"
1349 richard 35
 
36
config="/etc/gammu_smsd_conf"
2553 rexy 37
config2="/etc/gammurc"
1349 richard 38
logfile="/var/log/gammu-smsd/gammu-smsd.log"
39
script="/usr/local/bin/alcasar-sms.sh"
40
separator="########## START ##########"
41
end="%%%%%%%%%% STOP %%%%%%%%%%"
42
 
43
 
2454 tom.houday 44
usage="Usage: alcasar-gammu.sh
1349 richard 45
Start Gammu-smsd   : --start
2454 tom.houday 46
Stop Gammu-smsd    : --stop
1349 richard 47
Process on new sms : --new_sms"
48
 
49
 
50
nb_args=$#
51
args=$1
52
 
53
 
54
# Functions
1380 richard 55
function mode_huawei() {
56
        couple=$(lsusb | grep -i huawei | cut -d ' ' -f6)
57
        vendor=$(echo $couple | cut -d ':' -f1)
58
        product=$(echo $couple | cut -d ':' -f2)
1349 richard 59
 
2294 richard 60
        echo "******** Modeswitch *************" >> $logfile
61
        echo $vendor >> $logfile
62
        echo $product >> $logfile
1380 richard 63
 
2294 richard 64
        /usr/sbin/usb_modeswitch -I -H -v 0x$vendor -p 0x$product -V 0x$vendor -P 0x$product -W -n >> $logfile
1380 richard 65
}
66
 
1349 richard 67
function start_gammu() {
2600 tom.houday 68
        # Check phone number is set
69
        if [ -z "$(grep '^SMS_NUM=' $CONF_FILE | cut -d'=' -f2-)" ]; then
70
                echo 'The phone number is not set.'
71
                # exit 2
72
        fi
73
 
1349 richard 74
        #On truncate la table phones (informations signal / IMEI / batterie / sms recu et envoyé)
2600 tom.houday 75
        mysql --user=$u_db --password=$p_db --database=gammu -Bs -e 'TRUNCATE phones;'
1349 richard 76
 
77
 
78
        #On verifie que le groupe sms est créé
2600 tom.houday 79
        if [ $(mysql --user=$u_db --password=$p_db --database=radius -Bs -e "SELECT COUNT(*) FROM $radgp WHERE username='sms' AND groupname='sms';") -eq 0 ]; then
80
                sql_add_gp="INSERT INTO $radgp (username,groupname) VALUES ('sms','sms'); INSERT INTO $radgpck (groupname,attribute,op,value) VALUES ('sms','Simultaneous-Use',':=',1);"
81
                mysql --user=$u_db --password=$p_db --database=radius -Bs -e "$sql_add_gp"
82
        fi
1349 richard 83
 
84
        #Start gammu
85
                echo $separator >> $logfile
86
                sudo gammu-smsd --config $config --pid /var/run/gammu-smsd.pid --daemon
87
} # end function start_gammu
88
 
89
function stop_gammu() {
90
        #Stop gammu
91
                sudo kill -9 gammu-smsd
92
                sleep 10
93
                echo $end >> $logfile
94
} # end function stop_gammu
95
 
96
function unlock() {
97
        #Suppression du numero dans la table SMS_ban_perm
98
                sql_remove_ban_perm="connect gammu; DELETE FROM $sms_p"
99
                mysql --user=$u_db --password=$p_db -B -se "$sql_remove_ban_perm WHERE SenderNumber=$1;"
2454 tom.houday 100
 
1349 richard 101
        # Ajout au groupe sms
102
                sql_remove_gp="connect radius; DELETE FROM $radgp WHERE username='$1';"
103
                mysql --user=$u_db --password=$p_db -B -se "$sql_remove_gp"
2454 tom.houday 104
 
1349 richard 105
        # Suppression du compte dans Radcheck
106
                sql_remove_compte="connect radius; DELETE FROM $rad WHERE username='$1';"
107
                mysql --user=$u_db --password=$p_db -B -se "$sql_remove_compte"
1387 richard 108
} # end function unlock
109
 
1416 richard 110
function change_country() {
111
        # recupère le status du pays
112
                sql_status_country="connect gammu; SELECT status FROM SMS_country WHERE name='$1'"
113
                stat=$(mysql --user=$u_db --password=$p_db -B -se "$sql_status_country")
114
 
115
                if [ $stat -eq 0 ]
116
                then
117
                        sql_change_country="connect gammu; UPDATE $SMS_c SET status=1 WHERE name='$1'"
118
                        mysql --user=$u_db --password=$p_db -B -se "$sql_change_country"
119
                else
120
                        sql_change_country="connect gammu; UPDATE $SMS_c SET status=0 WHERE name='$1'"
121
                        mysql --user=$u_db --password=$p_db -B -se "$sql_change_country"
122
                fi
123
 
124
 
125
} # end change_country
126
 
1387 richard 127
function supp_acc_rad() {
128
        # Suppression du compte dans Radcheck
129
                sql_del_compte="connect radius; DELETE FROM $rad WHERE username='$1';"
130
                mysql --user=$u_db --password=$p_db -B -se "$sql_del_compte"
131
} # end function supp_acc_rad()
132
 
133
function add_acc_rad() {
134
        # Ajout table RadCheck : creation du compte
135
                sql_add_pass="connect radius; INSERT INTO $rad (username,attribute,op,value) VALUES ('$1','Crypt-Password',':=','$2');"
136
                sql_add_expe="connect radius; INSERT INTO $rad (username,attribute,op,value) VALUES ('$1','Expiration',':=','$3');"
2454 tom.houday 137
 
1387 richard 138
                mysql --user=$u_db --password=$p_db -B -se "$sql_add_pass"
139
                mysql --user=$u_db --password=$p_db -B -se "$sql_add_expe"
2454 tom.houday 140
 
1387 richard 141
        # Ajout au groupe sms
142
                sql_add_gp="connect radius; INSERT INTO $radgp (username,groupname) VALUES ('$1','sms');"
143
                mysql --user=$u_db --password=$p_db -B -se "$sql_add_gp"
144
} # end function add_acc_rad()
2454 tom.houday 145
 
1387 richard 146
function supp_num_temp() {
147
        # Suppression du numéro dans table SMS_ban_temp
148
                sql_remove_ban_temp="connect gammu; DELETE FROM $sms_t"
149
                mysql --user=$u_db --password=$p_db -B -se "$sql_remove_ban_temp WHERE SenderNumber=$1;"
150
} # end function supp_num_temp()
2454 tom.houday 151
 
1387 richard 152
function add_num_perm() {
153
        # Ajout du numero table SMS_ban_perm, 0 : creation du compte
154
                sql_add_ban_perm="connect gammu; INSERT INTO $sms_p (SenderNumber,Perm,Expiration) VALUES ('$1',0,'$2');"
155
                mysql --user=$u_db --password=$p_db -B -se "$sql_add_ban_perm"
156
} # end function add_num_perm()
1349 richard 157
 
1387 richard 158
function supp_num_perm() {
159
        #Suppression du numero dans la table SMS_ban_perm
160
                sql_remove_ban_perm="connect gammu; DELETE FROM $sms_p"
161
                mysql --user=$u_db --password=$p_db -B -se "$sql_remove_ban_perm WHERE SenderNumber=$1;"
162
} # end function add_num_perm()
163
 
1349 richard 164
function new_sms() {
165
        # Check Inbox table, manage Ban temp and perm, create account
166
                export salt='$1$passwd$'
2454 tom.houday 167
 
1349 richard 168
                sql_select_inbox="connect gammu; SELECT ID, SenderNumber, TextDecoded FROM $inb;"
169
                sql_delete_inbox="connect gammu; DELETE FROM $inb"
2454 tom.houday 170
 
1349 richard 171
                mysql --user=$u_db --password=$p_db -B -se "$sql_select_inbox" | while read result;
172
                do
173
                # On recupère le nombre de mots (resultat)
174
                        nb=$(echo $result | wc -w)
2454 tom.houday 175
 
1416 richard 176
                # On récupère le numéro de l'ID
177
                                id=$(echo $result | cut -d ' ' -f1)
1349 richard 178
 
1416 richard 179
                numero=$(echo $result | cut -d ' ' -f2)
1380 richard 180
 
2454 tom.houday 181
                if [[ $numero =~ ^\+ ]]
1416 richard 182
                then
2454 tom.houday 183
 
184
                        # On vérifie si le pays est bloqué
1416 richard 185
                                sql_select_countries="connect gammu; SELECT id FROM $SMS_c WHERE status=1"
186
                                mysql --user=$u_db --password=$p_db -B -se "$sql_select_countries" | while read result_c;
187
                                do
1349 richard 188
 
1416 richard 189
                                if [[ $numero =~ ^"$result_c" ]]
2454 tom.houday 190
                                then
1349 richard 191
 
1416 richard 192
                                numero=$(echo $numero | cut -d '+' -f2)
193
 
2454 tom.houday 194
                                # On vérifie que le numéro n'est pas Ban Perm
1416 richard 195
                                        sql_ban_perm="connect gammu; SELECT * FROM $sms_p WHERE SenderNumber=$numero"
196
                                        result_bp=$(mysql --user=$u_db --password=$p_db -B -se "$sql_ban_perm")
197
 
198
                                        if test -z "$result_bp"
199
                                        then
200
                                                # Test sur le nombre de mots (resultat)
201
                                                if [ $nb -eq 2 ]        # Si 2 mots : le mot de passe est manquant
202
                                                then
203
                                                        # On incrémente de 1 dans la table des bans temp // NO PASSWORD
204
                                                        sql_add_temp="connect gammu; INSERT INTO $sms_t(SenderNumber) VALUES ('$numero');"
205
                                                        mysql --user=$u_db --password=$p_db -B -se "$sql_add_temp"
206
 
2454 tom.houday 207
                                                elif [ $nb -eq 3 ]      # Si 3 mots : id + mot de passe + numero
1416 richard 208
                                                then
209
                                                        export pass=$(echo $result | cut -d ' ' -f3)
210
                                                        pass_salt=$(perl -e'print crypt($ARGV[0],$ARGV[1])' $pass $salt)
2454 tom.houday 211
 
1416 richard 212
                                                        export LC_TIME="en_US.UTF-8"
213
                                                        expir=$(date '+%d %B %Y' -d "$time_account days")
2454 tom.houday 214
 
1416 richard 215
                                                        supp_acc_rad "$numero"
216
                                                        add_acc_rad "$numero" "$pass_salt" "$expir"
217
                                                        supp_num_temp "$numero"
218
                                                        add_num_perm "$numero" "$expir"
2454 tom.houday 219
 
220
                                                else
1416 richard 221
                                                # Autrement, le mot de passe est trop grand ( > un mot )
222
                                                        # On incrémente d'un 1 dans la table des bans temp
223
                                                                sql_add_temp="connect gammu; INSERT INTO $sms_t(SenderNumber) VALUES ('$numero');"
224
                                                                mysql --user=$u_db --password=$p_db -B -se "$sql_add_temp"
225
                                                fi
2454 tom.houday 226
 
1416 richard 227
                                                # On gère les bans temp en ban perm
228
                                                        sql_select_temp="connect gammu; SELECT ID FROM $sms_t WHERE SenderNumber='$numero'"
229
                                                        r_select_temp=$(mysql --user=$u_db --password=$p_db -B -se "$sql_select_temp")
230
                                                        nb_ban_t=$(echo $r_select_temp| wc -w)
2454 tom.houday 231
 
1416 richard 232
                                                if [ $nb_ban_t -ge $nb_essais ]
233
                                                then
234
                                                        supp_num_temp "$numero"
2454 tom.houday 235
 
1416 richard 236
                                                                export LC_TIME="en_US.UTF-8"
237
                                                                expir_f=$(date '+%d %B %Y' -d "$time_ban days")
2454 tom.houday 238
 
1416 richard 239
                                                        # Ajout du numero table SMS_ban_perm, 1 : flood
240
                                                                sql_add_ban_perm="connect gammu; INSERT INTO $sms_p (SenderNumber,Perm,Expiration) VALUES ('$numero',1,'$expir_f');"
241
                                                                mysql --user=$u_db --password=$p_db -B -se "$sql_add_ban_perm"
2454 tom.houday 242
                                                fi
1416 richard 243
                                        else
244
                                                date_expiration=$(echo $result_bp | cut -d ' ' -f2,3,4)
245
                                                perm=$(echo $result_bp | cut -d ' ' -f5)
2454 tom.houday 246
 
1416 richard 247
                                                export LC_TIME="en_US.UTF-8"
248
                                                date_script=$(date '+%d %B %Y' -d "now")
1349 richard 249
 
1416 richard 250
                                        # On converti les deux dates en secondes, pour les comparer.
251
                                                d_exp=$(date --date "$date_expiration" +%s)
252
                                                d_scr=$(date --date "$date_script" +%s)
1349 richard 253
 
1670 richard 254
                                                if test $d_scr -ge $d_exp               # Si le ban à expiré
1416 richard 255
                                                then
1349 richard 256
 
1416 richard 257
                                                        # Test sur le nombre de mots (resultat)
258
                                                        if [ $nb -eq 2 ]        # Si 2 mots : le mot de passe est manquant
259
                                                        then
260
                                                        # On incrémente de 1 dans la table des bans temp
261
                                                                sql_add_temp="connect gammu; INSERT INTO $sms_t(SenderNumber) VALUES ('$numero');"
262
                                                                mysql --user=$u_db --password=$p_db -B -se "$sql_add_temp"
1349 richard 263
 
2454 tom.houday 264
                                                        elif [ $nb -eq 3 ]      # Si 3 mots : id + mot de passe + numero
1416 richard 265
                                                        then
266
                                                                date_expiration=$(echo $result_bp | cut -d ' ' -f2,3,4)
267
                                                                perm=$(echo $result_bp | cut -d ' ' -f5)
1349 richard 268
 
1416 richard 269
                                                                date_script=$(date '+%d %B %Y' -d "now")
1349 richard 270
 
1416 richard 271
                                                        # On converti les deux dates en secondes, pour les comparer.
272
                                                                d_exp=$(date --date "$date_expiration" +%s)
273
                                                                d_scr=$(date --date "$date_script" +%s)
1349 richard 274
 
1416 richard 275
                                                                export pass=$(echo $result | cut -d ' ' -f3)
276
                                                                pass_salt=$(perl -e'print crypt($ARGV[0],$ARGV[1])' $pass $salt)
2454 tom.houday 277
 
1416 richard 278
                                                                export LC_TIME="en_US.UTF-8"
279
                                                                expir=$(date '+%d %B %Y' -d "$time_account days")
1349 richard 280
 
281
 
1416 richard 282
                                                                supp_acc_rad "$numero"
283
                                                                add_acc_rad "$numero" "$pass_salt" "$expir"
284
                                                                supp_num_temp "$numero"
285
                                                                supp_num_perm "$numero"
286
                                                                add_num_perm "$numero" "$expir"
2454 tom.houday 287
 
288
                                                        else
1416 richard 289
                                                        # Autrement, le mot de passe est trop grand ( > un mot )
290
                                                                # On incrémente d'un 1 dans la table des bans temp
291
                                                                        sql_add_temp="connect gammu; INSERT INTO $sms_t(SenderNumber) VALUES ('$numero');"
292
                                                                        mysql --user=$u_db --password=$p_db -B -se "$sql_add_temp"
293
                                                                        echo "Mot de passe incorrect, ajout du numero en ban temporaire"
294
                                                        fi
2454 tom.houday 295
 
1416 richard 296
                                                        # On gère les bans temp en ban perm
297
                                                                sql_select_temp="connect gammu; SELECT ID FROM $sms_t WHERE SenderNumber='$numero'"
298
                                                                r_select_temp=$(mysql --user=$u_db --password=$p_db -B -se "$sql_select_temp")
299
                                                                nb_ban_t=$(echo $r_select_temp| wc -w)
2454 tom.houday 300
 
1416 richard 301
                                                        if [ $nb_ban_t -ge $nb_essais ]
302
                                                        then
303
                                                                supp_num_perm "$numero"
304
                                                                supp_num_temp "$numero"
2454 tom.houday 305
 
1416 richard 306
                                                                        export LC_TIME="en_US.UTF-8"
307
                                                                        expir_f=$(date '+%d %B %Y' -d "$time_ban days")
2454 tom.houday 308
 
1416 richard 309
                                                                # Ajout du numero table SMS_ban_perm, 1 : flood
310
                                                                        sql_add_ban_perm="connect gammu; INSERT INTO $sms_p (SenderNumber,Perm,Expiration) VALUES ('$numero',1,'$expir_f');"                                                    mysql --user=$u_db --password=$p_db -B -se "$sql_add_ban_perm"
311
                                                        fi
312
                                                else
2454 tom.houday 313
                                                        echo "Le ban de $numero est encore valide"
314
                                                fi
1416 richard 315
                                                break
1349 richard 316
                                        fi
1416 richard 317
                                #else
318
                                        #echo "Pays bloqué"
319
                                fi
320
                        done
321
                else
322
                        echo "Numero non autorisé (ex: 36665)"
323
                fi
324
                                # On supprime la ligne d'ID=$id dans inbox
325
                                mysql --user=$u_db --password=$p_db -B -e "$sql_delete_inbox WHERE ID=$id;"
1349 richard 326
                done
327
} # end function new_sms
328
 
329
 
330
# CORE
331
case $args in
332
        -h | --help)
333
                echo "$usage"
334
                exit 0
335
                ;;
336
        --start)
1502 richard 337
                gammu_pid=`/usr/sbin/pidof gammu-smsd|wc -l`
1670 richard 338
                if [ $gammu_pid != "0" ]
339
                        then
340
                        echo "gammu is already started"
341
                else
342
                        start_gammu
343
                fi
2600 tom.houday 344
                sed -i "s/^SMS=.*/SMS=on/" $CONF_FILE
1670 richard 345
                exit 0
346
                ;;
347
        --stop)
348
                gammu_pid=`/usr/sbin/pidof gammu-smsd|wc -l`
349
                if [ $gammu_pid != "0" ]
350
                        then
351
                        stop_gammu
352
                else
353
                        echo "gammu is already stopped"
354
                fi
2600 tom.houday 355
                sed -i "s/^SMS=.*/SMS=off/" $CONF_FILE
2454 tom.houday 356
                exit 0
1670 richard 357
                ;;
1452 richard 358
        --pidof)
359
                /sbin/pidof gammu-smsd
360
                ;;
1349 richard 361
        --last_nosim)
362
                # Récupère la dernière ligne où NOSIM est présent (error)
363
                cat $logfile | grep -n "NOSIM" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 364
                exit 0
1349 richard 365
                ;;
366
        --last_start)
367
                # Récupère la dernière ligne où ########## est présent (séparateur)
368
                cat $logfile | grep -n "##########" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 369
                exit 0
1349 richard 370
                ;;
371
        --last_stop)
372
                # Récupère la dernière ligne où %%%%%%%%%% est présent (séparateur)
373
                cat $logfile | grep -n "%%%%%%%%%%" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 374
                exit 0
1349 richard 375
                ;;
376
        --last_writeerror)
2558 rexy 377
                #Récupère la dernière ligne où DEVICEWRITEERROR est présent (error)
1349 richard 378
                cat $logfile | grep -n "DEVICEWRITEERROR" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 379
                exit 0
1349 richard 380
                ;;
381
        --last_timeout)
2558 rexy 382
                # Récupère la dernière ligne où TIMEOUT est présent (error)
1349 richard 383
                cat $logfile | grep -n "TIMEOUT" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 384
                exit 0
1349 richard 385
                ;;
386
        --last_secu)
387
                # Récupère la dernière ligne où SECURITYERROR est présent (error)
388
                cat $logfile | grep -n "SECURITYERROR" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 389
                exit 0
1349 richard 390
                ;;
391
        --last_puk)
392
                # Récupère la dernière ligne où PUK est présent (error)
393
                cat $logfile | grep -n "UNKNOWN" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 394
                exit 0
1349 richard 395
                ;;
1387 richard 396
        #--log)
397
        #       # Récupère le nom du fichier de log
398
        #       cat $config | grep logfile | cut -d ' ' -f3
2454 tom.houday 399
        #       exit 0
1387 richard 400
        #       ;;
2557 rexy 401
        --connect)
402
                # display the com port speed
403
                cat $config | grep connection | cut -d ' ' -f3
2454 tom.houday 404
                exit 0
1380 richard 405
                ;;
2557 rexy 406
        --replace_port)
407
                # modify the com port
408
                echo $2
409
                sed -i "s?^port = .*?port = $2?g" $config
410
                sed -i "0,/^device =/ s?device =.*?device = $2?" $config2
411
                exit 0
412
                ;;
2553 rexy 413
        --replace_speed)
2557 rexy 414
                # modufy the com port speed
1452 richard 415
                sed -i "s/^connection = at.*/connection = at$2/g" $config
2557 rexy 416
                sed -i "0,/^connection =/ s/connection =.*/connection = $2/" $config2
2454 tom.houday 417
                exit 0
1380 richard 418
                ;;
1349 richard 419
        --pin)
420
                # Récupère le code PIN (file de conf)
2557 rexy 421
                cat $config | grep PIN | cut -d ' ' -f3
2454 tom.houday 422
                exit 0
1349 richard 423
                ;;
424
        --replace_pin)
425
                # Edition du code PIN
1452 richard 426
                sed -i "s/^PIN =.*/PIN = $2/g" $config
2454 tom.houday 427
                exit 0
1349 richard 428
                ;;
429
        --try_ban)
430
                # Récupère le nombre d'essais avant le ban perm
431
                grep nb_essais= $script | head -n 1 | cut -d '=' -f2
2454 tom.houday 432
                exit 0
1349 richard 433
                ;;
434
        --replace_try_ban)
435
                # Edition le nombre d'essais avant le ban perm
1452 richard 436
                sed -i "s/^nb_essais=.*/nb_essais=$2/g" $script
2454 tom.houday 437
                exit 0
1349 richard 438
                ;;
439
        --time_account)
440
                # Récupère la durée en jours de la session créée
441
                grep time_account= $script | head -n 1 | cut -d '=' -f2
2454 tom.houday 442
                exit 0
1349 richard 443
                ;;
444
        --replace_time_account)
445
                # Edition de la durée de la session créée
1452 richard 446
                sed -i "s/^time_account=.*/time_account=$2/g" $script
2454 tom.houday 447
                exit 0
1349 richard 448
                ;;
449
        --time_perm)
450
                # Récupère la durée un jours d'un ban perm (après flood par exemple)
451
                grep time_ban= $script | head -n 1 | cut -d '=' -f2
2454 tom.houday 452
                exit 0
1349 richard 453
                ;;
454
        --replace_time_perm)
455
                # Edition de la durée d'un ban perm
1452 richard 456
                sed -i "s/^time_ban=.*/time_ban=$2/g" $script
2454 tom.houday 457
                exit 0
1349 richard 458
                ;;
459
        --unlock_num)
460
                # Appel de la fonction unlock : deban un numero $2
461
                unlock "$2"
2454 tom.houday 462
                exit 0
1349 richard 463
                ;;
1416 richard 464
        --change_country)
465
                # Permet de changer l'état de blocage d'un pays
466
                a=""
467
                for i in "$@"
2454 tom.houday 468
                do
1416 richard 469
                        a=$(echo "$a $i")
470
                done
471
                a=$(echo $a | cut -d ' ' -f2-$#)
472
                change_country "$a"
473
                exit
474
                ;;
475
        --change_country_ena_all)
476
                # Active l'ensemble des pays
477
                sql_change_country="connect gammu; UPDATE $SMS_c SET status=1"
478
                mysql --user=$u_db --password=$p_db -B -se "$sql_change_country"
479
                exit
480
                ;;
481
        --change_country_dis_all)
482
                # Desactive l'ensemble des pays
483
                sql_change_country="connect gammu; UPDATE $SMS_c SET status=0"
484
                mysql --user=$u_db --password=$p_db -B -se "$sql_change_country"
485
                exit
486
                ;;
487
        --change_country_filter)
488
                # Change la valeur du filtrage (FR, UE, all, perso)
489
                sql_change_country="connect gammu; UPDATE $SMS_c SET id='$2' WHERE name='FILTRAGE'"
490
                mysql --user=$u_db --password=$p_db -B -se "$sql_change_country"
491
                break
492
                ;;
1349 richard 493
        --new_sms)
494
                # Appel de la fonction new_sms : filtrage du password, creation du compte et ban
495
                new_sms
496
                exit 0
497
                ;;
498
        --imei_device)
499
                # Recuperation de l'imei du device
500
                sql_imei_phones="connect gammu; SELECT \`IMEI\` FROM phones;"
501
                mysql --user=$u_db --password=$p_db -B -se "$sql_imei_phones"
502
                exit 0
503
                ;;
504
        --signal_device)
505
                # Recuperation du signal du device
506
                sql_signal_phones="connect gammu; SELECT \`Signal\` FROM phones;"
507
                mysql --user=$u_db --password=$p_db -B -se "$sql_signal_phones"
508
                exit 0
509
                ;;
510
        --sms_received)
511
                # Recuperation du nombre de sms reçu. Depuis la dernière activation.
512
                sql_sms_received="connect gammu; SELECT \`Received\` FROM phones;"
513
                mysql --user=$u_db --password=$p_db -B -se "$sql_sms_received"
514
                exit 0
515
                ;;
516
        --numero_alcasar)
517
                # Récupère le numero de la clé 3g (téléphone)
2600 tom.houday 518
                grep '^SMS_NUM=' $CONF_FILE | cut -d'=' -f2-
2454 tom.houday 519
                exit 0
1349 richard 520
                ;;
521
        --replace_numero_alcasar)
522
                # Edition du numero de la clé 3g (téléphone)
2600 tom.houday 523
                sed -i "s/^SMS_NUM=.*/SMS_NUM=$2/" $CONF_FILE
2454 tom.houday 524
                exit 0
1349 richard 525
                ;;
1380 richard 526
        --mode)
1416 richard 527
                # Mode huawei
528
                mode_huawei
529
                exit 0
530
                ;;
1349 richard 531
        *)
532
                # Default
533
                echo "$usage"
534
                exit 0
535
                ;;
536
esac
537
exit 0