From aea9a5335b7f2126630dfc7da5b2ae457caf392b Mon Sep 17 00:00:00 2001 From: mdtrooper <tres.14159@gmail.com> Date: Wed, 21 Jul 2010 18:07:21 +0000 Subject: [PATCH] 2010-07-21 Miguel de Dios <miguel.dedios@artica.es> * operation/agentes/estado_ultimopaquete.php: added code for sort by data. * operation/agentes/estado_monitores.php, godmode/agentes/module_manager.php: added the icons and source code for order rows of list alerts by columns Module Name, Type, Interval and Timestamp. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3052 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_console/ChangeLog | 10 ++ .../godmode/agentes/module_manager.php | 99 +++++++++++++-- .../operation/agentes/estado_monitores.php | 117 ++++++++++++++++-- .../agentes/estado_ultimopaquete.php | 22 +++- 4 files changed, 232 insertions(+), 16 deletions(-) diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index ebdd461d59..ef9e56cd44 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,13 @@ +2010-07-21 Miguel de Dios <miguel.dedios@artica.es> + + * operation/agentes/estado_ultimopaquete.php: added code for sort by + data. + + * operation/agentes/estado_monitores.php, + godmode/agentes/module_manager.php: added the icons and source code for + order rows of list alerts by columns Module Name, Type, Interval and + Timestamp. + 2010-07-21 Miguel de Dios <miguel.dedios@artica.es> * include/functions_html.php: lost in previus commit the change to diff --git a/pandora_console/godmode/agentes/module_manager.php b/pandora_console/godmode/agentes/module_manager.php index 79dca89b23..34f45e978b 100644 --- a/pandora_console/godmode/agentes/module_manager.php +++ b/pandora_console/godmode/agentes/module_manager.php @@ -125,10 +125,87 @@ if ($multiple_delete) { echo "<h3>".__('Assigned modules')."</h3>"; +$url = 'index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=module&id_agente=' . $id_agente; +$selectNameUp = ''; +$selectNameDown = ''; +$selectServerUp = ''; +$selectServerDown = ''; +$selectTypeUp = ''; +$selectTypeDown = ''; +$selectIntervalUp = ''; +$selectIntervalDown = ''; +$sortField = get_parameter('sort_field'); +$sort = get_parameter('sort', 'none'); +$selected = 'border: 1px solid black;'; + +$order[] = array('field' => 'id_module_group', 'order' => 'ASC'); + +switch ($sortField) { + case 'name': + switch ($sort) { + case 'up': + $selectNameUp = $selected; + $order[] = array('field' => 'tagente_modulo.nombre', 'order' => 'ASC'); + break; + case 'down': + $selectNameDown = $selected; + $order[] = array('field' => 'tagente_modulo.nombre', 'order' => 'DESC'); + break; + } + break; + case 'server': + switch ($sort) { + case 'up': + $selectServerUp = $selected; + $order[] = array('field' => 'id_modulo', 'order' => 'ASC'); + break; + case 'down': + $selectServerDown = $selected; + $order[] = array('field' => 'id_modulo', 'order' => 'DESC'); + break; + } + break; + case 'type': + switch ($sort) { + case 'up': + $selectTypeUp = $selected; + $order[] = array('field' => 'id_tipo_modulo', 'order' => 'ASC'); + break; + case 'down': + $selectTypeDown = $selected; + $order[] = array('field' => 'id_tipo_modulo', 'order' => 'DESC'); + break; + } + break; + case 'interval': + switch ($sort) { + case 'up': + $selectIntervalUp = $selected; + $order[] = array('field' => 'module_interval', 'order' => 'ASC'); + break; + case 'down': + $selectIntervalDown = $selected; + $order[] = array('field' => 'module_interval', 'order' => 'DESC'); + break; + } + break; + default: + $selectNameUp = $selected; + $selectNameDown = ''; + $selectServerUp = ''; + $selectServerDown = ''; + $selectTypeUp = ''; + $selectTypeDown = ''; + $selectIntervalUp = ''; + $selectIntervalDown = ''; + $order[] = array('field' => 'nombre', 'order' => 'ASC'); + break; +} + $modules = get_db_all_rows_filter ('tagente_modulo', array ('delete_pending' => 0, 'id_agente' => $id_agente, - 'order' => 'id_module_group, nombre'), + 'order' => $order), array ('id_agente_modulo', 'id_tipo_modulo', 'descripcion', 'nombre', 'max', 'min', 'module_interval', 'id_modulo', 'id_module_group', 'disabled',)); @@ -140,12 +217,20 @@ if ($modules === false) { $table->width = '95%'; $table->head = array (); -$table->head[0] = __('Name'); +$table->head[0] = __('Name') . ' ' . + '<a href="' . $url . '&sort_field=name&sort=up"><img src="images/sort_up.png" style="' . $selectNameUp . '" /></a>' . + '<a href="' . $url . '&sort_field=name&sort=down"><img src="images/sort_down.png" style="' . $selectNameDown . '" /></a>'; if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) $table->head[1] = "<span title='" . __('Policy') . "'>" . __('P.') . "</span>"; -$table->head[2] = "<span title='" . __('Server') . "'>" . __('S.') . "</span>"; -$table->head[3] = __('Type'); -$table->head[4] = __('Interval'); +$table->head[2] = "<span title='" . __('Server') . "'>" . __('S.') . "</span>" . ' ' . + '<a href="' . $url . '&sort_field=server&sort=up"><img src="images/sort_up.png" style="' . $selectServerUp . '" /></a>' . + '<a href="' . $url . '&sort_field=server&sort=down"><img src="images/sort_down.png" style="' . $selectServerDown . '" /></a>'; +$table->head[3] = __('Type') . ' ' . + '<a href="' . $url . '&sort_field=type&sort=up"><img src="images/sort_up.png" style="' . $selectTypeUp . '" /></a>' . + '<a href="' . $url . '&sort_field=type&sort=down"><img src="images/sort_down.png" style="' . $selectTypeDown . '" /></a>'; +$table->head[4] = __('Interval') . ' ' . + '<a href="' . $url . '&sort_field=interval&sort=up"><img src="images/sort_up.png" style="' . $selectIntervalUp . '" /></a>' . + '<a href="' . $url . '&sort_field=interval&sort=down"><img src="images/sort_down.png" style="' . $selectIntervalDown . '" /></a>'; $table->head[5] = __('Description'); $table->head[6] = __('Max/Min'); $table->head[7] = __('Action'); @@ -153,10 +238,10 @@ $table->head[7] = __('Action'); $table->style = array (); $table->style[0] = 'font-weight: bold'; $table->size = array (); -$table->size[2] = '35px'; +$table->size[2] = '55px'; $table->size[7] = '65px'; $table->align = array (); -$table->align[2] = 'left'; +$table->align[2] = 'center'; $table->align[7] = 'left'; $table->data = array (); diff --git a/pandora_console/operation/agentes/estado_monitores.php b/pandora_console/operation/agentes/estado_monitores.php index bfb834d9aa..4e892b9a9c 100644 --- a/pandora_console/operation/agentes/estado_monitores.php +++ b/pandora_console/operation/agentes/estado_monitores.php @@ -24,6 +24,99 @@ if (!isset ($id_agente)) { exit; } +$id_agent = get_parameter('id_agente'); +$url = 'index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=' . $id_agent; +$selectTypeUp = ''; +$selectTypeDown = ''; +$selectNameUp = ''; +$selectNameDown = ''; +$selectStatusUp = ''; +$selectStatusDown = ''; +$selectDataUp = ''; +$selectDataDown = ''; +$selectLastContactUp = ''; +$selectLastContactDown = ''; +$sortField = get_parameter('sort_field'); +$sort = get_parameter('sort', 'none'); +$selected = 'border: 1px solid black;'; + +switch ($sortField) { + case 'type': + switch ($sort) { + case 'up': + $selectTypeUp = $selected; + $order = array('field' => 'tagente_modulo.id_tipo_modulo', 'order' => 'ASC'); + break; + case 'down': + $selectTypeDown = $selected; + $order = array('field' => 'tagente_modulo.id_tipo_modulo', 'order' => 'DESC'); + break; + } + break; + case 'name': + switch ($sort) { + case 'up': + $selectNameUp = $selected; + $order = array('field' => 'tagente_modulo.nombre', 'order' => 'ASC'); + break; + case 'down': + $selectNameDown = $selected; + $order = array('field' => 'tagente_modulo.nombre', 'order' => 'DESC'); + break; + } + break; + case 'status': + switch ($sort) { + case 'up': + $selectStatusUp = $selected; + $order = array('field' => 'tagente_estado.estado', 'order' => 'ASC'); + break; + case 'down': + $selectStatusDown = $selected; + $order = array('field' => 'tagente_estado.estado', 'order' => 'DESC'); + break; + } + break; + case 'data': + switch ($sort) { + case 'up': + $selectDataUp = $selected; + $order = array('field' => 'tagente_estado.datos', 'order' => 'ASC'); + break; + case 'down': + $selectDataDown = $selected; + $order = array('field' => 'tagente_estado.datos', 'order' => 'DESC'); + break; + } + break; + case 'last_contact': + switch ($sort) { + case 'up': + $selectLastContactUp = $selected; + $order = array('field' => 'tagente_estado.utimestamp', 'order' => 'ASC'); + break; + case 'down': + $selectLastContactDown = $selected; + $order = array('field' => 'tagente_estado.utimestamp', 'order' => 'DESC'); + break; + } + break; + default: + $selectTypeUp = ''; + $selectTypeDown = ''; + $selectNameUp = $selected; + $selectNameDown = ''; + $selectStatusUp = ''; + $selectStatusDown = ''; + $selectDataUp = ''; + $selectDataDown = ''; + $selectLastContactUp = ''; + $selectLastContactDown = ''; + + $order = array('field' => 'tagente_modulo.nombre', 'order' => 'ASC'); + break; +} + // Get all module from agent $sql = sprintf (" SELECT * @@ -35,8 +128,8 @@ $sql = sprintf (" AND tagente_modulo.disabled = 0 AND tagente_modulo.delete_pending = 0 AND tagente_estado.utimestamp != 0 - ORDER BY tagente_modulo.id_module_group , tagente_modulo.nombre - ", $id_agente); + ORDER BY tagente_modulo.id_module_group , %s %s + ", $id_agente, $order['field'], $order['order']); $modules = get_db_all_rows_sql ($sql); if (empty ($modules)) { @@ -50,13 +143,23 @@ $table->head = array (); $table->data = array (); $table->head[0] = ''; -$table->head[1] = __('Type'); -$table->head[2] = __('Module name'); +$table->head[1] = __('Type') . ' ' . + '<a href="' . $url . '&sort_field=type&sort=up"><img src="images/sort_up.png" style="' . $selectTypeUp . '" /></a>' . + '<a href="' . $url . '&sort_field=type&sort=down"><img src="images/sort_down.png" style="' . $selectTypeDown . '" /></a>'; +$table->head[2] = __('Module name') . ' ' . + '<a href="' . $url . '&sort_field=name&sort=up"><img src="images/sort_up.png" style="' . $selectNameUp . '" /></a>' . + '<a href="' . $url . '&sort_field=name&sort=down"><img src="images/sort_down.png" style="' . $selectNameDown . '" /></a>'; $table->head[3] = __('Description'); -$table->head[4] = __('Status'); -$table->head[5] = __('Data'); +$table->head[4] = __('Status') . ' ' . + '<a href="' . $url . '&sort_field=status&sort=up"><img src="images/sort_up.png" style="' . $selectStatusUp . '" /></a>' . + '<a href="' . $url . '&sort_field=status&sort=down"><img src="images/sort_down.png" style="' . $selectStatusDown . '" /></a>'; +$table->head[5] = __('Data') . ' ' . + '<a href="' . $url . '&sort_field=data&sort=up"><img src="images/sort_up.png" style="' . $selectDataUp . '" /></a>' . + '<a href="' . $url . '&sort_field=data&sort=down"><img src="images/sort_down.png" style="' . $selectDataDown . '" /></a>'; $table->head[6] = __('Graph'); -$table->head[7] = __('Last contact'); +$table->head[7] = __('Last contact') . ' ' . + '<a href="' . $url . '&sort_field=last_contact&sort=up"><img src="images/sort_up.png" style="' . $selectLastContactUp . '" /></a>' . + '<a href="' . $url . '&sort_field=last_contact&sort=down"><img src="images/sort_down.png" style="' . $selectLastContactDown . '" /></a>'; $table->align = array("left","left","left","left","center"); diff --git a/pandora_console/operation/agentes/estado_ultimopaquete.php b/pandora_console/operation/agentes/estado_ultimopaquete.php index 9b112733d0..c672f3b9c4 100644 --- a/pandora_console/operation/agentes/estado_ultimopaquete.php +++ b/pandora_console/operation/agentes/estado_ultimopaquete.php @@ -59,6 +59,8 @@ $selectIntervalUp = ''; $selectIntervalDown = ''; $selectTimestampUp = ''; $selectTimestampDown = ''; +$selectDataUp = ''; +$selectDataDown = ''; $order[] = array('field' => 'id_module_group', 'order' => 'ASC'); @@ -111,6 +113,19 @@ switch ($sortField) { break; } break; + case 'data': + switch ($sort) { + case 'up': + $selectDataUp = $selected; + $order[] = array('field' => 'tagente_estado.datos', 'order' => 'ASC'); + break; + case 'down': + $selectDataDown = $selected; + $order[] = array('field' => 'tagente_estado.datos', 'order' => 'DESC'); + break; + } + break; + break; default: $selectNameUp = $selected; $selectNameDown = ''; @@ -136,7 +151,7 @@ if ($modules === false) { return; } -echo "<table width='95%' cellpadding='3' cellspacing='3' class='databox'>"; +echo "<table width='98%' cellpadding='3' cellspacing='3' class='databox'>"; echo "<th></th>"; echo "<th>".__('Module name') . ' ' . '<a href="' . $url . '&sort_field=name&sort=up"><img src="images/sort_up.png" style="' . $selectNameUp . '" /></a>' . @@ -151,7 +166,10 @@ echo "<th>".__('int') . ' ' . '<a href="' . $url . '&sort_field=interval&sort=down"><img src="images/sort_down.png" style="' . $selectIntervalDown . '" /></a>'; echo "</th>"; echo "<th>".__('Description') . "</th>"; -echo "<th>".__('Data') . "</th>"; +echo "<th>".__('Data') . ' ' . + '<a href="' . $url . '&sort_field=data&sort=up"><img src="images/sort_up.png" style="' . $selectDataUp . '" /></a>' . + '<a href="' . $url . '&sort_field=data&sort=down"><img src="images/sort_down.png" style="' . $selectDataDown . '" /></a>'; +echo "</th>"; echo "<th>".__('Graph')."</th>"; echo "<th>".__('Raw Data')."</th>"; echo "<th>".__('Timestamp') . ' ' .