Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 2990 → Rev 2991

/web/acc/manager/htdocs/user_by_sms.php
0,0 → 1,961
<?php
# $Id: autoregistration.php 2915 2021-02-07 22:59:23Z rexy $
 
#Define
$gammu_wrong_port = "";
$gammu_puk = "";
$gammu_simfail = "";
$gammu_simsecu = "";
$gammu_writeerror = "";
$gammu_timeout = "";
$error_pin = "";
$error_time_account = "";
$error_nb_essais = "";
$error_time_perm = "";
$error_num_alcasar = "";
$country_filter="";
$find_key="false";
$listen_on_right_port="false";
$script="/usr/local/bin/alcasar-sms.sh";
$vendor='';
$model='';
$gammu_smsd_port='';
 
# Test if a modem is plugged on serial-usb port
$open_port=exec("ls /dev/ttyUSB*",$openned_ports); // list of USB-Serial ports openned by a modem
if (!empty($open_port))
{
$find_key="true";
$vendor=exec("udevadm info -n $openned_ports[0] | grep 'MODEL=' | cut -d'=' -f2");
$model=exec("udevadm info -n $openned_ports[0] | grep 'MODEL_FROM_DATABASE=' | cut -d'=' -f2");
$gammu_smsd_port=exec("cat /etc/gammu_smsd_conf| grep '^port\s\?=' | cut -d ' ' -f3"); // Gammu_smsd listen port
while ( list(,$row) = each($openned_ports))
{
if ( "$row" == "$gammu_smsd_port" ) // is gammu listen on an openned port ?
{
$listen_on_right_port="true";
}
}
}
$gammu_pid=exec("sudo $script --pidof");
if ($find_key == "false")
{ # close gammu if it's started
if ($gammu_pid!="")
{
exec("sudo $script --stop");
sleep(8);
header('Location: autoregistration.php');
exit();
}
}
 
