9555-Header and tactical view

This commit is contained in:
Pablo Aragon 2023-04-17 20:02:16 +02:00
parent 6cb74f18cd
commit bfd00726bf
7 changed files with 387 additions and 28 deletions

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="10px" height="6px" viewBox="0 0 10 6" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>E5134209-ED99-4D42-AFFC-E210CA7C75CA@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="1a-Tactical-view---default" transform="translate(-37.000000, -671.000000)" stroke="#95A3BF" stroke-width="2">
<g id="Conmutador" transform="translate(20.000000, 653.000000)">
<g id="Title" transform="translate(10.000000, 9.000000)">
<g id="Dropdown-down" transform="translate(8.000000, 10.000000)">
<polyline id="Path-8" points="0 0 4 4 8 0"></polyline>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="10px" height="6px" viewBox="0 0 10 6" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>468CE642-FF47-4D9D-8D01-9137E4A42791@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="1b-Tactical-view---activity-list" transform="translate(-37.000000, -671.000000)" stroke="#95A3BF" stroke-width="2">
<g id="Conmutador" transform="translate(20.000000, 653.000000)">
<g id="Title" transform="translate(10.000000, 9.000000)">
<g id="Dropdown-up" transform="translate(8.000000, 10.000000)">
<polyline id="Path-8" transform="translate(4.000000, 2.000000) scale(1, -1) translate(-4.000000, -2.000000) " points="0 0 4 4 8 0"></polyline>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>27D252CA-B4D5-442E-ACDD-238B8E51751E@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1a-Tactical-view---default" transform="translate(-20.000000, -17.000000)" fill="#95A3BF">
<g id="Elements-/-mobile-/-header">
<g id="Go-back" transform="translate(10.000000, 8.000000)">
<g id="Group-2" transform="translate(10.000000, 7.000000)">
<g id="Back" transform="translate(0.000000, 2.000000)">
<path d="M6.22681586,7.18499617 C6.84825397,7.80421394 6.88096124,8.78791523 6.32493766,9.44549969 L6.22681586,9.55195908 C5.60537774,10.1711769 4.61814918,10.2037673 3.95820681,9.64973031 L3.85136569,9.55195908 L0.491971839,6.20456803 L0.471159559,6.18346253 C0.448283024,6.15985237 0.426096906,6.13557366 0.40463361,6.11065869 L0.491971839,6.20456803 C0.449187281,6.16193634 0.409193308,6.117577 0.371989918,6.07171537 C0.350999584,6.04570421 0.330242064,6.0184516 0.310321073,5.99056447 C0.271139022,5.93594655 0.236003122,5.87988377 0.204505607,5.82236871 L0.145733976,5.70401417 C0.124045538,5.65571966 0.104586732,5.60621384 0.0874880109,5.55562669 C0.0818617556,5.53867941 0.0764412566,5.52170989 0.0712989205,5.50467482 C0.0612197632,5.4717683 0.0521679177,5.43808328 0.0441615727,5.40399735 C0.0412764855,5.39105693 0.0384611977,5.37839495 0.0357948693,5.3657081 C0.0291097206,5.33463116 0.0233875846,5.30289036 0.0185767243,5.27085268 C0.0153029314,5.24828532 0.0124012695,5.22594088 0.00995178558,5.20355663 C0.00704369824,5.17765032 0.0047944618,5.15126248 0.00316664333,5.12470734 C0.0016973396,5.10038272 0.000722849869,5.07603294 0.000278799038,5.05167534 C9.04155519e-05,5.04133651 0,5.03122206 0,5.02108658 L0.000563610919,4.9775969 C0.0011706852,4.95417944 0.00226817651,4.93077224 0.00385608484,4.90739193 L0,5.02108658 C0,4.9551527 0.00382623005,4.89010929 0.0112695117,4.82616478 C0.0138053602,4.80529002 0.0166252188,4.78456697 0.0198345397,4.76389234 C0.0327849945,4.67929154 0.0523273944,4.59644178 0.0777734739,4.5162055 C0.0820792159,4.50294578 0.0864580021,4.48969214 0.0910073506,4.47648392 C0.122846114,4.3839691 0.162775714,4.29494223 0.20983783,4.21040281 C0.221199302,4.18987953 0.22970104,4.17526039 0.238443166,4.16074485 C0.254731128,4.13399708 0.271515085,4.10783107 0.288995392,4.08217425 C0.298790066,4.06755699 0.308765074,4.05340543 0.31898569,4.03937632 C0.338027371,4.01341654 0.358006427,3.98757415 0.378709998,3.96234508 C0.384045417,3.95574022 0.388924626,3.94988957 0.393850031,3.94406451 L0.424411969,3.90896446 C0.438242587,3.89347594 0.452357566,3.87824509 0.466748745,3.86328007 L0.491971839,3.83760512 L3.85136569,0.49021407 C4.50732814,-0.16340469 5.5708534,-0.16340469 6.22681586,0.49021407 C6.84825397,1.10943184 6.88096124,2.09313313 6.32493766,2.75071759 L6.22681586,2.85717698 L5.734,3.347 L9.65101119,3.34739105 C13.1574609,3.34739105 16,6.17977404 16,9.67369553 C16,13.0991087 13.2678401,15.8886718 9.85649076,15.9967495 L9.65101119,16 L6.69543864,16 C5.76776764,16 5.01574171,15.250661 5.01574171,14.3263045 C5.01574171,13.4439642 5.70095542,12.7210923 6.57008089,12.6571997 L6.69543864,12.6526089 L9.65101119,12.6526089 C11.3021189,12.6526089 12.6406062,11.318904 12.6406062,9.67369553 C12.6406062,8.08155831 11.3870801,6.78115173 9.80978545,6.69891128 L9.65101119,6.6947821 L5.734,6.694 L6.22681586,7.18499617 Z" id="Path-73"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>13ED062F-1DD5-4B18-B16F-64D609ACA6F7@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1a-Tactical-view---default" transform="translate(-292.000000, -17.000000)" fill="#FFFFFF">
<g id="Elements-/-mobile-/-header">
<g id="Home" transform="translate(282.000000, 8.000000)">
<g id="Group-3" transform="translate(10.000000, 7.000000)">
<g id="Home" transform="translate(0.000000, 2.000000)">
<path d="M15.7621654,6.04845511 L8.82364649,0.254535942 C8.35663079,-0.0848453139 7.68946552,-0.0848453139 7.1557333,0.254535942 L0.283930943,5.61675978 C-0.249801279,6.02401729 0.0170648321,7.20235138 0.684230109,7.20235138 L1.62318192,7.20235138 L1.62318192,13.3528262 C1.62318192,14.7782275 2.55229288,16 4.02005649,16 L5.35438705,16 C5.75468621,16 6.02155232,15.728495 6.02155232,15.3212375 L6.02155232,11.9953012 C6.02155232,11.2486624 6.62200107,10.4 7.35588288,10.4 L8.69021343,10.4 C9.42409524,10.4 10.024544,11.2486624 10.024544,11.9953012 L10.024544,15.3212375 C10.024544,15.6606187 10.2914101,16 10.6917093,16 L12.0260398,16 C13.4938034,16 14.4,14.7782275 14.4,13.3528262 L14.4,7.20235138 L15.3618662,7.20235138 C15.962315,7.20235138 16.2291811,6.45571262 15.7621654,6.04845511 Z" id="home"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -12121,6 +12121,70 @@ function reporting_get_stats_indicators($data, $width=280, $height=20, $html=tru
}
function reporting_get_stats_indicators_mobile($data, $width=280, $height=20, $html=true)
{
$table_ind = html_get_predefined_table();
$servers = [];
$servers['all'] = (int) db_get_value('COUNT(id_server)', 'tserver');
$servers['up'] = (int) servers_check_status();
$servers['down'] = ($servers['all'] - $servers['up']);
if ($servers['all'] == 0) {
$servers['health'] = 0;
} else {
$servers['health'] = ($servers['up'] / ($servers['all'] / 100));
}
$return = [];
$color = get_color_progress_mobile($servers['health']);
$return['server_health'] = [
'title' => __('Server health'),
'graph' => ui_progress($servers['health'], '90%', '.8', $color, true, '&nbsp;', false),
];
$color = get_color_progress_mobile($data['monitor_health']);
$return['monitor_health'] = [
'title' => __('Monitor health'),
'graph' => ui_progress($data['monitor_health'], '90%', '.8', $color, true, '&nbsp;', false),
];
$color = get_color_progress_mobile($data['module_sanity']);
$return['module_sanity'] = [
'title' => __('Module sanity'),
'graph' => ui_progress($data['module_sanity'], '90%', '.8', $color, true, '&nbsp;', false),
];
$color = get_color_progress_mobile($data['alert_level']);
$return['alert_level'] = [
'title' => __('Alert level'),
'graph' => ui_progress($data['alert_level'], '90%', '.8', $color, true, '&nbsp;', false),
];
return $return;
}
function get_color_progress_mobile($value)
{
$color = '';
if ((int) $value > 66) {
$color = '#82B92E';
}
if ((int) $value < 66) {
$color = '#FCAB10';
}
if ((int) $value < 33) {
$color = '#ED474A';
}
return $color;
}
function reporting_get_stats_alerts($data, $links=false)
{
global $config;
@ -13302,32 +13366,32 @@ function reporting_tiny_stats(
if ($modern === true) {
$out .= '<div id="bullets_modules">';
if (isset($fired_count) && $fired_count > 0) {
$out .= '<div><div id="fired_count_'.$uniq_id.'" class="forced_title color-orange"></div>';
$out .= '<div><div id="fired_count_'.$uniq_id.'" class="forced_title bullet_modules orange_background"></div>';
$out .= '<span class="font_12pt">'.$fired_count.'</span></div>';
}
if (isset($critical_count) && $critical_count > 0) {
$out .= '<div><div id="critical_count_'.$uniq_id.'" class="forced_title color-red"></div>';
$out .= '<div><div id="critical_count_'.$uniq_id.'" class="forced_title bullet_modules red_background"></div>';
$out .= '<span class="font_12pt">'.$critical_count.'</span></div>';
}
if (isset($warning_count) && $warning_count > 0) {
$out .= '<div><div id="warning_count_'.$uniq_id.'" class="forced_title color-yellow"></div>';
$out .= '<div><div id="warning_count_'.$uniq_id.'" class="forced_title bullet_modules yellow_background"></div>';
$out .= '<span class="font_12pt">'.$warning_count.'</span></div>';
}
if (isset($unknown_count) && $unknown_count > 0) {
$out .= '<div><div id="unknown_count_'.$uniq_id.'" class="forced_title color-grey"></div>';
$out .= '<div><div id="unknown_count_'.$uniq_id.'" class="forced_title bullet_modules grey_background"></div>';
$out .= '<span class="font_12pt">'.$unknown_count.'</span></div>';
}
if (isset($not_init_count) && $not_init_count > 0) {
$out .= '<div><div id="not_init_count_'.$uniq_id.'" class="forced_title color-blue"></div>';
$out .= '<div><div id="not_init_count_'.$uniq_id.'" class="forced_title bullet_modules blue_background"></div>';
$out .= '<span class="font_12pt">'.$not_init_count.'</span></div>';
}
if (isset($normal_count) && $normal_count > 0) {
$out .= '<div><div id="normal_count_'.$uniq_id.'" class="forced_title color-green"></div>';
$out .= '<div><div id="normal_count_'.$uniq_id.'" class="forced_title bullet_modules green_background"></div>';
$out .= '<span class="font_12pt">'.$normal_count.'</span></div>';
}
@ -13336,27 +13400,27 @@ function reporting_tiny_stats(
// Classic ones.
$out .= '<b><span id="total_count_'.$uniq_id.'" class="forced_title" >'.$total_count.'</span>';
if (isset($fired_count) && $fired_count > 0) {
$out .= ' '.$separator.' <span class="color-orange forced_title" id="fired_count_'.$uniq_id.'" >'.$fired_count.'</span>';
$out .= ' '.$separator.' <span class="orange forced_title" id="fired_count_'.$uniq_id.'" >'.$fired_count.'</span>';
}
if (isset($critical_count) && $critical_count > 0) {
$out .= ' '.$separator.' <span class="color-red forced_title" id="critical_count_'.$uniq_id.'" >'.$critical_count.'</span>';
$out .= ' '.$separator.' <span class="red forced_title" id="critical_count_'.$uniq_id.'" >'.$critical_count.'</span>';
}
if (isset($warning_count) && $warning_count > 0) {
$out .= ' '.$separator.' <span class="color-yellow forced_title" id="warning_count_'.$uniq_id.'" >'.$warning_count.'</span>';
$out .= ' '.$separator.' <span class="yellow forced_title" id="warning_count_'.$uniq_id.'" >'.$warning_count.'</span>';
}
if (isset($unknown_count) && $unknown_count > 0) {
$out .= ' '.$separator.' <span class="color-grey forced_title" id="unknown_count_'.$uniq_id.'" >'.$unknown_count.'</span>';
$out .= ' '.$separator.' <span class="grey forced_title" id="unknown_count_'.$uniq_id.'" >'.$unknown_count.'</span>';
}
if (isset($not_init_count) && $not_init_count > 0) {
$out .= ' '.$separator.' <span class="color-blue forced_title" id="not_init_count_'.$uniq_id.'" >'.$not_init_count.'</span>';
$out .= ' '.$separator.' <span class="blue forced_title" id="not_init_count_'.$uniq_id.'" >'.$not_init_count.'</span>';
}
if (isset($normal_count) && $normal_count > 0) {
$out .= ' '.$separator.' <span class="color-green forced_title" id="normal_count_'.$uniq_id.'" >'.$normal_count.'</span>';
$out .= ' '.$separator.' <span class="green forced_title" id="normal_count_'.$uniq_id.'" >'.$normal_count.'</span>';
}
$out .= '</b>';

View File

@ -28,7 +28,8 @@
:root {
--primary-color: #14524f;
--secondary-color: #ffffff;
--input-border: #c0ccdc;
--body-color: #f6f7fb;
--border-color: #e5e9ed;
}
@font-face {
@ -51,7 +52,7 @@ body {
text-align: left;
vertical-align: top;
font-weight: 400;
font-family: "Lato";
font-family: "Lato" !important;
}
.small {
@ -89,6 +90,7 @@ body {
overflow: hidden;
white-space: nowrap;
outline: 0 !important;
line-height: 25px;
}
.ui-btn-inner {
@ -116,11 +118,6 @@ td.flex-center {
padding-top: 10px;
}
#tactical1 *,
#tactical2 * {
font-weight: bold;
}
#tactical1 a,
#tactical2 a {
font-weight: bold;
@ -1850,6 +1847,12 @@ table[id^="service-table-"] a strong {
color: #000 !important;
}
table#last-activity > tbody > tr,
table.tactical_bars > tbody > tr,
.tactical_set > table > tbody > tr {
background-color: var(--secondary-color) !important;
}
.mt15px {
margin-top: 15px;
margin-bottom: 15px;
@ -1863,3 +1866,223 @@ table[id^="service-table-"] a strong {
padding: 2px 7px !important;
margin-right: 5px !important;
}
div#main_page {
background-color: var(--body-color) !important;
}
.ui-header.ui-bar-inherit.ui-header-fixed.slidedown {
height: 45px;
background-color: var(--secondary-color);
}
.ui-page.ui-page-theme-a.ui-page-active {
padding-top: 45px !important;
}
.header-button-right.ui-button.ui-shadow.ui-corner-all.ui-widget.ui-button-inherit {
color: var(--secondary-color);
background-color: var(--primary-color);
border-radius: 8px;
border-color: var(--secondary-color);
box-shadow: var(--secondary-color);
-webkit-box-shadow: #fff;
text-shadow: none;
margin-top: 5px !important;
display: flex;
align-items: center;
}
.header-button-left.ui-button.ui-shadow.ui-corner-all.ui-widget.ui-button-inherit {
color: #95a3bf;
background-color: transparent;
border-color: var(--secondary-color);
box-shadow: var(--secondary-color);
-webkit-box-shadow: #fff;
text-shadow: none;
margin-top: 7px !important;
display: flex;
align-items: center;
}
.ui-grid-a.ui-responsive {
background-color: var(--secondary-color);
border-radius: 8px;
border: 1px solid var(--border-color);
}
.ui-button-icon-space {
margin-left: 2px;
margin-right: 2px;
}
.ui-icon-back {
background-image: url(../../../images/go-back-mobile.svg) !important;
}
.ui-icon-home {
background-image: url(../../../images/home-mobile.svg) !important;
}
.ui-icon-arrow-d {
background-image: url(../../../images/arrow-d-mobile.svg) !important;
}
.ui-icon-arrow-u {
background-image: url(../../../images/arrow-u-mobile.svg) !important;
}
.ui-icon {
background-color: transparent !important;
}
.ui-body.ui-body-d {
padding: 5px 0px;
margin: 0px;
}
div.hr {
border-bottom: 1px solid var(--border-color);
width: 100%;
margin: 10px 0px;
}
table,
fieldset {
padding: 0px 5px !important;
}
table.tactical_bars tbody tr {
height: 20px;
}
.progress_main {
height: 2.5em;
border: 2px solid #82b92e;
position: relative;
width: 100%;
display: inline-block;
display: flex;
border-radius: 4px;
line-height: 9pt;
font-size: 9pt;
border: 1px solid var(--border-color) !important;
background-color: var(--body-color);
margin-right: 40px !important;
}
.progress_main_noborder {
height: 2.5em;
position: relative;
width: 100%;
display: inline-block;
display: flex;
}
.progress_main:before {
content: attr(data-label);
position: absolute;
text-align: center;
left: 0;
right: 0;
margin-top: 0.2em;
}
.progress {
width: 0%;
background: #82b92e;
height: 100%;
float: left;
border-radius: 4px;
}
.tiny.tactical_bar {
width: 50%;
}
.tactical_set > table {
width: 60% !important;
}
.tactical_set > table > tbody > tr > td {
text-align: left !important;
}
.tactical_set > table > tbody > tr > #table1-0-0,
.tactical_set > table > tbody > tr > #table1-0-3,
.tactical_set > table > tbody > tr > #table2-0-0,
.tactical_set > table > tbody > tr > #table2-0-3 {
width: 15% !important;
}
.tactical_set > table > tbody > tr > #table1-0-1,
.tactical_set > table > tbody > tr > #table2-0-1 {
width: 40% !important;
}
.tactical_set > table > tbody > tr > #table2-0-3 > div.alert_background_state {
margin: 0px !important;
}
div#tactical2 .tactical_set > table {
width: 100% !important;
}
.ui-collapsible.ui-collapsible-inset.ui-corner-all.ui-collapsible-themed-content,
.ui-collapsible.ui-collapsible-inset.ui-corner-all.ui-collapsible-themed-content.ui-collapsible-collapsed {
border: 1px solid var(--border-color);
border-radius: 8px;
}
.ui-collapsible-heading-toggle.ui-button.ui-button-a.ui-mini,
.ui-collapsible-heading.ui-collapsible-heading-collapsed {
background-color: var(--secondary-color) !important;
border: 0px !important;
font-weight: 400;
}
.ui-collapsible-content.ui-body-c {
padding: 0px;
margin: 0px;
}
.ui-listview-item.ui-listview-item-static.ui-body-inherit.ui-first-child.ui-last-child {
padding: 0px;
}
table#last-activity > tbody > tr:not(:last-child) {
border-bottom: 1px solid var(--border-color) !important;
}
table#last-activity > tbody > tr {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
table#last-activity > tbody > tr > td.cell_0 {
width: 10%;
padding-bottom: 2px !important;
}
table#last-activity > tbody > tr > td.cell_1 {
width: 75%;
max-width: 75%;
padding-bottom: 2px !important;
}
table#last-activity > tbody > tr > td.cell_2 {
width: 15%;
padding-bottom: 2px !important;
}
table#last-activity > tbody > tr > td.cell_3 {
width: 10%;
margin-left: 10%;
padding-top: 2px !important;
}
table#last-activity > tbody > tr > td > b {
display: none;
}
.muted {
color: #8a96a6 !important;
}

