Subversion Repositories ALCASAR

Rev

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

Rev Author Line No. Line
1387 richard 1
<?php
2185 tom.houday 2
# $Id: autoregistration.php 2915 2021-02-07 22:59:23Z rexy $
3
 
1349 richard 4
#Define
2552 rexy 5
$gammu_wrong_port = "";
1349 richard 6
$gammu_puk = "";
7
$gammu_simfail = "";
8
$gammu_simsecu = "";
9
$gammu_writeerror = "";
10
$gammu_timeout = "";
11
$error_pin = "";
12
$error_time_account = "";
13
$error_nb_essais = "";
14
$error_time_perm = "";
15
$error_num_alcasar = "";
1416 richard 16
$country_filter="";
2550 rexy 17
$find_key="false";
2552 rexy 18
$listen_on_right_port="false";
2550 rexy 19
$script="/usr/local/bin/alcasar-sms.sh";
2602 tom.houday 20
$vendor='';
21
$model='';
22
$gammu_smsd_port='';
1349 richard 23
 
2550 rexy 24
# Test if a modem is plugged on serial-usb port
25
$open_port=exec("ls /dev/ttyUSB*",$openned_ports); // list of USB-Serial ports openned by a modem
26
if (!empty($open_port))
27
{
28
	$find_key="true";
2915 rexy 29
	$vendor=exec("udevadm info -n $openned_ports[0] | grep 'MODEL=' | cut -d'=' -f2"); 
30
	$model=exec("udevadm info -n $openned_ports[0] | grep 'MODEL_FROM_DATABASE=' | cut -d'=' -f2");
2602 tom.houday 31
	$gammu_smsd_port=exec("cat /etc/gammu_smsd_conf| grep '^port\s\?=' | cut -d ' ' -f3"); // Gammu_smsd listen port 
2550 rexy 32
	while ( list(,$row) = each($openned_ports))
33
	{
34
		if ( "$row" == "$gammu_smsd_port" ) // is gammu listen on an openned port ?
35
		{
2552 rexy 36
			$listen_on_right_port="true";
2550 rexy 37
		}
38
	}
39
}	
40
$gammu_pid=exec("sudo $script --pidof");
2552 rexy 41
if ($find_key == "false")
2550 rexy 42
{	# close gammu if it's started
43
	if ($gammu_pid!="")
44
	{
2602 tom.houday 45
		exec("sudo $script --stop");
2550 rexy 46
		sleep(8);
47
		header('Location: autoregistration.php');
48
		exit();
49
	}
50
}
51
 
1349 richard 52
# Choice of language
53
$Language = 'en';
54
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
1380 richard 55
	$Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
56
	$Language = strtolower(substr(chop($Langue[0]),0,2)); }
