function host() { $current_page = get_get_var_number("page", "1"); $menu_items = array("remove" => "Remove", "duplicate" => "Duplicate", "enable" => "Enable", "disable" => "Disable", "clear_stats" => "Clear Statistics", "change_snmp_opts" => "Change SNMP Options", "change_avail_opts" => "Change Availability Options", "change_poller" => "Change Poller"); $filter_array = array(); /* search field: device template */ if (isset_get_var("search_device_template")) { $filter_array["=host_template_id"] = get_get_var("search_device_template"); } /* search field: device status */ if (isset_get_var("search_status")) { $filter_array["=status"] = get_get_var("search_status"); } /* search field: filter (searches device description and hostname) */ if (isset_get_var("search_filter")) { $filter_array["%filter"] = array("hostname" => get_get_var("search_filter"), "description" => get_get_var("search_filter")); } /* get a list of all devices on this page */ $devices = api_device_list($filter_array, "description", "asc", read_config_option("num_rows_device") * ($current_page - 1), read_config_option("num_rows_device")); /* get the total number of devices on all pages */ $total_rows = api_device_total_get($filter_array); /* generate page list */ $url_string = build_get_url_string(array("search_device_template", "search_status", "search_filter")); $url_page_select = get_page_list($current_page, MAX_DISPLAY_PAGES, read_config_option("num_rows_device"), $total_rows, "devices.php" . $url_string . ($url_string == "" ? "?" : "&") . "page=|PAGE_NUM|"); form_start("devices.php"); $box_id = "1"; html_start_box("<strong>" . _("Devices") . "</strong>", "devices.php?action=edit", $url_page_select); html_header_checkbox(array(_("Description"), _("Status"), _("Hostname"), _("Current (ms)"), _("Average (ms)"), _("Availability")), $box_id); $i = 0; if (sizeof($devices) > 0) { foreach ($devices as $host) { ?> <tr class="item" id="box-<?php echo $box_id; ?> -row-<?php echo $host["id"]; ?> " onClick="display_row_select('<?php echo $box_id; ?> ',document.forms[0],'box-<?php echo $box_id; ?> -row-<?php echo $host["id"]; ?> ', 'box-<?php echo $box_id; ?> -chk-<?php echo $host["id"]; ?> ')" onMouseOver="display_row_hover('box-<?php echo $box_id; ?> -row-<?php echo $host["id"]; ?> ')" onMouseOut="display_row_clear('box-<?php echo $box_id; ?> -row-<?php echo $host["id"]; ?> ')"> <td class="title"> <a onClick="display_row_block('box-<?php echo $box_id; ?> -row-<?php echo $host["id"]; ?> ')" href="devices.php?action=edit&id=<?php echo $host["id"]; ?> "><span id="box-<?php echo $box_id; ?> -text-<?php echo $host["id"]; ?> "><?php echo html_highlight_words(get_get_var("search_filter"), $host["description"]); ?> </span></a> </td> <td> <?php echo get_colored_device_status($host["disabled"] == "on" ? true : false, $host["status"]); ?> </td> <td> <?php echo html_highlight_words(get_get_var("search_filter"), $host["hostname"]); ?> </td> <td> <?php echo round($host["cur_time"], 2); ?> </td> <td> <?php echo round($host["avg_time"], 2); ?> </td> <td> <?php echo round($host["availability"], 2); ?> % </td> <td class="checkbox" align="center"> <input type='checkbox' name='box-<?php echo $box_id; ?> -chk-<?php echo $host["id"]; ?> ' id='box-<?php echo $box_id; ?> -chk-<?php echo $host["id"]; ?> ' title="<?php echo $host["description"]; ?> "> </td> </tr> <?php } } else { ?> <tr class="empty"> <td colspan="6"> No devices found. </td> </tr> <?php } html_box_toolbar_draw($box_id, "0", "6", sizeof($filter_array) == 0 ? HTML_BOX_SEARCH_INACTIVE : HTML_BOX_SEARCH_ACTIVE, $url_page_select); html_end_box(false); html_box_actions_menu_draw($box_id, "0", $menu_items); html_box_actions_area_create($box_id); form_hidden_box("action_post", "device_list"); form_end(); /* fill in the list of available device templates for the search dropdown */ $search_device_templates = array(); $search_device_templates["-1"] = "Any"; $search_device_templates["0"] = "None"; $search_device_templates += array_rekey(api_device_template_list(), "id", "name"); /* fill in the list of available host status types for the search dropdown */ $search_host_status_types = array(); $search_host_status_types["-1"] = "Any"; $search_host_status_types["-2"] = "Disabled"; $search_host_status_types += api_device_status_type_list(); ?> <script language="JavaScript"> <!-- function action_area_handle_type(box_id, type, parent_div, parent_form) { if (type == 'remove') { parent_div.appendChild(document.createTextNode('Are you sure you want to remove these devices?')); parent_div.appendChild(action_area_generate_selected_rows(box_id)); parent_div.appendChild(action_area_generate_input('radio', 'box-' + box_id + '-remove_type', '1')); parent_div.appendChild(document.createTextNode('Leave all graphs and data sources untouched. Data sources will be disabled however.')); parent_div.appendChild(action_area_generate_break()); _elm_rt_input = action_area_generate_input('radio', 'box-' + box_id + '-remove_type', '2'); _elm_rt_input.checked = true; parent_div.appendChild(_elm_rt_input); parent_div.appendChild(document.createTextNode("Delete all associated graphs and data sources.")); action_area_update_header_caption(box_id, 'Remove Device'); action_area_update_submit_caption(box_id, 'Remove'); action_area_update_selected_rows(box_id, parent_form); }else if (type == 'duplicate') { parent_div.appendChild(document.createTextNode('Are you sure you want to duplicate these devices?')); parent_div.appendChild(action_area_generate_selected_rows(box_id)); parent_div.appendChild(action_area_generate_input('text', 'box-' + box_id + '-action-area-txt1', '')); action_area_update_header_caption(box_id, 'Duplicate Devices'); action_area_update_submit_caption(box_id, 'Duplicate'); action_area_update_selected_rows(box_id, parent_form); }else if (type == 'enable') { parent_div.appendChild(document.createTextNode('Are you sure you want to enable these devices?')); parent_div.appendChild(action_area_generate_selected_rows(box_id)); action_area_update_header_caption(box_id, 'Enable Devices'); action_area_update_submit_caption(box_id, 'Enable'); action_area_update_selected_rows(box_id, parent_form); }else if (type == 'disable') { parent_div.appendChild(document.createTextNode('Are you sure you want to disable these devices?')); parent_div.appendChild(action_area_generate_selected_rows(box_id)); action_area_update_header_caption(box_id, 'Disable Devices'); action_area_update_submit_caption(box_id, 'Disable'); action_area_update_selected_rows(box_id, parent_form); }else if (type == 'clear_stats') { parent_div.appendChild(document.createTextNode('Are you sure you want to clear polling statistics for these devices?')); parent_div.appendChild(action_area_generate_selected_rows(box_id)); action_area_update_header_caption(box_id, 'Clear Polling Statistics'); action_area_update_submit_caption(box_id, 'Clear'); action_area_update_selected_rows(box_id, parent_form); }else if (type == 'search') { _elm_dt_input = action_area_generate_select('box-' + box_id + '-search_device_template'); <?php echo get_js_dropdown_code('_elm_dt_input', $search_device_templates, isset_get_var("search_device_template") ? get_get_var("search_device_template") : "-1"); ?> _elm_ds_input = action_area_generate_select('box-' + box_id + '-search_status'); <?php echo get_js_dropdown_code('_elm_ds_input', $search_host_status_types, isset_get_var("search_status") ? get_get_var("search_status") : "-1"); ?> _elm_ht_input = action_area_generate_input('text', 'box-' + box_id + '-search_filter', '<?php echo get_get_var("search_filter"); ?> '); _elm_ht_input.size = '30'; parent_div.appendChild(action_area_generate_search_field(_elm_dt_input, 'Device Template', true, false)); parent_div.appendChild(action_area_generate_search_field(_elm_ds_input, 'Device Status', false, false)); parent_div.appendChild(action_area_generate_search_field(_elm_ht_input, 'Filter', false, true)); action_area_update_header_caption(box_id, 'Search'); action_area_update_submit_caption(box_id, 'Search'); } } --> </script> <?php }
function graph() { $current_page = get_get_var_number("page", "1"); $menu_items = array("remove" => "Remove", "duplicate" => "Duplicate", "change_graph_template" => "Change Graph Template", "change_host" => "Change Host", "convert_graph_template" => "Convert to Graph Template", "place_tree" => "Place on Tree"); $filter_array = array(); /* search field: device template */ if (isset_get_var("search_device")) { $filter_array["host_id"] = get_get_var("search_device"); } /* search field: filter (searches data source name) */ if (isset_get_var("search_filter")) { $filter_array["filter"] = array("title_cache|title" => get_get_var("search_filter")); } /* get a list of all graphs on this page */ $graphs = api_graph_list($filter_array, $current_page, read_config_option("num_rows_data_source")); /* get the total number of graphs on all pages */ $total_rows = api_graph_total_get($filter_array); /* generate page list */ $url_string = build_get_url_string(array("search_device", "search_filter")); $url_page_select = get_page_list($current_page, MAX_DISPLAY_PAGES, read_config_option("num_rows_graph"), $total_rows, "graphs.php" . $url_string . ($url_string == "" ? "?" : "&") . "page=|PAGE_NUM|"); form_start("graphs.php"); $box_id = "1"; html_start_box("<strong>" . _("Graphs") . "</strong>", "graphs.php?action=edit", $url_page_select); html_header_checkbox(array(_("Graph Title"), _("Template Name"), _("Size")), $box_id); $i = 0; if (sizeof($graphs) > 0) { foreach ($graphs as $graph) { ?> <tr class="item" id="box-<?php echo $box_id; ?> -row-<?php echo $graph["id"]; ?> " onClick="display_row_select('<?php echo $box_id; ?> ',document.forms[0],'box-<?php echo $box_id; ?> -row-<?php echo $graph["id"]; ?> ', 'box-<?php echo $box_id; ?> -chk-<?php echo $graph["id"]; ?> ')" onMouseOver="display_row_hover('box-<?php echo $box_id; ?> -row-<?php echo $graph["id"]; ?> ')" onMouseOut="display_row_clear('box-<?php echo $box_id; ?> -row-<?php echo $graph["id"]; ?> ')"> <td class="title"> <a onClick="display_row_block('box-<?php echo $box_id; ?> -row-<?php echo $graph["id"]; ?> ')" href="graphs.php?action=edit&id=<?php echo $graph["id"]; ?> "><span id="box-<?php echo $box_id; ?> -text-<?php echo $graph["id"]; ?> "><?php echo html_highlight_words(get_get_var("search_filter"), $graph["title_cache"]); ?> </span></a> </td> <td> <?php echo empty($graph["template_name"]) ? "<em>" . _("None") . "</em>" : $graph["template_name"]; ?> </td> <td> <?php echo $graph["height"]; ?> x<?php echo $graph["width"]; ?> </td> <td class="checkbox" align="center"> <input type='checkbox' name='box-<?php echo $box_id; ?> -chk-<?php echo $graph["id"]; ?> ' id='box-<?php echo $box_id; ?> -chk-<?php echo $graph["id"]; ?> ' title="<?php echo $graph["title_cache"]; ?> "> </td> </tr> <?php } } else { ?> <tr class="empty"> <td colspan="6"> No graphs found. </td> </tr> <?php } html_box_toolbar_draw($box_id, "0", "3", sizeof($filter_array) == 0 ? HTML_BOX_SEARCH_INACTIVE : HTML_BOX_SEARCH_ACTIVE, $url_page_select); html_end_box(false); html_box_actions_menu_draw($box_id, "0", $menu_items); html_box_actions_area_create($box_id); form_hidden_box("action_post", "graph_list"); form_end(); /* pre-cache the device list since we need it in more than one place below */ $device_list = array_rekey(api_device_list(), "id", "description"); /* fill in the list of available devices for the search dropdown */ $search_devices = array(); $search_devices["-1"] = "Any"; $search_devices["0"] = "None"; $search_devices += $device_list; /* fill in the list of available devices for the change host dropdown */ $change_host_list = array(); $change_host_list["0"] = "None"; $change_host_list += $device_list; ?> <script language="JavaScript"> <!-- function action_area_handle_type(box_id, type, parent_div, parent_form) { if (type == 'remove') { parent_div.appendChild(document.createTextNode('Are you sure you want to remove these graphs?')); parent_div.appendChild(action_area_generate_selected_rows(box_id)); action_area_update_header_caption(box_id, 'Remove Graph'); action_area_update_submit_caption(box_id, 'Remove'); action_area_update_selected_rows(box_id, parent_form); }else if (type == 'duplicate') { parent_div.appendChild(document.createTextNode('Are you sure you want to duplicate these graphs?')); parent_div.appendChild(action_area_generate_selected_rows(box_id)); parent_div.appendChild(action_area_generate_input('text', 'box-' + box_id + '-action-area-txt1', '')); action_area_update_header_caption(box_id, 'Duplicate Graph'); action_area_update_submit_caption(box_id, 'Duplicate'); action_area_update_selected_rows(box_id, parent_form); }else if (type == 'search') { _elm_dt_input = action_area_generate_select('box-' + box_id + '-search_device'); <?php echo get_js_dropdown_code('_elm_dt_input', $search_devices, isset_get_var("search_device") ? get_get_var("search_device") : "-1"); ?> _elm_ht_input = action_area_generate_input('text', 'box-' + box_id + '-search_filter', '<?php echo get_get_var("search_filter"); ?> '); _elm_ht_input.size = '30'; parent_div.appendChild(action_area_generate_search_field(_elm_dt_input, 'Device', true, false)); parent_div.appendChild(action_area_generate_search_field(_elm_ht_input, 'Filter', false, true)); action_area_update_header_caption(box_id, 'Search'); action_area_update_submit_caption(box_id, 'Search'); }else if (type == 'change_host') { parent_div.appendChild(document.createTextNode('Are you sure you want to change the host for these graphs?')); parent_div.appendChild(action_area_generate_selected_rows(box_id)); _elm_dt_input = action_area_generate_select('box-' + box_id + '-change_device'); <?php echo get_js_dropdown_code('_elm_dt_input', $change_host_list, "0"); ?> parent_div.appendChild(action_area_generate_search_field(_elm_dt_input, 'New Device', true, true)); action_area_update_header_caption(box_id, 'Change Host'); action_area_update_submit_caption(box_id, 'Change'); action_area_update_selected_rows(box_id, parent_form); } } --> </script> <?php }
function _graph_tree_item_field__device($field_name, $field_value = "", $field_id = 0) { require_once(CACTI_BASE_PATH . "/lib/sys/html_form.php"); require_once(CACTI_BASE_PATH . "/lib/device/device_info.php"); ?> <tr class="<?php echo field_get_row_style();?>" id="row_field_device_<?php echo $field_id;?>"> <td width="50%" class="field-row"> <span class="textEditTitle"><?php echo _("Device");?></span><br> <?php echo _("Choose a device from this list to add it to the tree.");?> </td> <td class="field-row" colspan="2"> <?php $devices = api_device_list(); $_devices = array(); if (is_array($devices)) { foreach ($devices as $device) { $_devices{$device["id"]} = $device["description"] . " (" . $device["hostname"] . ")"; } } form_dropdown($field_name, $_devices, "", "", $field_value, "", 1);?> </td> </tr> <?php }