data[3][0] = 'data[3][0] .= '>'.__('Data type').'';
@@ -619,7 +628,7 @@ switch ($moduletype) {
$sql = sprintf(
'SELECT id_tipo, descripcion
FROM ttipo_modulo
- WHERE categoria IN (6,7,8,0,1,2,-1) order by descripcion '
+ WHERE categoria '.$not_condition.' IN (6,7,8,0,1,2,-1) order by descripcion '
);
break;
@@ -627,7 +636,7 @@ switch ($moduletype) {
$sql = sprintf(
'SELECT id_tipo, descripcion
FROM ttipo_modulo
- WHERE categoria between 3 and 5 '
+ WHERE categoria '.$not_condition.' between 3 and 5 '
);
break;
@@ -635,7 +644,7 @@ switch ($moduletype) {
$sql = sprintf(
'SELECT id_tipo, descripcion
FROM ttipo_modulo
- WHERE categoria between 0 and 2 '
+ WHERE categoria '.$not_condition.' between 0 and 2 '
);
break;
@@ -643,7 +652,7 @@ switch ($moduletype) {
$sql = sprintf(
'SELECT id_tipo, descripcion
FROM ttipo_modulo
- WHERE categoria between 0 and 2 '
+ WHERE categoria '.$not_condition.' between 0 and 2 '
);
break;
@@ -651,7 +660,7 @@ switch ($moduletype) {
$sql = sprintf(
'SELECT id_tipo, descripcion
FROM ttipo_modulo
- WHERE categoria = 9'
+ WHERE categoria '.$condition_query.' 9'
);
break;
@@ -659,7 +668,7 @@ switch ($moduletype) {
$sql = sprintf(
'SELECT id_tipo, descripcion
FROM ttipo_modulo
- WHERE categoria = 0'
+ WHERE categoria '.$condition_query.' 0'
);
break;
@@ -667,7 +676,7 @@ switch ($moduletype) {
$sql = sprintf(
'SELECT id_tipo, descripcion
FROM ttipo_modulo
- WHERE nombre = \'web_analysis\''
+ WHERE nombre '.$condition_query.' \'web_analysis\''
);
break;
@@ -677,6 +686,10 @@ switch ($moduletype) {
FROM ttipo_modulo'
);
break;
+
+ default:
+ // Nothing.
+ break;
}
$a = db_get_all_rows_sql($sql);
@@ -704,294 +717,115 @@ foreach ($a as $valor) {
$table->data[3][1] .= '';
+ $table->data[3][1] .= '';
+ $table->data[3][1] .= html_print_input(
+ [
+ 'type' => 'checkbox',
+ 'name' => 'not_condition',
+ 'return' => true,
+ 'checked' => $check_not_condition,
+ 'value' => 'NOT',
+ ]
+ );
+ $table->data[3][1] .= __('Not condition').ui_print_help_tip(__('If this option is enabled, the events that DO NOT comply with this condition will be displayed.'), true);
+ $table->data[3][1] .= '
';
$table_custom_fields = new stdClass();
$table_custom_fields->class = 'filters';
$table_custom_fields->width = '100%';
-if (is_metaconsole()) {
- $table_custom_fields->styleTable = 'margin-left:0px; margin-top:15px;';
- $table_custom_fields->cellpadding = '0';
- $table_custom_fields->cellspacing = '0';
-}
+ if (is_metaconsole()) {
+ $table_custom_fields->styleTable = 'margin-left:0px; margin-top:15px;';
+ $table_custom_fields->cellpadding = '0';
+ $table_custom_fields->cellspacing = '0';
+ }
$table_custom_fields->style = [];
-if (!is_metaconsole()) {
- $table_custom_fields->style[0] = 'font-weight: bold; width: 150px;';
-} else {
- $table_custom_fields->style[0] = 'font-weight: bold;';
-}
+ if (!is_metaconsole()) {
+ $table_custom_fields->style[0] = 'font-weight: bold; width: 150px;';
+ } else {
+ $table_custom_fields->style[0] = 'font-weight: bold;';
+ }
-$table_custom_fields->colspan = [];
-$table_custom_fields->data = [];
+ $table_custom_fields->colspan = [];
+ $table_custom_fields->data = [];
-$custom_fields = db_get_all_fields_in_table('tagent_custom_fields');
-if ($custom_fields === false) {
- $custom_fields = [];
-}
+ $custom_fields = db_get_all_fields_in_table('tagent_custom_fields');
+ if ($custom_fields === false) {
+ $custom_fields = [];
+ }
-foreach ($custom_fields as $custom_field) {
- $row = [];
- $row[0] = $custom_field['name'];
+ foreach ($custom_fields as $custom_field) {
+ $row = [];
+ $row[0] = $custom_field['name'];
- $custom_field_value = '';
- if (!empty($ag_custom_fields)) {
- $custom_field_value = $ag_custom_fields[$custom_field['id_field']];
- if (empty($custom_field_value)) {
$custom_field_value = '';
+ if (!empty($ag_custom_fields)) {
+ $custom_field_value = $ag_custom_fields[$custom_field['id_field']];
+ if (empty($custom_field_value)) {
+ $custom_field_value = '';
+ }
+ }
+
+ $row[1] = html_print_input_text('ag_custom_fields['.$custom_field['id_field'].']', $custom_field_value, '', 100, 300, true);
+
+ $table_custom_fields->data[] = $row;
}
- }
- $row[1] = html_print_input_text('ag_custom_fields['.$custom_field['id_field'].']', $custom_field_value, '', 100, 300, true);
-
- $table_custom_fields->data[] = $row;
-}
-
-$filters = '';
- ui_toggle($filters, __('Show filters'), '', '', false);
-} else {
- $table->colspan[4][0] = 7;
- $table->cellstyle[4][0] = 'padding-left: 10px;';
- $table->data[4][0] = ui_toggle(
- html_print_table(
- $table_custom_fields,
- true
- ),
- __('Agent custom fields'),
- '',
- '',
- true,
- true,
- '',
- 'white-box-content',
- 'white_table_graph'
- );
-
- $filters .= html_print_table($table, true);
- $filters .= '';
- echo $filters;
-}
-
-unset($table);
-// End Build Search Form
-//
-// Sort functionality
-$selected = true;
-$selectAgentNameUp = false;
-$selectAgentNameDown = false;
-$selectDataTypeUp = false;
-$selectDataTypeDown = false;
-$selectTypeUp = false;
-$selectTypeDown = false;
-$selectModuleNameUp = false;
-$selectModuleNameDown = false;
-$selectIntervalUp = false;
-$selectIntervalDown = false;
-$selectStatusUp = false;
-$selectStatusDown = false;
-$selectDataUp = false;
-$selectDataDown = false;
-$selectTimestampUp = false;
-$selectTimestampDown = false;
-$order = null;
-
-switch ($sortField) {
- case 'agent_alias':
- switch ($sort) {
- case 'up':
- $selectAgentNameUp = $selected;
- $order = [
- 'field' => 'tagente.alias',
- 'order' => 'ASC',
- ];
- break;
-
- case 'down':
- $selectAgentNameDown = $selected;
- $order = [
- 'field' => 'tagente.alias',
- 'order' => 'DESC',
- ];
- break;
+ if ($not_condition !== '') {
+ $check_not_condition = true;
}
- break;
- case 'type':
- switch ($sort) {
- case 'up':
- $selectDataTypeUp = $selected;
- $order = [
- 'field' => 'tagente_modulo.id_tipo_modulo',
- 'order' => 'ASC',
- ];
- break;
- case 'down':
- $selectDataTypeDown = $selected;
- $order = [
- 'field' => 'tagente_modulo.id_tipo_modulo',
- 'order' => 'DESC',
- ];
- break;
+
+
+ $filters = '';
+ ui_toggle($filters, __('Show filters'), '', '', false);
+ } else {
+ $table->colspan[4][0] = 7;
+ $table->cellstyle[4][0] = 'padding-left: 10px;';
+ $table->data[4][0] = ui_toggle(
+ html_print_table(
+ $table_custom_fields,
+ true
+ ),
+ __('Agent custom fields'),
+ '',
+ '',
+ true,
+ true,
+ '',
+ 'white-box-content',
+ 'white_table_graph'
+ );
+
+ $filters .= html_print_table($table, true);
+ $filters .= '';
+ echo $filters;
}
- break;
- case 'moduletype':
- switch ($sort) {
- case 'up':
- $selectTypeUp = $selected;
- $order = [
- 'field' => 'tagente_modulo.id_modulo',
- 'order' => 'ASC',
- ];
- break;
-
- case 'down':
- $selectTypeDown = $selected;
- $order = [
- 'field' => 'tagente_modulo.id_modulo',
- 'order' => 'DESC',
- ];
- break;
- }
- break;
-
- case 'module_name':
- switch ($sort) {
- case 'up':
- $selectModuleNameUp = $selected;
- $order = [
- 'field' => 'tagente_modulo.nombre',
- 'order' => 'ASC',
- ];
- break;
-
- case 'down':
- $selectModuleNameDown = $selected;
- $order = [
- 'field' => 'tagente_modulo.nombre',
- 'order' => 'DESC',
- ];
- break;
- }
- break;
-
- case 'interval':
- switch ($sort) {
- case 'up':
- $selectIntervalUp = $selected;
- $order = [
- 'field' => 'tagente_modulo.module_interval',
- 'order' => 'ASC',
- ];
- break;
-
- case 'down':
- $selectIntervalDown = $selected;
- $order = [
- 'field' => 'tagente_modulo.module_interval',
- 'order' => 'DESC',
- ];
- break;
- }
- break;
-
- case 'status':
- switch ($sort) {
- case 'up':
- $selectStatusUp = $selected;
- $order = [
- 'field' => 'tagente_estado.estado',
- 'order' => 'ASC',
- ];
- break;
-
- case 'down':
- $selectStatusDown = $selected;
- $order = [
- 'field' => 'tagente_estado.estado',
- 'order' => 'DESC',
- ];
- break;
- }
- break;
-
- case 'last_status_change':
- switch ($sort) {
- case 'up':
- $selectStatusUp = $selected;
- $order = [
- 'field' => 'tagente_estado.last_status_change',
- 'order' => 'ASC',
- ];
- break;
-
- case 'down':
- $selectStatusDown = $selected;
- $order = [
- 'field' => 'tagente_estado.last_status_change',
- 'order' => 'DESC',
- ];
- break;
- }
- break;
-
- case 'timestamp':
- switch ($sort) {
- case 'up':
- $selectTimestampUp = $selected;
- $order = [
- 'field' => 'tagente_estado.utimestamp',
- 'order' => 'ASC',
- ];
- break;
-
- case 'down':
- $selectTimestampDown = $selected;
- $order = [
- 'field' => 'tagente_estado.utimestamp',
- 'order' => 'DESC',
- ];
- break;
- }
- break;
-
- case 'data':
- switch ($sort) {
- case 'up':
- $selectDataUp = $selected;
- $order = [
- 'field' => 'tagente_estado.datos',
- 'order' => 'ASC',
- ];
- break;
-
- case 'down':
- $selectDataDown = $selected;
- $order = [
- 'field' => 'tagente_estado.datos',
- 'order' => 'DESC',
- ];
- break;
- }
- break;
-
- default:
- $selectAgentNameUp = $selected;
+ unset($table);
+ // End Build Search Form.
+ //
+ // Sort functionality.
+ $selected = true;
+ $selectAgentNameUp = false;
$selectAgentNameDown = false;
$selectDataTypeUp = false;
$selectDataTypeDown = false;
@@ -1007,14 +841,214 @@ switch ($sortField) {
$selectDataDown = false;
$selectTimestampUp = false;
$selectTimestampDown = false;
- $order = [
- 'field' => 'tagente.alias',
- 'order' => 'ASC',
- ];
- break;
-}
+ $order = null;
-$sql = 'SELECT
+ switch ($sortField) {
+ case 'agent_alias':
+ switch ($sort) {
+ case 'up':
+ $selectAgentNameUp = $selected;
+ $order = [
+ 'field' => 'tagente.alias',
+ 'order' => 'ASC',
+ ];
+ break;
+
+ case 'down':
+ $selectAgentNameDown = $selected;
+ $order = [
+ 'field' => 'tagente.alias',
+ 'order' => 'DESC',
+ ];
+ break;
+ }
+ break;
+
+ case 'type':
+ switch ($sort) {
+ case 'up':
+ $selectDataTypeUp = $selected;
+ $order = [
+ 'field' => 'tagente_modulo.id_tipo_modulo',
+ 'order' => 'ASC',
+ ];
+ break;
+
+ case 'down':
+ $selectDataTypeDown = $selected;
+ $order = [
+ 'field' => 'tagente_modulo.id_tipo_modulo',
+ 'order' => 'DESC',
+ ];
+ break;
+ }
+ break;
+
+ case 'moduletype':
+ switch ($sort) {
+ case 'up':
+ $selectTypeUp = $selected;
+ $order = [
+ 'field' => 'tagente_modulo.id_modulo',
+ 'order' => 'ASC',
+ ];
+ break;
+
+ case 'down':
+ $selectTypeDown = $selected;
+ $order = [
+ 'field' => 'tagente_modulo.id_modulo',
+ 'order' => 'DESC',
+ ];
+ break;
+ }
+ break;
+
+ case 'module_name':
+ switch ($sort) {
+ case 'up':
+ $selectModuleNameUp = $selected;
+ $order = [
+ 'field' => 'tagente_modulo.nombre',
+ 'order' => 'ASC',
+ ];
+ break;
+
+ case 'down':
+ $selectModuleNameDown = $selected;
+ $order = [
+ 'field' => 'tagente_modulo.nombre',
+ 'order' => 'DESC',
+ ];
+ break;
+ }
+ break;
+
+ case 'interval':
+ switch ($sort) {
+ case 'up':
+ $selectIntervalUp = $selected;
+ $order = [
+ 'field' => 'tagente_modulo.module_interval',
+ 'order' => 'ASC',
+ ];
+ break;
+
+ case 'down':
+ $selectIntervalDown = $selected;
+ $order = [
+ 'field' => 'tagente_modulo.module_interval',
+ 'order' => 'DESC',
+ ];
+ break;
+ }
+ break;
+
+ case 'status':
+ switch ($sort) {
+ case 'up':
+ $selectStatusUp = $selected;
+ $order = [
+ 'field' => 'tagente_estado.estado',
+ 'order' => 'ASC',
+ ];
+ break;
+
+ case 'down':
+ $selectStatusDown = $selected;
+ $order = [
+ 'field' => 'tagente_estado.estado',
+ 'order' => 'DESC',
+ ];
+ break;
+ }
+ break;
+
+ case 'last_status_change':
+ switch ($sort) {
+ case 'up':
+ $selectStatusUp = $selected;
+ $order = [
+ 'field' => 'tagente_estado.last_status_change',
+ 'order' => 'ASC',
+ ];
+ break;
+
+ case 'down':
+ $selectStatusDown = $selected;
+ $order = [
+ 'field' => 'tagente_estado.last_status_change',
+ 'order' => 'DESC',
+ ];
+ break;
+ }
+ break;
+
+ case 'timestamp':
+ switch ($sort) {
+ case 'up':
+ $selectTimestampUp = $selected;
+ $order = [
+ 'field' => 'tagente_estado.utimestamp',
+ 'order' => 'ASC',
+ ];
+ break;
+
+ case 'down':
+ $selectTimestampDown = $selected;
+ $order = [
+ 'field' => 'tagente_estado.utimestamp',
+ 'order' => 'DESC',
+ ];
+ break;
+ }
+ break;
+
+ case 'data':
+ switch ($sort) {
+ case 'up':
+ $selectDataUp = $selected;
+ $order = [
+ 'field' => 'tagente_estado.datos',
+ 'order' => 'ASC',
+ ];
+ break;
+
+ case 'down':
+ $selectDataDown = $selected;
+ $order = [
+ 'field' => 'tagente_estado.datos',
+ 'order' => 'DESC',
+ ];
+ break;
+ }
+ break;
+
+ default:
+ $selectAgentNameUp = $selected;
+ $selectAgentNameDown = false;
+ $selectDataTypeUp = false;
+ $selectDataTypeDown = false;
+ $selectTypeUp = false;
+ $selectTypeDown = false;
+ $selectModuleNameUp = false;
+ $selectModuleNameDown = false;
+ $selectIntervalUp = false;
+ $selectIntervalDown = false;
+ $selectStatusUp = false;
+ $selectStatusDown = false;
+ $selectDataUp = false;
+ $selectDataDown = false;
+ $selectTimestampUp = false;
+ $selectTimestampDown = false;
+ $order = [
+ 'field' => 'tagente.alias',
+ 'order' => 'ASC',
+ ];
+ break;
+ }
+
+ $sql = 'SELECT
(SELECT GROUP_CONCAT(ttag.name SEPARATOR \',\')
FROM ttag
WHERE ttag.id_tag IN (
@@ -1060,623 +1094,648 @@ $sql = 'SELECT
LIMIT '.$offset.','.$limit_sql;
-// We do not show the modules until the user searches with the filter
-if ($autosearch) {
- if (! defined('METACONSOLE')) {
- $result = db_get_all_rows_sql($sql);
+ // We do not show the modules until the user searches with the filter.
+ if ($autosearch) {
+ if (! defined('METACONSOLE')) {
+ $result = db_get_all_rows_sql($sql);
- if ($result === false) {
- $result = [];
- } else {
- ui_pagination($count, false, $offset, 0, false, 'offset', true);
- }
- } else {
- // For each server defined and not disabled:
- $servers = db_get_all_rows_sql(
- 'SELECT *
+ if ($result === false) {
+ $result = [];
+ } else {
+ ui_pagination($count, false, $offset, 0, false, 'offset', true);
+ }
+ } else {
+ // For each server defined and not disabled.
+ $servers = db_get_all_rows_sql(
+ 'SELECT *
FROM tmetaconsole_setup
WHERE disabled = 0'
- );
- if ($servers === false) {
- $servers = [];
- }
-
- $result = [];
- $count_modules = 0;
- foreach ($servers as $server) {
- // If connection was good then retrieve all data server
- if (metaconsole_connect($server) == NOERR) {
- $connection = true;
- } else {
- $connection = false;
- }
-
- $result_server = db_get_all_rows_sql($sql);
-
- if (!empty($result_server)) {
- // Create HASH login info
- $pwd = $server['auth_token'];
- $auth_serialized = json_decode($pwd, true);
-
- if (is_array($auth_serialized)) {
- $pwd = $auth_serialized['auth_token'];
- $api_password = $auth_serialized['api_password'];
- $console_user = $auth_serialized['console_user'];
- $console_password = $auth_serialized['console_password'];
+ );
+ if ($servers === false) {
+ $servers = [];
}
- $user = $config['id_user'];
- $user_rot13 = str_rot13($config['id_user']);
- $hashdata = $user.$pwd;
- $hashdata = md5($hashdata);
- $url_hash = '&'.'loginhash=auto&'.'loginhash_data='.$hashdata.'&'.'loginhash_user='.$user_rot13;
-
- foreach ($result_server as $result_element_key => $result_element_value) {
- $result_server[$result_element_key]['server_id'] = $server['id'];
- $result_server[$result_element_key]['server_name'] = $server['server_name'];
- $result_server[$result_element_key]['server_url'] = $server['server_url'].'/';
- $result_server[$result_element_key]['hashdata'] = $hashdata;
- $result_server[$result_element_key]['user'] = $config['id_user'];
- $result_server[$result_element_key]['groups_in_server'] = agents_get_all_groups_agent(
- $result_element_value['id_agent'],
- $result_element_value['id_group']
- );
-
- $count_modules++;
- }
-
- $result = array_merge($result, $result_server);
- }
-
- metaconsole_restore_db();
- }
-
- if ($count_modules > $config['block_size']) {
- ui_pagination($count_modules, false, $offset);
- }
-
- // Get number of elements of the pagination
- $result = ui_meta_get_subset_array($result, $inferior_limit, $superior_limit);
- }
-}
-
-if (($config['dbtype'] == 'oracle') && ($result !== false)) {
- for ($i = 0; $i < count($result); $i++) {
- unset($result[$i]['rnum']);
- }
-}
-
-
-// Urls to sort the table.
-$url_agent_name = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
-$url_type = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
-$url_module_name = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
-$url_server_type = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
-$url_interval = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
-$url_status = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
-$url_status = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
-$url_data = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
-$url_timestamp_up = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
-$url_timestamp_down = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
-
-$url_agent_name .= '&refr='.$refr.'&datatype='.$datatype.'&moduletype='.$moduletype.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
-$url_type .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
-$url_module_name .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
-$url_server_type .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
-$url_interval .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
-$url_status .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
-$url_status .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
-$url_data .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
-$url_timestamp_up .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
-$url_timestamp_down .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
-
-// Holy god...
-$url_agent_name .= '&recursion='.$recursion;
-$url_type .= '&recursion='.$recursion;
-$url_module_name .= '&recursion='.$recursion;
-$url_server_type .= '&recursion='.$recursion;
-$url_interval .= '&recursion='.$recursion;
-$url_status .= '&recursion='.$recursion;
-$url_status .= '&recursion='.$recursion;
-$url_data .= '&recursion='.$recursion;
-$url_timestamp_up .= '&recursion='.$recursion;
-$url_timestamp_down .= '&recursion='.$recursion;
-
-
-$url_agent_name .= '&sort_field=agent_alias&sort=';
-$url_type .= '&sort_field=type&sort=';
-$url_module_name .= '&sort_field=module_name&sort=';
-$url_server_type .= '&sort_field=moduletype&sort=';
-$url_interval .= '&sort_field=interval&sort=';
-$url_status .= '&sort_field=status&sort=';
-$url_status .= '&sort_field=last_status_change&sort=';
-$url_data .= '&sort_field=data&sort=';
-$url_timestamp_up .= '&sort_field=timestamp&sort=up';
-$url_timestamp_down .= '&sort_field=timestamp&sort=down';
-
-// Start Build List Result
-if (!empty($result)) {
- $table = new StdClass();
- $table->cellpadding = 0;
- $table->cellspacing = 0;
- $table->width = '100%';
- $table->class = 'info_table';
- $table->head = [];
- $table->data = [];
- $table->size = [];
- $table->align = [];
-
- $show_fields = explode(',', $config['status_monitor_fields']);
-
-
- if (in_array('policy', $show_fields)) {
- if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) {
- $table->head[0] = ''.__('P.').'';
- }
- }
-
- if (in_array('agent', $show_fields) || is_metaconsole()) {
- $table->head[1] = __('Agent');
- $table->head[1] .= ui_get_sorting_arrows($url_agent_name.'up', $url_agent_name.'down', $selectAgentNameUp, $selectAgentNameDown);
- }
-
- if (in_array('data_type', $show_fields) || is_metaconsole()) {
- $table->head[2] = __('Data Type');
- $table->head[2] .= ui_get_sorting_arrows($url_type.'up', $url_type.'down', $selectDataTypeUp, $selectDataTypeDown);
- $table->align[2] = 'left';
- }
-
- if (in_array('module_name', $show_fields) || is_metaconsole()) {
- $table->head[3] = __('Module name');
- $table->head[3] .= ui_get_sorting_arrows($url_module_name.'up', $url_module_name.'down', $selectModuleNameUp, $selectModuleNameDown);
- }
-
- if (in_array('server_type', $show_fields) || is_metaconsole()) {
- $table->head[4] = __('Server type');
- $table->head[4] .= ui_get_sorting_arrows($url_server_type.'up', $url_server_type.'down', $selectTypeUp, $selectTypeDown);
- }
-
- if (in_array('interval', $show_fields) || is_metaconsole()) {
- $table->head[5] = __('Interval');
- $table->head[5] .= ui_get_sorting_arrows($url_interval.'up', $url_interval.'down', $selectIntervalUp, $selectIntervalDown);
- $table->align[5] = 'left';
- }
-
- if (in_array('status', $show_fields) || is_metaconsole()) {
- $table->head[6] = __('Status');
- $table->head[6] .= ui_get_sorting_arrows($url_status.'up', $url_status.'down', $selectStatusUp, $selectStatusDown);
- $table->align[6] = 'left';
- }
-
- if (in_array('last_status_change', $show_fields)) {
- $table->head[7] = __('Last status change');
- $table->head[7] .= ui_get_sorting_arrows($url_status.'up', $url_status.'down', $selectStatusUp, $selectStatusDown);
- $table->align[7] = 'left';
- }
-
- if (in_array('graph', $show_fields) || is_metaconsole()) {
- $table->head[8] = __('Graph');
- $table->align[8] = 'left';
- }
-
- if (in_array('warn', $show_fields) || is_metaconsole()) {
- $table->head[9] = __('Warn');
- $table->align[9] = 'left';
- }
-
- if (in_array('data', $show_fields) || is_metaconsole()) {
- $table->head[10] = __('Data');
- $table->align[10] = 'left';
- if (is_metaconsole()) {
- $table->head[10] .= ui_get_sorting_arrows($url_data.'up', $url_data.'down', $selectDataUp, $selectDataDown);
- }
- }
-
- if (in_array('timestamp', $show_fields) || is_metaconsole()) {
- $table->head[11] = __('Timestamp');
- $table->head[11] .= ui_get_sorting_arrows($url_timestamp_up, $url_timestamp_down, $selectTimestampUp, $selectTimestampDown);
- $table->align[11] = 'left';
- }
-
- $id_type_web_content_string = db_get_value(
- 'id_tipo',
- 'ttipo_modulo',
- 'nombre',
- 'web_content_string'
- );
-
- foreach ($result as $row) {
- // Avoid unset, null and false value
- if (empty($row['server_name'])) {
- $row['server_name'] = '';
- }
-
- $is_web_content_string = (bool) db_get_value_filter(
- 'id_agente_modulo',
- 'tagente_modulo',
- [
- 'id_agente_modulo' => $row['id_agente_modulo'],
- 'id_tipo_modulo' => $id_type_web_content_string,
- ]
- );
-
- // Fixed the goliat sends the strings from web
- // without HTML entities
- if ($is_web_content_string) {
- $row['datos'] = io_safe_input($row['datos']);
- }
-
- // Fixed the data from Selenium Plugin
- if ($row['datos'] != strip_tags($row['datos'])) {
- $row['datos'] = io_safe_input($row['datos']);
- }
-
- $data = [];
-
- if (in_array('policy', $show_fields) || is_metaconsole()) {
- if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) {
- if (is_metaconsole()) {
- $node = metaconsole_get_connection_by_id($row['server_id']);
- if (metaconsole_load_external_db($node) !== NOERR) {
- // Restore the default connection.
- metaconsole_restore_db();
- $errors++;
- break;
- }
- }
-
- $policyInfo = policies_info_module_policy($row['id_agente_modulo']);
-
- if ($policyInfo === false) {
- $data[0] = '';
- } else {
- $linked = policies_is_module_linked($row['id_agente_modulo']);
-
- $adopt = false;
- if (policies_is_module_adopt($row['id_agente_modulo'])) {
- $adopt = true;
- }
-
- if ($linked) {
- if ($adopt) {
- $img = 'images/policies_brick.png';
- $title = __('(Adopt) ').$policyInfo['name_policy'];
- } else {
- $img = 'images/policies_mc.png';
- $title = $policyInfo['name_policy'];
- }
+ $result = [];
+ $count_modules = 0;
+ foreach ($servers as $server) {
+ // If connection was good then retrieve all data server.
+ if (metaconsole_connect($server) == NOERR) {
+ $connection = true;
} else {
- if ($adopt) {
- $img = 'images/policies_not_brick.png';
- $title = __('(Unlinked) (Adopt) ').$policyInfo['name_policy'];
- } else {
- $img = 'images/unlinkpolicy.png';
- $title = __('(Unlinked) ').$policyInfo['name_policy'];
+ $connection = false;
+ }
+
+ $result_server = db_get_all_rows_sql($sql);
+
+ if (!empty($result_server)) {
+ // Create HASH login info.
+ $pwd = $server['auth_token'];
+ $auth_serialized = json_decode($pwd, true);
+
+ if (is_array($auth_serialized)) {
+ $pwd = $auth_serialized['auth_token'];
+ $api_password = $auth_serialized['api_password'];
+ $console_user = $auth_serialized['console_user'];
+ $console_password = $auth_serialized['console_password'];
}
+
+ $user = $config['id_user'];
+ $user_rot13 = str_rot13($config['id_user']);
+ $hashdata = $user.$pwd;
+ $hashdata = md5($hashdata);
+ $url_hash = '&'.'loginhash=auto&'.'loginhash_data='.$hashdata.'&'.'loginhash_user='.$user_rot13;
+
+ foreach ($result_server as $result_element_key => $result_element_value) {
+ $result_server[$result_element_key]['server_id'] = $server['id'];
+ $result_server[$result_element_key]['server_name'] = $server['server_name'];
+ $result_server[$result_element_key]['server_url'] = $server['server_url'].'/';
+ $result_server[$result_element_key]['hashdata'] = $hashdata;
+ $result_server[$result_element_key]['user'] = $config['id_user'];
+ $result_server[$result_element_key]['groups_in_server'] = agents_get_all_groups_agent(
+ $result_element_value['id_agent'],
+ $result_element_value['id_group']
+ );
+
+ $count_modules++;
+ }
+
+ $result = array_merge($result, $result_server);
}
- if (is_metaconsole()) {
- $data[0] = ''.html_print_image($img, true, ['title' => $title]).'';
- } else {
- $data[0] = ''.html_print_image($img, true, ['title' => $title]).'';
- }
- }
-
- if (is_metaconsole()) {
metaconsole_restore_db();
}
+
+ if ($count_modules > $config['block_size']) {
+ ui_pagination($count_modules, false, $offset);
+ }
+
+ // Get number of elements of the pagination.
+ $result = ui_meta_get_subset_array($result, $inferior_limit, $superior_limit);
}
}
- if (in_array('agent', $show_fields) || is_metaconsole()) {
- $agent_alias = !empty($row['agent_alias']) ? $row['agent_alias'] : $row['agent_name'];
-
- // TODO: Calculate hash access before to use it more simply like other sections. I.E. Events view
- if (defined('METACONSOLE')) {
- $agent_link = '';
- $agent_alias = ui_print_truncate_text(
- $agent_alias,
- 'agent_small',
- false,
- true,
- false,
- '[…]',
- 'font-size:7.5pt;'
- );
- if (can_user_access_node()) {
- $data[1] = $agent_link.''.$agent_alias.'';
- } else {
- $data[1] = $agent_alias;
- }
- } else {
- $data[1] = '';
- $data[1] .= ui_print_truncate_text($agent_alias, 'agent_medium', false, true, false, '[…]', 'font-size:7.5pt;');
- $data[1] .= '';
+ if (($config['dbtype'] == 'oracle') && ($result !== false)) {
+ for ($i = 0; $i < count($result); $i++) {
+ unset($result[$i]['rnum']);
}
}
- if (in_array('data_type', $show_fields) || is_metaconsole()) {
- $data[2] = html_print_image('images/'.modules_show_icon_type($row['module_type']), true, ['class' => 'invert_filter']);
- $agent_groups = is_metaconsole() ? $row['groups_in_server'] : agents_get_all_groups_agent($row['id_agent'], $row['id_group']);
- if (check_acl_one_of_groups($config['id_user'], $agent_groups, 'AW')) {
- $show_edit_icon = true;
- if (defined('METACONSOLE')) {
- if (!can_user_access_node()) {
- $show_edit_icon = false;
- }
- $url_edit_module = $row['server_url'].'index.php?'.'sec=gagente&'.'sec2=godmode/agentes/configurar_agente&'.'id_agente='.$row['id_agent'].'&'.'tab=module&'.'id_agent_module='.$row['id_agente_modulo'].'&'.'edit_module=1'.'&loginhash=auto&loginhash_data='.$row['hashdata'].'&loginhash_user='.str_rot13($row['user']);
- } else {
- $url_edit_module = 'index.php?'.'sec=gagente&'.'sec2=godmode/agentes/configurar_agente&'.'id_agente='.$row['id_agent'].'&'.'tab=module&'.'id_agent_module='.$row['id_agente_modulo'].'&'.'edit_module=1';
- }
+ // Urls to sort the table.
+ $url_agent_name = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
+ $url_type = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
+ $url_module_name = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
+ $url_server_type = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
+ $url_interval = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
+ $url_status = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
+ $url_status = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
+ $url_data = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
+ $url_timestamp_up = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
+ $url_timestamp_down = 'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor';
- if ($show_edit_icon) {
- $table->cellclass[][2] = 'action_buttons';
- $data[2] .= ''.html_print_image(
- 'images/config.png',
- true,
- [
- 'alt' => '0',
- 'border' => '',
- 'title' => __('Edit'),
- ]
- ).'';
+ $url_agent_name .= '&refr='.$refr.'&datatype='.$datatype.'&moduletype='.$moduletype.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
+ $url_type .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
+ $url_module_name .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
+ $url_server_type .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
+ $url_interval .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
+ $url_status .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
+ $url_status .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
+ $url_data .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
+ $url_timestamp_up .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
+ $url_timestamp_down .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
+
+ // Holy god...
+ $url_agent_name .= '&recursion='.$recursion;
+ $url_type .= '&recursion='.$recursion;
+ $url_module_name .= '&recursion='.$recursion;
+ $url_server_type .= '&recursion='.$recursion;
+ $url_interval .= '&recursion='.$recursion;
+ $url_status .= '&recursion='.$recursion;
+ $url_status .= '&recursion='.$recursion;
+ $url_data .= '&recursion='.$recursion;
+ $url_timestamp_up .= '&recursion='.$recursion;
+ $url_timestamp_down .= '&recursion='.$recursion;
+
+
+ $url_agent_name .= '&sort_field=agent_alias&sort=';
+ $url_type .= '&sort_field=type&sort=';
+ $url_module_name .= '&sort_field=module_name&sort=';
+ $url_server_type .= '&sort_field=moduletype&sort=';
+ $url_interval .= '&sort_field=interval&sort=';
+ $url_status .= '&sort_field=status&sort=';
+ $url_status .= '&sort_field=last_status_change&sort=';
+ $url_data .= '&sort_field=data&sort=';
+ $url_timestamp_up .= '&sort_field=timestamp&sort=up';
+ $url_timestamp_down .= '&sort_field=timestamp&sort=down';
+
+ // Start Build List Result.
+ if (!empty($result)) {
+ $table = new StdClass();
+ $table->cellpadding = 0;
+ $table->cellspacing = 0;
+ $table->width = '100%';
+ $table->class = 'info_table';
+ $table->head = [];
+ $table->data = [];
+ $table->size = [];
+ $table->align = [];
+
+ $show_fields = explode(',', $config['status_monitor_fields']);
+
+
+ if (in_array('policy', $show_fields)) {
+ if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) {
+ $table->head[0] = ''.__('P.').'';
}
}
- }
- if (in_array('module_name', $show_fields) || is_metaconsole()) {
- $data[3] = ui_print_truncate_text($row['module_name'], 'module_small', false, true, true);
- if ($row['extended_info'] != '') {
- $data[3] .= ui_print_help_tip($row['extended_info'], true, '/images/default_list.png');
+ if (in_array('agent', $show_fields) || is_metaconsole()) {
+ $table->head[1] = __('Agent');
+ $table->head[1] .= ui_get_sorting_arrows($url_agent_name.'up', $url_agent_name.'down', $selectAgentNameUp, $selectAgentNameDown);
}
- if ($row['tags'] != '') {
- $data[3] .= html_print_image(
- '/images/tag_red.png',
- true,
- [
- 'title' => $row['tags'],
- 'class' => 'tag_row',
- ]
- );
- }
- }
-
- if (in_array('server_type', $show_fields) || is_metaconsole()) {
- $data[4] = servers_show_type($row['id_modulo']);
- }
-
-
- if (in_array('interval', $show_fields) || is_metaconsole()) {
- $data[5] = ($row['module_interval'] == 0) ? human_time_description_raw($row['agent_interval']) : human_time_description_raw($row['module_interval']);
- }
-
- if (in_array('status', $show_fields) || is_metaconsole()) {
- if ($row['utimestamp'] == 0 && (($row['module_type'] < 21
- || $row['module_type'] > 23) && $row['module_type'] != 100)
- ) {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_NO_DATA,
- __('NOT INIT'),
- true
- );
- } else if ($row['estado'] == 0) {
- if (is_numeric($row['datos'])) {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_OK,
- __('NORMAL').': '.remove_right_zeros(number_format($row['datos'], $config['graph_precision'])),
- true
- );
- } else {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_OK,
- __('NORMAL').': '.htmlspecialchars($row['datos']),
- true
- );
- }
- } else if ($row['estado'] == 1) {
- if (is_numeric($row['datos'])) {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_CRITICAL,
- __('CRITICAL').': '.remove_right_zeros(number_format($row['datos'], $config['graph_precision'])),
- true
- );
- } else {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_CRITICAL,
- __('CRITICAL').': '.htmlspecialchars($row['datos']),
- true
- );
- }
- } else if ($row['estado'] == 2) {
- if (is_numeric($row['datos'])) {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_WARNING,
- __('WARNING').': '.remove_right_zeros(number_format($row['datos'], $config['graph_precision'])),
- true
- );
- } else {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_WARNING,
- __('WARNING').': '.htmlspecialchars($row['datos']),
- true
- );
- }
- } else if ($row['estado'] == 3) {
- if (is_numeric($row['datos'])) {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_UNKNOWN,
- __('UNKNOWN').': '.remove_right_zeros(number_format($row['datos'], $config['graph_precision'])),
- true
- );
- } else {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_UNKNOWN,
- __('UNKNOWN').': '.htmlspecialchars($row['datos']),
- true
- );
- }
- } else if ($row['estado'] == 4) {
- if (is_numeric($row['datos'])) {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_NO_DATA,
- __('NO DATA').': '.remove_right_zeros(number_format($row['datos'], $config['graph_precision'])),
- true
- );
- } else {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_NO_DATA,
- __('NO DATA').': '.htmlspecialchars($row['datos']),
- true
- );
- }
- } else {
- $last_status = modules_get_agentmodule_last_status(
- $row['id_agente_modulo']
- );
- switch ($last_status) {
- case 0:
- if (is_numeric($row['datos'])) {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_UNKNOWN,
- __('UNKNOWN').' - '.__('Last status').' '.__('NORMAL').': '.remove_right_zeros(number_format($row['datos'], $config['graph_precision'])),
- true
- );
- } else {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_UNKNOWN,
- __('UNKNOWN').' - '.__('Last status').' '.__('NORMAL').': '.htmlspecialchars($row['datos']),
- true
- );
- }
- break;
-
- case 1:
- if (is_numeric($row['datos'])) {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_UNKNOWN,
- __('UNKNOWN').' - '.__('Last status').' '.__('CRITICAL').': '.remove_right_zeros(number_format($row['datos'], $config['graph_precision'])),
- true
- );
- } else {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_UNKNOWN,
- __('UNKNOWN').' - '.__('Last status').' '.__('CRITICAL').': '.htmlspecialchars($row['datos']),
- true
- );
- }
- break;
-
- case 2:
- if (is_numeric($row['datos'])) {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_UNKNOWN,
- __('UNKNOWN').' - '.__('Last status').' '.__('WARNING').': '.remove_right_zeros(number_format($row['datos'], $config['graph_precision'])),
- true
- );
- } else {
- $data[6] = ui_print_status_image(
- STATUS_MODULE_UNKNOWN,
- __('UNKNOWN').' - '.__('Last status').' '.__('WARNING').': '.htmlspecialchars($row['datos']),
- true
- );
- }
- break;
- }
- }
- }
-
- if (in_array('last_status_change', $show_fields) || is_metaconsole()) {
- $data[7] = ($row['last_status_change'] > 0) ? human_time_comparation($row['last_status_change']) : __('N/A');
- }
-
- if (in_array('graph', $show_fields) || is_metaconsole()) {
- $data[8] = '';
-
- $acl_graphs = false;
-
- // Avoid the check on the metaconsole. Too slow to show/hide an icon depending on the permissions
- if (!is_metaconsole()) {
- $agent_groups = agents_get_all_groups_agent($row['id_agent'], $row['id_group']);
- $acl_graphs = check_acl_one_of_groups($config['id_user'], $agent_groups, 'RR');
- } else {
- $acl_graphs = true;
+ if (in_array('data_type', $show_fields) || is_metaconsole()) {
+ $table->head[2] = __('Data Type');
+ $table->head[2] .= ui_get_sorting_arrows($url_type.'up', $url_type.'down', $selectDataTypeUp, $selectDataTypeDown);
+ $table->align[2] = 'left';
}
- if ($row['history_data'] == 1 && $acl_graphs) {
- $graph_type = return_graphtype($row['module_type']);
-
- $url = ui_get_full_url('operation/agentes/stat_win.php', false, false, false);
- $handle = dechex(crc32($row['id_agente_modulo'].$row['module_name']));
- $win_handle = 'day_'.$handle;
-
- $graph_params = [
- 'type' => $graph_type,
- 'period' => SECONDS_1DAY,
- 'id' => $row['id_agente_modulo'],
- 'refresh' => SECONDS_10MINUTES,
- ];
-
- if (is_metaconsole() && isset($row['server_id'])) {
- // Set the server id
- $graph_params['server'] = $row['server_id'];
- }
-
- $graph_params_str = http_build_query($graph_params);
-
- $link = 'winopeng_var(\''.$url.'?'.$graph_params_str.'\',\''.$win_handle.'\', 800, 480)';
-
- $data[8] = get_module_realtime_link_graph($row);
-
- if (!is_snapshot_data($row['datos'])) {
- $data[8] .= ''.html_print_image('images/chart.png', true, ['border' => '0', 'alt' => '', 'class' => 'invert_filter']).'';
- }
-
- $data[8] .= ''.html_print_image(
- 'images/binary.png',
- true,
- [
- 'border' => '0',
- 'alt' => '',
- 'class' => 'invert_filter',
- ]
- ).'';
-
- $data[8] .= ''.$row['module_name'].'';
+ if (in_array('module_name', $show_fields) || is_metaconsole()) {
+ $table->head[3] = __('Module name');
+ $table->head[3] .= ui_get_sorting_arrows($url_module_name.'up', $url_module_name.'down', $selectModuleNameUp, $selectModuleNameDown);
}
- }
- if (in_array('warn', $show_fields) || is_metaconsole()) {
- $data[9] = ui_print_module_warn_value(
- $row['max_warning'],
- $row['min_warning'],
- $row['str_warning'],
- $row['max_critical'],
- $row['min_critical'],
- $row['str_critical'],
- $row['warning_inverse'],
- $row['critical_inverse']
+ if (in_array('server_type', $show_fields) || is_metaconsole()) {
+ $table->head[4] = __('Server type');
+ $table->head[4] .= ui_get_sorting_arrows($url_server_type.'up', $url_server_type.'down', $selectTypeUp, $selectTypeDown);
+ }
+
+ if (in_array('interval', $show_fields) || is_metaconsole()) {
+ $table->head[5] = __('Interval');
+ $table->head[5] .= ui_get_sorting_arrows($url_interval.'up', $url_interval.'down', $selectIntervalUp, $selectIntervalDown);
+ $table->align[5] = 'left';
+ }
+
+ if (in_array('status', $show_fields) || is_metaconsole()) {
+ $table->head[6] = __('Status');
+ $table->head[6] .= ui_get_sorting_arrows($url_status.'up', $url_status.'down', $selectStatusUp, $selectStatusDown);
+ $table->align[6] = 'left';
+ }
+
+ if (in_array('last_status_change', $show_fields)) {
+ $table->head[7] = __('Last status change');
+ $table->head[7] .= ui_get_sorting_arrows($url_status.'up', $url_status.'down', $selectStatusUp, $selectStatusDown);
+ $table->align[7] = 'left';
+ }
+
+ if (in_array('graph', $show_fields) || is_metaconsole()) {
+ $table->head[8] = __('Graph');
+ $table->align[8] = 'left';
+ }
+
+ if (in_array('warn', $show_fields) || is_metaconsole()) {
+ $table->head[9] = __('Warn');
+ $table->align[9] = 'left';
+ }
+
+ if (in_array('data', $show_fields) || is_metaconsole()) {
+ $table->head[10] = __('Data');
+ $table->align[10] = 'left';
+ if (is_metaconsole()) {
+ $table->head[10] .= ui_get_sorting_arrows($url_data.'up', $url_data.'down', $selectDataUp, $selectDataDown);
+ }
+ }
+
+ if (in_array('timestamp', $show_fields) || is_metaconsole()) {
+ $table->head[11] = __('Timestamp');
+ $table->head[11] .= ui_get_sorting_arrows($url_timestamp_up, $url_timestamp_down, $selectTimestampUp, $selectTimestampDown);
+ $table->align[11] = 'left';
+ }
+
+ $id_type_web_content_string = db_get_value(
+ 'id_tipo',
+ 'ttipo_modulo',
+ 'nombre',
+ 'web_content_string'
);
- if (is_numeric($row['datos']) && !modules_is_string_type($row['module_type'])) {
- if ($config['render_proc']) {
- switch ($row['module_type']) {
- case 2:
- case 6:
- case 9:
- case 18:
- case 21:
- case 31:
- if ($row['datos'] >= 1) {
- $salida = $config['render_proc_ok'];
- } else {
- $salida = $config['render_proc_fail'];
- }
- break;
+ foreach ($result as $row) {
+ // Avoid unset, null and false value.
+ if (empty($row['server_name'])) {
+ $row['server_name'] = '';
+ }
- default:
+ $is_web_content_string = (bool) db_get_value_filter(
+ 'id_agente_modulo',
+ 'tagente_modulo',
+ [
+ 'id_agente_modulo' => $row['id_agente_modulo'],
+ 'id_tipo_modulo' => $id_type_web_content_string,
+ ]
+ );
+
+ // Fixed the goliat sends the strings from web.
+ // Without HTML entities.
+ if ($is_web_content_string) {
+ $row['datos'] = io_safe_input($row['datos']);
+ }
+
+ // Fixed the data from Selenium Plugin.
+ if ($row['datos'] != strip_tags($row['datos'])) {
+ $row['datos'] = io_safe_input($row['datos']);
+ }
+
+ $data = [];
+
+ if (in_array('policy', $show_fields) || is_metaconsole()) {
+ if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) {
+ if (is_metaconsole()) {
+ $node = metaconsole_get_connection_by_id($row['server_id']);
+ if (metaconsole_load_external_db($node) !== NOERR) {
+ // Restore the default connection.
+ metaconsole_restore_db();
+ $errors++;
+ break;
+ }
+ }
+
+ $policyInfo = policies_info_module_policy($row['id_agente_modulo']);
+
+ if ($policyInfo === false) {
+ $data[0] = '';
+ } else {
+ $linked = policies_is_module_linked($row['id_agente_modulo']);
+
+ $adopt = false;
+ if (policies_is_module_adopt($row['id_agente_modulo'])) {
+ $adopt = true;
+ }
+
+ if ($linked) {
+ if ($adopt) {
+ $img = 'images/policies_brick.png';
+ $title = __('(Adopt) ').$policyInfo['name_policy'];
+ } else {
+ $img = 'images/policies_mc.png';
+ $title = $policyInfo['name_policy'];
+ }
+ } else {
+ if ($adopt) {
+ $img = 'images/policies_not_brick.png';
+ $title = __('(Unlinked) (Adopt) ').$policyInfo['name_policy'];
+ } else {
+ $img = 'images/unlinkpolicy.png';
+ $title = __('(Unlinked) ').$policyInfo['name_policy'];
+ }
+ }
+
+ if (is_metaconsole()) {
+ $data[0] = ''.html_print_image($img, true, ['title' => $title]).'';
+ } else {
+ $data[0] = ''.html_print_image($img, true, ['title' => $title]).'';
+ }
+ }
+
+ if (is_metaconsole()) {
+ metaconsole_restore_db();
+ }
+ }
+ }
+
+ if (in_array('agent', $show_fields) || is_metaconsole()) {
+ $agent_alias = !empty($row['agent_alias']) ? $row['agent_alias'] : $row['agent_name'];
+
+ // TODO: Calculate hash access before to use it more simply like other sections. I.E. Events view
+ if (defined('METACONSOLE')) {
+ $agent_link = '';
+ $agent_alias = ui_print_truncate_text(
+ $agent_alias,
+ 'agent_small',
+ false,
+ true,
+ false,
+ '[…]',
+ 'font-size:7.5pt;'
+ );
+ if (can_user_access_node()) {
+ $data[1] = $agent_link.''.$agent_alias.'';
+ } else {
+ $data[1] = $agent_alias;
+ }
+ } else {
+ $data[1] = '';
+ $data[1] .= ui_print_truncate_text($agent_alias, 'agent_medium', false, true, false, '[…]', 'font-size:7.5pt;');
+ $data[1] .= '';
+ }
+ }
+
+ if (in_array('data_type', $show_fields) || is_metaconsole()) {
+ $data[2] = html_print_image('images/'.modules_show_icon_type($row['module_type']), true, ['class' => 'invert_filter']);
+ $agent_groups = is_metaconsole() ? $row['groups_in_server'] : agents_get_all_groups_agent($row['id_agent'], $row['id_group']);
+ if (check_acl_one_of_groups($config['id_user'], $agent_groups, 'AW')) {
+ $show_edit_icon = true;
+ if (defined('METACONSOLE')) {
+ if (!can_user_access_node()) {
+ $show_edit_icon = false;
+ }
+
+ $url_edit_module = $row['server_url'].'index.php?'.'sec=gagente&'.'sec2=godmode/agentes/configurar_agente&'.'id_agente='.$row['id_agent'].'&'.'tab=module&'.'id_agent_module='.$row['id_agente_modulo'].'&'.'edit_module=1'.'&loginhash=auto&loginhash_data='.$row['hashdata'].'&loginhash_user='.str_rot13($row['user']);
+ } else {
+ $url_edit_module = 'index.php?'.'sec=gagente&'.'sec2=godmode/agentes/configurar_agente&'.'id_agente='.$row['id_agent'].'&'.'tab=module&'.'id_agent_module='.$row['id_agente_modulo'].'&'.'edit_module=1';
+ }
+
+ if ($show_edit_icon) {
+ $table->cellclass[][2] = 'action_buttons';
+ $data[2] .= ''.html_print_image(
+ 'images/config.png',
+ true,
+ [
+ 'alt' => '0',
+ 'border' => '',
+ 'title' => __('Edit'),
+ ]
+ ).'';
+ }
+ }
+ }
+
+ if (in_array('module_name', $show_fields) || is_metaconsole()) {
+ $data[3] = ui_print_truncate_text($row['module_name'], 'module_small', false, true, true);
+ if ($row['extended_info'] != '') {
+ $data[3] .= ui_print_help_tip($row['extended_info'], true, '/images/default_list.png');
+ }
+
+ if ($row['tags'] != '') {
+ $data[3] .= html_print_image(
+ '/images/tag_red.png',
+ true,
+ [
+ 'title' => $row['tags'],
+ 'class' => 'tag_row',
+ ]
+ );
+ }
+ }
+
+ if (in_array('server_type', $show_fields) || is_metaconsole()) {
+ $data[4] = servers_show_type($row['id_modulo']);
+ }
+
+
+ if (in_array('interval', $show_fields) || is_metaconsole()) {
+ $data[5] = ($row['module_interval'] == 0) ? human_time_description_raw($row['agent_interval']) : human_time_description_raw($row['module_interval']);
+ }
+
+ if (in_array('status', $show_fields) || is_metaconsole()) {
+ if ($row['utimestamp'] == 0 && (($row['module_type'] < 21
+ || $row['module_type'] > 23) && $row['module_type'] != 100)
+ ) {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_NO_DATA,
+ __('NOT INIT'),
+ true
+ );
+ } else if ($row['estado'] == 0) {
+ if (is_numeric($row['datos'])) {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_OK,
+ __('NORMAL').': '.remove_right_zeros(number_format($row['datos'], $config['graph_precision'])),
+ true
+ );
+ } else {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_OK,
+ __('NORMAL').': '.htmlspecialchars($row['datos']),
+ true
+ );
+ }
+ } else if ($row['estado'] == 1) {
+ if (is_numeric($row['datos'])) {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_CRITICAL,
+ __('CRITICAL').': '.remove_right_zeros(
+ number_format($row['datos'], $config['graph_precision'])
+ ),
+ true
+ );
+ } else {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_CRITICAL,
+ __('CRITICAL').': '.htmlspecialchars($row['datos']),
+ true
+ );
+ }
+ } else if ($row['estado'] == 2) {
+ if (is_numeric($row['datos'])) {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_WARNING,
+ __('WARNING').': '.remove_right_zeros(
+ number_format($row['datos'], $config['graph_precision'])
+ ),
+ true
+ );
+ } else {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_WARNING,
+ __('WARNING').': '.htmlspecialchars($row['datos']),
+ true
+ );
+ }
+ } else if ($row['estado'] == 3) {
+ if (is_numeric($row['datos'])) {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_UNKNOWN,
+ __('UNKNOWN').': '.remove_right_zeros(
+ number_format($row['datos'], $config['graph_precision'])
+ ),
+ true
+ );
+ } else {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_UNKNOWN,
+ __('UNKNOWN').': '.htmlspecialchars($row['datos']),
+ true
+ );
+ }
+ } else if ($row['estado'] == 4) {
+ if (is_numeric($row['datos'])) {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_NO_DATA,
+ __('NO DATA').': '.remove_right_zeros(
+ number_format($row['datos'], $config['graph_precision'])
+ ),
+ true
+ );
+ } else {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_NO_DATA,
+ __('NO DATA').': '.htmlspecialchars($row['datos']),
+ true
+ );
+ }
+ } else {
+ $last_status = modules_get_agentmodule_last_status(
+ $row['id_agente_modulo']
+ );
+ switch ($last_status) {
+ case 0:
+ if (is_numeric($row['datos'])) {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_UNKNOWN,
+ __('UNKNOWN').' - '.__('Last status').' '.__('NORMAL').': '.remove_right_zeros(number_format($row['datos'], $config['graph_precision'])),
+ true
+ );
+ } else {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_UNKNOWN,
+ __('UNKNOWN').' - '.__('Last status').' '.__('NORMAL').': '.htmlspecialchars($row['datos']),
+ true
+ );
+ }
+ break;
+
+ case 1:
+ if (is_numeric($row['datos'])) {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_UNKNOWN,
+ __('UNKNOWN').' - '.__('Last status').' '.__('CRITICAL').': '.remove_right_zeros(number_format($row['datos'], $config['graph_precision'])),
+ true
+ );
+ } else {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_UNKNOWN,
+ __('UNKNOWN').' - '.__('Last status').' '.__('CRITICAL').': '.htmlspecialchars($row['datos']),
+ true
+ );
+ }
+ break;
+
+ case 2:
+ if (is_numeric($row['datos'])) {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_UNKNOWN,
+ __('UNKNOWN').' - '.__('Last status').' '.__('WARNING').': '.remove_right_zeros(number_format($row['datos'], $config['graph_precision'])),
+ true
+ );
+ } else {
+ $data[6] = ui_print_status_image(
+ STATUS_MODULE_UNKNOWN,
+ __('UNKNOWN').' - '.__('Last status').' '.__('WARNING').': '.htmlspecialchars($row['datos']),
+ true
+ );
+ }
+ break;
+ }
+ }
+ }
+
+ if (in_array('last_status_change', $show_fields) || is_metaconsole()) {
+ $data[7] = ($row['last_status_change'] > 0) ? human_time_comparation($row['last_status_change']) : __('N/A');
+ }
+
+ if (in_array('graph', $show_fields) || is_metaconsole()) {
+ $data[8] = '';
+
+ $acl_graphs = false;
+
+ // Avoid the check on the metaconsole. Too slow to show/hide an icon depending on the permissions.
+ if (!is_metaconsole()) {
+ $agent_groups = agents_get_all_groups_agent($row['id_agent'], $row['id_group']);
+ $acl_graphs = check_acl_one_of_groups($config['id_user'], $agent_groups, 'RR');
+ } else {
+ $acl_graphs = true;
+ }
+
+ if ($row['history_data'] == 1 && $acl_graphs) {
+ $graph_type = return_graphtype($row['module_type']);
+
+ $url = ui_get_full_url('operation/agentes/stat_win.php', false, false, false);
+ $handle = dechex(crc32($row['id_agente_modulo'].$row['module_name']));
+ $win_handle = 'day_'.$handle;
+
+ $graph_params = [
+ 'type' => $graph_type,
+ 'period' => SECONDS_1DAY,
+ 'id' => $row['id_agente_modulo'],
+ 'refresh' => SECONDS_10MINUTES,
+ ];
+
+ if (is_metaconsole() && isset($row['server_id'])) {
+ // Set the server id.
+ $graph_params['server'] = $row['server_id'];
+ }
+
+ $graph_params_str = http_build_query($graph_params);
+
+ $link = 'winopeng_var(\''.$url.'?'.$graph_params_str.'\',\''.$win_handle.'\', 800, 480)';
+
+ $data[8] = get_module_realtime_link_graph($row);
+
+ if (!is_snapshot_data($row['datos'])) {
+ $data[8] .= ''.html_print_image('images/chart.png', true, ['border' => '0', 'alt' => '', 'class' => 'invert_filter']).'';
+ }
+
+ $data[8] .= ''.html_print_image(
+ 'images/binary.png',
+ true,
+ [
+ 'border' => '0',
+ 'alt' => '',
+ 'class' => 'invert_filter',
+ ]
+ ).'';
+
+ $data[8] .= ''.$row['module_name'].'';
+ }
+ }
+
+ if (in_array('warn', $show_fields) || is_metaconsole()) {
+ $data[9] = ui_print_module_warn_value(
+ $row['max_warning'],
+ $row['min_warning'],
+ $row['str_warning'],
+ $row['max_critical'],
+ $row['min_critical'],
+ $row['str_critical'],
+ $row['warning_inverse'],
+ $row['critical_inverse']
+ );
+
+ if (is_numeric($row['datos']) && !modules_is_string_type($row['module_type'])) {
+ if ($config['render_proc']) {
+ switch ($row['module_type']) {
+ case 2:
+ case 6:
+ case 9:
+ case 18:
+ case 21:
+ case 31:
+ if ($row['datos'] >= 1) {
+ $salida = $config['render_proc_ok'];
+ } else {
+ $salida = $config['render_proc_fail'];
+ }
+ break;
+
+ default:
+ switch ($row['module_type']) {
+ case 15:
+ $value = db_get_value('snmp_oid', 'tagente_modulo', 'id_agente_modulo', $row['id_agente_modulo']);
+ if ($value == '.1.3.6.1.2.1.1.3.0' || $value == '.1.3.6.1.2.1.25.1.1.0') {
+ $salida = human_milliseconds_to_string($row['datos']);
+ } else {
+ $salida = remove_right_zeros(number_format($row['datos'], $config['graph_precision']));
+ }
+ break;
+
+ default:
+ $salida = remove_right_zeros(number_format($row['datos'], $config['graph_precision']));
+ break;
+ }
+ break;
+ }
+ } else {
switch ($row['module_type']) {
case 15:
$value = db_get_value('snmp_oid', 'tagente_modulo', 'id_agente_modulo', $row['id_agente_modulo']);
@@ -1691,152 +1750,135 @@ if (!empty($result)) {
$salida = remove_right_zeros(number_format($row['datos'], $config['graph_precision']));
break;
}
- break;
- }
- } else {
- switch ($row['module_type']) {
- case 15:
- $value = db_get_value('snmp_oid', 'tagente_modulo', 'id_agente_modulo', $row['id_agente_modulo']);
- if ($value == '.1.3.6.1.2.1.1.3.0' || $value == '.1.3.6.1.2.1.25.1.1.0') {
- $salida = human_milliseconds_to_string($row['datos']);
- } else {
- $salida = remove_right_zeros(number_format($row['datos'], $config['graph_precision']));
- }
- break;
-
- default:
- $salida = remove_right_zeros(number_format($row['datos'], $config['graph_precision']));
- break;
- }
- }
-
- // Show units ONLY in numeric data types
- if (isset($row['unit'])) {
- $data_macro = modules_get_unit_macro($row['datos'], $row['unit']);
- if ($data_macro) {
- $salida = $data_macro;
- } else {
- $salida .= ' '.''.io_safe_output($row['unit']).'';
- if (strlen($salida) > $config['agent_size_text_small']) {
- $salida = ui_print_truncate_text($salida, 'agent_small', true, true, false, '[…]', 'font-size:7.5pt;');
- // clean tag
- $text_aux = explode(' $row['id_agente_modulo'],
- 'interval' => $row['current_interval'],
- 'module_name' => $row['module_name'],
- 'id_node' => $row['server_id'],
- ]
- );
- $salida = ui_get_snapshot_image($link, $is_snapshot).' ';
- } else {
- $sub_string = substr(io_safe_output($row['datos']), 0, 12);
- if ($module_value == $sub_string) {
- if ($module_value == 0 && !$sub_string) {
- $salida = 0;
- } else {
+ // Show units ONLY in numeric data types.
+ if (isset($row['unit'])) {
$data_macro = modules_get_unit_macro($row['datos'], $row['unit']);
if ($data_macro) {
$salida = $data_macro;
} else {
- $salida = $row['datos'];
+ $salida .= ' '.''.io_safe_output($row['unit']).'';
+ if (strlen($salida) > $config['agent_size_text_small']) {
+ $salida = ui_print_truncate_text($salida, 'agent_small', true, true, false, '[…]', 'font-size:7.5pt;');
+ // Clean tag .
+ $text_aux = explode(' $row['id_agente_modulo'],
+ 'interval' => $row['current_interval'],
+ 'module_name' => $row['module_name'],
+ 'id_node' => $row['server_id'],
+ ]
+ );
+ $salida = ui_get_snapshot_image($link, $is_snapshot).' ';
} else {
- $salida = '".$module_value.''.'".''.$sub_string.' '."".html_print_image('images/rosette.png', true).'';
+ }
+ }
}
}
}
+
+ if (in_array('data', $show_fields) || is_metaconsole()) {
+ $data[10] = $salida;
+ }
+
+ if (in_array('timestamp', $show_fields) || is_metaconsole()) {
+ if ($row['module_interval'] > 0) {
+ $interval = $row['module_interval'];
+ } else {
+ $interval = $row['agent_interval'];
+ }
+
+ if ($row['estado'] == 3) {
+ $option = [
+ 'html_attr' => 'class="redb"',
+ 'style' => 'font-size:7pt;',
+ ];
+ } else {
+ $option = ['style' => 'font-size:7pt;'];
+ }
+
+ $data[11] = ui_print_timestamp($row['utimestamp'], true, $option);
+ }
+
+ array_push($table->data, $data);
}
- }
- if (in_array('data', $show_fields) || is_metaconsole()) {
- $data[10] = $salida;
- }
+ html_print_table($table);
- if (in_array('timestamp', $show_fields) || is_metaconsole()) {
- if ($row['module_interval'] > 0) {
- $interval = $row['module_interval'];
+ if ($count_modules > $config['block_size']) {
+ ui_pagination($count_modules, false, $offset, 0, false, 'offset', true, 'pagination-bottom');
+ }
+ } else {
+ if ($first_interaction) {
+ ui_print_info_message(['no_close' => true, 'message' => __('This group doesn\'t have any monitor')]);
} else {
- $interval = $row['agent_interval'];
+ ui_print_info_message(['no_close' => true, 'message' => __('Sorry no search parameters')]);
}
-
- if ($row['estado'] == 3) {
- $option = [
- 'html_attr' => 'class="redb"',
- 'style' => 'font-size:7pt;',
- ];
- } else {
- $option = ['style' => 'font-size:7pt;'];
- }
-
- $data[11] = ui_print_timestamp($row['utimestamp'], true, $option);
}
- array_push($table->data, $data);
- }
+ // End Build List Result.
+ echo "";
- html_print_table($table);
+ enterprise_hook('close_meta_frame');
- if ($count_modules > $config['block_size']) {
- ui_pagination($count_modules, false, $offset, 0, false, 'offset', true, 'pagination-bottom');
- }
-} else {
- if ($first_interaction) {
- ui_print_info_message(['no_close' => true, 'message' => __('This group doesn\'t have any monitor')]);
- } else {
- ui_print_info_message(['no_close' => true, 'message' => __('Sorry no search parameters')]);
- }
-}
+ ui_require_javascript_file('pandora_modules');
-// End Build List Result.
-echo "";
-
-enterprise_hook('close_meta_frame');
-
-ui_require_javascript_file('pandora_modules');
-
-?>
+ ?>