本文整理汇总了PHP中Util::htmlentities方法的典型用法代码示例。如果您正苦于以下问题:PHP Util::htmlentities方法的具体用法?PHP Util::htmlentities怎么用?PHP Util::htmlentities使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Util
的用法示例。
在下文中一共展示了Util::htmlentities方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: ErrorMessage
function ErrorMessage($message, $color = "#FF0000")
{
$message = Util::htmlentities($message);
$message = str_ireplace("<BR>", "<br>", $message);
$message = str_ireplace("<B>", "<b>", $message);
$message = str_ireplace("</B>", "</b>", $message);
echo '<FONT COLOR="' . $color . '">' . $message . '</FONT><br>';
}
示例2: PrintPcapDownload
function PrintPcapDownload($db, $id)
{
if (is_array($db->DB->MetaColumnNames('data')) && (!in_array("pcap_header", $db->DB->MetaColumnNames('data')) || !in_array("data_header", $db->DB->MetaColumnNames('data')))) {
$type = 3;
} else {
$type = 2;
}
$query = CleanVariable($_SERVER["QUERY_STRING"], VAR_PERIOD | VAR_DIGIT | VAR_PUNC | VAR_LETTER);
if (isset($_GET['asciiclean']) && $_GET['asciiclean'] == 1 || isset($_COOKIE['asciiclean']) && $_COOKIE["asciiclean"] == "clean" && !isset($_GET['asciiclean'])) {
$url = '<a href="base_payload.php?' . Util::htmlentities($query);
$url .= '&download=' . urlencode($type) . '&id=' . urlencode($id) . '&asciiclean=1&minimal_view=' . urlencode($_GET['minimal_view']) . '"> [' . _("Download in pcap format") . ']</a>';
} else {
$url = '<a href="base_payload.php?' . Util::htmlentities($query);
$url .= '&download=' . urlencode($type) . '&id=' . urlencode($id) . '&asciiclean=0&minimal_view=' . urlencode($_GET['minimal_view']) . '"> [' . _("Download in pcap format") . ']</a>';
}
return $url;
}
示例3: validate_post_params
function validate_post_params($conn, $name, $descr, $sids, $imported_sids, $group_id = NULL)
{
$vals = array('name' => array(OSS_INPUT, 'illegal:' . _("Name")), 'descr' => array(OSS_ALL, OSS_NULLABLE, 'illegal:' . _("Description")), 'group_id' => array(OSS_HEX, OSS_NULLABLE, 'illegal:' . _("Group ID")));
ossim_valid($group_id, $vals['group_id']);
ossim_valid($name, $vals['name']);
if (ossim_error() == FALSE && Plugin_group::is_valid_group_name($conn, $name, $group_id) == FALSE) {
$name = Util::htmlentities($name);
ossim_set_error(sprintf(_("DS group name '<strong>%s</strong>' already exists"), $name));
}
ossim_valid($descr, $vals['descr']);
$plugins = array();
$sids = is_array($sids) ? $sids : array();
$pluginid = intval(POST('pluginid'));
if ($pluginid > 0) {
$sids[$pluginid] = "0";
}
foreach ($sids as $plugin => $sids_str) {
if ($sids_str !== '') {
list($valid, $data) = Plugin_sid::validate_sids_str($sids_str);
if (!$valid) {
ossim_set_error(_("Error for data source ") . $plugin . ': ' . $data);
break;
}
if ($sids_str == "ANY") {
$sids_str = "0";
} else {
$aux = count(explode(',', $sids_str));
$total = Plugin_sid::get_sidscount_by_id($conn, $plugin);
$sids_str = $aux == $total ? "0" : $sids_str;
}
$plugins[$plugin] = $sids_str;
}
}
if (!count($plugins) && !count($imported_sids)) {
ossim_set_error(_("No Data Sources or Event Types selected"));
}
return array($group_id, $name, $descr, $plugins, ossim_error());
}
示例4: DisplayGraphs
function DisplayGraphs($type)
{
$self = Menu::get_menu_url('/ossim/nfsen/nfsen.php?tab=2', 'environment', 'netflow', 'details');
$profile = $_SESSION['profile'];
$profilegroup = $_SESSION['profilegroup'];
if ($profilegroup == '.') {
print "<h2>Profile: " . Util::htmlentities($profile) . ", Group: (nogroup) - " . Util::htmlentities($type) . "</h2>\n";
} else {
print "<h2>Profile: " . Util::htmlentities($profile) . ", Group: " . Util::htmlentities($profilegroup . " - " . $type) . "</h2>\n";
}
if ($_SESSION['profileinfo']['graphs'] != 'ok') {
print "<h2>No data available!</h2>\n";
return;
}
$profileswitch = "{$profilegroup}/{$profile}";
print "<center><a href='" . Util::htmlentities($self) . (preg_match("/\\?/", $self) ? "&" : "?") . "tab=2&win=day&type=" . urlencode($type) . "'> <IMG src='pic.php?profileswitch=" . urlencode($profileswitch) . "&file={$type}-day' width='669' height='281' border='0'></a>\n";
print "<br>";
print "<a href='" . Util::htmlentities($self) . (preg_match("/\\?/", $self) ? "&" : "?") . "tab=2&win=week&type=" . urlencode($type) . "'> <IMG src='pic.php?profileswitch=" . urlencode($profileswitch) . "&file={$type}-week' width='669' height='281' border='0'></a>\n";
print "<br>";
print "<a href='" . Util::htmlentities($self) . (preg_match("/\\?/", $self) ? "&" : "?") . "tab=2&win=month&type=" . urlencode($type) . "'> <IMG src='pic.php?profileswitch=" . urlencode($profileswitch) . "&file={$type}-month' width='669' height='281' border='0'></a>\n";
print "<br>";
print "<a href='" . Util::htmlentities($self) . (preg_match("/\\?/", $self) ? "&" : "?") . "tab=2&win=year&type=" . urlencode($type) . "'> <IMG src='pic.php?profileswitch=" . urlencode($profileswitch) . "&file={$type}-year' width='669' height='281' border='0'></a>\n";
print "<br></center>";
}
示例5: changecond
<script type="text/javascript" src="../js/messages.php"></script>
<script type="text/javascript" src="../js/jquery.elastic.source.js" charset="utf-8"></script>
<script type="text/javascript" src="../js/utils.js"></script>
<script type="text/javascript" src="../js/jquery.tipTip.js"></script>
<link rel="stylesheet" type="text/css" href="../style/av_common.css?t=<?php
echo Util::get_css_id();
?>
"/>
<link rel="stylesheet" type="text/css" href="../style/tipTip.css"/>
<script type='text/javascript'>
<?php
$defaultcond = Util::htmlentities("RISK>=1");
?>
var item_focused = '';
function changecond(type)
{
$('#condition').hide();
if (type==1)
{
$('#cond').val("True");
$('#on_risk').attr('checked', false);
}
else if (type==2)
{
$('#cond').val("<?php
示例6: PrintAsciiPacketPayload
function PrintAsciiPacketPayload($encoded_payload, $output_type)
{
require_once 'classes/Util.inc';
return Util::htmlentities(wordwrap($encoded_payload, 70));
}
示例7: foreach
foreach ($property as $j => $v) {
$cont_2++;
$class = $v['anom'] == 1 ? "size12ig" : "size12n";
$to_delete = $v['source'] == $source_m ? "false" : "true";
$prop_value = $v['value'];
$prop_title = Util::htmlentities($prop_value);
$title = strlen($prop_value) > $length_name ? substr($prop_value, 0, $length_name) . "..." : $prop_value;
$title = "<span class=\\'{$class}\\'>" . Util::htmlentities($title) . "</span>";
$tooltip = $prop_title;
$json_properties .= "{ title: '{$title}', tooltip: '{$tooltip}', value:'" . utf8_encode($prop_value) . "', anom:'" . $v['anom'] . "', hideCheckbox: {$to_delete}, key:'item_prop_" . $p[1] . "_{$cont_2}###" . $v['id'] . "###" . $p[1] . "', isFolder:true, icon:'" . $image_url . getPropertyImage("OS=" . $v["value"]) . "', children:[";
$json_properties .= "{ title: '<span class=\\'size12n\\'>" . _("Date") . ": </span><span class=\\'ml3 size12b\\'>" . $v['date'] . "</span>', date:'" . $v['date'] . "', hideCheckbox: true, key:'date_" . $v['id'] . "', isFolder:false, icon:'" . $image_url . getPropertyImage('property') . "'},";
$json_properties .= "{ title: '<span class=\\'size12n\\'>" . _("Source") . ": </span><span class=\\'ml3 size12b\\'> " . $v['source'] . "</span>', source:'" . $v['source'] . "', source_id:'" . $v['source_ref'] . "', hideCheckbox: true, key:'source_" . $v['id'] . "', isFolder:false, icon:'" . $image_url . getPropertyImage('property') . "'},";
$prop_extra = $v['extra'];
$prop_title = Util::htmlentities($prop_extra);
$title = strlen($prop_extra) > $length_name ? substr($prop_extra, 0, $length_name) . "..." : $prop_extra;
$title = "<span class=\\'ml3 size12b\\'>" . Util::htmlentities($title) . "</span>";
$tooltip = $prop_title;
$json_properties .= "{ title: '<span class=\\'size12n\\'>" . _("Version") . ": </span>{$title}', tooltip: '{$tooltip}', extra:'" . utf8_encode($prop_extra) . "', hideCheckbox: true, key:'extra_" . $v['id'] . "', isFolder:false,icon:'" . $image_url . getPropertyImage('property') . "'}";
$json_properties .= $num_p == $cont_2 ? "]}" : "]},";
}
$json_properties .= $num_gp == $cont_1 ? "]}" : "]},";
}
$json_properties .= $cont_1 > 0 ? "," : "";
if (!is_array($services_list)) {
$services_list = array();
}
$num_s = count($services_list);
$cont_3 = 0;
$is_folder = $num_s > 0 ? "true" : "false";
$json_properties .= "{title: '<span>" . _("Services") . "</span>', addClass:'size12', key:'property_8', isFolder:" . $is_folder . ", hideCheckbox: true, expand:true, icon:'" . $image_url . getPropertyImage('services') . "', children:[";
foreach ($services_list as $k => $v) {
示例8: Process_stat_tab
function Process_stat_tab($tab_changed, $profile_changed)
{
// the default display page - the profile stats
$_SESSION['display'] = 'default';
// if it's a new profile, only admin tasks make sense
// no refresh
if ($_SESSION['profileinfo']['status'] == 'new') {
$_SESSION['tablock'] = "A new profile needs to be completed first.";
} else {
unset($_SESSION['tablock']);
}
if (isset($_COOKIE['extended_channellist'])) {
$_POST['extended_channellist'] = $_COOKIE['extended_channellist'];
}
$parse_opts = array("extended_channellist" => array("required" => 0, "default" => 1, "allow_null" => 0, "match" => array(0, 1), "validate" => NULL));
list($form_data, $has_errors) = ParseForm($parse_opts);
$_COOKIE['extended_channellist'] = $form_data['extended_channellist'];
// just display profile status
if ($tab_changed || $profile_changed) {
unset($_SESSION['form_data']);
return;
}
// Delete this profile - process confirmed action
if (array_key_exists('deleteprofile_x', $_POST)) {
$parse_opts = array("switch" => array("required" => 1, "default" => NULL, "allow_null" => 0, "match" => "/^[A-Za-z0-9\\.][A-Za-z0-9\\-+_\\/]+\$/", "validate" => "profile_exists_validate", "must_exist" => 1));
list($form_data, $has_errors) = ParseForm($parse_opts);
if ($has_errors > 0) {
return;
}
if ($form_data['switch'] != $_SESSION['profileswitch']) {
SetMessage('error', "Profile to delete is not current profile");
return;
}
// Do the work
$cmd_opts['profile'] = $_SESSION['profileswitch'];
if (array_key_exists('pid', $_SESSION)) {
$cmd_opts['pid'] = $_SESSION['pid'];
}
$cmd_out = nfsend_query("delete-profile", $cmd_opts, 0);
if (is_array($cmd_out)) {
SetMessage('info', "Profile '" . $cmd_opts['profile'] . "' deleted");
unset($_SESSION['ProfileList']);
$profiles = GetProfiles();
// as current profile no longer exists, switch to 'live'
$_SESSION['profile'] = 'live';
$_SESSION['profilegroup'] = '.';
$_SESSION['profileswitch'] = './live';
$profileinfo = ReadProfile($_SESSION['profileswitch']);
$_SESSION['profileinfo'] = $profileinfo;
}
// else errors are displayed anyway - nothing to do
return;
}
// Cancel building the profile
if (array_key_exists('cancelbuild_x', $_POST)) {
$parse_opts = array("switch" => array("required" => 1, "default" => NULL, "allow_null" => 0, "match" => "/^[A-Za-z0-9\\.][A-Za-z0-9\\-+_\\/]+\$/", "validate" => "profile_exists_validate", "must_exist" => 1));
list($form_data, $has_errors) = ParseForm($parse_opts);
if ($has_errors > 0) {
return;
}
if ($form_data['switch'] != $_SESSION['profileswitch']) {
SetMessage('error', "Profile to delete is not current profile");
return;
}
// Do the work
$cmd_opts['profile'] = $_SESSION['profileswitch'];
$cmd_out = nfsend_query("cancel-profile", $cmd_opts, 0);
if (is_array($cmd_out)) {
SetMessage('info', "Building profile '" . $cmd_opts['profile'] . "' canceled");
$profiles = GetProfiles();
$_SESSION['cancel-inprogress'] = 1;
}
// else errors are displayed anyway - nothing to do
$_SESSION['refresh'] = 5;
return;
}
// put profile into another group?
if (array_key_exists('regroup', $_POST)) {
if (!array_key_exists('groupselect', $_POST) || !array_key_exists('profilegroup', $_POST)) {
SetMessage('error', "Missing parameters");
return;
}
$_group = Util::htmlentities($_POST['groupselect']);
if ($_group == '(nogroup)') {
$_group = '.';
} else {
if ($_group == 'New group ...') {
$_group = Util::htmlentities($_POST['profilegroup']);
}
}
if ($_group != '.' && !preg_match("/^[A-Za-z0-9][A-Za-z0-9\\-+_]+\$/", $_group)) {
SetMessage('error', "Illegal characters in group name '{$_group}'");
return;
} else {
$cmd_opts['profile'] = $_SESSION['profile'];
$cmd_opts['profilegroup'] = $_SESSION['profilegroup'];
$cmd_opts['newgroup'] = $_group;
}
if ($cmd_opts['profilegroup'] == $cmd_opts['newgroup']) {
// nothing changed
//.........这里部分代码省略.........
示例9: _
<img id='export_selection' class='disabled tiptip' data-selection="avt_action" data-bind="export-selection" data-title="<?php
echo _('Select assets to export');
?>
" src="/ossim/pixmaps/download-big.png"/>
</div>
<div id='as_tags'>
<ul id='tags_filters'>
<?php
foreach ($filters as $f_id => $_filter) {
if ($_filter->is_active()) {
$tag_params = $_filter->get_tag_params($conn);
foreach ($tag_params as $tag_id => $tag_name) {
$tag_label = Util::htmlentities($tag_name);
$tag_class = md5("label_{$tag_id}") . ' filter_' . $f_id;
echo '<li class="' . $tag_class . '" data-info="' . $tag_id . '">' . $tag_label . '</li>';
}
}
}
?>
</ul>
<div id='result_search'>
<div id='num_assets'>0</div>
<span><?php
echo _('Networks');
示例10: preg_match
$alert_host = $_SESSION['server'][0];
$alert_port = $_SESSION['server'][1];
$alert_user = $_SESSION['server'][2];
$alert_password = $_SESSION['server'][3];
$alert_ext_dbname = $_SESSION['server'][4];
$alert_dbname = preg_match("/\\_restore/", $alert_ext_dbname) ? $alert_ext_dbname : 'alienvault_siem';
$db_connect_method = DB_PCONNECT;
$dbo = new ossim_db();
error_reporting(E_ERROR | E_PARSE);
// Try to connect
try {
$dbo->enable_cache();
$conn_aux = $dbo->custom_connect($alert_port == "" ? $alert_host : $alert_host . ":" . $alert_port, $alert_user, $alert_password);
} catch (Exception $e) {
unset($_SESSION['server']);
$w_html = sprintf(_('Warning! Unable to connect to <strong>%s (%s)</strong>.'), Util::htmlentities($alert_ext_dbname), Util::htmlentities($alert_host));
//$w_html .= ' '._('Connection has been restored to')." <a style='color: #9f6000; font-weight: bold;' href='base_qry_main.php?clear_allcriteria=1&num_result_rows=-1&submit=Query+DB¤t_view=-1&sort_order=time_d'>"._('local')."</a>.";
$w_html .= '<div style="padding: 3px 0px;">' . _('In order to connect to the selected database, go to the <i>External Databases</i> section and follow the instructions provided by the help icon.') . '</div>';
$warning = new Av_warning('<div style="padding: 2px;">' . $w_html . '</div>');
$warning->display();
exit;
}
$dbo->close();
unset($dbo);
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
}
$current_url = Util::get_ossim_url();
$events_report_type = 33;
$graph_report_type = 34;
$criteria_report_type = 35;
$unique_events_report_type = 36;
示例11: unset
if ($mode == 'insert') {
unset($validate["template_id"]);
}
}
$validation_errors = validate_form_fields('POST', $validate);
//Extended validation
if (empty($validation_errors['login'])) {
//Checking permissions to create or modify users
if ($mode == 'insert') {
if (!$am_i_admin && !$am_i_proadmin) {
$validation_errors['login'] = _("You don't have permission to create users");
} else {
$s_login = escape_sql($login, $conn, FALSE);
$u_list = Session::get_list($conn, "WHERE login='" . $s_login . "'");
if (count($u_list) > 0) {
$validation_errors['login'] = _('User login already exists') . '. <br/>' . _('Entered value') . ": '<strong>" . Util::htmlentities($login) . "</strong>'";
}
}
} else {
$condition_1 = $am_i_admin && $login != AV_DEFAULT_ADMIN || $is_my_profile;
$condition_2 = $am_i_proadmin && Session::userAllowed($login) == 2;
if (!($condition_1 || $condition_2)) {
$validation_errors['login'] = _("You don't have permission to modify this user");
}
}
}
//Checking password field requirements
if (empty($validation_errors['pass'])) {
//Checking current password
$admin_login_method = $myself->get_login_method();
if ($admin_login_method != 'ldap') {
示例12: array
*
* On Debian GNU/Linux systems, the complete text of the GNU General
* Public License can be found in `/usr/share/common-licenses/GPL-2'.
*
* Otherwise you can read it here: http://www.gnu.org/licenses/gpl-2.0.txt
*
*/
require_once 'av_init.php';
require_once 'config.php';
Session::logcheck("environment-menu", "EventsVulnerabilities");
$getParams = array('schedid', 'sortby', 'sortdir', 'viewall', 'setstatus', 'enabled', 'job_id', 'rs_page', 'page');
switch ($_SERVER['REQUEST_METHOD']) {
case "GET":
foreach ($getParams as $gp) {
if (isset($_GET[$gp])) {
${$gp} = Util::htmlentities(escape_sql(trim($_GET[$gp]), $dbconn));
} else {
${$gp} = "";
}
}
$range_start = "";
$range_end = "";
break;
}
$rs_page = intval($rs_page);
$page = intval($page);
# Handle $disp var separate due to a invalid return value with htmlentities
$disp = GET('disp');
ossim_valid($disp, 'playTask', 'pauseTask', 'stopTask', 'resumeTask', 'deleteTask', OSS_NULLABLE, 'Illegal:' . _('Disp'));
if (ossim_error()) {
die(_('Invalid Disp Parameter'));
示例13: POST
Token::show_error(_('Action not allowed'));
exit;
}
}
$sname = POST('sname');
$ip = POST('ip');
$priority = POST('priority');
$port = POST('port');
$tzone = POST('tzone');
$descr = POST('descr');
$location = POST('location');
$entities = POST('entities');
$validation_errors = validate_form_fields('POST', $validate);
if (empty($validation_errors['ip'])) {
if (preg_match('/,/', $ip)) {
$validation_errors['ip'] = _('Invalid IP address. Format allowed') . ": nnn.nnn.nnn.nnn <br/>" . _('Entered IP') . ": '<strong>" . Util::htmlentities($ip) . "</strong>'";
} else {
$db = new ossim_db();
$conn = $db->connect();
$aux_id = Av_sensor::get_id_by_ip($conn, $ip);
$db->close();
if (!empty($aux_id)) {
$validation_errors['ip'] = _('Error! IP address associated with another sensor');
}
}
}
$data['status'] = 'OK';
$data['data'] = $validation_errors;
if (POST('ajax_validation_all') == TRUE) {
if (is_array($validation_errors) && !empty($validation_errors)) {
$data['status'] = 'error';
示例14: echochildrens
function echochildrens($entities, $parent_id, $entities_admin)
{
/* Connect to db */
$db = new ossim_db();
$conn = $db->connect();
$users_by_entity = Acl::get_users_by_entity($conn, $parent_id);
$me = Session::get_session_user();
$entities_types = Acl::get_entities_types($conn);
$length_name = !empty($_GET['length_name']) ? GET('length_name') : 30;
echo ",children:[";
$is_editable = $parent_id != "" && (!empty($users_by_entity[$me]) || Session::am_i_admin() || !empty($entities_admin[$me]));
if ($is_editable) {
echo "{title:'<font style=\"font-weight:normal\">" . _("All Assets") . "</font>', url:'AllAssets', key:'e_" . $parent_id . "_allassets', icon:'../../pixmaps/menu/assets.gif', isFolder:false, expand:true,";
echo "children:[ ";
echo "{ key:'e_" . $parent_id . "_net', isFolder:true, isLazy:true, icon:'../../pixmaps/theme/net.png', title:'" . _("Networks") . "'},";
echo "{ key:'e_" . $parent_id . "_sensor', isFolder:true, isLazy:true, icon:'../../pixmaps/theme/server.png', title:'" . _("Sensors") . "'}";
echo "]}";
}
$children = Acl::get_entity_childs($conn, $parent_id);
if (!empty($children)) {
$flag = false;
foreach ($children as $index => $child_id) {
$icon = "../../pixmaps/theme/any.png";
$child = $entities[0][$child_id];
$entity_allowed = Acl::entityAllowed($child_id);
$child_key = "e_" . $child_id;
$child_sn = strlen($child['name']) > $length_name ? substr($child['name'], 0, $length_name) . "..." : $child['name'];
$child_name = Util::htmlentities($child['name']);
$chil_ent_admin = $entities_admin;
$chil_ent_admin[$child['admin_user']] = $child_id;
if ($child['parent_id'] == $parent_id) {
$title = "<font style=\"font-weight:bold;\">" . Util::htmlentities($child_sn) . "</font> <font style=\"color:gray\">[" . $entities_types[$child['type']]['name'] . "]</font>";
$tooltip = Util::htmlentities($child['name']) . " [" . $entities_types[$child['type']]['name'] . "]";
if ($flag || $is_editable) {
echo ",";
}
$flag = true;
echo "{title:'" . $title . "', tooltip:'{$tooltip}', noLink: true, url:'" . $child_url . "', key:'" . $child_key . "', icon:'{$icon}', expand:true, name:'{$child_name}'";
echochildrens($entities, $child_id, $withusers, $entities_admin, $length_name);
echo "}";
}
}
}
echo "]";
}
示例15: foreach
foreach ($assets as $_id => $asset_data) {
// Alarms
$alarms = Asset_host::has_alarms($conn, $_id);
$alarms_icon = $alarms ? '<img src="' . AV_PIXMAPS_DIR . '/assets_tick_gray.png"/>' : '-';
// Vulns
$vulns = Asset_host::get_vulnerability_number($conn, $_id);
$vulns_icon = $vulns > 0 ? '<img src="' . AV_PIXMAPS_DIR . '/assets_tick_gray.png"/>' : '-';
// Events
$events = Asset_host::has_events($conn, $_id);
$events_icon = $events ? '<img src="' . AV_PIXMAPS_DIR . '/assets_tick_gray.png"/>' : '-';
$fqdns = $asset_data['fqdns'] != '' ? Util::htmlentities($asset_data['fqdns']) : '';
// COLUMNS
$_res = array();
$_res['DT_RowId'] = $_id;
$_res[] = Util::htmlentities($asset_data['name']);
$_res[] = Util::htmlentities(Asset::format_to_print($asset_data['ips']));
$_res[] = $fqdns;
$_res[] = $alarms_icon;
$_res[] = $vulns_icon;
$_res[] = $events_icon;
$_res[] = $detail;
$results[] = $_res;
}
// datatables response json
$response = array();
$response['sEcho'] = $sec;
$response['iTotalRecords'] = $total;
$response['iTotalDisplayRecords'] = $total;
$response['aaData'] = $results;
$response['iDisplayStart'] = 0;
echo json_encode($response);