mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
$sql = "SELECT * FROM `ports_stack` WHERE `device_id` = '".$device['device_id']."'";
 | 
						|
 | 
						|
foreach (dbFetchRows($sql) as $entry) {
 | 
						|
    $stack_db_array[$entry['port_id_high']][$entry['port_id_low']]['ifStackStatus'] = $entry['ifStackStatus'];
 | 
						|
}
 | 
						|
 | 
						|
$stack_poll_array = snmpwalk_cache_twopart_oid($device, 'ifStackStatus', array());
 | 
						|
 | 
						|
foreach ($stack_poll_array as $port_id_high => $entry_high) {
 | 
						|
    foreach ($entry_high as $port_id_low => $entry_low) {
 | 
						|
        $ifStackStatus = $entry_low['ifStackStatus'];
 | 
						|
        if (isset($stack_db_array[$port_id_high][$port_id_low])) {
 | 
						|
            if ($stack_db_array[$port_id_high][$port_id_low]['ifStackStatus'] == $ifStackStatus) {
 | 
						|
                echo '.';
 | 
						|
            } else {
 | 
						|
                dbUpdate(array('ifStackStatus' => $ifStackStatus), 'ports_stack', 'device_id=? AND port_id_high=? AND `port_id_low`=?', array($device['device_id'], $port_id_high, $port_id_low));
 | 
						|
                echo 'U';
 | 
						|
            }
 | 
						|
 | 
						|
            unset($stack_db_array[$port_id_high][$port_id_low]);
 | 
						|
        } else {
 | 
						|
            dbInsert(array('device_id' => $device['device_id'], 'port_id_high' => $port_id_high, 'port_id_low' => $port_id_low, 'ifStackStatus' => $ifStackStatus), 'ports_stack');
 | 
						|
            echo '+';
 | 
						|
        }
 | 
						|
    }//end foreach
 | 
						|
}//end foreach
 | 
						|
 | 
						|
foreach ($stack_db_array as $port_id_high => $array) {
 | 
						|
    foreach ($array as $port_id_low => $blah) {
 | 
						|
        echo $device['device_id'].' '.$port_id_low.' '.$port_id_high."\n";
 | 
						|
        dbDelete('ports_stack', '`device_id` =  ? AND port_id_high = ? AND port_id_low = ?', array($device['device_id'], $port_id_high, $port_id_low));
 | 
						|
        echo '-';
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
echo "\n";
 |