Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 1348 → Rev 1349

/web/acc/manager/htdocs/autoregistration.php
0,0 → 1,598
<!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/style.css">
</head>
<body>
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
<?
#Commandes
$exec_com=exec("lsusb | grep -i huawei | cut -d ' ' -f6");
$exec_com2=exec("lsusb | grep -i d-link | cut -d ' ' -f7");
$status_key="false";
$script="/usr/local/bin/alcasar-sms.sh";
 
#Define
$gammu_puk = "";
$gammu_simfail = "";
$gammu_simsecu = "";
$gammu_writeerror = "";
$gammu_timeout = "";
$error_pin = "";
$error_time_account = "";
$error_nb_essais = "";
$error_time_perm = "";
$error_num_alcasar = "";
 
# 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_pin = "Code PIN";
$l_num_alcasar = "Le numero de téléphone de la clé 3G";
$l_ban_temp = "Nombre d'essais max avant le ban permanant";
$l_time_account = "Durée pour une session créée";
$l_time_perm = "Durée en jours d'un bloquage (ban)";
$l_status_gammu = "Etat du service";
$l_start = "Démarrer";
$l_status_device = "Status de votre périphérique";
$l_key_diseable = "Aucune clé est connectée";
$l_key_enable = "Votre clé est connectée";
$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="Gammu est lancé";
$l_gammu_off="Gammu est arrêté";
$l_edit = "Editer";
$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_writefail = "Gammu semble ne pas parvenir à discuter avec la clé (port ttyUSB0).";
$l_error_timeoutfail = "Impossible de se connecter à la clé 3G. Timeout.";
$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épacé";
$l_num_unlock="Effacer";
$l_service_status_img_ok="Démarré";
$l_service_status_img_ko="Arrété";
 
 
}
else {
$l_title = "Auto registration (SMS)";
$l_conf = "Configuration";
$l_conf_actu = "Current configuration";
$l_pin = "PIN password";
$l_num_alcasar = "Phone number (3g key)";
$l_ban_temp = "Max number of try before a permanent ban";
$l_time_account = "Time for a new session";
$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 device";
$l_key_diseable = "Your 3g key is not connected";
$l_key_enable = "Your 3g key is connected";
$l_force_signal = "Signal strength";
$l_imei_device = "Device IMEI";
$l_sms_received = "Number of SMS received";
$l_stop = "Stop";
$l_gammu_on="Gammu is running";
$l_gammu_off="Gammu is down";
$l_edit = "Edit";
$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_writefail = "Gammu can't listen the ttyUSB0 port.";
$l_error_timeoutfail = "Timeout. Can not connect to modem.";
$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_service_status_img_ok="Running";
$l_service_status_img_ko="Stopped";
}
echo "
<tr>
<th>$l_title</th>
</tr>
<tr bgcolor=\"#FFCC66\">
<td><img src=\"/images/pix.gif\" width=\"1\" height=\"2\"></td>
</tr>
</TABLE>
<br />
$l_autorefresh
";
 
?>
<center>
<br /><br />
<table border=1 width=100%>
<tr>
<td colspan=2><h3><?php echo $l_status_device ?></h3></td>
</tr>
<tr>
<?php
if(!empty($exec_com) || !empty($exec_com2))
{
echo "<td>$l_key_enable</td>";
$status_key="true";
}
else
{
echo "<td>$l_key_diseable</td>";
$status_key="false";
}
?>
</tr>
</table>
</center>
<br /><br />
 
<?php
 
#Test si gammu est lancé
$gammu_pid=exec("sudo /sbin/pidof gammu-smsd");
 
 
if ($status_key=="false")
{
if ($gammu_pid!="")
{
exec("sudo $script stop");
sleep(8);
header('Location: autoregistration.php');
}
}
 