1349 richard 57
if($Language == 'fr'){
58
	$l_title = "Auto enregistrement (SMS)";
59
	$l_conf = "Configuration";
60
	$l_conf_actu = "Configuration actuelle";
2552 rexy 61
	$l_speed = "Vitesse de connexion au MODEM";
62
	$l_connect_port="Port de connexion au MODEM";
63
	$l_pin = "Code PIN de la carte SIM";
64
	$l_num_alcasar = "Numero de téléphone de la carte SIM";
1380 richard 65
	$l_ban_temp = "Nombre d'essais avant le blocage";
2550 rexy 66
	$l_time_account = "Durée de validité des comptes crées";
1380 richard 67
	$l_time_perm = "Durée du blocage (en jours)";
1349 richard 68
	$l_status_gammu = "Etat du service";
69
	$l_start = "Démarrer";
2294 richard 70
	$l_status_device = "Status de votre MODEM GSM (clé 2G/3G/4G)";
1387 richard 71
	$l_key_diseable = "Aucun périphérique détecté";
2552 rexy 72
	$l_key_enable_1 = "Un MODEM GSM '<b>".$vendor."(".$model.")</b>' est connecté.";
2542 rexy 73
	$l_key_enable_2 = "Il a ouvert les ports suivants : ";
1349 richard 74
	$l_force_signal = "Force du signal";
75
	$l_imei_device = "IMEI du périphérique";
76
	$l_sms_received = "Nombre de SMS reçu";
77
	$l_stop = "Arrêter";
2294 richard 78
	$l_gammu_on="Le service est démarré";
79
	$l_gammu_off="Le service est arrêté";
80
	$l_edit = "Modifier";
2552 rexy 81
	$l_error_wrong_port = "Le port d'écoute ($gammu_smsd_port) n'existe pas";
1349 richard 82
	$l_error_label_empty = "Le champ est vide";
83
	$l_error_label_num = "Ce n'est pas un PIN valide";
84
	$l_error_label_num2 = "Ce n'est pas un nombre";
1380 richard 85
	$l_error_label_num3 = "Le format n'est pas correct: +xxxYYYYYYYYY (xxx: code pays / YYYYYYYYY: numéro de téléphone)";
2294 richard 86
	$l_error_writefail = "Le service ne parvient pas à discuter avec le port du MODEM GSM (ttyUSB0).";
87
	$l_error_timeoutfail = "Impossible de se connecter au MODEM GSM (vérifiez la vitesse de connexion)";
2542 rexy 88
	$l_error_simfail = "Un problème au niveau de la carte SIM a été détecté. Est-elle présente?";
1349 richard 89
	$l_error_simsecu_l = "Attention, lors du dernier démarrage, votre code PIN était erroné.<br>
1380 richard 90
					La SIM doit être bloqué (code PUK). Consultez la documentation.";
1349 richard 91
	$l_autorefresh = "Rafraichissement : 30 sec";
92
	$l_days = "jours ";
93
	$l_num_block="Liste des numéros bloqués";
94
	$l_num_num="Numéro";
95
	$l_num_raison="Raison";
96
	$l_num_expiration="Date d'expiration";
97
	$l_num_action="Action";
98
	$l_num_exist="Un compte a été créé";
1416 richard 99
	$l_num_flood="Le nombre d'essais maximum a été dépassé";
1349 richard 100
	$l_num_unlock="Effacer";
1416 richard 101
	$l_country_enable="Activer";
102
	$l_country_disable="Désactiver";
1349 richard 103
	$l_service_status_img_ok="Démarré";
104
	$l_service_status_img_ko="Arrété";
2542 rexy 105
	$l_connect_speed="Modifier la vitesse de connexion : ";
1387 richard 106
	$l_tab_first = "premier";
107
	$l_tab_last = "dernier";
108
	$l_tab_next = "suivant";
109
	$l_tab_prev = "précédent";
110
	$l_tab_search = "Recherche :";
111
	$l_tab_pmenu = "Affiche la page _PAGE_ sur _PAGES_";
1416 richard 112
	$l_tab_info = "Montrer _MENU_ résultats par page";
1387 richard 113
	$l_tab_infoempty = "Aucun résultat";
1416 richard 114
	$l_country_filter = "Filtrage en cours : ";
115
	$l_country_filtering = " Filtrage par pays";
116
	$l_country_filtering_plus = " Filtrage par pays avancé";
2631 rexy 117
	$l_phone_ban = " Comptes crées et numéros de téléphone bloqués";
1416 richard 118
	$l_country_france_ena = "Autorise les numéros français";
119
	$l_country_ue_ena = "Autorise les numéros européens";
120
	$l_country_all_ena = "Autorise tous les pays";
2542 rexy 121
	$l_country_advanced_ena = "Autorisation personnalisée";
1416 richard 122
	$l_advance = "Avancé";
2853 rexy 123
} else if($Language == 'es') {
124
    $l_title = "Auto-registro (SMS)";
125
	$l_conf = "Configuración";
126
	$l_conf_actu = "Configuración actual";
127
	$l_speed = "Velocidad de conexión al MODEM";
128
	$l_connect_port="Puerto de conexión al MODEM";
129
	$l_pin = "PIN de la tarjeta SIM";
130
	$l_num_alcasar = "Número de teléfono de la tarjeta SIM";
131
	$l_ban_temp = "Número máximo de intentos antes de una prohibición permanente (baneo)"; 
132
	$l_time_account = "Período de validez de la nueva cuenta.";
133
	$l_time_perm = "Duración del baneo (por ejemplo, después de X intentar)";
134
	$l_status_gammu = "Estado del servicio";
135
	$l_start = "Iniciar";
136
	$l_status_device = "Estado de su MODEM GSM (2G/3G/4G key)";
137
	$l_key_diseable = "Ningún dispositivo detectado";
138
	$l_key_enable_1 = "Un GSM MODEM '<b>".$vendor."(".$model.")</b>' está conectado.";
139
	$l_key_enable_2 = "Ha abierto los siguientes puertos: ";
140
	$l_force_signal = "Intensidad de señal";
141
	$l_imei_device = "IMEI del dispositivo";
142
	$l_sms_received = "Número de SMS recibidos";
143
	$l_stop = "Detener";
144
	$l_gammu_on="El servicio se está ejecutando";
145
	$l_gammu_off="El servicio está caído";
146
	$l_edit = "Modificar";
147
	$l_error_wrong_port = "El puerto de escucha ($gammu_smsd_port) no existe";
148
	$l_error_label_empty = "Campo vacío";
149
	$l_error_label_num = "No es un PIN válido";
150
	$l_error_label_num2 = "No es un número";
151
	$l_error_label_num3 = "El número de teléfono no es correcto: +xxxYYYYYYYYY (xxx: cod. de país / YYYYYYYYY: numéro de teléfono)";
152
	$l_error_writefail = "No hay comunicación con el puerto GSM MODEM (ttyUSB0).";
153
	$l_error_timeoutfail = "No se puede conectar al MODEM GSM (verifique la velocidad de conexión).";
154
	$l_error_simfail = "Se detectó un problema con su tarjeta SIM. ¿Está colocada?";
155
	$l_error_simsecu_l = "Advertencia, durante el último inicio, el código PIN era incorrecto. <br>
156
				La tarjeta Sim debe estar bloqueada. Por favor lea la documentación.";
157
	$l_autorefresh = "Actualizar en: 30 seg";
158
	$l_days = "días ";
159
	$l_num_block="Lista de teléfonos bloqueados";
160
	$l_num_num="Número de teléfono";
161
	$l_num_raison="Motivo";
162
	$l_num_expiration="Fecha de caducidad";
163
	$l_num_action="Acción";
164
	$l_num_exist="Una cuenta se ha creado";
165
	$l_num_flood="Se ha alcanzado el número de intentos.";
166
	$l_num_unlock="Borrar";
167
	$l_country_enable="Activar";
168
	$l_country_disable="Desactivar";
169
	$l_service_status_img_ok="Corriendo";
170
	$l_service_status_img_ko="Detenido";
171
	$l_connect_speed="Modificar la velocidad de conexión: ";
172
	$l_tab_first = "primero";
173
	$l_tab_last = "último";
174
	$l_tab_next = "siguiente";
175
	$l_tab_prev = "anterior";
176
	$l_tab_search = "Buscar:";
177
	$l_tab_pmenu = "Mostrando _PAGE_ a _PAGE_ de _PAGE_ entradas:";
178
	$l_tab_info = "Mostrar _MENU_ entradas";
179
	$l_tab_infoempty = "No se encontraron registros coincidentes";
180
	$l_country_filter = "Filtrado actual: ";
181
	$l_country_filtering = "Filtrado de país";
182
	$l_country_filtering_plus = " Filtrado de país avanzado";
183
	$l_phone_ban = " Cuentas creadas y números de teléfono prohibidos";
184
	$l_country_france_ena = "Autoriza los números franceses";
185
	$l_country_ue_ena = "Autoriza números europeos";
186
	$l_country_all_ena = "Autorizar todos los países";
187
	$l_country_advanced_ena = "Autorización avanzada";
188
	$l_advance = "Avanzado";
189
} else {
1349 richard 190
	$l_title = "Auto registration (SMS)";
191
	$l_conf = "Configuration";
192
	$l_conf_actu = "Current configuration";
2552 rexy 193
	$l_speed = "Connection speed to the MODEM";
194
	$l_connect_port="Connection port to the MODEM";
195
	$l_pin = "PIN password of the SIM card";
196
	$l_num_alcasar = "Phone number of the SIM card";
1349 richard 197
	$l_ban_temp = "Max number of try before a permanent ban"; 
2550 rexy 198
	$l_time_account = "Validity period of new account";
1349 richard 199
	$l_time_perm = "Duration of a ban (for example, after X try)";
200
	$l_status_gammu = "Service status";
201
	$l_start = "Start";
2294 richard 202
	$l_status_device = "Status of your GSM MODEM (2G/3G/4G key)";
1387 richard 203
	$l_key_diseable = "No device detected";
2552 rexy 204
	$l_key_enable_1 = "A GSM MODEM '<b>".$vendor."(".$model.")</b>' is connected.";
2542 rexy 205
	$l_key_enable_2 = "It has openned the following ports : ";
1349 richard 206
	$l_force_signal = "Signal strength";
207
	$l_imei_device = "Device IMEI";
208
	$l_sms_received = "Number of SMS received";
209
	$l_stop = "Stop";
2294 richard 210
	$l_gammu_on="The service is running";
211
	$l_gammu_off="The service is down";
212
	$l_edit = "Modify";
2552 rexy 213
	$l_error_wrong_port = "The listening port ($gammu_smsd_port) doesn't exist";
1349 richard 214
	$l_error_label_empty = "Field empty";
215
	$l_error_label_num = "It's not a valid PIN password";
216
	$l_error_label_num2 = "It's not a number";
1380 richard 217
	$l_error_label_num3 = "The phone number is not good: +xxxYYYYYYYYY (xxx: code pays / YYYYYYYYY: numéro de téléphone)";
2294 richard 218
	$l_error_writefail = "Can not communicate with the GSM MODEM port (ttyUSB0).";
219
	$l_error_timeoutfail = "Can not connect to the GSM MODEM (verify the connection speed).";
1349 richard 220
	$l_error_simfail = "An issue with your Sim card was detected. Is it in the key?";
221
	$l_error_simsecu_l = "Warning, during the last startup, the PIN code was wrong. <br>
222
				The Sim card must be blocked. Please read the documentation.";
223
	$l_autorefresh = "Refresh : 30 sec";
224
	$l_days = "days ";
225
	$l_num_block="List of blocked phone";
226
	$l_num_num="Phone number";
227
	$l_num_raison="Reason";
228
	$l_num_expiration="Expiration date";
229
	$l_num_action="Action";
230
	$l_num_exist="An account has been created";
231
	$l_num_flood="The number of try has been reached";
232
	$l_num_unlock="Erase";
1416 richard 233
	$l_country_enable="Enable";
234
	$l_country_disable="Disable";
1349 richard 235
	$l_service_status_img_ok="Running";
236
	$l_service_status_img_ko="Stopped";
2542 rexy 237
	$l_connect_speed="Modify the connection speed : ";
1387 richard 238
	$l_tab_first = "first";
239
	$l_tab_last = "last";
240
	$l_tab_next = "next";
241
	$l_tab_prev = "previous";
242
	$l_tab_search = "Search :";
243
	$l_tab_pmenu = "Showing _PAGE_ to _PAGE_ of _PAGE_ entries :";
244
	$l_tab_info = "Show _MENU_ entries";
245
	$l_tab_infoempty = "No matching records found";
1416 richard 246
	$l_country_filter = "Current filtering : ";
247
	$l_country_filtering = " Country filtering";
248
	$l_country_filtering_plus = " Country filtering advanced";
2631 rexy 249
	$l_phone_ban = " Accounts created and phone Numbers banned";
1416 richard 250
	$l_country_france_ena = "Authorize the french numbers";
251
	$l_country_ue_ena = "Authorize european numbers";
252
	$l_country_all_ena = "Authorize all countries";
253
	$l_country_advanced_ena = "Advanced Authorization";
254
	$l_advance = "Advanced";
1349 richard 255
}
1387 richard 256
?>
257
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
258
<HTML><!-- written by Rexy -->
259
<head>
1416 richard 260
<!--<META HTTP-EQUIV="Refresh" CONTENT="30">-->
1387 richard 261
<meta http-equiv="Content-Type" content="text/html; charset=$config[general_charset]">
262
<title>Auto enregistrement</title>
2817 rexy 263
<link rel="stylesheet" href="/css/acc.css">
1387 richard 264
<!-- DataTables CSS -->
2294 richard 265
<link rel="stylesheet" type="text/css" href="/css/jquery.dataTables.css">
1387 richard 266
<!-- jQuery -->
2317 tom.houday 267
<script type="text/javascript" charset="utf8" src="/js/jquery.min.js"></script>
1387 richard 268
<!-- DataTables -->
2294 richard 269
<script type="text/javascript" charset="utf8" src="/js/jquery.dataTables.js"></script>
1387 richard 270
<script type="text/javascript">
1416 richard 271
function timedRefresh(timeoutPeriod) {
272
    var interval = setInterval(refreshPage, timeoutPeriod);
273
}
274
 
