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