$macsettings{'MAC'} =~ s/\-/:/g;
my @mac = split(/:/,$macsettings{"MAC"});
if ($#mac == 5) {
- if (($mac[0] eq "00")||($mac[0] eq "0")){
+ foreach (@mac) {
+ unless ($_ =~ /^[a-fA-F0-9]{1,2}$/) {
+ $errormessage = $Lang::tr{'mac address error not valid'};
+ last;
+ }
+ }
+ } else {
+ $errormessage = $Lang::tr{'mac address error not valid'};
+ }
+ $macsettings{'MAC1'} =~ s/\-/:/g;
+ if ( not ($macsettings{'MAC1'} eq "" )) {
+ my @mac = split(/:/,$macsettings{"MAC1"});
+ if ($#mac == 5) {
foreach (@mac) {
unless ($_ =~ /^[a-fA-F0-9]{1,2}$/) {
$errormessage = $Lang::tr{'mac address error not valid'};
last;
- }
+ }
}
- } else {
- $errormessage = $Lang::tr{'mac address error not 00'};
+ } else {
+ $errormessage = $Lang::tr{'mac address error not valid'};
}
- if ($errormessage eq "") {
- $macsettings{'MAC'} =~ s/\:/-/g;
- &General::writehash("${General::swroot}/mac/settings", \%macsettings);
- &Header::openbox('100%', 'left', $Lang::tr{'mac address saved'});
- print "<font class='base'>$Lang::tr{'mac address saved txt'}</font>\n";
- &Header::closebox();
+ }
+ $macsettings{'MAC2'} =~ s/\-/:/g;
+ if ( not ($macsettings{'MAC2'} eq "" )) {
+ my @mac = split(/:/,$macsettings{"MAC2"});
+ if ($#mac == 5) {
+ foreach (@mac) {
+ unless ($_ =~ /^[a-fA-F0-9]{1,2}$/) {
+ $errormessage = $Lang::tr{'mac address error not valid'};
+ last;
+ }
+ }
+ } else {
+ $errormessage = $Lang::tr{'mac address error not valid'};
}
- } else {
- $errormessage = $Lang::tr{'mac address error not valid'};
+ }
+ if ($errormessage eq "") {
+ $macsettings{'MAC'} =~ s/\:/-/g;
+ $macsettings{'MAC1'} =~ s/\:/-/g;
+ $macsettings{'MAC2'} =~ s/\:/-/g;
+ &General::writehash("${General::swroot}/mac/settings", \%macsettings);
+ &Header::openbox('100%', 'left', $Lang::tr{'mac address saved'});
+ print "<font class='base'>$Lang::tr{'mac address saved txt'}</font>\n";
+ &Header::closebox();
}
}
-if ($macsettings{'RECONNECT'} eq "Reconnect") {
+if ($macsettings{'ACTION'} eq $Lang::tr{'reconnect'}) {
system("/usr/local/bin/redctrl restart >/dev/null 2>&1 &");
&Header::openbox('100%', 'left', $Lang::tr{'mac address recon'} );
print "<font class='base'>$Lang::tr{'mac address done'}</font>\n";
&Header::closebox();
}
+if ($macsettings{'ACTION'} eq $Lang::tr{'delete'} ) {
+ system("cat /dev/null > ${General::swroot}/mac/settings &");
+ &Header::openbox('100%', 'left', $Lang::tr{'mac address deleted'} );
+ print "<font class='base'>$Lang::tr{'mac address deleted txt'}</font>\n";
+ &Header::closebox();
+}
+if ($macsettings{'ACTION'} eq $Lang::tr{'reboot'}) {
+ &General::log($Lang::tr{'rebooting ipfire'});
+ system("/usr/local/bin/ipfirereboot boot");
+ &Header::openbox('100%', 'left', $Lang::tr{'rebooting ipfire'} );
+ print " <img src='/images/indicator.gif' /><br /><br />";
+ print "<meta http-equiv='refresh' content='120;'>";
+ &Header::closebox();
+}
# DPC move error message to top so it is seen!
if ($errormessage) {
<td colspan="2"> </td>
</tr>
<tr>
- <td colspan="2"><font class='base'>$Lang::tr{'mac new'} </font>
- <input type="text" name="MAC" maxlength="17" value="$macsettings{"MAC"}"/></td>
+ <td width="25%"><font class='base'>$Lang::tr{'mac new'} <img src='/blob.gif' alt='*' /></font></td><td>
+END
+;
+if ($macsettings{'ACTION'} eq $Lang::tr{'delete'} ) {
+print <<END
+ <input type="text" name="MAC" maxlength="17" value=''/></td>
+END
+;
+} else {
+print <<END
+ <input type="text" name="MAC" maxlength="17" value='$macsettings{"MAC"}'/></td>
+END
+;
+}
+print <<END
+ </tr>
+ <tr>
+ <td> </td>
</tr>
<tr>
- <td colspan="2"><hr /></td>
+ <td><font class='base'>$Lang::tr{'mac1 new'} </font></td><td>
+END
+;
+if ($macsettings{'ACTION'} eq $Lang::tr{'delete'} ) {
+print <<END
+ <input type="text" name="MAC1" maxlength="17" value=''/></td>
+END
+;
+} else {
+print <<END
+ <input type="text" name="MAC1" maxlength="17" value='$macsettings{"MAC1"}'/></td>
+END
+;
+}
+print <<END
+ </tr>
+ <tr>
+ <td> </td>
</tr>
<tr>
- <td width="50%"><div align="right">
- <input type='submit' name='ACTION' value='$Lang::tr{'save'}' />
- </div></td>
- <td width="50%"><div align="left">
- <input type='submit' name='RECONNECT' value="$Lang::tr{'mac reconnection'}" />
- </div></td>
+ <td><font class='base'>$Lang::tr{'mac2 new'} </font></td><td>
+END
+;
+if ($macsettings{'ACTION'} eq $Lang::tr{'delete'} ) {
+print <<END
+ <input type="text" name="MAC2" maxlength="17" value=''/></td>
+END
+;
+} else {
+print <<END
+ <input type="text" name="MAC2" maxlength="17" value='$macsettings{"MAC2"}'/></td>
+END
+;
+}
+
+print <<END
+ </tr>
+ <tr>
+ <td colspan="2"><br><hr /></td>
+ </tr>
+ <tr>
+ <td align='left'><img src='/blob.gif' alt='*' /> $Lang::tr{'required field'}</td><div align="right"></td>
+ <td align='right'>
+END
+;
+if ($macsettings{'ACTION'} eq $Lang::tr{'delete'} ) {
+print <<END
+ <input type='submit' name='ACTION' value='$Lang::tr{'save'}' />
+
+ <input type='submit' name='ACTION' value='$Lang::tr{'delete'}' />
+
+ <input type='submit' name='ACTION' value='$Lang::tr{'reboot'}' />
+END
+;
+} elsif ($macsettings{'ACTION'} eq $Lang::tr{'save'} && $errormessage eq "") {
+print <<END
+ <input type='submit' name='ACTION' value='$Lang::tr{'save'}' />
+
+ <input type='submit' name='ACTION' value='$Lang::tr{'delete'}' />
+
+ <input type='submit' name='ACTION' value='$Lang::tr{'reconnect'}' />
+END
+;
+} elsif ($macsettings{'ACTION'} eq $Lang::tr{'save'}) {
+print <<END
+ <input type='submit' name='ACTION' value='$Lang::tr{'save'}' />
+END
+;
+} else {
+print <<END
+ <input type='submit' name='ACTION' value='$Lang::tr{'save'}' />
+
+ <input type='submit' name='ACTION' value='$Lang::tr{'delete'}' />
+END
+;
+}
+print <<END
+ </div></td>
</tr>
</table>
END
;
-
&Header::closebox();
print "</form>\n";