$value) { $values_insert[] = "(".$value['id_server'].", ".$value['id_agente'].", '".$value['description']."')"; } $values_insert_implode = implode(",", $values_insert); $query_insert ="INSERT INTO temp_custom_fields VALUES ". $values_insert_implode; db_process_sql($query_insert); //search table for alias, custom field data, server_name, direction $search_query = ""; if($search['value'] != ''){ $search_query = ' AND (tma.alias LIKE "%' . $search['value']. '%"'; $search_query .= ' OR tma.server_name LIKE "%' . $search['value']. '%"'; $search_query .= ' OR tma.direccion LIKE "%' . $search['value']. '%"'; $search_query .= ' OR temp.name_custom_fields LIKE "%' . $search['value']. '%" ) '; } //query all fields result $query = sprintf("SELECT tma.id_agente, tma.id_tagente, tma.id_tmetaconsole_setup, tma.alias, tma.direccion, tma.server_name, temp.name_custom_fields, (CASE WHEN tma.critical_count > 0 THEN 1 WHEN tma.critical_count = 0 AND tma.warning_count > 0 THEN 2 WHEN tma.critical_count = 0 AND tma.warning_count = 0 AND tma.unknown_count > 0 THEN 3 WHEN tma.critical_count = 0 AND tma.warning_count = 0 AND tma.unknown_count = 0 AND tma.notinit_count <> tma.total_count THEN 0 WHEN tma.total_count = tma.notinit_count THEN 5 ELSE 0 END) AS `status` FROM tmetaconsole_agent tma INNER JOIN temp_custom_fields temp ON temp.id_agent = tma.id_tagente AND temp.id_server = tma.id_tmetaconsole_setup WHERE tma.disabled = 0 %s %s LIMIT %d OFFSET %d ", $search_query, $order_by, $length, $start ); $result = db_get_all_rows_sql($query); //query count $query_count = sprintf("SELECT COUNT(tma.id_agente) AS `count` FROM tmetaconsole_agent tma INNER JOIN temp_custom_fields temp ON temp.id_agent = tma.id_tagente AND temp.id_server = tma.id_tmetaconsole_setup WHERE tma.disabled = 0 %s ", $search_query ); $count = db_get_sql($query_count); //prepare rows for table dinamic $data = array(); foreach ($result as $values) { switch ($values['status']) { case AGENT_STATUS_NORMAL: $image_status = html_print_image( 'images/status_sets/default/agent_ok.png', true, array( 'title' => __('Agents ok') ) ); break; case AGENT_STATUS_CRITICAL: $image_status = html_print_image( 'images/status_sets/default/agent_critical.png', true, array( 'title' => __('Agents critical') ) ); break; case AGENT_STATUS_WARNING: $image_status = html_print_image( 'images/status_sets/default/agent_warning.png', true, array( 'title' => __('Agents warning') ) ); break; case AGENT_STATUS_UNKNOWN: $image_status = html_print_image( 'images/status_sets/default/agent_down.png', true, array( 'title' => __('Agents unknown') ) ); break; case AGENT_STATUS_ALERT_FIRED: $image_status = 'alert'; break; case AGENT_STATUS_NOT_INIT: $image_status = html_print_image( 'images/status_sets/default/agent_no_data.png', true, array( 'title' => __('Agents not init') ) ); break; default: $image_status= html_print_image( 'images/status_sets/default/agent_ok.png', true, array( 'title' => __('Agents ok') ) ); break; } $data[] = array( "ref" => $referencia, "data_custom_field" => $values['name_custom_fields'], "server" => $values['server_name'], "agent" => $values['alias'], "IP" => $values['direccion'], "status" => $image_status, "id_agent" => $values['id_tagente'], "id_server" => $values['id_tmetaconsole_setup'] ); } $result = array( "draw" => $draw, "recordsTotal" => count($data), "recordsFiltered" => $count, "data" => $data ); echo json_encode($result); return; } if($build_table_child_custom_fields){ $id_agent = get_parameter("id_agent", 0); $id_server = get_parameter("id_server", 0); $module_search = str_replace('amp;', '',get_parameter("module_search", '')); if(!$id_server || !$id_agent){ return false; } if($module_search != ''){ $name_where = " AND tam.nombre LIKE '%" . $module_search . "%'"; } if (is_metaconsole()) { $server = metaconsole_get_connection_by_id ($id_server); metaconsole_connect($server); } $query = sprintf("SELECT tam.nombre, tam.min_warning, tam.max_warning, tam.min_critical, tam.max_critical, tam.str_warning, tam.str_critical, tae.estado, tae.current_interval, tae.utimestamp, tae.datos FROM tagente_modulo tam INNER JOIN tagente_estado tae ON tam.id_agente_modulo = tae.id_agente_modulo WHERE tam.id_agente = %d %s", $id_agent, $name_where ); $modules = db_get_all_rows_sql ($query); $table_modules = new stdClass(); $table_modules->width = "100%"; $table_modules->class="databox data"; $table_modules->head = array(); $table_modules->head[0] = __('Module name'); $table_modules->head[1] = __('Data'); $table_modules->head[2] = __('Treshold'); $table_modules->head[3] = __('Current interval'); $table_modules->head[4] = __('Timestamp'); $table_modules->head[5] = __('Status'); $table_modules->data = array(); if(isset($modules) && is_array($modules)){ foreach ($modules as $key => $value) { $table_modules->data[$key][0] = $value['nombre']; $table_modules->data[$key][1] = $value['datos']; $table_modules->data[$key][2] = ui_print_module_warn_value ( $value["max_warning"], $value["min_warning"], $value["str_warning"], $value["max_critical"], $value["min_critical"], $value["str_critical"] ); $table_modules->data[$key][3] = $value['current_interval']; $table_modules->data[$key][4] = ui_print_timestamp($value['utimestamp'], true); switch ($value['estado']) { case 0: case 300: $table_modules->data[$key][5] = html_print_image( 'images/status_sets/default/severity_normal.png', true, array( 'title' => __('Modules normal') ) ); break; case 1: case 100: $table_modules->data[$key][5] = html_print_image( 'images/status_sets/default/severity_critical.png', true, array( 'title' => __('Modules critical') ) ); break; case 2: case 200: $table_modules->data[$key][5] = html_print_image( 'images/status_sets/default/severity_warning.png', true, array( 'title' => __('Modules warning') ) ); break; case 3: $table_modules->data[$key][5] = html_print_image( 'images/status_sets/default/severity_maintenance.png', true, array( 'title' => __('Modules unknown') ) ); break; case 4: case 5: $table_modules->data[$key][5] = html_print_image( 'images/status_sets/default/severity_informational.png', true, array( 'title' => __('Modules no init') ) ); break; default: $table_modules->data[$key][5] = html_print_image( 'images/status_sets/default/severity_normal.png', true, array( 'title' => __('Modules normal') ) ); break; } } } if (is_metaconsole()) { metaconsole_restore_db(); } html_print_table ($table_modules); return; } if($build_table_save_filter){ $type_form = get_parameter("type_form", ''); if($type_form == 'save'){ $tabs = '