コード例 #1
0
/**
 * Build an array of conditions that apply to a supplied device
 *
 * This takes the array of global conditions and removes associations that don't match the supplied device array
 *
 * @param  array device
 * @return array
*/
function cache_device_conditions($device)
{
    // Return no conditions if the device is ignored or disabled.
    if ($device['ignore'] == 1 || $device['disabled'] == 1) {
        return array();
    }
    $conditions = cache_conditions();
    foreach ($conditions['assoc'] as $assoc_key => $assoc) {
        if (match_device($device, $assoc['device_attributes'])) {
            $assoc['alert_test_id'];
            $conditions['cond'][$assoc['alert_test_id']]['assoc'][$assoc_key] = $conditions['assoc'][$assoc_key];
            $cond_new['cond'][$assoc['alert_test_id']] = $conditions['cond'][$assoc['alert_test_id']];
        } else {
            unset($conditions['assoc'][$assoc_key]);
        }
    }
    #  foreach ($cond_new['cond'] as $test_id => $test)
    #  {
    #print_vars($test);
    #    echo('<span class="label label-info">Matched '.$test['alert_name'].'</span> ');
    #  }
    return $cond_new;
}
コード例 #2
0
function cache_device_conditions($device)
{
    // Return no conditions if the device is ignored or disabled.
    if ($device['ignore'] == 1 || $device['disabled'] == 1) {
        return array();
    }
    $conditions = cache_conditions();
    foreach ($conditions['assoc'] as $assoc_key => $assoc) {
        if (match_device($device, $assoc['device_attribs'])) {
            $assoc['alert_test_id'];
            $conditions['cond'][$assoc['alert_test_id']]['assoc'][$assoc_key] = $conditions['assoc'][$assoc_key];
            $cond_new['cond'][$assoc['alert_test_id']] = $conditions['cond'][$assoc['alert_test_id']];
        } else {
            unset($conditions['assoc'][$assoc_key]);
        }
    }
    return $cond_new;
}