]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - html/cgi-bin/ddns.cgi
ddns.cgi: Hide listing if no entries exist.
[people/teissler/ipfire-2.x.git] / html / cgi-bin / ddns.cgi
index db208da246781526012de391f38c2726b727e098..ada92c0529d853e74c3b07208bc67f7d1f8a24e4 100644 (file)
@@ -480,65 +480,64 @@ END
 
 ##
 # Third section, display all created ddns hosts.
-
-&Header::openbox('100%', 'left', $Lang::tr{'current hosts'});
-print <<END
-<table width='100%' class='tbl'>
-       <tr>
-               <th width='30%' align='center' class='boldbase'><b>$Lang::tr{'service'}</b></th>
-               <th width='50%' align='center' class='boldbase'><b>$Lang::tr{'hostname'}</b></th>
-               <th width='20%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></th>
-       </tr>
-END
-;
-
 # Re-open file to get changes.
 open(FILE, $datafile) or die "Unable to open $datafile.";
 @current = <FILE>;
 close(FILE);
 
 # Get IP address of the red interface.
-my $ip = &General::GetDyndnsRedIP;
+my $ip = &General::GetDyndnsRedIP();
 my $id = 0;
 my $toggle_enabled;
 
-foreach my $line (@current) {
-
-       # Remove newlines.
-       chomp(@current);
-       my @temp = split(/\,/,$line);
+if (@current) {
+       &Header::openbox('100%', 'left', $Lang::tr{'current hosts'});
 
-       # Generate value for enable/disable checkbox.
-       my $sync = "<font color='blue'>";
-       my $gif = '';
-       my $gdesc = '';
+       print <<END;
+<table width='100%' class='tbl'>
+       <tr>
+               <th width='30%' align='center' class='boldbase'><b>$Lang::tr{'service'}</b></th>
+               <th width='50%' align='center' class='boldbase'><b>$Lang::tr{'hostname'}</b></th>
+               <th width='20%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></th>
+       </tr>
+END
 
-       if ($temp[7] eq "on") {
-               $gif = 'on.gif';
-               $gdesc = $Lang::tr{'click to disable'};
-               $sync = (&General::DyndnsServiceSync ($ip,$temp[1], $temp[2]) ? "<font color='green'>": "<font color='red'>") ;
-               $toggle_enabled = 'off';
-       } else {
-               $gif = 'off.gif';
-               $gdesc = $Lang::tr{'click to enable'};
-               $toggle_enabled = 'on';
-       }
+       foreach my $line (@current) {
+               # Remove newlines.
+               chomp(@current);
+               my @temp = split(/\,/,$line);
+
+               # Generate value for enable/disable checkbox.
+               my $sync = "<font color='blue'>";
+               my $gif = '';
+               my $gdesc = '';
+
+               if ($temp[7] eq "on") {
+                       $gif = 'on.gif';
+                       $gdesc = $Lang::tr{'click to disable'};
+                       $sync = (&General::DyndnsServiceSync ($ip,$temp[1], $temp[2]) ? "<font color='green'>": "<font color='red'>") ;
+                       $toggle_enabled = 'off';
+               } else {
+                       $gif = 'off.gif';
+                       $gdesc = $Lang::tr{'click to enable'};
+                       $toggle_enabled = 'on';
+               }
 
-       # Background color.
-       my $col="";
+               # Background color.
+               my $col="";
 
-       if ($settings{'ID'} eq $id) {
-               $col="bgcolor='${Header::colouryellow}'";
-       } elsif (!&General::is_part_of("$temp[0]", @providers)) {
-               $col="bgcolor='#FF4D4D'";
-       } elsif ($id % 2) {
-               $col="bgcolor='$color{'color20'}'";
-       } else {
-               $col="bgcolor='$color{'color22'}'";
-       }
+               if ($settings{'ID'} eq $id) {
+                       $col="bgcolor='${Header::colouryellow}'";
+               } elsif (!($temp[0] ~~ @providers)) {
+                       $col="bgcolor='#FF4D4D'";
+               } elsif ($id % 2) {
+                       $col="bgcolor='$color{'color20'}'";
+               } else {
+                       $col="bgcolor='$color{'color22'}'";
+               }
 
-# The following HTML Code still is part of the loop.
-print <<END
+               # The following HTML Code still is part of the loop.
+               print <<END;
 <tr>
        <td align='center' $col><a href='http://$temp[0]'>$temp[0]</a></td>
        <td align='center' $col>$sync$temp[1].$sync$temp[2]</td>
@@ -563,14 +562,11 @@ print <<END
        </form></td>
 </tr>
 END
-;
-    $id++;
-}
-print "</table>";
+               $id++;
+       }
 
-# If table contains entries, print 'Key to action icons'
-if ($id) {
-print <<END
+       print <<END;
+</table>
 <table width='100%'>
        <tr>
                <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>
@@ -591,10 +587,10 @@ print <<END
        </tr>
 </table>
 END
-;
+
+       &Header::closebox();
 }
 
-&Header::closebox();
 &Header::closebigbox();
 &Header::closepage();