Add vdsl-iptv mac address field to mac.cgi
authorArne Fitzenreiter <arne_f@ipfire.org>
Thu, 1 Oct 2009 20:31:58 +0000 (22:31 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Thu, 1 Oct 2009 20:31:58 +0000 (22:31 +0200)
html/cgi-bin/mac.cgi [changed mode: 0755->0644]
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl

old mode 100755 (executable)
new mode 100644 (file)
index 93767d0..7c00cc3
@@ -22,8 +22,8 @@
 use strict;
 
 # enable only the following on debugging purpose
-#use warnings;
-#use CGI::Carp 'fatalsToBrowser';
+use warnings;
+use CGI::Carp 'fatalsToBrowser';
 
 require '/var/ipfire/general-functions.pl';
 require "${General::swroot}/lang.pl";
@@ -46,26 +46,35 @@ 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;                   
-                               }                        
+               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'};
                }
-               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();            
+       } else {
+               $errormessage = $Lang::tr{'mac address error not valid'};
+       }
+       $macsettings{'MAC2'} =~ s/\-/:/g;
+       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'};
        }
+       if ($errormessage eq "") {
+               $macsettings{'MAC'} =~ 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{'ACTION'} eq $Lang::tr{'reconnect'}) {
        system("/usr/local/bin/redctrl restart >/dev/null 2>&1 &");
@@ -102,13 +111,13 @@ print <<END
 
 <table border="0"  width='100%'>
   <tr>
-    <td><font class='base'>$Lang::tr{'mac desc'}</font></td>
+    <td colspan=2><font class='base'>$Lang::tr{'mac desc'}</font></td>
   </tr>
   <tr>
-    <td>&nbsp;</td>
+    <td colspan=2>&nbsp;</td><td>&nbsp;</td>
   </tr>
   <tr>
-    <td><font class='base'>$Lang::tr{'mac new'}&nbsp;</font>
+    <td><font class='base'>$Lang::tr{'mac new'}&nbsp;</font></td><td>
 END
 ;
 if ($macsettings{'ACTION'} eq $Lang::tr{'delete'} ) {
@@ -125,10 +134,33 @@ END
 print <<END    
   </tr>
   <tr>
-    <td><hr /></td>
+    <td colspan=2>&nbsp;</td><td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><font class='base'>$Lang::tr{'mac2 new'}&nbsp;</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>&nbsp;</td><td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td colspan=2><hr /></td>
   </tr>
   <tr>
-    <td><div align="center">
+    <td colspan=2><div align="center">
 END
 ;
 if ($macsettings{'ACTION'} eq $Lang::tr{'delete'} ) {
index f6226ec..b4a92d4 100644 (file)
 'mac address done' => 'Die MAC-Adressen Einstellungen werden übernommen',
 'mac desc' => 'Sie können an dieser Stelle die MAC-Adresse von red0 ändern. Die Adresse muss in hexadezimal (0-9,a-f) eingegeben werden, eine gültige Eingaben ist z.B. 00-01-02-0e-b8-d6 oder 00:01:02:0e:b8:d6.',
 'mac new' => 'Neue MAC-Adresse:',
-'mac new' => 'Neue MAC-Adresse:',
+'mac2 new' => 'Neue MAC-Adresse 2 (vdsl-iptv):',
 'magic packet send to:' => 'Sende WOL-Paket an',
 'mailmethod' => 'Mail Methode',
 'mailprogramm' => 'Mail Programm',
index 590a68f..d86fa97 100644 (file)
 'mac address recon' => 'Trying to reconnect!',
 'mac address done' => 'The MAC address settings are going to be saved.',
 'mac desc' => 'Here you are able to change the MAC address on red0. The address must be entered in hexadecimal (0-9,a-f), a valid entry is <br />e.g. 00-01-02-0e-b8-d6 or 00:01:02:0e:b8:d6.',
-'mac new' => 'new MAC addresse:',
+'mac new' => 'new MAC address:',
+'mac2 new' => 'new MAC address 2 (vdsl-iptv):',
 'magic packet send to:' => 'Magic packet send to:',
 'mailmethod' => 'Mailmethod',
 'mailprogramm' => 'Mailprogramm',