$url = rawurlencode($k); $node_menu .= "<option value=\"{$url}\">{$k}\n"; } } $node_menu .= "</select>\n"; } else { $node_menu .= "<B>No Hosts</B>\n"; } } else { $node_menu .= "<B>{$hostname}</B>\n"; $node_menu .= hiddenvar("h", $hostname); } # Save other CGI variables $node_menu .= hiddenvar("cr", $controlroom); $node_menu .= hiddenvar("js", $jobstart); $node_menu .= hiddenvar("jr", $jobrange); } $data->assign("node_menu", $node_menu); //////////////////// Build the metric menu //////////////////////////////////// if (count($metrics)) { foreach ($metrics as $firsthost => $bar) { foreach ($metrics[$firsthost] as $m => $foo) { $context_metrics[$m] = $m; } } foreach ($reports as $r => $foo) { $context_metrics[] = $r; } } # # If there are graphs present, show ranges.
function make_node_menu($self, $context, $grid, $parentgrid, $parentlink, $gridstack_url, $clustername, $hostname, $get_metric_string, $showhosts, $hosts_up, $hosts_down) { global $conf; $node_menu = ""; if ($parentgrid) { $node_menu .= "<b><a href=\"{$parentlink}?gw=back&gs={$gridstack_url}&{$get_metric_string}\">" . "{$parentgrid} {$conf['meta_designator']}</a></b> "; $node_menu .= "<b>></b>\n"; } # Show grid. if ($self != "unspecified" && !$parentgrid || $conf['always_display_grid_view']) { $mygrid = $self == "unspecified" ? "" : $self; $node_menu .= "<b><a href=\"./?{$get_metric_string}\">{$mygrid} {$conf['meta_designator']}</a></b> "; $node_menu .= "<b>></b>\n"; } ///////////////////////////////////////////////////////////////////////////// // Cluster name has been specified. It comes right after // Grid > ///////////////////////////////////////////////////////////////////////////// if ($clustername) { $url = rawurlencode($clustername); $node_menu .= "<b><a href=\"./?c={$url}&{$get_metric_string}\">{$clustername}</a></b> "; $node_menu .= "<b>></b>\n"; $node_menu .= hiddenvar("c", $clustername); } else { if ($context == "decompose_graph") { $node_menu .= '<input type="hidden" name="dg" value="1">'; $node_menu .= "Decompose Graph"; } else { # No cluster has been specified, so drop in a list $node_menu .= "<select name=\"c\" OnChange=\"ganglia_form.submit();\">\n"; $node_menu .= "<option value=\"\">--Choose a Source\n"; ksort($grid); foreach ($grid as $k => $v) { if ($k == $self) { continue; } if (isset($v['GRID']) and $v['GRID']) { $url = $v['AUTHORITY']; $node_menu .= "<option value=\"{$url}\">{$k} {$conf['meta_designator']}\n"; } else { $url = rawurlencode($k); $node_menu .= "<option value=\"{$url}\">{$k}\n"; } } $node_menu .= "</select>\n"; } } ///////////////////////////////////////////////////////////////////////////// // We are in the cluster view pop up a list box of nodes ///////////////////////////////////////////////////////////////////////////// if ($clustername && !$hostname) { # Drop in a host list if we have hosts if (!$showhosts) { $node_menu .= "[Summary Only]"; } elseif (is_array($hosts_up) || is_array($hosts_down)) { $node_menu .= "<select name=\"h\" OnChange=\"ganglia_form.submit();\">"; $node_menu .= "<option value=\"\">--Choose a Node</option>"; if (is_array($hosts_up)) { uksort($hosts_up, "strnatcmp"); foreach ($hosts_up as $k => $v) { $url = rawurlencode($k); $node_menu .= "<option value=\"{$url}\">{$k}\n"; } } if (is_array($hosts_down)) { uksort($hosts_down, "strnatcmp"); foreach ($hosts_down as $k => $v) { $url = rawurlencode($k); $node_menu .= "<option value=\"{$url}\">{$k}\n"; } } $node_menu .= "</select>\n"; } else { $node_menu .= "<b>No Hosts</b>\n"; } } else { $node_menu .= "<b>{$hostname}</b>\n"; $node_menu .= hiddenvar("h", $hostname); } return $node_menu; }