# Choice of language
$Language = 'en';
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
$Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
$Language = strtolower(substr(chop($Langue[0]),0,2)); }
if($Language == 'fr'){
$l_title = "Auto enregistrement (SMS)";
$l_conf = "Configuration";
$l_conf_actu = "Configuration actuelle";
$l_speed = "Vitesse de connexion au MODEM";
$l_connect_port="Port de connexion au MODEM";
$l_pin = "Code PIN de la carte SIM";
$l_num_alcasar = "Numero de téléphone de la carte SIM";
$l_ban_temp = "Nombre d'essais avant le blocage";
$l_time_account = "Durée de validité des comptes crées";
$l_time_perm = "Durée du blocage (en jours)";
$l_status_gammu = "Etat du service";
$l_start = "Démarrer";
$l_status_device = "Status de votre MODEM GSM (clé 2G/3G/4G)";
$l_key_diseable = "Aucun périphérique détecté";
$l_key_enable_1 = "Un MODEM GSM '<b>".$vendor."(".$model.")</b>' est connecté.";
$l_key_enable_2 = "Il a ouvert les ports suivants : ";
$l_force_signal = "Force du signal";
$l_imei_device = "IMEI du périphérique";
$l_sms_received = "Nombre de SMS reçu";
$l_stop = "Arrêter";
$l_gammu_on="Le service est démarré";
$l_gammu_off="Le service est arrêté";
$l_edit = "Modifier";
$l_error_wrong_port = "Le port d'écoute ($gammu_smsd_port) n'existe pas";
$l_error_label_empty = "Le champ est vide";
$l_error_label_num = "Ce n'est pas un PIN valide";
$l_error_label_num2 = "Ce n'est pas un nombre";
$l_error_label_num3 = "Le format n'est pas correct: +xxxYYYYYYYYY (xxx: code pays / YYYYYYYYY: numéro de téléphone)";
$l_error_writefail = "Le service ne parvient pas à discuter avec le port du MODEM GSM (ttyUSB0).";
$l_error_timeoutfail = "Impossible de se connecter au MODEM GSM (vérifiez la vitesse de connexion)";
$l_error_simfail = "Un problème au niveau de la carte SIM a été détecté. Est-elle présente?";
$l_error_simsecu_l = "Attention, lors du dernier démarrage, votre code PIN était erroné.<br>
La SIM doit être bloqué (code PUK). Consultez la documentation.";
$l_autorefresh = "Rafraichissement : 30 sec";
$l_days = "jours ";
$l_num_block="Liste des numéros bloqués";
$l_num_num="Numéro";
$l_num_raison="Raison";
$l_num_expiration="Date d'expiration";
$l_num_action="Action";
$l_num_exist="Un compte a été créé";
$l_num_flood="Le nombre d'essais maximum a été dépassé";
$l_num_unlock="Effacer";
$l_country_enable="Activer";
$l_country_disable="Désactiver";
$l_service_status_img_ok="Démarré";
$l_service_status_img_ko="Arrété";
$l_connect_speed="Modifier la vitesse de connexion : ";
$l_tab_first = "premier";
$l_tab_last = "dernier";
$l_tab_next = "suivant";
$l_tab_prev = "précédent";
$l_tab_search = "Recherche :";
$l_tab_pmenu = "Affiche la page _PAGE_ sur _PAGES_";
$l_tab_info = "Montrer _MENU_ résultats par page";
$l_tab_infoempty = "Aucun résultat";
$l_country_filter = "Filtrage en cours : ";
$l_country_filtering = " Filtrage par pays";
$l_country_filtering_plus = " Filtrage par pays avancé";
$l_phone_ban = " Comptes crées et numéros de téléphone bloqués";
$l_country_france_ena = "Autorise les numéros français";
$l_country_ue_ena = "Autorise les numéros européens";
$l_country_all_ena = "Autorise tous les pays";
$l_country_advanced_ena = "Autorisation personnalisée";
$l_advance = "Avancé";
} else if($Language == 'es') {
$l_title = "Auto-registro (SMS)";
$l_conf = "Configuración";
$l_conf_actu = "Configuración actual";
$l_speed = "Velocidad de conexión al MODEM";
$l_connect_port="Puerto de conexión al MODEM";
$l_pin = "PIN de la tarjeta SIM";
$l_num_alcasar = "Número de teléfono de la tarjeta SIM";
$l_ban_temp = "Número máximo de intentos antes de una prohibición permanente (baneo)";
$l_time_account = "Período de validez de la nueva cuenta.";
$l_time_perm = "Duración del baneo (por ejemplo, después de X intentar)";
$l_status_gammu = "Estado del servicio";
$l_start = "Iniciar";
$l_status_device = "Estado de su MODEM GSM (2G/3G/4G key)";
$l_key_diseable = "Ningún dispositivo detectado";
$l_key_enable_1 = "Un GSM MODEM '<b>".$vendor."(".$model.")</b>' está conectado.";
$l_key_enable_2 = "Ha abierto los siguientes puertos: ";
$l_force_signal = "Intensidad de señal";
$l_imei_device = "IMEI del dispositivo";
$l_sms_received = "Número de SMS recibidos";
$l_stop = "Detener";
$l_gammu_on="El servicio se está ejecutando";
$l_gammu_off="El servicio está caído";
$l_edit = "Modificar";
$l_error_wrong_port = "El puerto de escucha ($gammu_smsd_port) no existe";
$l_error_label_empty = "Campo vacío";
$l_error_label_num = "No es un PIN válido";
$l_error_label_num2 = "No es un número";
$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)";
$l_error_writefail = "No hay comunicación con el puerto GSM MODEM (ttyUSB0).";
$l_error_timeoutfail = "No se puede conectar al MODEM GSM (verifique la velocidad de conexión).";
$l_error_simfail = "Se detectó un problema con su tarjeta SIM. ¿Está colocada?";
$l_error_simsecu_l = "Advertencia, durante el último inicio, el código PIN era incorrecto. <br>
La tarjeta Sim debe estar bloqueada. Por favor lea la documentación.";
$l_autorefresh = "Actualizar en: 30 seg";
$l_days = "días ";
$l_num_block="Lista de teléfonos bloqueados";
$l_num_num="Número de teléfono";
$l_num_raison="Motivo";
$l_num_expiration="Fecha de caducidad";
$l_num_action="Acción";
$l_num_exist="Una cuenta se ha creado";
$l_num_flood="Se ha alcanzado el número de intentos.";
$l_num_unlock="Borrar";
$l_country_enable="Activar";
$l_country_disable="Desactivar";
$l_service_status_img_ok="Corriendo";
$l_service_status_img_ko="Detenido";
$l_connect_speed="Modificar la velocidad de conexión: ";
$l_tab_first = "primero";
$l_tab_last = "último";
$l_tab_next = "siguiente";
$l_tab_prev = "anterior";
$l_tab_search = "Buscar:";
$l_tab_pmenu = "Mostrando _PAGE_ a _PAGE_ de _PAGE_ entradas:";
$l_tab_info = "Mostrar _MENU_ entradas";
$l_tab_infoempty = "No se encontraron registros coincidentes";
$l_country_filter = "Filtrado actual: ";
$l_country_filtering = "Filtrado de país";
$l_country_filtering_plus = " Filtrado de país avanzado";
$l_phone_ban = " Cuentas creadas y números de teléfono prohibidos";
$l_country_france_ena = "Autoriza los números franceses";
$l_country_ue_ena = "Autoriza números europeos";
$l_country_all_ena = "Autorizar todos los países";
$l_country_advanced_ena = "Autorización avanzada";
$l_advance = "Avanzado";
} else {
$l_title = "Auto registration (SMS)";
$l_conf = "Configuration";
$l_conf_actu = "Current configuration";
$l_speed = "Connection speed to the MODEM";
$l_connect_port="Connection port to the MODEM";
$l_pin = "PIN password of the SIM card";
$l_num_alcasar = "Phone number of the SIM card";
$l_ban_temp = "Max number of try before a permanent ban";
$l_time_account = "Validity period of new account";
$l_time_perm = "Duration of a ban (for example, after X try)";
$l_status_gammu = "Service status";
$l_start = "Start";
$l_status_device = "Status of your GSM MODEM (2G/3G/4G key)";
$l_key_diseable = "No device detected";
$l_key_enable_1 = "A GSM MODEM '<b>".$vendor."(".$model.")</b>' is connected.";
$l_key_enable_2 = "It has openned the following ports : ";
$l_force_signal = "Signal strength";
$l_imei_device = "Device IMEI";
$l_sms_received = "Number of SMS received";
$l_stop = "Stop";
$l_gammu_on="The service is running";
$l_gammu_off="The service is down";
$l_edit = "Modify";
$l_error_wrong_port = "The listening port ($gammu_smsd_port) doesn't exist";
$l_error_label_empty = "Field empty";
$l_error_label_num = "It's not a valid PIN password";
$l_error_label_num2 = "It's not a number";
$l_error_label_num3 = "The phone number is not good: +xxxYYYYYYYYY (xxx: code pays / YYYYYYYYY: numéro de téléphone)";
$l_error_writefail = "Can not communicate with the GSM MODEM port (ttyUSB0).";
$l_error_timeoutfail = "Can not connect to the GSM MODEM (verify the connection speed).";
$l_error_simfail = "An issue with your Sim card was detected. Is it in the key?";
$l_error_simsecu_l = "Warning, during the last startup, the PIN code was wrong. <br>
The Sim card must be blocked. Please read the documentation.";
$l_autorefresh = "Refresh : 30 sec";
$l_days = "days ";
$l_num_block="List of blocked phone";
$l_num_num="Phone number";
$l_num_raison="Reason";
$l_num_expiration="Expiration date";
$l_num_action="Action";
$l_num_exist="An account has been created";
$l_num_flood="The number of try has been reached";
$l_num_unlock="Erase";
$l_country_enable="Enable";
$l_country_disable="Disable";
$l_service_status_img_ok="Running";
$l_service_status_img_ko="Stopped";
$l_connect_speed="Modify the connection speed : ";
$l_tab_first = "first";
$l_tab_last = "last";
$l_tab_next = "next";
$l_tab_prev = "previous";
$l_tab_search = "Search :";
$l_tab_pmenu = "Showing _PAGE_ to _PAGE_ of _PAGE_ entries :";
$l_tab_info = "Show _MENU_ entries";
$l_tab_infoempty = "No matching records found";
$l_country_filter = "Current filtering : ";
$l_country_filtering = " Country filtering";
$l_country_filtering_plus = " Country filtering advanced";
$l_phone_ban = " Accounts created and phone Numbers banned";
$l_country_france_ena = "Authorize the french numbers";
$l_country_ue_ena = "Authorize european numbers";
$l_country_all_ena = "Authorize all countries";
$l_country_advanced_ena = "Advanced Authorization";
$l_advance = "Advanced";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><!-- written by Rexy -->
<head>
<!--<META HTTP-EQUIV="Refresh" CONTENT="30">-->
<meta http-equiv="Content-Type" content="text/html; charset=$config[general_charset]">
<title>Auto enregistrement</title>
<link rel="stylesheet" href="/css/acc.css">
<!-- DataTables CSS -->
<link rel="stylesheet" type="text/css" href="/css/jquery.dataTables.css">
<!-- jQuery -->
<script type="text/javascript" charset="utf8" src="/js/jquery.min.js"></script>
<!-- DataTables -->
<script type="text/javascript" charset="utf8" src="/js/jquery.dataTables.js"></script>
<script type="text/javascript">
function timedRefresh(timeoutPeriod) {
var interval = setInterval(refreshPage, timeoutPeriod);
}
 
function refreshPage() {
if ($("input[name=autoRefreshCheckboxes]").is(":checked")) {
location.reload(true);
}
}
 
$(document).ready( function () {
 
$('#table_id').DataTable({
"language": {
"paginate": {
"sFirst": "<?php echo $l_tab_first; ?>",
"sLast": "<?php echo $l_tab_last; ?>",
"sPrevious": "<?php echo $l_tab_prev; ?>",
"sNext": "<?php echo $l_tab_next; ?>"
},
"lengthMenu": "<?php echo $l_tab_info; ?>",
"zeroRecords": "<?php echo $l_tab_infoempty; ?>",
"info": "<?php echo $l_tab_pmenu; ?>",
"infoEmpty": "<?php echo $l_tab_infoempty; ?>",
"sSearch": "<?php echo $l_tab_search; ?>"
}
});
 
$('#table_country').DataTable({
"language": {
"paginate": {
"sFirst": "<?php echo $l_tab_first; ?>",
"sLast": "<?php echo $l_tab_last; ?>",
"sPrevious": "<?php echo $l_tab_prev; ?>",
"sNext": "<?php echo $l_tab_next; ?>"
},
"lengthMenu": "<?php echo $l_tab_info; ?>",
"zeroRecords": "<?php echo $l_tab_infoempty; ?>",
"info": "<?php echo $l_tab_pmenu; ?>",
"infoEmpty": "<?php echo $l_tab_infoempty; ?>",
"sSearch": "<?php echo $l_tab_search; ?>"
}
});
$(".showhide-div_country").slideUp("slow");
$(".showhide-div_ban").slideUp("slow");
$(".showhide-div_country_plus").slideUp("slow");
$(".showhide-but_country").on("click", function(){
$(".showhide-div_country").slideToggle("slow");
});
$(".showhide-but_country_plus").on("click", function(){
$(".showhide-div_country_plus").slideToggle("slow");
});
$(".showhide-but_ban").on("click", function(){
$(".showhide-div_ban").slideToggle("slow");
});
} );
</script>
</head>
<body onload="JavaScript:timedRefresh(30000);">
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
<?php
echo "
<tr>
<th>$l_title</th>
</tr>
<tr bgcolor=\"#FFCC66\">
<td><img src=\"/images/pix.gif\" width=\"1\" height=\"2\"></td>
</tr>
</TABLE>
<br>
<input type='checkbox' checked='checked' name='autoRefreshCheckboxes' >".$l_autorefresh."
";
?>
<center>
<br>
<table border=1 width=100%>
<tr>
<td colspan=2><h3><center><?php echo $l_status_device ?></center></h3></td>
</tr>
<tr>
<?php
if($find_key=="true")
{
# Start / stop of gammu-smsd (3*7sec) --> to be improve with systemd unit (see tarball in contrib/init folder)
if(isset($_POST["start"])){
$gammu_1=exec("sudo $script --start");
sleep(7);
if($current_last_secu!="")
{
if(($current_last_secu > $current_last_start) && ($current_last_secu > $current_last_stop))
{
exec("sudo $script --stop");
}
}
sleep(7);
if($current_last_secu!="")
{
if(($current_last_secu > $current_last_start) && ($current_last_secu > $current_last_stop))
{
exec("sudo $script --stop");
}
}
sleep(7);
if($current_last_secu!="")
{
if(($current_last_secu > $current_last_start) && ($current_last_secu > $current_last_stop))
{
exec("sudo $script --stop");
}
}
header('Location: autoregistration.php');
exit();
}
if(isset($_POST["stop"])){
exec("sudo $script --stop");
sleep(8);
header('Location: autoregistration.php');
exit();
}
# Set the connexion speed to MODEM
if(isset($_POST['b_speed'])){
switch ($_POST['speed']) {
case "at":
exec("sudo $script --replace_speed");
break;
case "9600":
exec("sudo $script --replace_speed 9600");
break;
case "19200":
exec("sudo $script --replace_speed 19200");
break;
case "115200":
exec("sudo $script --replace_speed 115200");
break;
header('Location: autoregistration.php');
exit();
}
}
# Set the connexion port to MODEM
if(isset($_POST['b_port'])){
echo "speed = ".$_POST['port'];
$port = $_POST['port'];
exec("sudo $script --replace_port ".escapeshellarg($port));
header('Location: autoregistration.php');
exit();
}
 
# Set the SIM phone number
if(isset($_POST["b_num_alcasar"])){
echo "speed = ".$_POST['num_alcasar'];
$num = $_POST["num_alcasar"];
$error_num_alcasar = "";
if($num !="")
{
if(preg_match('#^\+#',$num))
{
exec("sudo $script --replace_numero_alcasar ".escapeshellarg($num));
header('Location: autoregistration.php');
exit();
}
else
{
$error_num_alcasar=$l_error_label_num3;
}
}
else
{
$error_num_alcasar=$l_error_label_empty;
}
}
# Set the SIM card PIN number
if(isset($_POST["b_pin"])){
$pin = $_POST["pin"];
$error_pin = "";
if($pin !="")
{
if(is_numeric($pin))
{
exec("sudo $script --replace_pin ".escapeshellarg($pin));
header('Location: autoregistration.php');
exit();
}
else
{
$error_pin=$l_error_label_num;
}
}
else
{
$error_pin=$l_error_label_empty;
}
}
 
# Set the session timeout for each new account
if(isset($_POST["b_time_account"])){
$time_account = $_POST["time_account"];
$error_time_account = "";
if($time_account !="")
{
if(is_numeric($time_account))
{
exec("sudo $script --replace_time_account ".escapeshellarg($time_account));
header('Location: autoregistration.php');
exit();
}
else
{
$error_time_account=$l_error_label_num2;
}
}
else
{
$error_time_account=$l_error_label_empty;
}
}
 
# Set the number of tries before ban
if(isset($_POST["b_ban_temp"])){
$nb_ban_temp = $_POST["nb_essais"];
$error_nb_essais = "";
if($nb_ban_temp !="")
{
if(is_numeric($nb_ban_temp))
{
exec("sudo $script --replace_try_ban ".escapeshellarg($nb_ban_temp));
header('Location: autoregistration.php');
exit();
}
else
{
$error_nb_essais=$l_error_label_num2;
}
}
else
{
$error_nb_essais=$l_error_label_empty;
}
}
 
# Set the ban timeout
if(isset($_POST["b_time_perm"])){
$time_perm = $_POST["time_perm"];
$error_time_perm = "";
if($time_perm !="")
{
if(is_numeric($time_perm))
{
exec("sudo $script --replace_time_perm ".escapeshellarg($time_perm));
header('Location: autoregistration.php');
exit();
}
else
{
$error_time_perm=$l_error_label_num2;
}
}
else
{
$error_time_perm=$l_error_label_empty;
}
}
# removing a banned phone number
if(isset($_POST['num_select'])){
$numero=$_POST['num_select'];
 
$add_mac=exec("sudo /usr/sbin/chilli_query list | grep ".escapeshellarg($numero)." | cut -d ' ' -f1");
if (!empty($add_mac)) {
exec("sudo /usr/sbin/chilli_query logout ".escapeshellarg($add_mac));
}
exec("sudo $script --unlock_num $numero");
header('Location: autoregistration.php');
exit();
}
 
# Edition etat pays
if(isset($_POST['country_select'])){
$country=utf8_decode($_POST['country_select']);
exec("sudo $script --change_country ".escapeshellarg($country));
exec("sudo $script --change_country_filter advance");
header('Location: autoregistration.php');
exit();
}
if(isset($_POST['b_france_enable'])){
exec("sudo $script --change_country_dis_all");
exec("sudo $script --change_country France");
exec("sudo $script --change_country_filter fr");
header('Location: autoregistration.php');
exit();
}
if(isset($_POST['b_ue_enable'])){
exec("sudo $script --change_country_dis_all");
$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");
foreach ($array_ue as $pays){
exec("sudo $script --change_country ".escapeshellarg($pays));
}
exec("sudo $script --change_country_filter ue");
header('Location: autoregistration.php');
exit();
}
if(isset($_POST["b_country_enable"])){
exec("sudo $script --change_country_ena_all");
exec("sudo $script --change_country_filter all");
header('Location: autoregistration.php');
exit();
}
if(isset($_POST["b_country_disable"])){
exec("sudo $script --change_country_dis_all");
header('Location: autoregistration.php');
exit();
}
 
echo ' <td>'.$l_key_enable_1;
echo '<br>'.$l_key_enable_2.'<b>';
reset ($openned_ports);
while ( list(,$row) = each($openned_ports))
{
echo $row." ";
}
echo '</b></td>';
}
else
{
echo "<td>$l_key_diseable</td>";
}
?>
</tr>
</table>
</center>
<br>
<?php
 
if ($find_key=="true")
{
#Nom du fichier de log lorsque gammu est démarré
#$file_log = "gammu-smsd.log";
 
#Recuperation de la vitesse de connexion
$current_speed = exec("sudo $script --connect");
 
#Recuperation du code PIN actuel
$current_pin = exec("sudo $script --pin");
#Recuperation du nombre de try avant le ban perm
$current_try_ban = exec("sudo $script --try_ban");
 
#Recuperation de la durée d'une session créée
$current_time_account = exec("sudo $script --time_account");
 
#Recuperation de la durée dun ban perm (après flood)
$current_time_perm = exec("sudo $script --time_perm");
 
#Detection neméro de tel
$current_num_alcasar = exec("sudo $script --numero_alcasar");
#Detection problème avec la SIM
$current_simfail = exec("sudo $script --last_nosim");
 
#Recuperation de la dernière ligne de START
$current_last_start = exec("sudo $script --last_start");
 
#Recuperarion de la dernière ligne de STOP
$current_last_stop = exec("sudo $script --last_stop");
 
#Recuperation de la dernière ligne de SECURITYERROR
$current_last_secu = exec("sudo $script --last_secu");
 
#Recuperation de la dernière ligne de DEVICEWRITEERROR
$current_last_write = exec("sudo $script --last_writeerror");
 
#Recuperation de la dernière ligne de TIMEOUT
$current_last_timeout = exec("sudo $script --last_timeout");
# Test si le service est lancé
if ($gammu_pid=="")
{
$force_signal = "-";
$imei_device = "-";
$sms_received = "-";
 
$gammu="<td><img src=\"/images/state_error.gif\" width=\"15\" height=\"15\" alt=\"".$l_service_status_img_ko."\"></td><td>$l_gammu_off</td>";
$gammu_status_on="";
$gammu_status_off="disabled";
 
if($current_last_secu!="")
{
if(($current_last_secu > $current_last_start) && ($current_last_secu < $current_last_stop))
{
$gammu_simsecu="<tr><td colspan=7><font color=red>$l_error_simsecu_l</font></td></tr>";
}
}
} else {
# Recuperation de la force du signal et IMEI et nombre de sms reçu
$val_force_signal = exec("sudo $script --signal_device");
$imei_device = exec("sudo $script --imei_device");
$sms_received = exec("sudo $script --sms_received");
 
if ($val_force_signal < 21) {
$force_signal = "<img src=\"/images/signal_0.png\"> -- ".$val_force_signal." %";
} elseif ($val_force_signal < 41) {
$force_signal = "<img src=\"/images/signal_20.png\"> -- ".$val_force_signal." %";
 
} elseif ($val_force_signal < 61) {
$force_signal = "<img src=\"/images/signal_40.png\"> -- ".$val_force_signal." %";
 
} elseif ($val_force_signal < 81) {
$force_signal = "<img src=\"/images/signal_60.png\"> -- ".$val_force_signal." %";
 
} elseif ($val_force_signal < 101) {
$force_signal = "<img src=\"/images/signal_80.png\"> -- ".$val_force_signal." %";
 
}
$gammu="<td><img src=\"/images/state_ok.gif\" width=\"15\" height=\"15\" alt=\"".$l_service_status_img_ok."\"></td><td>$l_gammu_on</td>";
if ($listen_on_right_port != "true"){
$gammu_wrong_port="<tr><td colspan=7><font color=red>$l_error_wrong_port</font></td></tr>";
}
if($current_last_timeout!=""){
if(($current_last_timeout > $current_last_start) && ($current_last_timeout > $current_last_stop))
{
$gammu_timeout="<tr><td colspan=7><font color=red>$l_error_timeoutfail</font></td></tr>";
}
}
if($current_last_secu!="")
{
if(($current_last_secu > $current_last_start) && ($current_last_secu > $current_last_stop))
{
exec("sudo $script --stop");
}
}
if($current_last_write!=""){
if(($current_last_write > $current_last_start) && ($current_last_write > $current_last_stop))
{
$gammu_writeerror="<tr><td colspan=7><font color=red>$l_error_writefail</font></td></tr>";
}
}
if($current_simfail!="")
{
if(($current_simfail > $current_last_start) && ($current_simfail > $current_last_stop))
{
$gammu_simfail="<tr><td colspan=7><font color=red>$l_error_simfail</font></td></tr>";
}
}
$gammu_status_on="disabled";
$gammu_status_off="";
}
 
echo "<form action=\"autoregistration.php\" method=\"post\">
<table border=1>
<tr>
<td colspan=3><b>$l_conf</b></td>
<td><b>$l_conf_actu</b></td>
</tr>
<tr>
<td> $l_connect_port </td><td><select name=\"port\">'";
reset ($openned_ports);
while ( list(,$row) = each($openned_ports))
{
echo '<option value="'.$row.'"';;if ("$row" == "$gammu_smsd_port") echo " selected";echo '>'.$row.'</option>';
echo $row." ";
}
echo "</select></td>
<td><button type=\"submit\" name=\"b_port\" $gammu_status_on>$l_edit</button></td>
<td><center><font color=\"green\">$gammu_smsd_port</font></center></td>
</tr>
<td> $l_speed </td><td>
<select name=\"speed\">
<option value=\"at\"";if ($current_speed == "at") echo " selected";echo ">Auto</option>
<option value=\"9600\"";if ($current_speed == "at9600") echo " selected"; echo ">9600 Bauds</option>
<option value=\"19200\"";if ($current_speed == "at19200") echo " selected"; echo ">19200 Bauds</option>
<option value=\"115200\"";if ($current_speed == "at115200") echo " selected";echo ">115200 Bauds</option>
</select>
<td><button type=\"submit\" name=\"b_speed\">$l_edit</button></td>
<td><center><font color=\"green\">".str_replace("at","",$current_speed);if ($current_speed == "at"){ echo "Auto"; } else { echo " Bauds";}echo "</font></center></td>
<tr>
<tr>
<td> $l_num_alcasar </td><td><input type=text name='num_alcasar' maxlength=\"20\"></td>
<td><button type=\"submit\" name=\"b_num_alcasar\" $gammu_status_on>$l_edit</button></td>
<td><center><font color=\"green\">$current_num_alcasar</font></center></td>
</tr>
<tr><td colspan=\"4\"><font color=red><b>$error_num_alcasar</b></font></td></tr>
<tr>
<td> $l_pin </td><td><input type=text name='pin' maxlength=\"8\"></td>
<td><button type=\"submit\" name=\"b_pin\" $gammu_status_on>$l_edit</button></td>
<td><center><font color=\"green\">$current_pin</font></center></td>
</tr>
<tr><td colspan=\"4\"><font color=red><b>$error_pin</b></font></td></tr>
<tr>
<td> $l_time_account </td><td><input type=text name='time_account'> $l_days </td>
<td><button type=\"submit\" name=\"b_time_account\" $gammu_status_on>$l_edit</button></td>
<td><center><font color=\"blue\">$current_time_account</font></center></td>
</tr>
<tr><td colspan=\"4\"><font color=red><b>$error_time_account</b></font></td></tr>
<tr>
<td> $l_ban_temp </td><td><input type=text name='nb_essais'></td>
<td><button type=\"submit\" name=\"b_ban_temp\" $gammu_status_on>$l_edit</button></td>
<td><center><font color=\"orange\">$current_try_ban</font></center></td>
</tr>
<tr><td colspan=\"4\"><font color=red><b>$error_nb_essais</b></font></td></tr>
<tr>
<td>$l_time_perm</td><td><input type=text name='time_perm'> $l_days</td>
<td><button type=\"submit\" name=\"b_time_perm\" $gammu_status_on>$l_edit</button></td>
<td><center><font color=\"orange\">$current_time_perm</font></center></td>
</tr>
<tr><td colspan=\"4\"><font color=red><b>$error_time_perm</b></font></td></tr>
</table>
<br>
<table border=1>
<tr>
<td colspan=4><b>$l_status_gammu</b></td>
<td><b><center>$l_force_signal</center></b></td>
<td><b><center>$l_imei_device</center></b></td>
<td><b><center>$l_sms_received</center></b></td>
</tr>
<tr>
$gammu
<td><button type=\"submit\" name=\"start\" $gammu_status_on>$l_start</button></td>
<td><button type=\"submit\" name=\"stop\" $gammu_status_off>$l_stop</button></td>
<td><center>$force_signal</center></td>
<td><center>$imei_device</center></td>
<td><center>$sms_received</center></td>
</tr>
$gammu_wrong_port
$gammu_puk
$gammu_simfail
$gammu_simsecu
$gammu_timeout
$gammu_writeerror
</table>
</form>";
require('/etc/freeradius-web/config.php');
if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php"))
include_once("../lib/sql/drivers/$config[sql_type]/functions.php");
else{
echo "<b>Could not include SQL library</b>\n";
exit();
}
$con = mysqli_connect("$config[sql_server]","$config[sql_username]","$config[sql_password]","gammu");
if(mysqli_connect_errno())
{
echo "Fail to connect to $config[sql_type]" . mysqli_connect_error();
}
 
# Country table
?>
 
<div style="border-radius: 5px; background: #BDBDBD; margin-top: 15px;">
<span class="showhide-but_country"><?php echo "<strong>$l_country_filtering</strong>" ?><img src="/images/down2.gif" width="15" height="15"></span>
 
<div class="showhide-div_country">
<br />
<table width=100% style="background: #BDBDBD;">
<tr>
<?php
$result_country_filter = mysqli_query($con, "SELECT id FROM SMS_country WHERE name = 'FILTRAGE'");
$row = mysqli_fetch_array($result_country_filter);
 
if($row['id'] == "advance") {
$country_filter = $l_country_advanced_ena;
} elseif($row['id'] == "ue") {
$country_filter = $l_country_ue_ena;
} elseif($row['id'] == "fr") {
$country_filter = $l_country_france_ena;
} elseif($row['id'] == "all") {
$country_filter = $l_country_all_ena;
} else {
$country_filter = "Err.";
}
?>
<td colspan="3" align="center"><strong><?php echo $l_country_filter; ?></strong><font size="3" color="red"><?php echo $country_filter; ?></font></td>
</tr>
<tr>
<form action="autoregistration.php" method="post">
<td align="center" width=33%><button type="submit" name="b_france_enable"><?php echo "$l_country_france_ena" ?></button></td>
<td align="center" width=34%><button type="submit" name="b_ue_enable"><?php echo "$l_country_ue_ena" ?></button></td>
<td align="center" width=33%><button type="submit" name="b_country_enable"><?php echo "$l_country_all_ena" ?></button></td>
</form>
</tr>
</table>
<div style="border-radius: 5px; background: #D8D8D8; margin: 15px;">
<span class="showhide-but_country_plus"><?php echo "<strong>$l_country_filtering_plus</strong>" ?> <img src="/images/down2.gif" width="15" height="15"></span>
<div class="showhide-div_country_plus">
<table id="table_country" class="display">
<thead>
<tr>
<th><b><font color="black">Pays</font></b></th>
<th><b><font color="black">code</font></b></th>
<th><b><font color="black">Etat</font></b></th>
</tr>
</thead>
<tbody>
<?php
 
$result_country = mysqli_query($con, "SELECT * FROM SMS_country WHERE name != 'FILTRAGE'");
while($row = mysqli_fetch_array($result_country))
{
echo "
<tr>
<form action=\"autoregistration.php\" method=\"post\">
<td>
<input type=\"hidden\" name=\"country_select\" value=\"" .$row['name']."\">
".$row['name']."
</td>
<td>".$row['id']."</td>
";
if($row['status']=='0')
{
echo "<td><input type='image' src=\"/images/state_error.gif\" width=\"15\" height=\"15\"></td>";
}
if($row['status']=='1')
{
echo "<td><input type='image' src=\"/images/state_ok.gif\" width=\"15\" height=\"15\"></td>";
}
echo " </form>
</tr>
";
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<?php
$result = mysqli_query($con, "SELECT * FROM SMS_ban_perm");
 
?>
 
<div style="border-radius: 5px; background: #BDBDBD; margin-top: 15px;">
<span class="showhide-but_ban"><?php echo "<strong>$l_phone_ban</strong>" ?><img src="/images/down2.gif" width="15" height="15"></span>
 
<div class="showhide-div_ban">
<table id="table_id" class="display">
<thead>
<tr>
<th><b><font color="black"><?php echo $l_num_num; ?></font></b></th>
<th><b><font color="black"><?php echo $l_num_raison; ?></font></b></th>
<th><b><font color="black"><?php echo $l_num_expiration; ?></font></b></th>
<th><b><font color="black">Action</font></b></th>
</tr>
</thead>
<tbody>
<?php
while($row = mysqli_fetch_array($result))
{
echo "
<tr>
<form action=\"autoregistration.php\" method=\"post\">
<td>
<input type=\"hidden\" name=\"num_select\" value=\"" .$row['SenderNumber']."\">
".$row['SenderNumber']."
</td>";
if($row['Perm']=='0')
{
echo "<td>$l_num_exist</td>";
}
if($row['Perm']=='1')
{
echo "<td>$l_num_flood</td>";
}
echo " <td>" . $row['Expiration']. "</td>
<td>
<input type='submit' value='".$l_num_unlock."'>
</td>
</form>
</tr>
";
}
?>
</tbody>
</table>
</div>
</div>
<?php
mysqli_close($con);
}
?>
</html>