View File

@ -164,8 +164,8 @@ class Tactical
$data['mobile'] = true;
$formatted_data = reporting_get_stats_indicators($data, 100, 10, false);
$formatted_data_untiny = reporting_get_stats_indicators($data, 140, 15, false);
$formatted_data = reporting_get_stats_indicators_mobile($data, 100, 10, false);
$formatted_data_untiny = reporting_get_stats_indicators_mobile($data, 140, 15, false);
$overview = '<table class="tactical_bars">
<tr>
@ -193,8 +193,8 @@ class Tactical
$agents_monitors = reporting_get_stats_agents_monitors($data);
$alerts_stats = reporting_get_stats_alerts($data);
$overview .= "<br />\n".$agents_monitors;
$overview .= "<br />\n".$alerts_stats;
$overview .= "<div class='hr'></div>\n".$agents_monitors;
$overview .= "<div class='hr'></div>\n".$alerts_stats;
$ui->contentGridAddCell($overview, 'tactical1');
@ -216,6 +216,7 @@ class Tactical
$ui->contentBeginCollapsible(__('Last activity'));
$table = new Table();
$table->id = 'last-activity';
$table->importFromHash($this->getLastActivity());
$ui->contentCollapsibleAddItem($table->getHTML());
$ui->contentEndCollapsible();
@ -236,7 +237,7 @@ class Tactical
}
function ajax_load_status_pie() {
$('#status_pie').html('<div class=\"center\"> ".__('Loading...')."<br /><img src=\"images/ajax-loader.gif\" /></div>');
$('#status_pie').html('<div class=\"center\"> ".__('Loading...')."<br><img src=\"images/ajax-loader.gif\" /></div>');
var pie_width = $('#tactical2').width() * 0.9;
@ -346,10 +347,9 @@ class Tactical
}
$data[__('Action')] = ui_print_session_action_icon($session['accion'], true);
$data[__('User')] = $session_id_usuario;
$data[__('Date')] = human_time_comparation($session['utimestamp'], 'tiny');
$data[__('Source IP')] = $session_ip_origen;
$data[__('Description')] = io_safe_output($session['descripcion']);
$data[__('User')] = $session_id_usuario.' - '.ui_print_truncate_text(io_safe_output($session['descripcion']), 40, false);
$data[__('Date')] = '<span class="muted">'.human_time_comparation($session['utimestamp'], 'tiny').'</span>';
$data[__('Source IP')] = '<span class="muted">'.$session_ip_origen.'</span>';
$return[] = $data;
}