petar.company/radius-adduser.php
2025-03-01 00:58:18 +01:00

167 lines
5.3 KiB
PHP

<?php
include_once("./include/cfg-petar.php");
include_once("./include/cfg-petar.php");
include_once("./include/layout.php");
include_once("./include/users.php");
?>
<!-- ------------------------------------------------------------------------ -->
<?php require 'include/inc-header.php';?>
<!-- ------------------------------------------------------------------------ -->
<?php require 'include/inc-top.php';?>
<!-- ------------------------------------------------------------------------ -->
<tr bgcolor=navy align=center>
<td colspan=2><font color=yellow><b>Radius</b></font></td>
<?php
$_REQUEST["step"] = $_REQUEST["step"] ?? '';
if (!isset($_REQUEST["ut"]) ) { $_REQUEST["ut"]='whole'; }
$body = "";
if (!$_REQUEST["step"]){
$body .= "<FORM ACTION=".$_SERVER["PHP_SELF"]." METHOD=POST>";
if ($_REQUEST["ut"] == "whole"){
$body .= "<INPUT TYPE=HIDDEN NAME=ut VALUE=whole>";
$body .= "<tr><td>nome : <td><INPUT TYPE=TEXT NAME=name SIZE=7 MAXLENGTH=7> Es. utente1".
"<tr><td>vp : <td><INPUT TYPE=TEXT NAME=vp SIZE=2 MAXLENGTH=2> Es. 10".
"<tr><td>vci: <td><INPUT TYPE=TEXT NAME=vci SIZE=3 MAXLENGTH=3> Es. 234".
"<tr><td>suffix: <td><INPUT TYPE=TEXT NAME=sfx SIZE=2 MAXLENGTH=2> Es. po";
}
if ($_REQUEST["ut"] == "ull" ){
$body .= "<INPUT TYPE=HIDDEN NAME=ut VALUE=ull>";
$body .= "<tr><td>ident ull : <td><INPUT READONLY TYPE=TEXT NAME=uprefix value=ull SIZE=3 MAXLENGTH=3>".
"<tr><td>ident alfanum :<td><INPUT TYPE=TEXT NAME=uname SIZE=3 MAXLENGTH=3> Es. ute".
"<tr><td>sito ull <td><SELECT NAME=usitoull><option value=ce>Prato Centro</option><option value=mg>Prato Montegrappa</option>".
"<tr><td>nr.malk : <td><INPUT READONLY TYPE=TEXT NAME=umalk value=1 SIZE=1 MAXLENGTH=1>".
"<tr><td>progres.cli: <td><INPUT TYPE=TEXT NAME=uprogrescli SIZE=3 MAXLENGTH=3> Es. 003";
}
$body .= "<tr><td>ip : <td><INPUT TYPE=TEXT NAME=ip SIZE=15 MAXLENGTH=15> Es. 83.149.CLASSE.15 con CLASSE = 144-153".
"<tr><td>netmask :<td><SELECT NAME=netmask><OPTION value=255.255.255.255>ip singolo</OPTION><OPTION value=255.255.255.248>8 ip</OPTION></SELECT>".
"<tr><td>vendor : <td><SELECT NAME=vendor><OPTION value=cnet>cnet</OPTION><OPTION value=ablia>ablia</OPTION></SELECT>".
"<tr><td>tipo qos:<td><SELECT NAME=qos><OPTION value=''>normale</OPTION><OPTION value=voip_user>voip user</OPTION></SELECT>".
"</table>".
"<br>".
"<INPUT TYPE=SUBMIT VALUE=Procedi>".
"<INPUT TYPE=HIDDEN NAME=step VALUE=2>".
"</table>".
"</FORM>";
echo $body;
}
if ($_REQUEST["step"] == "2"){
$errore=false;
if ($_REQUEST["ut"] == "ull" ) {
$uprefix=$_REQUEST["uprefix"];
$uname=$_REQUEST["uname"];
$usitoull=$_REQUEST["usitoull"];
$umalk=$_REQUEST["umalk"];
$uprogrescli=$_REQUEST["uprogrescli"];
if (strlen($uname) <> 3) {
$errore .= "Lunghezza id utente ull errata<p>";
}
if (strlen($uprogrescli) <> 3) {
$errore .= "Numero progressivo cliente errato <p>";
}
$login=$uprefix.$uname.$umalk.$usitoull.$uprogrescli;
} else {
$name=$_REQUEST["name"];
$vp=$_REQUEST["vp"];
$vci=$_REQUEST["vci"];
$sfx=$_REQUEST["sfx"];
if (strlen($name) <= 2) {
$errore .= "Lunghezza login errata<p>";
}
if ($vp == "") {
$errore .= "Campo vp vuoto <p>";
}
if ($vci == "") {
$errore .= "Campo vci vuoto <p>";
}
if ($sfx == "") {
$errore .= "Campo suffisso vuoto <p>";
}
$login = $vp.$name.$vci.$sfx;
}
$netmask=$_REQUEST["netmask"];
$ip=$_REQUEST["ip"];
$vendor=$_REQUEST["vendor"];
$qos=$_REQUEST["qos"];
$ipzone=substr($ip,0,10);
if ($ipzone != "83.149.140" && $ipzone != "83.149.141" && $ipzone != "83.149.142" && $ipzone != "83.149.143" && $ipzone != "83.149.144" && $ipzone != "83.149.145" && $ipzone != "83.149.146" && $ipzone != "83.149.147" && $ipzone != "83.149.150" && $ipzone != "83.149.151" && $ipzone != "83.149.152" && $ipzone != "83.149.153") {
$errore .= "Campo ip errato <p>";
}
$dbhandle = sqlite_open('consiag.db');
$query = sqlite_query($dbhandle, "SELECT count(*) as tot from RADIUSUSER where login = '".$login."' or ip = '".$ip."'");
if (sqlite_fetch_single($query) != 0){
$errore .= "Ip o Login duplicato : ".sqlite_fetch_single($query);
}
if ($errore) {
echo "<table width=85% border=1 align=center cellpadding=5>".
"<tr bgcolor=red><td align=center>".
"<font color=yellow><b>Errore</b></font><p>".
"<tr><td colspan=2 bgcolor=$bgcolora class=errore>$errore".
"<p><a href='javascript:history.back();'>Correzione</a>".
"</table><P>";
exit;
} else {
sqlite_query($dbhandle, "INSERT INTO RADIUSUSER (ip,netmask,login,pwd,vendor,opt1) VALUES ('".$ip."','".$netmask."','".$login."','econsiag','".$vendor."','".$qos."')", $sqlerror);
echo "<table width=85% border=1 align=center cellpadding=2>".
"<tr bgcolor=navy>".
"<td colspan=2 align=center>".
"<font color=yellow><b>Operazione terminata correttamente</b></font><p>".
"<tr bgcolor=$bgcolora><td>Login:<td><b>$login</b>".
"<tr bgcolor=$bgcolorb><td>IP:<td><b>$ip</b>".
"<tr bgcolor=$bgcolora><td>netmask:<td><b>$netmask</b>".
"<tr bgcolor=$bgcolorb><td>vendor:<td><b>$vendor</b>".
"<tr bgcolor=$bgcolora><td>qos:<td><b>$qos</b>".
"<tr bgcolor=$bgcolorb><td>Rows modified:<td><b>".sqlite_changes($dbhandle)."</b>".
"</table>";
}
}
?>
</td>
</table>