X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=html%2Fcgi-bin%2Fmac.cgi;h=f95c0d802623f7e549d084fd19db5e2e5bb0d89e;hb=ca8e0b97d1e06ee87f0801ca9962b6f41829620d;hp=4d49c18df18316ecda0625106350cfabeb1ac5b0;hpb=958a98a253ce89e25ea01b36307a7c4266cbf0d7;p=people%2Fteissler%2Fipfire-2.x.git diff --git a/html/cgi-bin/mac.cgi b/html/cgi-bin/mac.cgi old mode 100755 new mode 100644 index 4d49c18df..f95c0d802 --- a/html/cgi-bin/mac.cgi +++ b/html/cgi-bin/mac.cgi @@ -46,39 +46,73 @@ if ($macsettings{'ACTION'} eq $Lang::tr{'save'}) { $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 "$Lang::tr{'mac address saved txt'}\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 "$Lang::tr{'mac address saved txt'}\n"; + &Header::closebox(); } } -if ($macsettings{'RECONNECT'} eq $Lang::tr{'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 "$Lang::tr{'mac address done'}\n"; &Header::closebox(); } -if ($macsettings{'DELETE'} eq $Lang::tr{'delete'} ) { +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 "$Lang::tr{'mac address deleted txt'}\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 "  

"; + print ""; + &Header::closebox(); +} # DPC move error message to top so it is seen! if ($errormessage) { @@ -94,32 +128,119 @@ print < - $Lang::tr{'mac desc'} + $Lang::tr{'mac desc'} -   +   - $Lang::tr{'mac new'}  + $Lang::tr{'mac new'}  +END +; +if ($macsettings{'ACTION'} eq $Lang::tr{'delete'} ) { +print < +END +; +} else { +print < +END +; +} +print < + +   -
+ $Lang::tr{'mac1 new'}  +END +; +if ($macsettings{'ACTION'} eq $Lang::tr{'delete'} ) { +print <* +END +; +} else { +print <* +END +; +} +print < + +   -
+ $Lang::tr{'mac2 new'}  +END +; +if ($macsettings{'ACTION'} eq $Lang::tr{'delete'} ) { +print <* +END +; +} else { +print <* +END +; +} + +print < + +
+ + +
+END +; +if ($macsettings{'ACTION'} eq $Lang::tr{'delete'} ) { +print < +      + +      + +END +; +} elsif ($macsettings{'ACTION'} eq $Lang::tr{'save'} && $errormessage eq "") { +print <      - +      - + +END +; +} elsif ($macsettings{'ACTION'} eq $Lang::tr{'save'}) { +print < +END +; +} else { +print < +      + +END +; +} +print < + + + * $Lang::tr{'this field may be blank'} + + END ; - &Header::closebox(); print "\n";