From aa19640497a8ee531603212e4deb4fc316d5637e Mon Sep 17 00:00:00 2001 From: "tatiana.llorente@artica.es" Date: Wed, 7 Nov 2018 10:34:14 +0100 Subject: [PATCH] Changed ORDER BY in SQL query - #3044 --- pandora_console/include/ajax/module.php | 34 +++++++++++++++++-------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/pandora_console/include/ajax/module.php b/pandora_console/include/ajax/module.php index 5c5908460f..91c73bff51 100755 --- a/pandora_console/include/ajax/module.php +++ b/pandora_console/include/ajax/module.php @@ -474,16 +474,17 @@ if ($list_modules) { $sort = get_parameter('sort', 'none'); $selected = 'border: 1px solid black;'; + $order[] = array('field' => 'tmodule_group.name', 'order' => 'ASC'); switch ($sortField) { case 'type': switch ($sort) { case 'up': $selectTypeUp = $selected; - $order = array('field' => 'tagente_modulo.id_modulo', 'order' => 'ASC'); + $order[] = array('field' => 'tagente_modulo.id_modulo', 'order' => 'ASC'); break; case 'down': $selectTypeDown = $selected; - $order = array('field' => 'tagente_modulo.id_modulo', 'order' => 'DESC'); + $order[] = array('field' => 'tagente_modulo.id_modulo', 'order' => 'DESC'); break; } break; @@ -491,11 +492,11 @@ if ($list_modules) { switch ($sort) { case 'up': $selectNameUp = $selected; - $order = array('field' => 'tagente_modulo.nombre', 'order' => 'ASC'); + $order[] = array('field' => 'tagente_modulo.nombre', 'order' => 'ASC'); break; case 'down': $selectNameDown = $selected; - $order = array('field' => 'tagente_modulo.nombre', 'order' => 'DESC'); + $order[] = array('field' => 'tagente_modulo.nombre', 'order' => 'DESC'); break; } break; @@ -503,11 +504,11 @@ if ($list_modules) { switch ($sort) { case 'up': $selectStatusUp = $selected; - $order = array('field' => 'tagente_estado.estado=0 DESC,tagente_estado.estado=3 DESC,tagente_estado.estado=2 DESC,tagente_estado.estado=1 DESC', 'order' => ''); + $order[] = array('field' => 'tagente_estado.estado=0 DESC,tagente_estado.estado=3 DESC,tagente_estado.estado=2 DESC,tagente_estado.estado=1 DESC', 'order' => ''); break; case 'down': $selectStatusDown = $selected; - $order = array('field' => 'tagente_estado.estado=1 DESC,tagente_estado.estado=2 DESC,tagente_estado.estado=3 DESC,tagente_estado.estado=0 DESC', 'order' => ''); + $order[] = array('field' => 'tagente_estado.estado=1 DESC,tagente_estado.estado=2 DESC,tagente_estado.estado=3 DESC,tagente_estado.estado=0 DESC', 'order' => ''); break; } break; @@ -515,11 +516,11 @@ if ($list_modules) { switch ($sort) { case 'up': $selectLastContactUp = $selected; - $order = array('field' => 'tagente_estado.utimestamp', 'order' => 'ASC'); + $order[] = array('field' => 'tagente_estado.utimestamp', 'order' => 'ASC'); break; case 'down': $selectLastContactDown = $selected; - $order = array('field' => 'tagente_estado.utimestamp', 'order' => 'DESC'); + $order[] = array('field' => 'tagente_estado.utimestamp', 'order' => 'DESC'); break; } break; @@ -535,7 +536,7 @@ if ($list_modules) { $selectLastContactUp = ''; $selectLastContactDown = ''; - $order = array('field' => 'tagente_modulo.nombre', 'order' => 'ASC'); + $order[] = array('field' => 'tagente_modulo.nombre', 'order' => 'ASC'); break; } @@ -590,7 +591,20 @@ if ($list_modules) { } //Count monitors/modules - $order_sql = $order['field'] . " " . $order['order']; + + // Build the order sql + $first = true; + foreach ($order as $ord) { + if ($first) { + $first = false; + } + else { + $order_sql .= ','; + } + + $order_sql .= $ord['field'].' '.$ord['order']; + } + $sql_condition = "FROM tagente_modulo $tags_join INNER JOIN tagente_estado