275
function refreshPage() {
276
    if ($("input[name=autoRefreshCheckboxes]").is(":checked")) {
277
        location.reload(true);
278
    }
279
}
280
 
1387 richard 281
$(document).ready( function () {
1416 richard 282
 
283
    	$('#table_id').DataTable({
1387 richard 284
		"language": {
285
			"paginate": {
1416 richard 286
			"sFirst": "<?php echo $l_tab_first; ?>",
1387 richard 287
			"sLast": "<?php echo $l_tab_last; ?>",
288
			"sPrevious": "<?php echo $l_tab_prev; ?>",
289
			"sNext": "<?php echo $l_tab_next; ?>"
290
			},
291
            "lengthMenu": "<?php echo $l_tab_info; ?>",
292
            "zeroRecords": "<?php echo $l_tab_infoempty; ?>",
293
            "info": "<?php echo $l_tab_pmenu; ?>",
294
            "infoEmpty": "<?php echo $l_tab_infoempty; ?>",
295
			"sSearch": "<?php echo $l_tab_search; ?>"
296
        }
297
	});
1416 richard 298
 
299
	$('#table_country').DataTable({
300
		"language": {
301
			"paginate": {
302
			"sFirst": "<?php echo $l_tab_first; ?>",
303
			"sLast": "<?php echo $l_tab_last; ?>",
304
			"sPrevious": "<?php echo $l_tab_prev; ?>",
305
			"sNext": "<?php echo $l_tab_next; ?>"
306
			},
307
            "lengthMenu": "<?php echo $l_tab_info; ?>",
308
            "zeroRecords": "<?php echo $l_tab_infoempty; ?>",
309
            "info": "<?php echo $l_tab_pmenu; ?>",
310
            "infoEmpty": "<?php echo $l_tab_infoempty; ?>",
311
			"sSearch": "<?php echo $l_tab_search; ?>"
312
        }
313
	});
2552 rexy 314
	$(".showhide-div_country").slideUp("slow");	
1416 richard 315
	$(".showhide-div_ban").slideUp("slow");
316
	$(".showhide-div_country_plus").slideUp("slow");
317
	$(".showhide-but_country").on("click", function(){
318
	    $(".showhide-div_country").slideToggle("slow");
319
	});
320
	$(".showhide-but_country_plus").on("click", function(){
321
	    $(".showhide-div_country_plus").slideToggle("slow");
322
	});
323
	$(".showhide-but_ban").on("click", function(){
324
	    $(".showhide-div_ban").slideToggle("slow");
325
	});
1387 richard 326
} );
327
</script>
328
</head>
1416 richard 329
<body onload="JavaScript:timedRefresh(30000);">
1387 richard 330
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
331
<?php
1349 richard 332
echo "
333
	<tr>
