mirror of https://github.com/MISP/MISP
chg: [genericElement:indexTable-links] Allow to craft an URL with custom
data_pathpull/5767/head
parent
68aab2bfc2
commit
e166f7489b
|
@ -1,5 +1,23 @@
|
|||
<?php
|
||||
/**
|
||||
* - url: url to reference. Can have `%s` in it to be replaced by `data_path` extracted value.
|
||||
* - url_params_data_paths: add dynamic URL elements such as an id to the URL. Can be an array with each value added in a separate param. Used if `url` does not have a `%s` marker
|
||||
*/
|
||||
$data_elements = Hash::extract($row, $field['data_path']);
|
||||
$url_param_data_paths = '';
|
||||
$urlWithData = empty($field['url']) ? '#' : h($field['url']);
|
||||
if (!empty($field['url_params_data_paths'])) {
|
||||
if (is_array($field['url_params_data_paths'])) {
|
||||
$temp = array();
|
||||
foreach ($field['url_params_data_paths'] as $path) {
|
||||
$temp[] = h(Hash::extract($row, $path)[0]);
|
||||
}
|
||||
$url_param_data_paths = implode('/', $temp);
|
||||
} else {
|
||||
$url_param_data_paths = h(Hash::extract($row, $field['url_params_data_paths'])[0]);
|
||||
}
|
||||
$urlWithData .= '/' . $url_param_data_paths;
|
||||
}
|
||||
$links = array();
|
||||
foreach ($data_elements as $data) {
|
||||
if (!empty($data['name'])) {
|
||||
|
@ -13,6 +31,8 @@
|
|||
$field['url'],
|
||||
$data
|
||||
);
|
||||
} elseif (!empty($field['url_params_data_paths'])) {
|
||||
$url = $urlWithData;
|
||||
} else {
|
||||
$url = $data;
|
||||
}
|
||||
|
|
|
@ -39,7 +39,8 @@
|
|||
'element' => 'links',
|
||||
'class' => 'short',
|
||||
'data_path' => 'GalaxyCluster.value',
|
||||
'url' => $baseurl . '/galaxy_clusters/view/%s'
|
||||
'url_params_data_paths' => 'GalaxyCluster.id',
|
||||
'url' => $baseurl . '/galaxy_clusters/view'
|
||||
),
|
||||
array(
|
||||
'name' => __('Synonyms'),
|
||||
|
|
Loading…
Reference in New Issue