# #
###############################################################################
#
-# id: wio.cgi, v1.3.1 2017/07/11 21:31:16 sfeddersen
+# id: wio.cgi, v1.3.2 2017/08/27 14:11:16 sfeddersen
#
# This wio.cgi is based on the Code from the IPCop WIO Addon
# and is extremly adapted to work with IPFire.
use Net::Telnet;
require '/var/ipfire/general-functions.pl';
+require '/var/ipfire/network-functions.pl';
require '/var/ipfire/lang.pl';
require '/var/ipfire/header.pl';
require '/usr/lib/wio/wio-lib.pl';
## get network ips
foreach (@devs_color) {
if ( $netsettings{"${_}_DEV"} ne '' ) {
-
- $wiosettings{"${_}_IPLOW"} = inet_ntoa pack q/N/, (unpack (q/N/, inet_aton ($netsettings{"${_}_NETADDRESS"}))+1);
- my @addrarr = split(/\./,$netsettings{"${_}_ADDRESS"});
- my $ipaddress = unpack( "N", pack( "C4",@addrarr ) );
-
- my @maskarr = split(/\./,$netsettings{"${_}_NETMASK"});
- my $netmask = unpack( "N", pack( "C4",@maskarr ) );
-
- my $bcast = ( $ipaddress & $netmask ) + ( ~ $netmask );
- my @bcastarr = inet_ntoa pack q/N/, (unpack (q/N/, inet_aton ($bcast))-1);
-
- $wiosettings{"${_}_IPHIGH"} = join(".",@bcastarr);
+ $wiosettings{"${_}_IPLOW"} = &Network::find_next_ip_address($netsettings{"${_}_NETADDRESS"}, 1);
+ $wiosettings{"${_}_IPHIGH"} = &Network::find_next_ip_address($netsettings{"${_}_BROADCAST"}, -1);
}
}
print"
</tr>
<tr>
- <td height='30'>$Lang::tr{'wio_ping_send'}:</td>
+ <td height='30'>$Lang::tr{'wio_link_open'}:</td>
<td align='left' colspan='5'>
<select size='1' name='WEBINTERFACE$count' width='80' style='width: 80px'>
<option value='----' $selected{'WEBINTERFACE$count'}{'----'}>----</option>
<td align='left'><select size='1' name='CRON' size='5'>
";
-for ($i=5; $i<=60; $i+=5) { printf("<option %s>%02s</option>\n",$selected{'CRON'}{$i},$i); }
+for ($i=5; $i<=60; $i+=5) {
+ $_ = sprintf("%02s",$i);
+ print "<option $selected{'CRON'}{$_}>$_</option>\n";
+}
print"
</select> $Lang::tr{'wio min'}</td>
<td align='left'><select size='1' name='TIMEOUT' size='5'>
";
-for ($i=1; $i<=15; $i++) { printf("<option %s>%02s</option>\n",$selected{'TIMEOUT'}{$i},$i); }
+for ($i=1; $i<=15; $i++) {
+ $_ = sprintf("%02s",$i);
+ print "<option $selected{'TIMEOUT'}{$_}>$_</option>\n";
+}
print"
</select> $Lang::tr{'wio sec'}</td>
<td align='left'><select size='1' name='OVPNCRON' size='5'>
";
-for ($i=1; $i<=15; $i++) { printf("<option %s>%02s</option>\n",$selected{'OVPNCRON'}{$i},$i); }
+for ($i=1; $i<=15; $i++) {
+ $_ = sprintf("%02s",$i);
+ print "<option $selected{'OVPNCRON'}{$_}>$_</option>\n";
+}
print"
</select> $Lang::tr{'wio min'}</td>
print"
</tr>
<tr>
- <td height='30'>$Lang::tr{'wio_ping_send'}:</td>
+ <td height='30'>$Lang::tr{'wio_link_open'}:</td>
<td align='left' colspan='5'>
<select size='1' name='WEBINTERFACE' width='80' style='width: 80px'>
<option value='----' $selected{'WEBINTERFACE'}{'----'}>----</option>
print"
<table border='0' width='100%' bordercolor='$Header::bordercolour' cellspacing='0' cellpadding='0' style='border-collapse: collapse'>
<tr bgcolor='$color{'color22'}'>
- <td colspan='3' align='right'></td>
- <td width='20%' align='right'><form method='post' action='$ENV{'SCRIPT_NAME'}' enctype='multipart/form-data'><input type='hidden' name='ACTION' value='$Lang::tr{'edit'}1' /><input type='submit' name='SUBMIT' value='$Lang::tr{'wio_edit_set'}' /></form></td>
- <form method='post' action='$ENV{'SCRIPT_NAME'}' enctype='multipart/form-data'>\n
+ <td colspan='2' align='right'></td>
+";
+
+if ( $wiosettings{'LOGGING'} eq 'on' ) {
+ print"<td width='10%' align='right'><form method='post' action='/cgi-bin/logs.cgi/log.dat' enctype='multipart/form-data'><input type='hidden' name='SECTION' value='wio' /><input type='submit' name='SUBMIT' value='$Lang::tr{'system logs'}' /></form></td>";
+}
+
+print"
+ <td width='10%' align='right'><form method='post' action='$ENV{'SCRIPT_NAME'}' enctype='multipart/form-data'><input type='hidden' name='ACTION' value='$Lang::tr{'edit'}1' /><input type='submit' name='SUBMIT' value='$Lang::tr{'wio_edit_set'}' /></form></td>
</tr>
</table>
";