mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-28 16:24:54 +02:00
removed collation from filtering
This commit is contained in:
parent
a298b25a38
commit
e1776d7994
@ -374,23 +374,6 @@ echo '</form>';
|
|||||||
echo '<td>';
|
echo '<td>';
|
||||||
echo '</tr></table>';
|
echo '</tr></table>';
|
||||||
|
|
||||||
$order_collation = '';
|
|
||||||
switch ($config['dbtype']) {
|
|
||||||
case 'mysql':
|
|
||||||
$order_collation = '';
|
|
||||||
$order_collation = 'COLLATE utf8_general_ci';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'postgresql':
|
|
||||||
case 'oracle':
|
|
||||||
$order_collation = '';
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
// Default.
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
$selected = true;
|
$selected = true;
|
||||||
$selectNameUp = false;
|
$selectNameUp = false;
|
||||||
$selectNameDown = false;
|
$selectNameDown = false;
|
||||||
@ -405,7 +388,7 @@ switch ($sortField) {
|
|||||||
$selectRemoteUp = $selected;
|
$selectRemoteUp = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'remote ',
|
'field' => 'remote ',
|
||||||
'field2' => 'nombre '.$order_collation,
|
'field2' => 'nombre ',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -414,7 +397,7 @@ switch ($sortField) {
|
|||||||
$selectRemoteDown = $selected;
|
$selectRemoteDown = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'remote ',
|
'field' => 'remote ',
|
||||||
'field2' => 'nombre '.$order_collation,
|
'field2' => 'nombre ',
|
||||||
'order' => 'DESC',
|
'order' => 'DESC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -430,8 +413,8 @@ switch ($sortField) {
|
|||||||
case 'up':
|
case 'up':
|
||||||
$selectNameUp = $selected;
|
$selectNameUp = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'alias '.$order_collation,
|
'field' => 'alias ',
|
||||||
'field2' => 'alias '.$order_collation,
|
'field2' => 'alias ',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -439,8 +422,8 @@ switch ($sortField) {
|
|||||||
case 'down':
|
case 'down':
|
||||||
$selectNameDown = $selected;
|
$selectNameDown = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'alias '.$order_collation,
|
'field' => 'alias ',
|
||||||
'field2' => 'alias '.$order_collation,
|
'field2' => 'alias ',
|
||||||
'order' => 'DESC',
|
'order' => 'DESC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -457,7 +440,7 @@ switch ($sortField) {
|
|||||||
$selectOsUp = $selected;
|
$selectOsUp = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'id_os',
|
'field' => 'id_os',
|
||||||
'field2' => 'alias '.$order_collation,
|
'field2' => 'alias ',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -466,7 +449,7 @@ switch ($sortField) {
|
|||||||
$selectOsDown = $selected;
|
$selectOsDown = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'id_os',
|
'field' => 'id_os',
|
||||||
'field2' => 'alias '.$order_collation,
|
'field2' => 'alias ',
|
||||||
'order' => 'DESC',
|
'order' => 'DESC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -483,7 +466,7 @@ switch ($sortField) {
|
|||||||
$selectGroupUp = $selected;
|
$selectGroupUp = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'id_grupo',
|
'field' => 'id_grupo',
|
||||||
'field2' => 'alias '.$order_collation,
|
'field2' => 'alias ',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -492,7 +475,7 @@ switch ($sortField) {
|
|||||||
$selectGroupDown = $selected;
|
$selectGroupDown = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'id_grupo',
|
'field' => 'id_grupo',
|
||||||
'field2' => 'alias '.$order_collation,
|
'field2' => 'alias ',
|
||||||
'order' => 'DESC',
|
'order' => 'DESC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -511,8 +494,8 @@ switch ($sortField) {
|
|||||||
$selectGroupUp = '';
|
$selectGroupUp = '';
|
||||||
$selectGroupDown = '';
|
$selectGroupDown = '';
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'alias '.$order_collation,
|
'field' => 'alias ',
|
||||||
'field2' => 'alias '.$order_collation,
|
'field2' => 'alias ',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -520,30 +503,45 @@ switch ($sortField) {
|
|||||||
|
|
||||||
$search_sql = '';
|
$search_sql = '';
|
||||||
if ($search != '') {
|
if ($search != '') {
|
||||||
$sql = "SELECT DISTINCT taddress_agent.id_agent FROM taddress
|
$sql = sprintf(
|
||||||
INNER JOIN taddress_agent ON
|
'SELECT DISTINCT taddress_agent.id_agent FROM taddress
|
||||||
taddress.id_a = taddress_agent.id_a
|
INNER JOIN taddress_agent ON
|
||||||
WHERE taddress.ip LIKE '%$search%'";
|
taddress.id_a = taddress_agent.id_a
|
||||||
|
WHERE taddress.ip LIKE "%%%s%%"',
|
||||||
|
$search
|
||||||
|
);
|
||||||
|
|
||||||
$id = db_get_all_rows_sql($sql);
|
$id = db_get_all_rows_sql($sql);
|
||||||
if ($id != '') {
|
if ($id != '') {
|
||||||
$aux = $id[0]['id_agent'];
|
$aux = $id[0]['id_agent'];
|
||||||
$search_sql = ' AND ( LOWER(nombre) '.$order_collation."
|
$search_sql = sprintf(
|
||||||
LIKE LOWER('%$search%') OR tagente.id_agente = $aux";
|
' AND ( `nombre` LIKE "%%%s%%" OR tagente.id_agente = %d',
|
||||||
if (count($id) >= 2) {
|
$search,
|
||||||
for ($i = 1; $i < count($id); $i++) {
|
$aux
|
||||||
|
);
|
||||||
|
$nagent_count = count($id);
|
||||||
|
if ($nagent_count >= 2) {
|
||||||
|
for ($i = 1; $i < $nagent_count; $i++) {
|
||||||
$aux = $id[$i]['id_agent'];
|
$aux = $id[$i]['id_agent'];
|
||||||
$search_sql .= " OR tagente.id_agente = $aux";
|
$search_sql .= sprintf(
|
||||||
|
' OR tagente.id_agente = %d',
|
||||||
|
$aux
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$search_sql .= ')';
|
$search_sql .= ')';
|
||||||
} else {
|
} else {
|
||||||
$search_sql = ' AND ( nombre '.$order_collation."
|
$search_sql = sprintf(
|
||||||
LIKE LOWER('%$search%') OR alias ".$order_collation."
|
' AND ( nombre
|
||||||
LIKE LOWER('%$search%') OR comentarios ".$order_collation." LIKE LOWER('%$search%')
|
LIKE "%%%s%%" OR alias
|
||||||
OR EXISTS (SELECT * FROM tagent_custom_data
|
LIKE "%%%s%%" OR comentarios LIKE "%%%s%%"
|
||||||
WHERE id_agent = id_agente AND description LIKE '%$search%'))";
|
OR EXISTS (SELECT * FROM tagent_custom_data WHERE id_agent = id_agente AND description LIKE "%%%s%%")',
|
||||||
|
$search,
|
||||||
|
$search,
|
||||||
|
$search,
|
||||||
|
$search
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -296,8 +296,8 @@ class Agents
|
|||||||
$total = isset($total[0]['total']) ? $total[0]['total'] : 0;
|
$total = isset($total[0]['total']) ? $total[0]['total'] : 0;
|
||||||
|
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'alias COLLATE utf8_general_ci',
|
'field' => 'alias',
|
||||||
'field2' => 'nombre COLLATE utf8_general_ci',
|
'field2' => 'nombre',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
if (!$system->getConfig('metaconsole')) {
|
if (!$system->getConfig('metaconsole')) {
|
||||||
|
@ -319,29 +319,14 @@ $selectLastContactUp = false;
|
|||||||
$selectLastContactDown = false;
|
$selectLastContactDown = false;
|
||||||
$order = null;
|
$order = null;
|
||||||
|
|
||||||
|
|
||||||
$order_collation = '';
|
|
||||||
switch ($config['dbtype']) {
|
|
||||||
case 'mysql':
|
|
||||||
// $order_collation = " COLLATE utf8_general_ci";.
|
|
||||||
$order_collation = '';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'postgresql':
|
|
||||||
case 'oracle':
|
|
||||||
$order_collation = '';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
switch ($sortField) {
|
switch ($sortField) {
|
||||||
case 'remote':
|
case 'remote':
|
||||||
switch ($sort) {
|
switch ($sort) {
|
||||||
case 'up':
|
case 'up':
|
||||||
$selectRemoteUp = $selected;
|
$selectRemoteUp = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'remote'.$order_collation,
|
'field' => 'remote',
|
||||||
'field2' => 'nombre'.$order_collation,
|
'field2' => 'nombre',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -349,8 +334,8 @@ switch ($sortField) {
|
|||||||
case 'down':
|
case 'down':
|
||||||
$selectRemoteDown = $selected;
|
$selectRemoteDown = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'remote'.$order_collation,
|
'field' => 'remote',
|
||||||
'field2' => 'nombre'.$order_collation,
|
'field2' => 'nombre',
|
||||||
'order' => 'DESC',
|
'order' => 'DESC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -366,8 +351,8 @@ switch ($sortField) {
|
|||||||
case 'up':
|
case 'up':
|
||||||
$selectNameUp = $selected;
|
$selectNameUp = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'alias'.$order_collation,
|
'field' => 'alias',
|
||||||
'field2' => 'alias'.$order_collation,
|
'field2' => 'alias',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -375,8 +360,8 @@ switch ($sortField) {
|
|||||||
case 'down':
|
case 'down':
|
||||||
$selectNameDown = $selected;
|
$selectNameDown = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'alias'.$order_collation,
|
'field' => 'alias',
|
||||||
'field2' => 'alias'.$order_collation,
|
'field2' => 'alias',
|
||||||
'order' => 'DESC',
|
'order' => 'DESC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -393,7 +378,7 @@ switch ($sortField) {
|
|||||||
$selectOsUp = $selected;
|
$selectOsUp = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'id_os',
|
'field' => 'id_os',
|
||||||
'field2' => 'alias'.$order_collation,
|
'field2' => 'alias',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -402,7 +387,7 @@ switch ($sortField) {
|
|||||||
$selectOsDown = $selected;
|
$selectOsDown = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'id_os',
|
'field' => 'id_os',
|
||||||
'field2' => 'alias'.$order_collation,
|
'field2' => 'alias',
|
||||||
'order' => 'DESC',
|
'order' => 'DESC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -419,7 +404,7 @@ switch ($sortField) {
|
|||||||
$selectIntervalUp = $selected;
|
$selectIntervalUp = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'intervalo',
|
'field' => 'intervalo',
|
||||||
'field2' => 'alias'.$order_collation,
|
'field2' => 'alias',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -428,7 +413,7 @@ switch ($sortField) {
|
|||||||
$selectIntervalDown = $selected;
|
$selectIntervalDown = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'intervalo',
|
'field' => 'intervalo',
|
||||||
'field2' => 'alias'.$order_collation,
|
'field2' => 'alias',
|
||||||
'order' => 'DESC',
|
'order' => 'DESC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -445,7 +430,7 @@ switch ($sortField) {
|
|||||||
$selectGroupUp = $selected;
|
$selectGroupUp = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'id_grupo',
|
'field' => 'id_grupo',
|
||||||
'field2' => 'alias'.$order_collation,
|
'field2' => 'alias',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -454,7 +439,7 @@ switch ($sortField) {
|
|||||||
$selectGroupDown = $selected;
|
$selectGroupDown = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'id_grupo',
|
'field' => 'id_grupo',
|
||||||
'field2' => 'alias'.$order_collation,
|
'field2' => 'alias',
|
||||||
'order' => 'DESC',
|
'order' => 'DESC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -471,7 +456,7 @@ switch ($sortField) {
|
|||||||
$selectLastContactUp = $selected;
|
$selectLastContactUp = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'ultimo_contacto',
|
'field' => 'ultimo_contacto',
|
||||||
'field2' => 'alias'.$order_collation,
|
'field2' => 'alias',
|
||||||
'order' => 'DESC',
|
'order' => 'DESC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -480,7 +465,7 @@ switch ($sortField) {
|
|||||||
$selectLastContactDown = $selected;
|
$selectLastContactDown = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'ultimo_contacto',
|
'field' => 'ultimo_contacto',
|
||||||
'field2' => 'alias'.$order_collation,
|
'field2' => 'alias',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -497,7 +482,7 @@ switch ($sortField) {
|
|||||||
$selectDescriptionUp = $selected;
|
$selectDescriptionUp = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'comentarios',
|
'field' => 'comentarios',
|
||||||
'field2' => 'alias'.$order_collation,
|
'field2' => 'alias',
|
||||||
'order' => 'DESC',
|
'order' => 'DESC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -506,7 +491,7 @@ switch ($sortField) {
|
|||||||
$selectDescriptionDown = $selected;
|
$selectDescriptionDown = $selected;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'comentarios',
|
'field' => 'comentarios',
|
||||||
'field2' => 'alias'.$order_collation,
|
'field2' => 'alias',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -531,8 +516,8 @@ switch ($sortField) {
|
|||||||
$selectLastContactUp = false;
|
$selectLastContactUp = false;
|
||||||
$selectLastContactDown = false;
|
$selectLastContactDown = false;
|
||||||
$order = [
|
$order = [
|
||||||
'field' => 'alias'.$order_collation,
|
'field' => 'alias',
|
||||||
'field2' => 'alias'.$order_collation,
|
'field2' => 'alias',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
@ -540,41 +525,48 @@ switch ($sortField) {
|
|||||||
|
|
||||||
$search_sql = '';
|
$search_sql = '';
|
||||||
if ($search != '') {
|
if ($search != '') {
|
||||||
$sql = "SELECT DISTINCT taddress_agent.id_agent FROM taddress
|
$sql = sprintf(
|
||||||
INNER JOIN taddress_agent ON
|
'SELECT DISTINCT taddress_agent.id_agent FROM taddress
|
||||||
taddress.id_a = taddress_agent.id_a
|
INNER JOIN taddress_agent ON
|
||||||
WHERE taddress.ip LIKE '%$search%'";
|
taddress.id_a = taddress_agent.id_a
|
||||||
|
WHERE taddress.ip LIKE "%%%s%%"',
|
||||||
|
$search
|
||||||
|
);
|
||||||
|
|
||||||
$id = db_get_all_rows_sql($sql);
|
$id = db_get_all_rows_sql($sql);
|
||||||
if ($id != '') {
|
if ($id != '') {
|
||||||
$aux = $id[0]['id_agent'];
|
$aux = $id[0]['id_agent'];
|
||||||
$search_sql = ' AND ( nombre '.$order_collation."
|
$search_sql = sprintf(
|
||||||
LIKE '%$search%' OR alias ".$order_collation." LIKE '%$search%'
|
' AND ( `nombre` LIKE "%%%s%%" OR tagente.id_agente = %d',
|
||||||
OR tagente.id_agente = $aux";
|
$search,
|
||||||
if (count($id) >= 2) {
|
$aux
|
||||||
for ($i = 1; $i < count($id); $i++) {
|
);
|
||||||
|
$nagent_count = count($id);
|
||||||
|
if ($nagent_count >= 2) {
|
||||||
|
for ($i = 1; $i < $nagent_count; $i++) {
|
||||||
$aux = $id[$i]['id_agent'];
|
$aux = $id[$i]['id_agent'];
|
||||||
$search_sql .= " OR tagente.id_agente = $aux";
|
$search_sql .= sprintf(
|
||||||
|
' OR tagente.id_agente = %d',
|
||||||
|
$aux
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$search_sql .= ')';
|
$search_sql .= ')';
|
||||||
} else {
|
} else {
|
||||||
$search_sql = ' AND ( nombre '.$order_collation."
|
$search_sql = sprintf(
|
||||||
LIKE '%$search%'
|
' AND ( nombre
|
||||||
OR comentarios ".$order_collation." LIKE '%$search%'
|
LIKE "%%%s%%" OR alias
|
||||||
OR alias ".$order_collation." LIKE '%$search%') ";
|
LIKE "%%%s%%" OR comentarios LIKE "%%%s%%"
|
||||||
|
OR EXISTS (SELECT * FROM tagent_custom_data WHERE id_agent = id_agente AND description LIKE "%%%s%%")',
|
||||||
|
$search,
|
||||||
|
$search,
|
||||||
|
$search,
|
||||||
|
$search
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!empty($search_custom)) {
|
|
||||||
$search_sql_custom = " AND EXISTS (SELECT * FROM tagent_custom_data
|
|
||||||
WHERE id_agent = id_agente AND description LIKE '%$search_custom%')";
|
|
||||||
} else {
|
|
||||||
$search_sql_custom = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Show only selected groups.
|
// Show only selected groups.
|
||||||
if ($group_id > 0) {
|
if ($group_id > 0) {
|
||||||
$groups = [$group_id];
|
$groups = [$group_id];
|
||||||
@ -655,7 +647,7 @@ if ($strict_user) {
|
|||||||
|
|
||||||
$agents = agents_get_agents(
|
$agents = agents_get_agents(
|
||||||
[
|
[
|
||||||
'order' => 'nombre '.$order_collation.' ASC',
|
'order' => 'nombre '.' ASC',
|
||||||
'id_grupo' => $groups,
|
'id_grupo' => $groups,
|
||||||
'disabled' => 0,
|
'disabled' => 0,
|
||||||
'status' => $status,
|
'status' => $status,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user