Subversion Repositories ALCASAR

Rev

Rev 2600 | Rev 2631 | 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 2601 2018-08-19 23:58:27Z 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 ##########################
2601 tom.houday 20
PASSWD_FILE="/root/ALCASAR-passwords.txt"
21
u_db=$(grep '^db_user='     $PASSWD_FILE | cut -d'=' -f2-)
22
p_db=$(grep '^db_password=' $PASSWD_FILE | cut -d'=' -f2-)
1349 richard 23
#########################################
24
#########################################
25
 
26
rad="radcheck"
27
radgp="radusergroup"
28
radgpck="radgroupcheck"
29
radinf="userinfo"
30
 
31
sms_p="SMS_ban_perm"
32
sms_t="SMS_ban_temp"
33
 
34
inb="inbox"
1416 richard 35
SMS_c="SMS_country"
1349 richard 36
 
37
config="/etc/gammu_smsd_conf"
2553 rexy 38
config2="/etc/gammurc"
1349 richard 39
logfile="/var/log/gammu-smsd/gammu-smsd.log"
40
script="/usr/local/bin/alcasar-sms.sh"
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() {
2600 tom.houday 69
	# Check phone number is set
70
	if [ -z "$(grep '^SMS_NUM=' $CONF_FILE | cut -d'=' -f2-)" ]; then
71
		echo 'The phone number is not set.'
72
		# exit 2
73
	fi
74
 
1349 richard 75
	#On truncate la table phones (informations signal / IMEI / batterie / sms recu et envoyé)
2600 tom.houday 76
	mysql --user=$u_db --password=$p_db --database=gammu -Bs -e 'TRUNCATE phones;'
1349 richard 77
 
78
 
79
	#On verifie que le groupe sms est créé
2600 tom.houday 80
	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
81
		sql_add_gp="INSERT INTO $radgp (username,groupname) VALUES ('sms','sms'); INSERT INTO $radgpck (groupname,attribute,op,value) VALUES ('sms','Simultaneous-Use',':=',1);"
82
		mysql --user=$u_db --password=$p_db --database=radius -Bs -e "$sql_add_gp"
83
	fi
1349 richard 84
 
85
	#Start gammu
2601 tom.houday 86
	echo $separator >> $logfile
87
	/usr/bin/systemctl -q start gammu-smsd.service
88
	/usr/bin/systemctl -q enable gammu-smsd.service
1349 richard 89
} # end function start_gammu
90
 
91
function stop_gammu() {
92
	#Stop gammu
2601 tom.houday 93
	/usr/bin/systemctl -q stop gammu-smsd.service
94
	/usr/bin/systemctl -q disable gammu-smsd.service
95
	sleep 10
96
	echo $end >> $logfile
1349 richard 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
346
		fi
2600 tom.houday 347
		sed -i "s/^SMS=.*/SMS=on/" $CONF_FILE
1670 richard 348
		exit 0
349
		;;
350
	--stop)
351
		gammu_pid=`/usr/sbin/pidof gammu-smsd|wc -l`
352
		if [ $gammu_pid != "0" ]
353
			then
354
			stop_gammu
355
		else
356
			echo "gammu is already stopped"
357
		fi
2600 tom.houday 358
		sed -i "s/^SMS=.*/SMS=off/" $CONF_FILE
2454 tom.houday 359
		exit 0
1670 richard 360
		;;
1452 richard 361
	--pidof)
362
		/sbin/pidof gammu-smsd
363
		;;
1349 richard 364
	--last_nosim)
365
		# Récupère la dernière ligne où NOSIM est présent (error)
366
		cat $logfile | grep -n "NOSIM" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 367
		exit 0
1349 richard 368
		;;
369
	--last_start)
370
		# Récupère la dernière ligne où ########## est présent (séparateur)
371
		cat $logfile | grep -n "##########" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 372
		exit 0
1349 richard 373
		;;
374
	--last_stop)
375
		# Récupère la dernière ligne où %%%%%%%%%% est présent (séparateur)
376
		cat $logfile | grep -n "%%%%%%%%%%" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 377
		exit 0
1349 richard 378
		;;
379
	--last_writeerror)
2558 rexy 380
		#Récupère la dernière ligne où DEVICEWRITEERROR est présent (error)
1349 richard 381
		cat $logfile | grep -n "DEVICEWRITEERROR" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 382
		exit 0
1349 richard 383
		;;
384
	--last_timeout)
2558 rexy 385
		# Récupère la dernière ligne où TIMEOUT est présent (error)
1349 richard 386
		cat $logfile | grep -n "TIMEOUT" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 387
		exit 0
1349 richard 388
		;;
389
	--last_secu)
390
		# Récupère la dernière ligne où SECURITYERROR est présent (error)
391
		cat $logfile | grep -n "SECURITYERROR" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 392
		exit 0
1349 richard 393
		;;
394
	--last_puk)
395
		# Récupère la dernière ligne où PUK est présent (error)
396
		cat $logfile | grep -n "UNKNOWN" | cut -d ':' -f1 | tail -n 1
2454 tom.houday 397
		exit 0
1349 richard 398
		;;
1387 richard 399
	#--log)
400
	#	# Récupère le nom du fichier de log
401
	#	cat $config | grep logfile | cut -d ' ' -f3
2454 tom.houday 402
	#	exit 0
1387 richard 403
	#	;;
2557 rexy 404
	--connect)
405
		# display the com port speed
406
		cat $config | grep connection | cut -d ' ' -f3
2454 tom.houday 407
		exit 0
1380 richard 408
		;;
2557 rexy 409
	--replace_port)
410
		# modify the com port
411
		echo $2
412
		sed -i "s?^port = .*?port = $2?g" $config
413
		sed -i "0,/^device =/ s?device =.*?device = $2?" $config2
