$query .= $where; } $query .= " AND `{$entry}` != '' {$query_permitted} GROUP BY `{$entry}` ORDER BY `{$entry}`"; foreach (dbFetchColumn($query) as $item) { if ($entry == 'os') { $name = $config['os'][$item]['text']; } else { $name = nicecase($item); } $search_items[$entry][$item] = $name; } } foreach (get_locations() as $entry) { $search_items['location'][$entry] = $entry == '' ? 'UNSET' : htmlspecialchars($entry); } foreach (get_type_groups('device') as $entry) { $search_items['group'][$entry['group_id']] = $entry['group_name']; } $search_items['sort'] = array('hostname' => 'Hostname', 'location' => 'Location', 'os' => 'Operating System', 'uptime' => 'Uptime'); $form = array('type' => 'rows', 'url' => generate_url($vars)); // First row $form['row'][0]['hostname'] = array('type' => 'text', 'name' => 'Hostname', 'value' => $vars['hostname'], 'width' => '180px', 'placeholder' => TRUE); $form['row'][0]['location'] = array('type' => 'multiselect', 'name' => 'Select Locations', 'width' => '180px', 'json' => TRUE, 'value' => $vars['location'], 'values' => $search_items['location']); $form['row'][0]['os'] = array('type' => 'multiselect', 'name' => 'Select OS', 'width' => '180px', 'value' => $vars['os'], 'values' => $search_items['os']); $form['row'][0]['hardware'] = array('type' => 'multiselect', 'name' => 'Select Hardware', 'width' => '180px', 'value' => $vars['hardware'], 'values' => $search_items['hardware']); $form['row'][0]['group'] = array('type' => 'multiselect', 'name' => 'Select Groups', 'width' => '180px', 'value' => $vars['group'], 'values' => $search_items['group']); // Select sort pull-rigth $form['row'][0]['sort'] = array('type' => 'select', 'icon' => 'oicon-sort-alphabet-column', 'right' => TRUE, 'width' => '150px', 'value' => $vars['sort'], 'values' => $search_items['sort']); // Second row $form['row'][1]['sysname'] = array('type' => 'text', 'name' => 'sysName', 'value' => $vars['sysname'], 'width' => '180px', 'placeholder' => TRUE); $form['row'][1]['location_text'] = array('type' => 'text', 'name' => 'Location', 'value' => $vars['location_text'], 'width' => '180px', 'placeholder' => TRUE);
*/ // Print common global groups navbar include $config['html_dir'] . "/includes/group-navbar.inc.php"; echo '<table class="table table-condensed table-bordered table-striped table-rounded table-hover"> <thead> <tr> <th style="width: 0px"></th> <th style="width: 0px"></th> <th style="width: 25px">Id</th> <th style="">分组</th> <th style="width: 125px">成员 / 类型</th> <th style="width: 560px">成员规则</th> </tr> </thead> <tbody>', PHP_EOL; foreach (get_type_groups($vars['entity_type']) as $group) { $group['member_count'] = dbFetchCell("SELECT COUNT(*) FROM `group_table` WHERE `group_id` = ?", array($group['group_id'])); $entity_type = $config['entities'][$group['entity_type']]; echo '<tr class="' . $group['html_row_class'] . '">'; echo ' <td style="width: 1px; background-color: #194b7f; margin: 0px; padding: 0px"></td> <td style="width: 1px;"></td>'; // Print the conditions applied by this alert echo '<td><strong>'; echo $group['group_id']; echo '</strong></td>'; echo '<td><strong>'; echo '<a href="', generate_url(array('page' => 'group', 'group_id' => $group['group_id'])), '">' . $group['group_name'] . '</a></strong><br />'; echo '<i>', $group['group_descr'], '</i>'; echo '</td>'; // Print the count of entities this alert applies to and a popup containing a list and Print breakdown of entities by status.
if ($data['ifType']) { echo ' <option value="' . $data['ifType'] . '"'; if ($data['ifType'] == $vars['ifType'] || in_array($data['ifType'], $vars['ifType'])) { echo ' selected'; } echo ">" . $data['ifType'] . "</option>"; } } ?> </select> </div> <div class="col-lg-2"> <select class="selectpicker" name="group" id="group" title="Select Groups" multiple> <?php // FIXME function? foreach (get_type_groups('port') as $group) { echo '<option value="' . $group['group_id'] . '"'; if ($group['group_id'] == $vars['group'] || in_array($group['group_id'], $vars['group'])) { echo 'selected'; } echo ">" . $group['group_name'] . "</option>"; } ?> </select> </div> <div class="col-lg-2 pull-right"> <select name="sort" id="sort" class="selectpicker pull-right" title="Sort Order" style="width: 150px;" data-width="150px"> <?php $sorts = array('device' => 'Device', 'port' => 'Port', 'speed' => 'Speed', 'traffic' => 'Traffic In+Out', 'traffic_in' => 'Traffic In', 'traffic_out' => 'Traffic Out', 'traffic_perc' => 'Traffic Percentage In+Out', 'traffic_perc_in' => 'Traffic Percentage In', 'traffic_perc_out' => 'Traffic Percentage Out', 'packets' => 'Packets In+Out', 'packets_in' => 'Packets In', 'packets_out' => 'Packets Out', 'errors' => 'Errors', 'media' => 'Media', 'descr' => 'Description'); foreach ($sorts as $sort => $sort_text) {
$navbar['options'][$type]['class'] = "active"; } else { if ($navbar_count > 5) { $navbar['options'][$type]['class'] = "icon"; } } // Show only icons if too many items in navbar if (isset($options['icon'])) { $navbar['options'][$type]['icon'] = $options['icon']; } $navbar['options'][$type]['url'] = generate_url($link_array, array('metric' => $type, 'view' => $vars['view'])); $navbar['options'][$type]['text'] = nicecase($type); } $navbar['options']['group'] = array('text' => '分组', 'right' => 'true'); $groups = get_type_groups($vars['metric']); foreach (get_type_groups($vars['metric']) as $group) { if ($group['group_id'] == $vars['group'] || in_array($group['group_id'], $vars['group'])) { $navbar['options']['group']['class'] = 'active'; $navbar['options']['group']['text'] .= " (" . $group['group_name'] . ')'; $navbar['options']['group']['suboptions'][$group['group_id']]['url'] = generate_url($vars, array('group' => NULL)); } $navbar['options']['group']['suboptions'][$group['group_id']]['text'] = $group['group_name']; $navbar['options']['group']['suboptions'][$group['group_id']]['url'] = generate_url($vars, array('group' => $group['group_id'])); } $navbar['options']['graphs']['text'] = '图像'; $navbar['options']['graphs']['icon'] = 'oicon-chart-up'; $navbar['options']['graphs']['right'] = TRUE; if ($vars['view'] == "graphs") { $navbar['options']['graphs']['class'] = 'active'; $navbar['options']['graphs']['url'] = generate_url($vars, array('view' => "detail")); } else {
$select = "`ports`.`port_id` AS `port_id`, `devices`.`device_id` AS `device_id`"; $where_array = build_ports_where_array($vars); $where = ' WHERE 1 '; if (!$config['web_show_disabled'] && count($cache['devices']['disabled']) > 0) { $where_array[] = generate_query_values($cache['devices']['disabled'], 'ports.device_id', '!='); } $where .= implode('', $where_array); //r($where_array); $form_items = array(); foreach (get_locations() as $entry) { if ($entry === '') { $entry = OBS_VAR_UNSET; } $form_items['location'][$entry] = $entry; } foreach (get_type_groups('port') as $entry) { $form_items['group'][$entry['group_id']] = $entry['group_name']; } foreach (array('ifType', 'ifSpeed', 'port_descr_type') as $entry) { $query = "SELECT `{$entry}` FROM `ports`"; $query .= " LEFT JOIN `devices` USING (`device_id`)"; if (isset($where_array[$entry])) { $tmp = $where_array[$entry]; unset($where_array[$entry]); $query .= ' WHERE 1 ' . implode('', $where_array); $where_array[$entry] = $tmp; } else { $query .= $where; } $query .= " AND `{$entry}` != ''" . $cache['where']['ports_permitted'] . " GROUP BY `{$entry}` ORDER BY `{$entry}`"; foreach (dbFetchRows($query) as $data) {
// Owners $navbar['options']['owner'] = array('text' => 'Owners', 'right' => 'true'); foreach ($sla_owners as $owner => $name) { if ($owner == $vars['owner'] || in_array($owner, $vars['owner'])) { $navbar['options']['owner']['class'] = 'active'; $navbar['options']['owner']['url'] = generate_url($vars, array('owner' => NULL)); $navbar['options']['owner']['text'] .= ' (' . $name . ')'; $navbar['options']['owner']['suboptions'][$owner]['url'] = generate_url($vars, array('owner' => NULL)); $navbar['options']['owner']['suboptions'][$owner]['class'] = 'active'; } else { $navbar['options']['owner']['suboptions'][$owner]['url'] = generate_url($vars, array('owner' => $owner)); } $navbar['options']['owner']['suboptions'][$owner]['text'] = $name; } // Groups $groups = get_type_groups('sla'); $navbar['options']['group'] = array('text' => 'Groups', 'right' => TRUE, 'community' => FALSE); foreach ($groups as $group) { if ($group['group_id'] == $vars['group'] || in_array($group['group_id'], $vars['group'])) { $navbar['options']['group']['class'] = 'active'; $navbar['options']['group']['url'] = generate_url($vars, array('group' => NULL)); $navbar['options']['group']['text'] .= ' (' . $group['group_name'] . ')'; $navbar['options']['group']['suboptions'][$group['group_id']]['url'] = generate_url($vars, array('group' => NULL)); $navbar['options']['group']['suboptions'][$group['group_id']]['class'] = 'active'; } else { $navbar['options']['group']['suboptions'][$group['group_id']]['url'] = generate_url($vars, array('group' => $group['group_id'])); } $navbar['options']['group']['suboptions'][$group['group_id']]['text'] = $group['group_name']; } $navbar['options']['graphs']['text'] = 'Graphs'; $navbar['options']['graphs']['icon'] = 'oicon-chart-up';
</tr> </tbody> </table> <?php $navbar['class'] = 'navbar-narrow'; $navbar['brand'] = '分组'; $navbar['style'] = 'margin-top: 20px'; foreach ($navbar['options'] as $option => $array) { if ($vars['view'] == $option) { $navbar['options'][$option]['class'] .= " active"; } $navbar['options'][$option]['url'] = generate_url($link_array, array('view' => $option)); } foreach (array('device', 'port', 'sensor', 'processor', 'mempool') as $type) { $entity_type = $config['entities'][$type]; $navbar['options'][$type]['icon'] = $entity_type['icon']; $navbar['options'][$type]['text'] = nicecase($type); foreach (get_type_groups($type) as $group) { $navbar['options'][$type]['suboptions'][$group['group_id']]['text'] = $group['group_name']; $navbar['options'][$type]['suboptions'][$group['group_id']]['url'] = generate_url(array('page' => 'group', 'group_id' => $group['group_id'])); } } print_navbar($navbar); ?> </div> <?php } echo '</div>'; // EOF
if (isset($navbar['options']['class']['suboptions'][$class])) { continue; } // Heh, class can be NULL and '' if ($class == $vars['class'] || is_array($vars['class']) && in_array($class, $vars['class'])) { $navbar['options']['class']['class'] = 'active'; $navbar['options']['class']['text'] .= " (" . $name . ')'; $navbar['options']['class']['suboptions'][$class]['url'] = generate_url($vars, array('class' => NULL)); $navbar['options']['class']['suboptions'][$class]['class'] = 'active'; } else { $navbar['options']['class']['suboptions'][$class]['url'] = generate_url($vars, array('class' => $class)); } $navbar['options']['class']['suboptions'][$class]['text'] = $name; } } $groups = get_type_groups($vars['metric']); $navbar['options']['group'] = array('text' => 'Groups', 'right' => TRUE, 'community' => FALSE); foreach ($groups as $group) { if ($group['group_id'] == $vars['group'] || in_array($group['group_id'], $vars['group'])) { $navbar['options']['group']['class'] = 'active'; $navbar['options']['group']['text'] .= ' (' . escape_html($group['group_name']) . ')'; $navbar['options']['group']['suboptions'][$group['group_id']]['url'] = generate_url($vars, array('group' => NULL)); $navbar['options']['group']['suboptions'][$group['group_id']]['class'] = 'active'; } else { $navbar['options']['group']['suboptions'][$group['group_id']]['url'] = generate_url($vars, array('group' => $group['group_id'])); } $navbar['options']['group']['suboptions'][$group['group_id']]['text'] = escape_html($group['group_name']); } $navbar['options']['graphs']['text'] = 'Graphs'; $navbar['options']['graphs']['icon'] = 'oicon-chart-up'; $navbar['options']['graphs']['right'] = TRUE;
if (!in_array($pw_type, $pw_types[$pw_label])) { $pw_types[$pw_label][] = $pw_type; } } ksort($pw_types); foreach ($pw_types as $text => $type) { $type = implode(',', $type); if ($vars['pwtype'] == $type) { $navbar['options'][$type]['class'] = "active"; unset($navbar['options']['all']['class']); } $navbar['options'][$type]['url'] = generate_url($link_array, array('pwtype' => $type)); $navbar['options'][$type]['text'] = $text; } // Groups $groups = get_type_groups('pseudowire'); $navbar['options']['group'] = array('text' => 'Groups', 'right' => TRUE, 'community' => FALSE); foreach ($groups as $group) { if ($group['group_id'] == $vars['group'] || in_array($group['group_id'], $vars['group'])) { $navbar['options']['group']['class'] = 'active'; $navbar['options']['group']['url'] = generate_url($vars, array('group' => NULL)); $navbar['options']['group']['text'] .= " (" . $group['group_name'] . ')'; $navbar['options']['group']['suboptions'][$group['group_id']]['url'] = generate_url($vars, array('group' => NULL)); $navbar['options']['group']['suboptions'][$group['group_id']]['class'] = 'active'; } else { $navbar['options']['group']['suboptions'][$group['group_id']]['url'] = generate_url($vars, array('group' => $group['group_id'])); } $navbar['options']['group']['suboptions'][$group['group_id']]['text'] = $group['group_name']; } // Graphs $navbar['options']['graphs']['text'] = 'Graphs';