mirror of https://github.com/MISP/MISP
fix: [taxonomies] Fixed invalid tags being shown on the taxonomy index if mistyped versions exist
parent
2bf205b457
commit
f12cd3b826
|
@ -413,11 +413,28 @@ class Tag extends AppModel
|
|||
return ($this->saveAll($tags));
|
||||
}
|
||||
|
||||
public function getTagsByName($tag_names, $containTagConnectors = true)
|
||||
{
|
||||
$contain = array('EventTag', 'AttributeTag');
|
||||
$tag_params = array(
|
||||
'recursive' => -1,
|
||||
'conditions' => array('name' => $tag_names)
|
||||
);
|
||||
if ($containTagConnectors) {
|
||||
$tag_params['contain'] = $contain;
|
||||
}
|
||||
$tags_temp = $this->find('all', $tag_params);
|
||||
$tags = array();
|
||||
foreach ($tags_temp as $temp) {
|
||||
$tags[strtoupper($temp['Tag']['name'])] = $temp;
|
||||
}
|
||||
return $tags;
|
||||
}
|
||||
|
||||
public function getTagsForNamespace($namespace, $containTagConnectors = true)
|
||||
{
|
||||
|
||||
$contain = array('EventTag');
|
||||
$contain[] = 'AttributeTag';
|
||||
$contain = array('EventTag', 'AttributeTag');
|
||||
$tag_params = array(
|
||||
'recursive' => -1,
|
||||
'conditions' => array('UPPER(name) LIKE' => strtoupper($namespace) . '%'),
|
||||
|
|
|
@ -283,7 +283,8 @@ class Taxonomy extends AppModel
|
|||
if (empty($taxonomy)) {
|
||||
return false;
|
||||
}
|
||||
$tags = $this->Tag->getTagsForNamespace($taxonomy['Taxonomy']['namespace'], false);
|
||||
$tag_names = Hash::extract($taxonomy, 'entries.{n}.tag');
|
||||
$tags = $this->Tag->getTagsByName($tag_names, false);
|
||||
if (isset($taxonomy['entries'])) {
|
||||
foreach ($taxonomy['entries'] as $key => $temp) {
|
||||
$taxonomy['entries'][$key]['existing_tag'] = isset($tags[strtoupper($temp['tag'])]) ? $tags[strtoupper($temp['tag'])] : false;
|
||||
|
|
Loading…
Reference in New Issue