if ($status_key=="true")
{
#Nom du fichier de log lorsque gammu est démarré
$file_log = "gammu-smsd.log";
 
#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");
 
#Recuperation de l'adresse du log
$current_log = exec("sudo $script --log");
 
#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");
 
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_log="";
$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>";
$gammu_log="<tr><td colspan=7>$current_log</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="";
}
 
 
#Lancement et arret de gammu-smsd
if(isset($_GET["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');
}
 
if(isset($_GET["stop"])){
exec("sudo $script --stop");
sleep(8);
header('Location: autoregistration.php');
}
 
 
#Edition du NUMERO de telephone
if(isset($_GET["b_num_alcasar"])){
$num = $_GET["num_alcasar"];
$error_num_alcasar = "";
if($num !="")
{
if(is_numeric($num))
{
exec("sudo $script --replace_numero_alcasar $num");
header('Location: autoregistration.php');
}
else
{
$error_num_alcasar=$l_error_label_num2;
}
}
else
{
$error_num_alcasar=$l_error_label_empty;
}
}
#Edition du code PIN
if(isset($_GET["b_pin"])){
$pin = $_GET["pin"];
$error_pin = "";
if($pin !="")
{
if(is_numeric($pin))
{
exec("sudo $script --replace_pin $pin");
header('Location: autoregistration.php');
}
else
{
$error_pin=$l_error_label_num;
}
}
else
{
$error_pin=$l_error_label_empty;
}
}
 
#Edition du nombre d'essais avant le ban perm
if(isset($_GET["b_ban_temp"])){
$nb_ban_temp = $_GET["nb_essais"];
$error_nb_essais = "";
if($nb_ban_temp !="")
{
if(is_numeric($nb_ban_temp))
{
exec("sudo $script --replace_try_ban $nb_ban_temp");
header('Location: autoregistration.php');
}
else
{
$error_nb_essais=$l_error_label_num2;
}
}
else
{
$error_nb_essais=$l_error_label_empty;
}
}
 
#Edition de la durée pour un compte créé
if(isset($_GET["b_time_account"])){
$time_account = $_GET["time_account"];
$error_time_account = "";
if($time_account !="")
{
if(is_numeric($time_account))
{
exec("sudo $script --replace_time_account $time_account");
header('Location: autoregistration.php');
}
else
{
$error_time_account=$l_error_label_num2;
}
}
else
{
$error_time_account=$l_error_label_empty;
}
}
 
#Edition de la durée d'un ban perm (après flood)
if(isset($_GET["b_time_perm"])){
$time_perm = $_GET["time_perm"];
$error_time_perm = "";
if($time_perm !="")
{
if(is_numeric($time_perm))
{
exec("sudo $script --replace_time_perm $time_perm");
header('Location: autoregistration.php');
}
else
{
$error_time_perm=$l_error_label_num2;
}
}
else
{
$error_time_perm=$l_error_label_empty;
}
}
 
# Suppression d'un numero bloqué
if(isset($_GET['num_select'])){
$numero=$_GET['num_select'];
 
$add_mac=exec("sudo /usr/sbin/chilli_query list | grep $numero | cut -d ' ' -f1");
exec("sudo /usr/sbin/chilli_query logout $add_mac");
 
exec("sudo $script --unlock_num $numero");
header('Location: autoregistration.php');
}
 
 
 
#Si une clé 3g est plugué
echo "<form action=\"autoregistration.php\" methode=\"GET\">
<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_log
$gammu_puk
$gammu_simfail
$gammu_simsecu
$gammu_timeout
$gammu_writeerror
</table>
<br /><br />
<table border=1>
<tr>
<td colspan=3><b>$l_conf</b></td>
<td><b>$l_conf_actu</b></td>
</tr>
<tr>
<td> $l_num_alcasar </td><td><input type=text name='num_alcasar' maxlength=\"10\"><font color=red><b>$error_num_alcasar</b></font></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> $l_pin </td><td><input type=text name='pin' maxlength=\"8\"><font color=red><b>$error_pin</b></font></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> $l_time_account </td><td><input type=text name='time_account'> $l_days <font color=red><b>$error_time_account</b></font>
<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> $l_ban_temp </td><td><input type=text name='nb_essais'><font color=red><b>$error_nb_essais</b></font></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>$l_time_perm</td><td><input type=text name='time_perm'> $l_days <font color=red><b>$error_time_perm</b></font>
<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>
</table>
</form>";
require('/etc/freeradius-web/config.php');
 
if (is_file("../../../pass/sql/drivers/$config[sql_type]/functions.php"))
include_once("../../../pass/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();
}
 
$result = mysqli_query($con, "SELECT * FROM SMS_ban_perm");
 
echo " <br />
<table border =1>
<tr>
<td colspan=4><b>$l_num_block</b></td>
 
</tr>
<tr>
<td><b>$l_num_num</b></td>
<td><b>$l_num_raison</b></td>
<td><b>$l_num_expiration</b></td>
<td><b>$l_num_action</b></td>
</tr>";
 
while($row = mysqli_fetch_array($result))
{
echo "
<form action=\"autoregistration.php\" methode=\"POST\">
<tr>
<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>";
}
echo "</table>";
 
mysqli_close($con);
 
}
?>
 
</html>