334
		<th>$l_title</th>
335
	</tr>
336
	<tr bgcolor=\"#FFCC66\">
337
		<td><img src=\"/images/pix.gif\" width=\"1\" height=\"2\"></td>
338
	</tr>
339
	</TABLE>
2550 rexy 340
	<br>
2294 richard 341
	<input type='checkbox' checked='checked' name='autoRefreshCheckboxes' >".$l_autorefresh."
1349 richard 342
	";
343
?>
344
<center>
2550 rexy 345
<br>
1349 richard 346
<table border=1 width=100%>
347
<tr>
2542 rexy 348
<td colspan=2><h3><center><?php echo $l_status_device ?></center></h3></td>
1380 richard 349
</tr>
350
<tr>
1349 richard 351
<?php
2550 rexy 352
if($find_key=="true")
1349 richard 353
{
2552 rexy 354
	# Start / stop of gammu-smsd (3*7sec) --> to be improve with  systemd unit (see tarball in contrib/init folder) 
2553 rexy 355
	if(isset($_POST["start"])){
1349 richard 356
		$gammu_1=exec("sudo $script --start");
357
		sleep(7);
358
		if($current_last_secu!="")
359
		{
360
			if(($current_last_secu > $current_last_start) && ($current_last_secu > $current_last_stop))
361
			{
362
				exec("sudo $script --stop");
363
			}
364
		}
365
		sleep(7);
366
		if($current_last_secu!="")
367
		{
368
			if(($current_last_secu > $current_last_start) && ($current_last_secu > $current_last_stop))
369
			{
370
				exec("sudo $script --stop");
371
			}
372
		}
373
		sleep(7);	
374
		if($current_last_secu!="")
375
		{
376
			if(($current_last_secu > $current_last_start) && ($current_last_secu > $current_last_stop))
377
			{
378
				exec("sudo $script --stop");
379
			}
380
		}
381
		header('Location: autoregistration.php');
2300 tom.houday 382
		exit();
1349 richard 383
	}
2553 rexy 384
	if(isset($_POST["stop"])){
1349 richard 385
		exec("sudo $script --stop");
386
		sleep(8);
387
		header('Location: autoregistration.php');
2300 tom.houday 388
		exit();
1349 richard 389
	}
2557 rexy 390
 
391
	# Set the connexion speed to MODEM	
392
	if(isset($_POST['b_speed'])){
393
		switch ($_POST['speed']) {
2552 rexy 394
		case "at":
2557 rexy 395
			exec("sudo $script --replace_speed");
2552 rexy 396
			break;
397
		case "9600":
2553 rexy 398
			exec("sudo $script --replace_speed 9600");
2552 rexy 399
			break;
400
		case "19200":
2553 rexy 401
			exec("sudo $script --replace_speed 19200");
2552 rexy 402
			break;
403
		case "115200":
2553 rexy 404
			exec("sudo $script --replace_speed 115200");
2552 rexy 405
			break;
2557 rexy 406
		header('Location: autoregistration.php');
407
		exit();
2552 rexy 408
		}
409
	}
410
 
2557 rexy 411
	# Set the connexion port to MODEM	
412
	if(isset($_POST['b_port'])){
413
		echo "speed = ".$_POST['port'];
414
		$port = $_POST['port'];
2574 rexy 415
		exec("sudo $script --replace_port ".escapeshellarg($port));
2553 rexy 416
		header('Location: autoregistration.php');
417
		exit();
418
	}
2557 rexy 419
 
2552 rexy 420
	# Set the SIM phone number
2553 rexy 421
	if(isset($_POST["b_num_alcasar"])){
2557 rexy 422
		echo "speed = ".$_POST['num_alcasar'];
2553 rexy 423
		$num = $_POST["num_alcasar"];
1349 richard 424
		$error_num_alcasar = "";
425
		if($num !="")
426
		{
1380 richard 427
			if(preg_match('#^\+#',$num))
1349 richard 428
			{
2299 tom.houday 429
				exec("sudo $script --replace_numero_alcasar ".escapeshellarg($num));
1349 richard 430
				header('Location: autoregistration.php');
2300 tom.houday 431
				exit();
1349 richard 432
			}
433
			else
434
			{
1380 richard 435
				$error_num_alcasar=$l_error_label_num3;
1349 richard 436
			}
437
		}
438
		else
439
		{
440
			$error_num_alcasar=$l_error_label_empty;
441
		}
442
	}
443
 
2552 rexy 444
	# Set the SIM card PIN number
2553 rexy 445
	if(isset($_POST["b_pin"])){
446
		$pin = $_POST["pin"];
1349 richard 447
		$error_pin = "";
448
		if($pin !="")
449
		{
450
			if(is_numeric($pin))
451
			{
2299 tom.houday 452
				exec("sudo $script --replace_pin ".escapeshellarg($pin));
1349 richard 453
				header('Location: autoregistration.php');
2300 tom.houday 454
				exit();
1349 richard 455
			}
456
			else
457
			{
2552 rexy 458
				$error_pin=$l_error_label_num;			
1349 richard 459
			}
460
		}
461
		else
462
		{
463
			$error_pin=$l_error_label_empty;
464
		}
465
	}
2552 rexy 466
 
2557 rexy 467
	# Set the session timeout for each new account
468
	if(isset($_POST["b_time_account"])){
469
		$time_account = $_POST["time_account"];
470
		$error_time_account = "";
471
		if($time_account !="")
1349 richard 472
		{
2557 rexy 473
			if(is_numeric($time_account))
1349 richard 474
			{
2557 rexy 475
				exec("sudo $script --replace_time_account ".escapeshellarg($time_account));
1349 richard 476
				header('Location: autoregistration.php');
2300 tom.houday 477
				exit();
1349 richard 478
			}
479
			else
480
			{
2557 rexy 481
				$error_time_account=$l_error_label_num2;
1349 richard 482
			}
483
		}
484
		else
485
		{
2557 rexy 486
			$error_time_account=$l_error_label_empty;
1349 richard 487
		}
488
	}
489
 
2557 rexy 490
	# Set the number of tries before ban
491
	if(isset($_POST["b_ban_temp"])){
492
		$nb_ban_temp = $_POST["nb_essais"];
493
		$error_nb_essais = "";
494
		if($nb_ban_temp !="")
1349 richard 495
		{
2557 rexy 496
			if(is_numeric($nb_ban_temp))
1349 richard 497
			{
2557 rexy 498
				exec("sudo $script --replace_try_ban ".escapeshellarg($nb_ban_temp));
1349 richard 499
				header('Location: autoregistration.php');
2300 tom.houday 500
				exit();
1349 richard 501
			}
502
			else
503
			{
2557 rexy 504
				$error_nb_essais=$l_error_label_num2;			
1349 richard 505
			}
506
		}
507
		else
508
		{
2557 rexy 509
			$error_nb_essais=$l_error_label_empty;
1349 richard 510
		}
511
	}
512
 
2552 rexy 513
	# Set the ban timeout
2553 rexy 514
	if(isset($_POST["b_time_perm"])){
515
		$time_perm = $_POST["time_perm"];
1349 richard 516
		$error_time_perm = "";
517
		if($time_perm !="")
518
		{
519
			if(is_numeric($time_perm))
520
			{
2299 tom.houday 521
				exec("sudo $script --replace_time_perm ".escapeshellarg($time_perm));
1349 richard 522
				header('Location: autoregistration.php');
2300 tom.houday 523
				exit();
1349 richard 524
			}
525
			else
526
			{
1380 richard 527
				$error_time_perm=$l_error_label_num2;
1349 richard 528
			}
529
		}
530
		else
531
		{
532
			$error_time_perm=$l_error_label_empty;
533
		}
534
	}
2552 rexy 535
 
536
	# removing a banned phone number
2553 rexy 537
	if(isset($_POST['num_select'])){
538
		$numero=$_POST['num_select'];
1349 richard 539
 
2299 tom.houday 540
		$add_mac=exec("sudo /usr/sbin/chilli_query list | grep ".escapeshellarg($numero)." | cut -d ' ' -f1");
2349 tom.houday 541
		if (!empty($add_mac)) {
542
			exec("sudo /usr/sbin/chilli_query logout ".escapeshellarg($add_mac));
543
		}
1349 richard 544
		exec("sudo $script --unlock_num $numero");
545
		header('Location: autoregistration.php');
2300 tom.houday 546
		exit();
1349 richard 547
	}
548
 
1416 richard 549
	# Edition etat pays
2553 rexy 550
	if(isset($_POST['country_select'])){
551
		$country=utf8_decode($_POST['country_select']);
2299 tom.houday 552
		exec("sudo $script --change_country ".escapeshellarg($country));
1416 richard 553
		exec("sudo $script --change_country_filter advance");
554
		header('Location: autoregistration.php');
2300 tom.houday 555
		exit();
1416 richard 556
	}
2553 rexy 557
	if(isset($_POST['b_france_enable'])){
1416 richard 558
		exec("sudo $script --change_country_dis_all");
559
		exec("sudo $script --change_country France");
560
		exec("sudo $script --change_country_filter fr");
561
		header('Location: autoregistration.php');
2300 tom.houday 562
		exit();
1416 richard 563
	}
2553 rexy 564
	if(isset($_POST['b_ue_enable'])){
1416 richard 565
		exec("sudo $script --change_country_dis_all");
566
		$array_ue = array("Allemagne","Autriche","Belgique","Bulgarie","Chypre","Croatie","Danemark","Espagne","Estonie","Finlande","France","Grece","Hongrie","Irlande","Italie","Lettonie","Lituanie","Luxembourg","Malte","Pays-Bas"," Pologne","Portugal","Republique Tcheque","Roumanie","Angleterre","Slovaquie","Slovenie","Suede");
567
		foreach ($array_ue as $pays){
2299 tom.houday 568
			exec("sudo $script --change_country ".escapeshellarg($pays));
1416 richard 569
		}
570
 
571
		exec("sudo $script --change_country_filter ue");
572
		header('Location: autoregistration.php');
2300 tom.houday 573
		exit();
1416 richard 574
	}
2553 rexy 575
	if(isset($_POST["b_country_enable"])){
2552 rexy 576
		exec("sudo $script --change_country_ena_all");		
1416 richard 577
		exec("sudo $script --change_country_filter all");
578
		header('Location: autoregistration.php');
2300 tom.houday 579
		exit();
1416 richard 580
	}
2553 rexy 581
	if(isset($_POST["b_country_disable"])){
1416 richard 582
		exec("sudo $script --change_country_dis_all");
583
		header('Location: autoregistration.php');
2300 tom.houday 584
		exit();
1416 richard 585
	}
2552 rexy 586
 
587
	echo '	<td>'.$l_key_enable_1;
588
	echo '<br>'.$l_key_enable_2.'<b>';
589
	reset ($openned_ports);
590
	while ( list(,$row) = each($openned_ports))
591
	{
592
		echo $row." ";
593
	}
594
	echo '</b></td>';
595
}
596
else
597
{
598
	echo "<td>$l_key_diseable</td>";
599
}
600
?>
601
</tr>
602
</table>
603
</center>
604
<br>
605
<?php
606
 
