'; $layout_datas = get_db_all_rows_field_filter ('tlayout_data', 'id_layout', $id_layout); $lines = array (); if ($layout_datas !== false) { foreach ($layout_datas as $layout_data) { // Linked to other layout ?? - Only if not module defined if ($layout_data['id_layout_linked'] != 0) { $status = return_status_layout ($layout_data['id_layout_linked']); $status_parent = 3; } else { // Status for a simple module if ($layout_data['id_agente_modulo'] != 0) { $id_agent = get_db_value ("id_agente", "tagente_estado", "id_agente_modulo", $layout_data['id_agente_modulo']); $id_agent_module_parent = get_db_value ("id_agente_modulo", "tlayout_data", "id", $layout_data["parent_item"]); // Item value $status = return_status_agent_module ($layout_data['id_agente_modulo']); if ($layout_data['no_link_color'] == 1) $status_parent = 3; else $status_parent = return_status_agent_module ($id_agent_module_parent); // Status for a whole agent } elseif ($layout_data['id_agent'] != 0) { $id_agent = $layout_data['id_agent']; $agent_interval = get_agent_interval ($id_agent); $sql = sprintf ('SELECT MAX(estado) FROM tagente_estado, tagente_modulo WHERE tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_modulo.id_agente = %d AND ((module_interval > 0 AND utimestamp >= UNIX_TIMESTAMP() - module_interval * 2) OR (module_interval = 0 AND utimestamp >= UNIX_TIMESTAMP() - %d))', $id_agent, $agent_interval * 2); $status = get_db_sql ($sql); $status_parent = $status; } else { $status = 3; $status_parent = 3; $id_agent = 0; } } // STATIC IMAGE (type = 0) if ($layout_data['type'] == 0) { // Link image //index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=1 if ($status == 0) // Bad monitor $z_index = 3; elseif ($status == 2) // Warning $z_index = 2; elseif ($status == 4) // Alert $z_index = 4; else $z_index = 1; // Print BAD over good // Draw image echo '
'; if (!isset($id_agent)) $id_agent = 0; if ($show_links) { // Link to an agent if (($id_agent > 0) && ($layout_data['id_layout_linked'] == "" || $layout_data['id_layout_linked'] == 0)) { echo ''; // Link to a map } elseif ($layout_data['id_layout_linked']>0){ echo ''; // A void object } else { echo ''; } } $img_style = array (); $img_style["title"] = $layout_data["label"]; if (!empty ($layout_data["width"])) { $img_style["width"] = $layout_data["width"]; } if (!empty ($layout_data["height"])) { $img_style["height"] = $layout_data["height"]; } $img = "images/console/icons/".$layout_data["image"]; switch ($status) { case 1: case 4: //Critical (BAD or ALERT) $img .= "_bad.png"; break; case 0: //Normal (OK) $img .= "_ok.png"; break; case 2: //Warning $img .= "_warning.png"; break; default: $img .= ".png"; // Default is Grey (Other) } print_image ($img, false, $img_style); echo ""; // Print label echo "
"; echo $layout_data['label']; echo "
"; } // SINGLE GRAPH (type = 1) if ($layout_data['type'] == 1) { // single graph // Draw image echo '
'; if ($show_links) { if (($layout_data['id_layout_linked'] == "") || ($layout_data['id_layout_linked'] == 0)) { echo ''; } else { echo ''; } } print_image ("reporting/fgraph.php?tipo=sparse&id=".$layout_data['id_agente_modulo']."&label=".$layout_data['label']."&height=".$layout_data['height']."&width=".$layout_data['width']."&period=".$layout_data['period'], false, array ("title" => $layout_data['label'], "border" => 0)); echo ""; echo "
"; // Line, not implemented in editor } else if ($layout_data['type'] == 2) { $line['id'] = $layout_data['id']; $line['x'] = $layout_data['pos_x']; $line['y'] = $layout_data['pos_y']; $line['width'] = $layout_data['width']; $line['height'] = $layout_data['height']; $line['color'] = $layout_data['label_color']; array_push ($lines, $line); } // Get parent relationship - Create line data if ($layout_data["parent_item"] != "" && $layout_data["parent_item"] != 0) { $line['id'] = $layout_data['id']; $line['node_begin'] = 'layout-data-'.$layout_data["parent_item"]; $line['node_end'] = 'layout-data-'.$layout_data["id"]; $line['color'] = $status_parent ? '#00dd00' : '#dd0000'; array_push ($lines, $line); } } } if ($draw_lines) { /* If you want lines in the map, call using Javascript: draw_lines (lines, id_div); on body load, where id_div is the id of the div which holds the map */ echo ''; } // End main div echo ""; } /** * @return array Layout data types */ function get_layout_data_types () { $types = array (0 => __('Static graph'), 1 => __('Module graph')); return $types; } ?>