]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - config/cfgroot/location-functions.pl
ipinfo.cgi: Allow to display multiple flags.
[people/pmueller/ipfire-2.x.git] / config / cfgroot / location-functions.pl
index b0b8cd086605712bb047a964fe221e308e518daf..2cfe7f908fd92db2dd7c49be5630d8337bf2de79 100644 (file)
@@ -190,10 +190,13 @@ sub get_locations() {
        return @sorted_locations;
 }
 
-# Function to check if a given address has a special flag.
-sub address_has_flag($) {
+# Function to check if a given address has one ore more special flags.
+sub address_has_flags($) {
        my ($address) = @_;
 
+       # Array to store the flags of the address.
+       my @flags;
+
        # Init libloc database handle.
        my $db_handle = &init();
 
@@ -206,10 +209,16 @@ sub address_has_flag($) {
                        # Grab the mapped location code for this flag.
                        $mapped_code = $network_flags{$flag};
 
-                       # Return the code.
-                       return $mapped_code;
+                       # Add the mapped code to the array of flags.
+                       push(@flags, $mapped_code);
                }
        }
+
+       # Sort the array of flags.
+       @flags = sort(@flags);
+
+       # Return the array of flags.
+       return @flags;
 }
 
 1;