607
if ($find_key=="true")
608
{
609
	#Nom du fichier de log lorsque gammu est démarré
610
	#$file_log = "gammu-smsd.log";
611
 
612
	#Recuperation de la vitesse de connexion
2557 rexy 613
	$current_speed = exec("sudo $script --connect");
2552 rexy 614
 
615
	#Recuperation du code PIN actuel
616
	$current_pin = exec("sudo $script --pin");	
2550 rexy 617
 
2552 rexy 618
	#Recuperation du nombre de try avant le ban perm
619
	$current_try_ban = exec("sudo $script --try_ban");	
620
 
621
	#Recuperation de la durée d'une session créée
622
	$current_time_account = exec("sudo $script --time_account");	
623
 
2557 rexy 624
	#Recuperation de la durée dun ban perm (après flood)
2552 rexy 625
	$current_time_perm = exec("sudo $script --time_perm");	
626
 
627
	#Detection neméro de tel
628
	$current_num_alcasar = exec("sudo $script --numero_alcasar");
629
 
630
	#Detection problème avec la SIM
631
	$current_simfail = exec("sudo $script --last_nosim");
632
 
633
	#Recuperation de la dernière ligne de START
634
	$current_last_start = exec("sudo $script --last_start");
635
 
636
	#Recuperarion de la dernière ligne de STOP
637
	$current_last_stop = exec("sudo $script --last_stop");
638
 
639
	#Recuperation de la dernière ligne de SECURITYERROR
640
	$current_last_secu = exec("sudo $script --last_secu");
641
 
642
	#Recuperation de la dernière ligne de DEVICEWRITEERROR
643
	$current_last_write = exec("sudo $script --last_writeerror");
644
 
645
	#Recuperation de la dernière ligne de TIMEOUT
646
	$current_last_timeout = exec("sudo $script --last_timeout");
647
 
2557 rexy 648
	# Test si le service est lancé
649
	if ($gammu_pid=="")
2552 rexy 650
	{
651
		$force_signal = "-";
652
		$imei_device = "-";
653
		$sms_received = "-";
654
 
655
		$gammu="<td><img src=\"/images/state_error.gif\" width=\"15\" height=\"15\" alt=\"".$l_service_status_img_ko."\"></td><td>$l_gammu_off</td>";	
656
		$gammu_status_on="";
657
		$gammu_status_off="disabled";
658
 
659
		if($current_last_secu!="")
660
		{
661
			if(($current_last_secu > $current_last_start) && ($current_last_secu < $current_last_stop))
662
			{
663
				$gammu_simsecu="<tr><td colspan=7><font color=red>$l_error_simsecu_l</font></td></tr>";	
664
			}
665
		}
666
	} else {
667
		# Recuperation de la force du signal et IMEI et nombre de sms reçu
668
		$val_force_signal = exec("sudo $script --signal_device");
669
		$imei_device = exec("sudo $script --imei_device");
670
		$sms_received = exec("sudo $script --sms_received");
671
 
672
		if ($val_force_signal < 21) {
673
			$force_signal = "<img src=\"/images/signal_0.png\">  --  ".$val_force_signal." %";
674
		} elseif ($val_force_signal < 41) {
675
			$force_signal = "<img src=\"/images/signal_20.png\">  --  ".$val_force_signal." %";
676
 
677
		} elseif ($val_force_signal < 61) {
678
			$force_signal = "<img src=\"/images/signal_40.png\">  --  ".$val_force_signal." %";
679
 
680
		} elseif ($val_force_signal < 81) {
681
			$force_signal = "<img src=\"/images/signal_60.png\">  --  ".$val_force_signal." %";
682
 
683
		} elseif ($val_force_signal < 101) {
684
			$force_signal = "<img src=\"/images/signal_80.png\">  --  ".$val_force_signal." %";
685
 
686
		}
687
 
688
		$gammu="<td><img src=\"/images/state_ok.gif\" width=\"15\" height=\"15\" alt=\"".$l_service_status_img_ok."\"></td><td>$l_gammu_on</td>";	
689
		if ($listen_on_right_port != "true"){
690
			$gammu_wrong_port="<tr><td colspan=7><font color=red>$l_error_wrong_port</font></td></tr>";
691
		}	
692
 
693
		if($current_last_timeout!=""){
694
			if(($current_last_timeout > $current_last_start) && ($current_last_timeout > $current_last_stop))
695
			{
696
				$gammu_timeout="<tr><td colspan=7><font color=red>$l_error_timeoutfail</font></td></tr>";
697
			}
698
		}
699
 
700
		if($current_last_secu!="")
701
		{
702
			if(($current_last_secu > $current_last_start) && ($current_last_secu > $current_last_stop))
703
			{
704
				exec("sudo $script --stop");
705
			}
706
		}
707
 
708
		if($current_last_write!=""){
709
			if(($current_last_write > $current_last_start) && ($current_last_write > $current_last_stop))
710
			{
711
				$gammu_writeerror="<tr><td colspan=7><font color=red>$l_error_writefail</font></td></tr>";	
712
			}
713
		}
714
 
715
		if($current_simfail!="")
716
		{
717
			if(($current_simfail > $current_last_start) && ($current_simfail > $current_last_stop))
718
			{
719
				$gammu_simfail="<tr><td colspan=7><font color=red>$l_error_simfail</font></td></tr>";
720
			}
721
		}
722
		$gammu_status_on="disabled";
723
		$gammu_status_off="";
724
	}
725
 
2557 rexy 726
	echo "<form action=\"autoregistration.php\" method=\"post\">
1349 richard 727
		<table border=1>
728
		<tr>
2550 rexy 729
		<td colspan=3><b>$l_conf</b></td>
730
		<td><b>$l_conf_actu</b></td>
1349 richard 731
		</tr>
732
		<tr>
2550 rexy 733
		<td> $l_connect_port </td><td><select name=\"port\">'";
734
		reset ($openned_ports);
735
		while ( list(,$row) = each($openned_ports))
736
		{
2557 rexy 737
			echo '<option value="'.$row.'"';;if ("$row" == "$gammu_smsd_port") echo " selected";echo '>'.$row.'</option>';
2550 rexy 738
			echo $row." ";
739
		}
740
	echo "</select></td>
2552 rexy 741
		<td><button type=\"submit\" name=\"b_port\" $gammu_status_on>$l_edit</button></td>
2550 rexy 742
		<td><center><font color=\"green\">$gammu_smsd_port</font></center></td>
1349 richard 743
		</tr>
2557 rexy 744
		<td> $l_speed </td><td>
745
			<select name=\"speed\">
746
				<option value=\"at\"";if ($current_speed == "at") echo " selected";echo ">Auto</option>
747
				<option value=\"9600\"";if ($current_speed == "at9600") echo " selected"; echo ">9600 Bauds</option>
748
				<option value=\"19200\"";if ($current_speed == "at19200") echo " selected"; echo ">19200 Bauds</option>
749
				<option value=\"115200\"";if ($current_speed == "at115200") echo " selected";echo ">115200 Bauds</option>
750
			</select>
751
		<td><button type=\"submit\" name=\"b_speed\">$l_edit</button></td>
752
		<td><center><font color=\"green\">".str_replace("at","",$current_speed);if ($current_speed == "at"){ echo "Auto"; } else { echo " Bauds";}echo "</font></center></td>
1349 richard 753
		<tr>
2557 rexy 754
		<tr>
1380 richard 755
		<td> $l_num_alcasar </td><td><input type=text name='num_alcasar' maxlength=\"20\"></td>
1349 richard 756
		<td><button type=\"submit\" name=\"b_num_alcasar\" $gammu_status_on>$l_edit</button></td>
757
		<td><center><font color=\"green\">$current_num_alcasar</font></center></td>
758
		</tr>
1380 richard 759
		<tr><td colspan=\"4\"><font color=red><b>$error_num_alcasar</b></font></td></tr>
760
		<tr>		
761
		<td> $l_pin </td><td><input type=text name='pin' maxlength=\"8\"></td>
1349 richard 762
		<td><button type=\"submit\" name=\"b_pin\" $gammu_status_on>$l_edit</button></td>
763
		<td><center><font color=\"green\">$current_pin</font></center></td>
764
		</tr>
1380 richard 765
		<tr><td colspan=\"4\"><font color=red><b>$error_pin</b></font></td></tr>
2294 richard 766
		<tr>
1380 richard 767
		<td> $l_time_account </td><td><input type=text name='time_account'> $l_days </td>
2552 rexy 768
		<td><button type=\"submit\" name=\"b_time_account\" $gammu_status_on>$l_edit</button></td>	
1349 richard 769
		<td><center><font color=\"blue\">$current_time_account</font></center></td>
770
		</tr>
1380 richard 771
		<tr><td colspan=\"4\"><font color=red><b>$error_time_account</b></font></td></tr>
1349 richard 772
		<tr>
2552 rexy 773
		<td> $l_ban_temp </td><td><input type=text name='nb_essais'></td>	
774
		<td><button type=\"submit\" name=\"b_ban_temp\" $gammu_status_on>$l_edit</button></td>	
1349 richard 775
		<td><center><font color=\"orange\">$current_try_ban</font></center></td>
776
		</tr>
1380 richard 777
		<tr><td colspan=\"4\"><font color=red><b>$error_nb_essais</b></font></td></tr>
1349 richard 778
		<tr>
1380 richard 779
		<td>$l_time_perm</td><td><input type=text name='time_perm'> $l_days</td>
2552 rexy 780
		<td><button type=\"submit\" name=\"b_time_perm\" $gammu_status_on>$l_edit</button></td>	
1349 richard 781
		<td><center><font color=\"orange\">$current_time_perm</font></center></td>
782
		</tr>
1380 richard 783
		<tr><td colspan=\"4\"><font color=red><b>$error_time_perm</b></font></td></tr>
1349 richard 784
		</table>
2550 rexy 785
		<br>
786
		<table border=1>
787
		<tr>
788
			<td colspan=4><b>$l_status_gammu</b></td>
789
			<td><b><center>$l_force_signal</center></b></td>
2552 rexy 790
			<td><b><center>$l_imei_device</center></b></td> 
791
			<td><b><center>$l_sms_received</center></b></td> 
2550 rexy 792
		</tr>
793
		<tr>
794
			$gammu
2552 rexy 795
			<td><button type=\"submit\" name=\"start\" $gammu_status_on>$l_start</button></td>		
2550 rexy 796
			<td><button type=\"submit\" name=\"stop\" $gammu_status_off>$l_stop</button></td>
797
			<td><center>$force_signal</center></td>
798
			<td><center>$imei_device</center></td>
799
			<td><center>$sms_received</center></td>
800
		</tr>
2552 rexy 801
		$gammu_wrong_port
2550 rexy 802
		$gammu_puk
803
		$gammu_simfail
804
		$gammu_simsecu
805
		$gammu_timeout
806
		$gammu_writeerror
807
		</table>
1416 richard 808
		</form>";
1349 richard 809
 
810
	require('/etc/freeradius-web/config.php');
2185 tom.houday 811
	if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php"))
812
		include_once("../lib/sql/drivers/$config[sql_type]/functions.php");
1349 richard 813
	else{
814
		echo "<b>Could not include SQL library</b>\n";
815
		exit();
2185 tom.houday 816
	}
1349 richard 817
	$con = mysqli_connect("$config[sql_server]","$config[sql_username]","$config[sql_password]","gammu");
818
	if(mysqli_connect_errno())
819
	{
820
		echo "Fail to connect to $config[sql_type]" . mysqli_connect_error();
821
	}
822
 
1416 richard 823
	# Country table
1387 richard 824
?>
1416 richard 825
 
826
	<div style="border-radius: 5px; background: #BDBDBD; margin-top: 15px;">
2557 rexy 827
		 <span class="showhide-but_country"><?php echo "<strong>$l_country_filtering</strong>" ?><img src="/images/down2.gif" width="15" height="15"></span>
1416 richard 828
 
829
		<div class="showhide-div_country">
830
		<br />
831
			<table width=100% style="background: #BDBDBD;">
1349 richard 832
			<tr>
1416 richard 833
				<?php 
834
					$result_country_filter = mysqli_query($con, "SELECT id FROM SMS_country WHERE name = 'FILTRAGE'");
835
					$row = mysqli_fetch_array($result_country_filter);
836
 
837
					if($row['id'] == "advance") {
838
						$country_filter = $l_country_advanced_ena;
839
					} elseif($row['id'] == "ue") {
840
						$country_filter = $l_country_ue_ena;
841
					} elseif($row['id'] == "fr") {
842
						$country_filter = $l_country_france_ena;
843
					} elseif($row['id'] == "all") {
844
						$country_filter = $l_country_all_ena;
845
					} else {
846
						$country_filter = "Err.";
847
					}
848
				?>
849
				<td colspan="3" align="center"><strong><?php echo $l_country_filter; ?></strong><font size="3" color="red"><?php echo $country_filter; ?></font></td>
1349 richard 850
			</tr>
1387 richard 851
			<tr>
2552 rexy 852
				<form action="autoregistration.php" method="post">
1416 richard 853
					<td align="center" width=33%><button type="submit" name="b_france_enable"><?php echo "$l_country_france_ena" ?></button></td>
854
					<td align="center" width=34%><button type="submit" name="b_ue_enable"><?php echo "$l_country_ue_ena" ?></button></td>
855
					<td align="center" width=33%><button type="submit" name="b_country_enable"><?php echo "$l_country_all_ena" ?></button></td>
856
				</form>
857
			</tr>	
858
			</table>
859
			<div style="border-radius: 5px; background: #D8D8D8; margin: 15px;">
2557 rexy 860
			<span class="showhide-but_country_plus"><?php echo "<strong>$l_country_filtering_plus</strong>" ?> <img src="/images/down2.gif" width="15" height="15"></span>
1416 richard 861
				<div class="showhide-div_country_plus">
862
				<table id="table_country" class="display">
863
					<thead>
864
						<tr>
865
							<th><b><font color="black">Pays</font></b></th>
866
							<th><b><font color="black">code</font></b></th>
867
							<th><b><font color="black">Etat</font></b></th>
868
						</tr>
869
					</thead>
870
					<tbody>
871
						<?php 
872
 
873
						$result_country = mysqli_query($con, "SELECT * FROM SMS_country WHERE name != 'FILTRAGE'");
874
						while($row = mysqli_fetch_array($result_country))
875
						{
876
						echo "	
877
						<tr>
2552 rexy 878
						<form action=\"autoregistration.php\" method=\"post\">
1416 richard 879
						<td>
880
							<input type=\"hidden\" name=\"country_select\" value=\"" .$row['name']."\">	
881
							".$row['name']."
882
						</td>
883
						<td>".$row['id']."</td>
884
						";
885
 
886
						if($row['status']=='0')
887
						{
888
							echo "<td><input type='image' src=\"/images/state_error.gif\" width=\"15\" height=\"15\"></td>";
889
						}
890
						if($row['status']=='1')
891
						{
892
							echo "<td><input type='image' src=\"/images/state_ok.gif\" width=\"15\" height=\"15\"></td>";
893
						}
894
						echo "	</form>
895
							</tr>
896
							";
897
						}
898
						?>
899
					</tbody>
900
				</table>
901
				</div>
902
			</div>
903
		</div>	
904
	</div>
905
<?php 
906
	$result = mysqli_query($con, "SELECT * FROM SMS_ban_perm");
907
 
908
?>
909
 
910
<div style="border-radius: 5px; background: #BDBDBD; margin-top: 15px;">
911
		<span class="showhide-but_ban"><?php echo "<strong>$l_phone_ban</strong>" ?><img src="/images/down2.gif" width="15" height="15"></span>
912
 
913
		<div class="showhide-div_ban">
914
 
915
			<table id="table_id" class="display">
916
				<thead>
917
					<tr>
918
						<th><b><font color="black"><?php echo $l_num_num; ?></font></b></th>
919
						<th><b><font color="black"><?php echo $l_num_raison; ?></font></b></th>
920
						<th><b><font color="black"><?php echo $l_num_expiration; ?></font></b></th>
921
						<th><b><font color="black">Action</font></b></th>
922
					</tr>
923
				</thead>
924
				<tbody>
925
					<?php 
926
					while($row = mysqli_fetch_array($result))
927
					{
928
					echo "	
929
						<tr>
2552 rexy 930
						<form action=\"autoregistration.php\" method=\"post\">
1416 richard 931
						<td>
932
							<input type=\"hidden\" name=\"num_select\" value=\"" .$row['SenderNumber']."\">	
933
							".$row['SenderNumber']."
934
						</td>";
1349 richard 935
 
1416 richard 936
					if($row['Perm']=='0')
937
					{
938
						echo "<td>$l_num_exist</td>";
939
					}
940
					if($row['Perm']=='1')
941
					{
942
						echo "<td>$l_num_flood</td>";
943
					}
944
					echo "	<td>" . $row['Expiration']. "</td>
945
							<td>
946
								<input type='submit' value='".$l_num_unlock."'>
947
							</td>
948
							</form>
949
						</tr>
950
						";
951
					}
952
					?>
953
				</tbody>
954
			</table>
955
		</div>
956
	</div>
1387 richard 957
<?php
1349 richard 958
	mysqli_close($con);
1380 richard 959
	}
1349 richard 960
?>
961
</html>