Merge branch 'ent-9290-pete-sql-al-buscar-eventos-por-custom-data' into 'develop'

fix error collation events pandora_enterprise#9290

pandora_enterprise#9290

See merge request artica/pandorafms!5030
This commit is contained in:
Jimmy Olano 2022-08-01 00:22:53 +00:00
commit 2a5d075d03
1 changed files with 29 additions and 11 deletions

View File

@ -1091,18 +1091,36 @@ function events_get_all(
// Custom data. // Custom data.
if (empty($filter['custom_data']) === false) { if (empty($filter['custom_data']) === false) {
if ($filter['custom_data_filter_type'] === '1') { if (isset($config['dbconnection']->server_version) === true
$sql_filters[] = sprintf( && $config['dbconnection']->server_version > 80000
' AND JSON_VALID(custom_data) = 1 ) {
AND (JSON_EXTRACT(custom_data, "$.*") LIKE lower("%%%s%%") COLLATE utf8mb4_0900_ai_ci) ', if ($filter['custom_data_filter_type'] === '1') {
io_safe_output($filter['custom_data']) $sql_filters[] = sprintf(
); ' AND JSON_VALID(custom_data) = 1
AND (JSON_EXTRACT(custom_data, "$.*") LIKE lower("%%%s%%") COLLATE utf8mb4_0900_ai_ci) ',
io_safe_output($filter['custom_data'])
);
} else {
$sql_filters[] = sprintf(
' AND JSON_VALID(custom_data) = 1
AND (JSON_SEARCH(JSON_KEYS(custom_data), "all", lower("%%%s%%") COLLATE utf8mb4_0900_ai_ci) IS NOT NULL) ',
io_safe_output($filter['custom_data'])
);
}
} else { } else {
$sql_filters[] = sprintf( if ($filter['custom_data_filter_type'] === '1') {
' AND JSON_VALID(custom_data) = 1 $sql_filters[] = sprintf(
AND (JSON_SEARCH(JSON_KEYS(custom_data), "all", lower("%%%s%%") COLLATE utf8mb4_0900_ai_ci) IS NOT NULL) ', ' AND JSON_VALID(custom_data) = 1 AND JSON_EXTRACT(custom_data, "$.*") LIKE lower("%%%s%%") ',
io_safe_output($filter['custom_data']) $filter['custom_data'],
); $filter['custom_data']
);
} else {
$sql_filters[] = sprintf(
' AND JSON_VALID(custom_data) = 1 AND JSON_KEYS(custom_data) REGEXP "%s" ',
$filter['custom_data'],
$filter['custom_data']
);
}
} }
} }