throw new Exception(ossim_get_error_clean());
}
$db = new ossim_db();
$conn = $db->connect();
$filters = array('where' => "h.id = UNHEX('{$asset_id}') AND host_services.port = {$port} AND host_services.service = '" . escape_sql($service, $conn) . "'");
$_list_data = Asset_host_services::get_list($conn, $filters);
$services = $_list_data[0];
if (empty($services[$asset_id][0])) {
    $db->close();
    throw new Exception(_('Service not found'));
}
$service_data = $services[$asset_id][0];
$_host_aux = Asset_host::get_object($conn, $asset_id);
$_ips_aux = array_keys($_host_aux->get_ips()->get_ips());
$_ctx_aux = $_host_aux->get_ctx();
$vulns = Asset_host_services::get_vulns_by_service($conn, $_ips_aux, $_ctx_aux, $service, $port);
// Not matching with software_cpe, but cpe found in version field
if ($service_data['cpe'] == '' && preg_match('/cpe\\:/', $service_data['version'])) {
    $service_data['cpe'] = $service_data['version'];
    $service_data['version'] = '';
}
?>
<div id="tray_container">
    <div class="tray_triangle"></div>
    
    <div id="tray_table">
    
        <div>
        
            <div class='detail_header_left detail_2column'>
                <div class='tray_title'><?php 
$conn = $db->connect();
$filters = array('limit' => "{$from}, {$maxrows}");
if ($search_str != '') {
    $search_str = escape_sql($search_str, $conn);
    $filters['where'] = 'host_services.service LIKE "%' . $search_str . '%"';
}
// DATA
list($services, $total) = $asset_object->get_services($conn, $filters);
$data = array();
//$status_values = array(_('Ok'), _('Warning'), _('Critical'));
foreach ($services as $host_id => $services_list) {
    $_host_aux = Asset_host::get_object($conn, $host_id);
    $_ips_aux = array_keys($_host_aux->get_ips()->get_ips());
    $_ctx_aux = $_host_aux->get_ctx();
    foreach ($services_list as $sw) {
        $vulns = Asset_host_services::get_vulns_by_service($conn, $_ips_aux, $_ctx_aux, $sw['service'], $sw['port']);
        $has_vulns = count($vulns) > 0 ? _('Yes') : _('No');
        if ($sw['nagios']['enabled']) {
            $has_nagios = _('Yes');
            if ($sw['nagios']['status'] == 0) {
                $nagios_status = _('OK');
            } elseif ($sw['nagios']['status'] == 1) {
                $nagios_status = _('WARNING');
            } elseif ($sw['nagios']['status'] == 2) {
                $nagios_status = _('CRITICAL');
            } else {
                $nagios_status = _('UNKNOWN');
            }
        } else {
            $has_nagios = _('No');
            $nagios_status = "-";