414
		exit 0
415
		;;
2553 rexy 416
	--replace_speed)
2557 rexy 417
		# modufy the com port speed
1452 richard 418
		sed -i "s/^connection = at.*/connection = at$2/g" $config
2557 rexy 419
		sed -i "0,/^connection =/ s/connection =.*/connection = $2/" $config2
2454 tom.houday 420
		exit 0
1380 richard 421
		;;
1349 richard 422
	--pin)
423
		# Récupère le code PIN (file de conf)
2557 rexy 424
		cat $config | grep PIN | cut -d ' ' -f3
2454 tom.houday 425
		exit 0
1349 richard 426
		;;
427
	--replace_pin)
428
		# Edition du code PIN
1452 richard 429
		sed -i "s/^PIN =.*/PIN = $2/g" $config
2454 tom.houday 430
		exit 0
1349 richard 431
		;;
432
	--try_ban)
433
		# Récupère le nombre d'essais avant le ban perm
434
		grep nb_essais= $script | head -n 1 | cut -d '=' -f2
2454 tom.houday 435
		exit 0
1349 richard 436
		;;
437
	--replace_try_ban)
438
		# Edition le nombre d'essais avant le ban perm
1452 richard 439
		sed -i "s/^nb_essais=.*/nb_essais=$2/g" $script
2454 tom.houday 440
		exit 0
1349 richard 441
		;;
442
	--time_account)
443
		# Récupère la durée en jours de la session créée
444
		grep time_account= $script | head -n 1 | cut -d '=' -f2
2454 tom.houday 445
		exit 0
1349 richard 446
		;;
447
	--replace_time_account)
448
		# Edition de la durée de la session créée
1452 richard 449
		sed -i "s/^time_account=.*/time_account=$2/g" $script
2454 tom.houday 450
		exit 0
1349 richard 451
		;;
452
	--time_perm)
453
		# Récupère la durée un jours d'un ban perm (après flood par exemple)
454
		grep time_ban= $script | head -n 1 | cut -d '=' -f2
2454 tom.houday 455
		exit 0
1349 richard 456
		;;
457
	--replace_time_perm)
458
		# Edition de la durée d'un ban perm
1452 richard 459
		sed -i "s/^time_ban=.*/time_ban=$2/g" $script
2454 tom.houday 460
		exit 0
1349 richard 461
		;;
462
	--unlock_num)
463
		# Appel de la fonction unlock : deban un numero $2
464
		unlock "$2"
2454 tom.houday 465
		exit 0
1349 richard 466
		;;
1416 richard 467
	--change_country)
468
		# Permet de changer l'état de blocage d'un pays
469
		a=""
470
		for i in "$@"
2454 tom.houday 471
		do
1416 richard 472
			a=$(echo "$a $i")
473
		done
474
		a=$(echo $a | cut -d ' ' -f2-$#)
475
		change_country "$a"
476
		exit
477
		;;
478
	--change_country_ena_all)
479
		# Active l'ensemble des pays
480
		sql_change_country="connect gammu; UPDATE $SMS_c SET status=1"
481
		mysql --user=$u_db --password=$p_db -B -se "$sql_change_country"
482
		exit
483
		;;
484
	--change_country_dis_all)
485
		# Desactive l'ensemble des pays
486
		sql_change_country="connect gammu; UPDATE $SMS_c SET status=0"
487
		mysql --user=$u_db --password=$p_db -B -se "$sql_change_country"
488
		exit
489
		;;
490
	--change_country_filter)
491
		# Change la valeur du filtrage (FR, UE, all, perso)
492
		sql_change_country="connect gammu; UPDATE $SMS_c SET id='$2' WHERE name='FILTRAGE'"
493
		mysql --user=$u_db --password=$p_db -B -se "$sql_change_country"
494
		break
495
		;;
1349 richard 496
	--new_sms)
497
		# Appel de la fonction new_sms : filtrage du password, creation du compte et ban
498
		new_sms
499
		exit 0
500
		;;
501
	--imei_device)
502
		# Recuperation de l'imei du device
503
		sql_imei_phones="connect gammu; SELECT \`IMEI\` FROM phones;"
504
		mysql --user=$u_db --password=$p_db -B -se "$sql_imei_phones"
505
		exit 0
506
		;;
507
	--signal_device)
508
		# Recuperation du signal du device
509
		sql_signal_phones="connect gammu; SELECT \`Signal\` FROM phones;"
510
		mysql --user=$u_db --password=$p_db -B -se "$sql_signal_phones"
511
		exit 0
512
		;;
513
	--sms_received)
514
		# Recuperation du nombre de sms reçu. Depuis la dernière activation.
515
		sql_sms_received="connect gammu; SELECT \`Received\` FROM phones;"
516
		mysql --user=$u_db --password=$p_db -B -se "$sql_sms_received"
517
		exit 0
518
		;;
519
	--numero_alcasar)
520
		# Récupère le numero de la clé 3g (téléphone)
2600 tom.houday 521
		grep '^SMS_NUM=' $CONF_FILE | cut -d'=' -f2-
2454 tom.houday 522
		exit 0
1349 richard 523
		;;
524
	--replace_numero_alcasar)
525
		# Edition du numero de la clé 3g (téléphone)
2600 tom.houday 526
		sed -i "s/^SMS_NUM=.*/SMS_NUM=$2/" $CONF_FILE
2454 tom.houday 527
		exit 0
1349 richard 528
		;;
1380 richard 529
	--mode)
1416 richard 530
		# Mode huawei
531
		mode_huawei
532
		exit 0
533
		;;
1349 richard 534
	*)
535
		# Default
536
		echo "$usage"
537
		exit 0
538
		;;
539
esac
540
exit 0