function get_doc_info($conn, $rel) { $name = ''; $url = ''; $url_links['host'] = Menu::get_menu_url('/ossim/av_asset/common/views/detail.php?asset_id=KKKK', 'environment', 'assets', 'assets'); $url_links['net'] = Menu::get_menu_url('/ossim/av_asset/network/view/list.php', 'environment', 'assets', 'networks'); $url_links['host_group'] = Menu::get_menu_url('/ossim/av_asset/group/view/list.php', 'environment', 'assets', 'asset_groups'); $url_links['net_group'] = Menu::get_menu_url('/ossim/netgroup/netgroup.php', 'environment', 'assets', 'network_groups'); $url_links['incident'] = Menu::get_menu_url('/ossim/incidents/incident.php?id=KKKK', 'analysis', 'tickets', 'tickets'); $url_links['directive'] = Menu::get_menu_url('/ossim/directives/index.php?toggled_dir=KKKK&dir_info=1', 'configuration', 'threat_intelligence', 'directives'); $url_links['plugin_sid'] = Menu::get_menu_url('/ossim/forensics/base_qry_main.php?clear_allcriteria=1&search=1&sensor=&sip=&plugin=&ossim_risk_a=+&submit=Signature&search_str=KKKK', 'analysis', 'security_events', 'security_events'); $url_links['taxonomy'] = ""; $key = $rel['key']; switch ($rel['type']) { case 'directive': $name = $rel['key']; break; case 'incident': $sql = "SELECT title from incident where id=?"; $params = array($rel['key']); $rs = $conn->Execute($sql, $params); if (!$rs) { $name = _('Unknown'); } elseif (!$rs->EOF) { $name = $rs->fields["title"]; } break; case 'plugin_sid': $plugin = explode('##', $rel['key']); $pid = $plugin[1]; $sid = $plugin[0]; if ($pid != '' && $sid != '') { $name = Plugin_sid::get_name_by_idsid($conn, $pid, $sid); if (!preg_match('/:/', $name)) { $name = Plugin::get_name_by_id($conn, $pid) . ": " . $name; } $key = $name; } else { $name = _('Unknown, Please edit this relationship'); $key = ''; } break; case 'host': case 'host_group': case 'net': case 'net_group': $field = $rel['type'] == 'host' ? 'hostname' : 'name'; $sql = "SELECT {$field} as name from " . $rel['type'] . " where id=UNHEX(?)"; $params = array($rel['key']); $rs = $conn->Execute($sql, $params); if (!$rs) { $name = _('Unknown'); } elseif (!$rs->EOF) { $name = $rs->fields["name"]; } break; case 'taxonomy': $tax = explode('##', $rel['key']); $ptype = intval($tax[0]) != 0 ? Product_type::get_name_by_id($conn, $tax[0]) : _('ANY'); $cat = intval($tax[1]) != 0 ? Category::get_name_by_id($conn, $tax[1]) : _('ANY'); $subcat = intval($tax[2]) != 0 ? Subcategory::get_name_by_id($conn, $tax[2]) : _('ANY'); $name = _('Product Type') . ': ' . $ptype . ', ' . _('Category') . ': ' . $cat . ', ' . _('Subcategory') . ': ' . $subcat; break; default: $name = _('Unknown'); } $url = $url_links[$rel['type']]; $url = $url != '' ? str_replace('KKKK', $key, $url) : 'javascript:;'; return array($name, $url); }