r3759 trigger_anyDP(): new function
authorDenis Ovsienko <infrastation@yandex.ru>
Sun, 6 Jun 2010 21:14:32 +0000 (21:14 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Sun, 6 Jun 2010 21:14:32 +0000 (21:14 +0000)
trigger_LiveCDP(): make it a wrapper for above
trigger_LiveLLDP(): new function, idem
CDP_RUNNERS_LISTSRC: new option
LLDP_RUNNERS_LISTSRC: idem

inc/navigation.php
inc/ophandlers.php
inc/triggers.php
install/init-dictbase.sql
upgrade.php

index b89dff4..8efaf69 100644 (file)
@@ -91,7 +91,7 @@ $tab['object']['ipv4'] = 'IPv4';
 $tab['object']['nat4'] = 'NATv4';
 $tab['object']['livevlans'] = 'Live VLANs';
 $tab['object']['livecdp'] = 'Live CDP';
-$tab['object']['livelldp'] = '[Live LLDP]';
+$tab['object']['livelldp'] = 'Live LLDP';
 $tab['object']['snmpportfinder'] = 'SNMP sync';
 $tab['object']['editrspvs'] = 'RS pools';
 $tab['object']['lvsconfig'] = 'keepalived.conf';
@@ -124,7 +124,7 @@ $trigger['object']['ipv4'] = 'trigger_ipv4';
 $trigger['object']['nat4'] = 'trigger_natv4';
 $trigger['object']['livevlans'] = 'trigger_livevlans';
 $trigger['object']['livecdp'] = 'trigger_LiveCDP';
-$trigger['object']['livelldp'] = 'trigger_LiveCDP';
+$trigger['object']['livelldp'] = 'trigger_LiveLLDP';
 $trigger['object']['snmpportfinder'] = 'trigger_snmpportfinder';
 $trigger['object']['editrspvs'] = 'trigger_isloadbalancer';
 $trigger['object']['lvsconfig'] = 'trigger_isloadbalancer';
index 3e7e64f..fd6a9e5 100644 (file)
@@ -1104,6 +1104,8 @@ function resetUIConfig()
        setConfigVar ('8021Q_DEPLOY_RETRY', '10800');
        setConfigVar ('8021Q_WRI_AFTER_CONFT', 'no');
        setConfigVar ('8021Q_INSTANT_DEPLOY', 'no');
+       setConfigVar ('CDP_RUNNERS_LISTSRC', '');
+       setConfigVar ('LLDP_RUNNERS_LISTSRC', '');
        return buildRedirectURL (__FUNCTION__, 'OK');
 }
 
index 95ed4ae..24e99af 100644 (file)
@@ -228,7 +228,25 @@ function trigger_object_8021qsync ()
 
 function trigger_LiveCDP ()
 {
-       return 'ios12' == detectDeviceBreed ($_REQUEST['object_id']) ? 'std' : '';
+       return trigger_anyDP ('getcdpstatus', 'CDP_RUNNERS_LISTSRC');
+}
+
+function trigger_LiveLLDP ()
+{
+       return trigger_anyDP ('getlldpstatus', 'LLDP_RUNNERS_LISTSRC');
+}
+
+function trigger_anyDP ($command, $constraint)
+{
+       global $gwrxlator;
+       if (!array_key_exists ($command, $gwrxlator))
+               return '';
+       if (!array_key_exists (detectDeviceBreed ($_REQUEST['object_id']), $gwrxlator[$command]))
+               return '';
+       $object = spotEntity ('object', $_REQUEST['object_id']);
+       if (considerConfiguredConstraint (spotEntity ('object', $_REQUEST['object_id']), $constraint))
+               return 'std';
+       return '';
 }
 
 ?>
index 654d414..e0fc56f 100644 (file)
@@ -404,6 +404,8 @@ INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, is_userdef
 ('8021Q_INSTANT_DEPLOY','no','string','no','no','yes','802.1Q: instant deploy'),
 ('STATIC_FILTER','yes','string','no','no','yes','Enable Filter Caching'),
 ('ENABLE_BULKPORT_FORM','yes','string','no','no','yes','Enable "Bulk Port" form'),
+('CDP_RUNNERS_LISTSRC', '', 'string', 'yes', 'no', 'no', 'List of devices running CDP'),
+('LLDP_RUNNERS_LISTSRC', '', 'string', 'yes', 'no', 'no', 'List of devices running LLDP'),
 ('DB_VERSION','0.18.1','string','no','yes','no','Database version.');
 
 INSERT INTO `Script` VALUES ('RackCode','allow {$userid_1}');
index 8be5174..fb4ef3c 100644 (file)
@@ -706,6 +706,8 @@ CREATE TABLE `VLANValidID` (
                case '0.18.2':
                        $query = array_merge ($query, reloadDictionary ($batchid));
                        $query[] = "ALTER TABLE Rack ADD CONSTRAINT `Rack-FK-row_id` FOREIGN KEY (row_id) REFERENCES RackRow (id)";
+                       $query[] = "INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, is_userdefined, description) VALUES ('CDP_RUNNERS_LISTSRC', '', 'string', 'yes', 'no', 'no', 'List of devices running CDP')";
+                       $query[] = "INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, is_userdefined, description) VALUES ('LLDP_RUNNERS_LISTSRC', '', 'string', 'yes', 'no', 'no', 'List of devices running LLDP')";
                        $query[] = "UPDATE Config SET varvalue = '0.18.2' WHERE varname = 'DB_VERSION'";
                        break;
                default: