<?php //Pandora FMS- http://pandorafms.com // ================================================== // Copyright (c) 2005-2010 Artica Soluciones Tecnologicas // Please see http://pandorafms.org for full contribution list // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public License // as published by the Free Software Foundation; version 2 // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. global $config; require_once ('include/functions_agents.php'); include_once ('include/functions_reporting.php'); enterprise_include_once ('include/functions_metaconsole.php'); // Get list of agent + ip // Params: // * search_agents 1 // * id_agent // * q // * id_group $search_agents = (bool) get_parameter ('search_agents'); if ($search_agents && ($config['metaconsole'] == 0)) { require_once ('include/functions_agents.php'); $id_agent = (int) get_parameter ('id_agent'); $string = (string) get_parameter ('q'); /* q is what autocomplete plugin gives */ $id_group = (int) get_parameter('id_group'); $addedItems = html_entity_decode((string) get_parameter('add')); $addedItems = json_decode($addedItems); if ($addedItems != null) { foreach ($addedItems as $item) { echo $item . "|\n"; } } $filter = array (); switch ($config["dbtype"]) { case "mysql": case "postgresql": $filter[] = '(nombre COLLATE utf8_general_ci LIKE "%'.$string.'%" OR direccion LIKE "%'.$string.'%" OR comentarios LIKE "%'.$string.'%")'; break; case "oracle": $filter[] = '(UPPER(nombre) LIKE UPPER(\'%'.$string.'%\') OR UPPER(direccion) LIKE UPPER(\'%'.$string.'%\') OR UPPER(comentarios) LIKE UPPER(\'%'.$string.'%\'))'; break; } $filter['id_grupo'] = $id_group; $agents = agents_get_agents ($filter, array ('id_agente','nombre', 'direccion')); if ($agents === false) return; foreach ($agents as $agent) { echo io_safe_output($agent['nombre']) . "|" . io_safe_output($agent['id_agente']) . "|" . io_safe_output($agent['direccion']) . "\n"; } return; } elseif ($search_agents && ($config['metaconsole'] == 1)) { $servers = db_get_all_rows_sql ("SELECT * FROM tmetaconsole_setup"); if (!isset($servers)) { return; } foreach ($servers as $server) { if (!metaconsole_load_external_db ($server)) { continue; } $id_agent = (int) get_parameter ('id_agent'); $string = (string) get_parameter ('q'); /* q is what autocomplete plugin gives */ $id_group = (int) get_parameter('id_group'); $addedItems = html_entity_decode((string) get_parameter('add')); $addedItems = json_decode($addedItems); if ($addedItems != null) { foreach ($addedItems as $item) { echo $item . "|\n"; } } $filter = array (); switch ($config["dbtype"]) { case "mysql": case "postgresql": $filter[] = '(nombre COLLATE utf8_general_ci LIKE "%'.$string.'%" OR direccion LIKE "%'.$string.'%" OR comentarios LIKE "%'.$string.'%")'; break; case "oracle": $filter[] = '(UPPER(nombre) LIKE UPPER(\'%'.$string.'%\') OR UPPER(direccion) LIKE UPPER(\'%'.$string.'%\') OR UPPER(comentarios) LIKE UPPER(\'%'.$string.'%\'))'; break; } $filter['id_grupo'] = $id_group; $agents = agents_get_agents ($filter, array ('id_agente','nombre', 'direccion')); if ($agents === false) return; foreach ($agents as $agent) { echo io_safe_output($agent['nombre']) . " (" . io_safe_output($server['server_name']) . ") " . "|" . io_safe_output($agent['id_agente']) . "|" . io_safe_output($server['server_name']) . "|" . io_safe_output($agent['direccion']) . "|". "\n"; } //Restore db connection metaconsole_restore_db(); } return; } ?>