r4167 trigger_liveports(): make a better decision with $gwrxlator
authorDenis Ovsienko <infrastation@yandex.ru>
Sun, 30 Jan 2011 08:28:50 +0000 (08:28 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Sun, 30 Jan 2011 08:28:50 +0000 (08:28 +0000)
inc/triggers.php

index 4d3433a05c24afc8f100ab66b1cacf5a9ad9835d..7f81e674849777f73d9420ef228ebb6c69d441b0 100644 (file)
@@ -82,9 +82,16 @@ function trigger_livevlans ()
 // This trigger is on when any of the (get_mac_list, get_link_status) ops permitted
 function trigger_liveports ()
 {
-       if (permitted (NULL, 'liveports', 'get_mac_list') or
-               permitted (NULL, 'liveports', 'get_link_status'))
-               return 'std';
+       global $gwrxlator;
+       $breed = detectDeviceBreed (getBypassValue());
+       foreach (array ('getportstatus', 'getmaclist') as $command)
+               if
+               (
+                       array_key_exists ($command, $gwrxlator) and
+                       array_key_exists ($breed, $gwrxlator[$command]) and
+                       permitted (NULL, 'liveports', $command)
+               )
+                       return 'std';
        return '';
 }