Subversion Repositories ALCASAR

Rev

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