';
echo __('In order to perform massive operations, PHP needs a correct configuration in timeout parameters. Please, open your PHP configuration file (php.ini) for example:
sudo vi /etc/php5/apache2/php.ini; And set your timeout parameters to a correct value:
max_execution_time = 0 and
max_input_time = -1');
@@ -256,7 +263,7 @@ if ($tab == 'massive_policies' && is_central_policies_on_node()) {
return;
}
-// Catch all submit operations in this view to display Wait banner
+// Catch all submit operations in this view to display Wait banner.
$submit_action = get_parameter('go');
$submit_update = get_parameter('updbutton');
$submit_del = get_parameter('del');
diff --git a/pandora_console/godmode/menu.php b/pandora_console/godmode/menu.php
index ac3154b657..eaf33df640 100644
--- a/pandora_console/godmode/menu.php
+++ b/pandora_console/godmode/menu.php
@@ -457,19 +457,6 @@ if (check_acl($config['id_user'], 0, 'PM') && $config['enable_update_manager'])
$sub['godmode/update_manager/update_manager&tab=setup']['text'] = __('Update Manager options');
$sub['godmode/update_manager/update_manager&tab=setup']['id'] = 'Options';
- if (license_free() && is_user_admin($config['id_user'])) {
- include_once 'include/functions_update_manager.php';
- // If there are unread messages, display the notification icon
- $number_total_messages;
- $number_unread_messages = update_manager_get_unread_messages();
- if ($number_unread_messages > 0) {
- $menu_godmode['messages']['notification'] = $number_unread_messages;
- }
-
- $sub['godmode/update_manager/update_manager&tab=messages']['text'] = __('Messages');
- $sub['godmode/update_manager/update_manager&tab=messages']['id'] = 'Messages';
- }
-
$menu_godmode['messages']['sub'] = $sub;
}
diff --git a/pandora_console/godmode/modules/manage_nc_groups.php b/pandora_console/godmode/modules/manage_nc_groups.php
index 088d73026b..d53de32ce1 100644
--- a/pandora_console/godmode/modules/manage_nc_groups.php
+++ b/pandora_console/godmode/modules/manage_nc_groups.php
@@ -36,7 +36,13 @@ if (defined('METACONSOLE')) {
components_meta_print_header();
$sec = 'advanced';
} else {
- ui_print_page_header(__('Module management').' » '.__('Component group management'), '', false, 'component_groups', true);
+ ui_print_page_header(
+ __('Module management').' » '.__('Component group management'),
+ '',
+ false,
+ 'component_groups',
+ true
+ );
$sec = 'gmodules';
}
diff --git a/pandora_console/godmode/modules/manage_network_components.php b/pandora_console/godmode/modules/manage_network_components.php
index 341a19cfbb..82cd02d771 100644
--- a/pandora_console/godmode/modules/manage_network_components.php
+++ b/pandora_console/godmode/modules/manage_network_components.php
@@ -46,11 +46,22 @@ if (defined('METACONSOLE')) {
*/
+ $id_modulo = (int) get_parameter('id_component_type');
+ $new_component = (bool) get_parameter('new_component');
+ if ($id_modulo == 2 || $id_modulo == 4 || $id_modulo == 6) {
+ $help_header = 'local_module_tab';
+ } else if (!$new_component) {
+ $help_header = 'network_component_tab';
+ } else {
+ $help_header = 'network_component_tab';
+ }
+
+
ui_print_page_header(
__('Module management').' » '.__('Network component management'),
'',
false,
- 'network_component',
+ $help_header,
true,
'',
false,
@@ -90,7 +101,6 @@ if (!empty($macros)) {
$max_timeout = (int) get_parameter('max_timeout');
$max_retries = (int) get_parameter('max_retries');
-$id_modulo = (int) get_parameter('id_component_type');
$id_plugin = (int) get_parameter('id_plugin');
$dynamic_interval = (int) get_parameter('dynamic_interval');
$dynamic_max = (int) get_parameter('dynamic_max');
@@ -150,7 +160,6 @@ $disabled_types_event = json_encode($disabled_types_event);
$create_component = (bool) get_parameter('create_component');
$update_component = (bool) get_parameter('update_component');
$delete_component = (bool) get_parameter('delete_component');
-$new_component = (bool) get_parameter('new_component');
$duplicate_network_component = (bool) get_parameter('duplicate_network_component');
$delete_multiple = (bool) get_parameter('delete_multiple');
$multiple_delete = (bool) get_parameter('multiple_delete', 0);
diff --git a/pandora_console/godmode/modules/manage_network_components_form_common.php b/pandora_console/godmode/modules/manage_network_components_form_common.php
index 7b33a0a275..0d52a01377 100644
--- a/pandora_console/godmode/modules/manage_network_components_form_common.php
+++ b/pandora_console/godmode/modules/manage_network_components_form_common.php
@@ -72,7 +72,7 @@ if (enterprise_installed()) {
}
}
-$table->data[1][0] = __('Type').' '.ui_print_help_icon('module_type', true);
+$table->data[1][0] = __('Type').' '.ui_print_help_icon($help_type, true, '', 'images/help_green.png', '', 'module_type_help');
$sql = sprintf(
'SELECT id_tipo, descripcion
FROM ttipo_modulo
@@ -396,6 +396,124 @@ $next_row++;
var type_names = jQuery.parseJSON(Base64.decode($('#hidden-type_names').val()));
var type_name_selected = type_names[type_selected];
+ console.log(type_name_selected);
+ var element = document.getElementById("module_type_help");
+ var language = "" ;
+ element.onclick = function (event) {
+ if(type_name_selected == 'async_data' ||
+ type_name_selected == 'async_proc' ||
+ type_name_selected == 'async_string' ||
+ type_name_selected == 'generic_proc'||
+ type_name_selected == 'generic_data' ||
+ type_name_selected == 'generic_data_inc' ||
+ type_name_selected == 'generic_data_inc_abs'||
+ type_name_selected == 'generic_data_string' ||
+ type_name_selected == 'keep_alive'
+ ){
+ if (language == 'es'){
+ window.open(
+ 'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Operacion&printable=yes#Tipos_de_m.C3.B3dulos',
+ '_blank',
+ 'width=800,height=600'
+ );
+ }
+ else{
+ window.open(
+ 'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Operations&printable=yes#Types_of_Modules',
+ '_blank',
+ 'width=800,height=600'
+ );
+ }
+
+
+ }
+ if(type_name_selected == 'remote_icmp' ||
+ type_name_selected == 'remote_icmp_proc'
+ ){
+ if(language == 'es'){
+ window.open(
+ 'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Monitorizacion_remota&printable=yes#Monitorizaci.C3.B3n_ICMP',
+ '_blank',
+ 'width=800,height=600'
+ );
+ }
+ else{
+ window.open(
+ 'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Remote_Monitoring&printable=yes#ICMP_Monitoring',
+ '_blank',
+ 'width=800,height=600'
+ );
+ }
+
+
+ }
+ if(type_name_selected == 'remote_snmp_string' ||
+ type_name_selected == 'remote_snmp_proc' ||
+ type_name_selected == 'remote_snmp_inc' ||
+ type_name_selected == 'remote_snmp'
+ ){
+ if(language == 'es'){
+ window.open(
+ 'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Monitorizacion_remota&printable=yes#Monitorizando_con_m.C3.B3dulos_de_red_tipo_SNMP',
+ '_blank',
+ 'width=800,height=600'
+ );
+ }
+ else{
+ window.open(
+ 'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Remote_Monitoring&printable=yes#Monitoring_by_Network_Modules_with_SNMP',
+ '_blank',
+ 'width=800,height=600'
+ );
+ }
+
+
+ }
+ if(type_name_selected == 'remote_tcp_string' ||
+ type_name_selected == 'remote_tcp_proc' ||
+ type_name_selected == 'remote_tcp_inc' ||
+ type_name_selected == 'remote_tcp'
+ ){
+ if(language == 'es'){
+ window.open(
+ 'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Monitorizacion_remota&printable=yes#Monitorizaci.C3.B3n_TCP',
+ '_blank',
+ 'width=800,height=600'
+ );
+ }
+ else{
+ window.open(
+ 'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Remote_Monitoring&printable=yes#TCP_Monitoring',
+ '_blank',
+ 'width=800,height=600'
+ );
+ }
+
+
+ }
+ if(type_name_selected == 'web_data' ||
+ type_name_selected == 'web_proc' ||
+ type_name_selected == 'web_content_data' ||
+ type_name_selected == 'web_content_string'
+ ){
+ if(language == 'es'){
+ window.open(
+ 'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Monitorizacion_web&printable=yes#Creaci.C3.B3n_de_m.C3.B3dulos_web',
+ '_blank',
+ 'width=800,height=600'
+ );
+ }
+ else{
+ window.open(
+ 'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Web_Monitoring&printable=yes#Creating_Web_Modules',
+ '_blank',
+ 'width=800,height=600'
+ );
+ }
+
+
+ }
+ }
if (type_name_selected.match(/_string$/) == null) {
// Numeric types
diff --git a/pandora_console/godmode/modules/manage_network_components_form_wmi.php b/pandora_console/godmode/modules/manage_network_components_form_wmi.php
index f88441f5d5..09681b34c8 100755
--- a/pandora_console/godmode/modules/manage_network_components_form_wmi.php
+++ b/pandora_console/godmode/modules/manage_network_components_form_wmi.php
@@ -28,7 +28,7 @@ if (! check_acl($config['id_user'], 0, 'PM')) {
require_once $config['homedir'].'/include/functions_modules.php';
$data = [];
-$data[0] = __('WMI query');
+$data[0] = __('WMI query').' '.ui_print_help_icon('wmi_query_tab', true);
$data[1] = html_print_input_text('snmp_oid', $snmp_oid, '', 25, 255, true);
$data[2] = __('Key string').' '.ui_print_help_icon('wmikey', true, ui_get_full_url(false, false, false, false));
$data[3] = html_print_input_text('snmp_community', $snmp_community, '', 25, 255, true);
diff --git a/pandora_console/godmode/modules/manage_network_templates.php b/pandora_console/godmode/modules/manage_network_templates.php
index ae1b5b2d07..eebf408caa 100644
--- a/pandora_console/godmode/modules/manage_network_templates.php
+++ b/pandora_console/godmode/modules/manage_network_templates.php
@@ -35,7 +35,16 @@ if (! check_acl($config['id_user'], 0, 'PM')) {
*/
-ui_print_page_header(__('Module management').' » '.__('Module template management'), 'images/gm_modules.png', false, 'template_tab', true, '', true, 'modulemodal');
+ui_print_page_header(
+ __('Module management').' » '.__('Module template management'),
+ 'images/gm_modules.png',
+ false,
+ 'module_template_tab',
+ true,
+ '',
+ true,
+ 'modulemodal'
+);
require_once 'include/functions_network_profiles.php';
diff --git a/pandora_console/godmode/netflow/nf_edit.php b/pandora_console/godmode/netflow/nf_edit.php
index 10bcf1ce89..eb9b84546b 100644
--- a/pandora_console/godmode/netflow/nf_edit.php
+++ b/pandora_console/godmode/netflow/nf_edit.php
@@ -34,7 +34,13 @@ $pure = get_parameter('pure', 0);
// Header
if (! defined('METACONSOLE')) {
- ui_print_page_header(__('Manage Netflow Filter'), 'images/gm_netflow.png', false, '', true);
+ ui_print_page_header(
+ __('Manage Netflow Filter'),
+ 'images/gm_netflow.png',
+ false,
+ 'pcap_filter',
+ true
+ );
$is_windows = strtoupper(substr(PHP_OS, 0, 3)) == 'WIN';
if ($is_windows) {
diff --git a/pandora_console/godmode/netflow/nf_edit_form.php b/pandora_console/godmode/netflow/nf_edit_form.php
index 60cd41f019..0f0c9f5194 100644
--- a/pandora_console/godmode/netflow/nf_edit_form.php
+++ b/pandora_console/godmode/netflow/nf_edit_form.php
@@ -54,7 +54,14 @@ if (! defined('METACONSOLE')) {
$buttons['add']['text'] = '
'.html_print_image('images/add_mc.png', true, ['title' => __('Add filter')]).'';
- ui_print_page_header(__('Netflow Filter'), 'images/gm_netflow.png', false, '', true, $buttons);
+ ui_print_page_header(
+ __('Netflow Filter'),
+ 'images/gm_netflow.png',
+ false,
+ 'pcap_filter',
+ true,
+ $buttons
+ );
} else {
$nav_bar = [
[
@@ -230,10 +237,9 @@ $table->data[5][1] = html_print_input_text('dst_port', $dst_port, false, 40, 80,
$table->data[6][0] = __('Src Port').ui_print_help_tip(__('Source port. A comma separated list of source ports. If we leave the field blank, will show all ports. Example filter by ports 80 and 22:
80,22'), true);
$table->data[6][1] = html_print_input_text('src_port', $src_port, false, 40, 80, true);
-$table->data[7][0] = ui_print_help_icon('pcap_filter', true);
$table->data[7][1] = html_print_textarea('advanced_filter', 4, 40, $advanced_filter, '', true);
-$table->data[8][0] = '
'.__('Aggregate by').''.ui_print_help_icon('aggregate_by', true);
+$table->data[8][0] = '
'.__('Aggregate by').'';
$aggregate_list = [
'srcip' => __('Src Ip Address'),
'dstip' => __('Dst Ip Address'),
diff --git a/pandora_console/godmode/reporting/graph_builder.graph_editor.php b/pandora_console/godmode/reporting/graph_builder.graph_editor.php
index 5626c51dab..a03a67737f 100644
--- a/pandora_console/godmode/reporting/graph_builder.graph_editor.php
+++ b/pandora_console/godmode/reporting/graph_builder.graph_editor.php
@@ -391,7 +391,7 @@ $(document).ready (function () {
});
if($('#module')[0].childElementCount == 1 && ($('#module')[0].value == "" || $('#module')[0].value == "0")) {
- alert('');
+ alert("");
return false;
}
});
diff --git a/pandora_console/godmode/reporting/graph_builder.php b/pandora_console/godmode/reporting/graph_builder.php
index 28bae38d3d..7a83697824 100644
--- a/pandora_console/godmode/reporting/graph_builder.php
+++ b/pandora_console/godmode/reporting/graph_builder.php
@@ -276,19 +276,30 @@ if (isset($name)) {
$head .= ' - '.$name;
}
-// Header
+// Header.
$tab = get_parameter('tab', '');
switch ($tab) {
+ default:
case 'main':
- ui_print_page_header($head, 'images/chart.png', false, 'graph_builder', false, $buttons);
+ ui_print_page_header(
+ $head,
+ 'images/chart.png',
+ false,
+ 'graph_builder',
+ false,
+ $buttons
+ );
break;
case 'graph_editor':
- ui_print_page_header($head, 'images/chart.png', false, 'graph_editor', false, $buttons);
- break;
-
- default:
- ui_print_page_header($head, 'images/chart.png', false, 'graph_builder', false, $buttons);
+ ui_print_page_header(
+ $head,
+ 'images/chart.png',
+ false,
+ 'graph_editor',
+ false,
+ $buttons
+ );
break;
}
diff --git a/pandora_console/godmode/reporting/graphs.php b/pandora_console/godmode/reporting/graphs.php
index 804855c02d..cb52af5e04 100644
--- a/pandora_console/godmode/reporting/graphs.php
+++ b/pandora_console/godmode/reporting/graphs.php
@@ -151,100 +151,193 @@ if ($multiple_delete) {
}
+$id_group = (int) get_parameter('id_group', 0);
+$search = trim(get_parameter('search', ''));
$graphs = custom_graphs_get_user($config['id_user'], false, true, $access);
$offset = (int) get_parameter('offset');
+$table_aux = new stdClass();
-ui_pagination(count($graphs));
+ $table_aux->width = '100%';
+ $table_aux->class = 'databox filters';
+ $table_aux->cellpadding = 0;
+ $table_aux->cellspacing = 0;
-if (!empty($graphs)) {
- $table = new stdClass();
- $table->width = '100%';
- $table->class = 'info_table';
- $table->cellpadding = 0;
- $table->cellspacing = 0;
- $table->align = [];
- $table->head = [];
- if ($report_w || $report_m) {
- $table->align[5] = 'left';
- $table->head[5] = html_print_checkbox('all_delete', 0, false, true, false);
- $table->size[5] = '20px';
- }
+ $table_aux->colspan[0][0] = 4;
+ $table_aux->data[0][0] = '
'.__('Group').'';
- $table->head[0] = __('Graph name');
- $table->head[1] = __('Description');
- $table->head[2] = __('Number of Graphs');
- $table->head[3] = __('Group');
- $table->size[0] = '30%';
- $table->size[2] = '200px';
- $table->size[3] = '200px';
- $table->align[2] = 'left';
- $table->align[3] = 'left';
- $op_column = false;
- if ($report_w || $report_m) {
- $op_column = true;
- $table->align[4] = 'left';
- $table->head[4] = __('Op.');
- $table->size[4] = '90px';
- }
+ $table_aux->data[0][1] = html_print_select_groups(false, $access, true, 'id_group', $id_group, '', '', '', true, false, true, '', false, '', false, false, 'id_grupo', $strict_user).'
';
- $table->data = [];
+ $table_aux->data[0][2] = '
'.__('Free text for search: ').ui_print_help_tip(
+ __('Search by report name or description, list matches.'),
+ true
+ ).'';
+ $table_aux->data[0][3] = html_print_input_text('search', $search, '', 30, '', true);
- $result_graphs = array_slice($graphs, $offset, $config['block_size']);
+ $table_aux->data[0][6] = html_print_submit_button(__('Search'), 'search_submit', false, 'class="sub upd"', true);
- foreach ($result_graphs as $graph) {
- $data = [];
-
- if ($report_m) {
- $data[5] .= html_print_checkbox_extended('delete_multiple[]', $graph['id_graph'], false, false, '', 'class="check_delete" style="margin-left:2px;"', true);
+ if (is_metaconsole()) {
+ $filter = "
';
+ ui_toggle($filter, __('Show Option'));
+ } else {
+ echo "
';
}
- $data[0] = '
'.ui_print_truncate_text($graph['name'], 70).'';
-
- $data[1] = ui_print_truncate_text($graph['description'], 70);
-
- $data[2] = $graph['graphs_count'];
- $data[3] = ui_print_group_icon($graph['id_group'], true);
-
- $data[4] = '';
- $table->cellclass[][4] = 'action_buttons';
- if (($report_w || $report_m)) {
- $data[4] = '
'.html_print_image('images/config.png', true).'';
+ // Show only selected groups.
+ if ($id_group > 0) {
+ $group = ["$id_group" => $id_group];
+ } else {
+ $group = false;
}
- if ($report_m) {
- $data[4] .= '
$id_group];
+ $filter['id_group'] = $id_group;
+ } else {
+ $group = false;
+ }
+
+ // Filter normal and metaconsole reports.
+ if ($config['metaconsole'] == 1 && defined('METACONSOLE')) {
+ $filter['metaconsole'] = 1;
+ } else {
+ $filter['metaconsole'] = 0;
+ }
+
+
+ /*
+ $reports = reports_get_reports(
+ $filter,
+ [
+ 'name',
+ 'description',
+ 'id_graph',
+ 'id_group',
+ ],
+ $return_all_group,
+ $access,
+ $group,
+ false
+ );*/
+
+ if ($id_group != null || $search != null) {
+ $graphs = custom_graphs_search($id_group, $search);
+ }
+
+ ui_pagination(count($graphs));
+
+ if (!empty($graphs)) {
+ $table = new stdClass();
+ $table->width = '100%';
+ $table->class = 'info_table';
+ $table->cellpadding = 0;
+ $table->cellspacing = 0;
+ $table->align = [];
+ $table->head = [];
+ if ($report_w || $report_m) {
+ $table->align[5] = 'left';
+ $table->head[5] = html_print_checkbox('all_delete', 0, false, true, false);
+ $table->size[5] = '20px';
+ }
+
+ $table->head[0] = __('Graph name');
+ $table->head[1] = __('Description');
+ $table->head[2] = __('Number of Graphs');
+ $table->head[3] = __('Group');
+ $table->size[0] = '30%';
+ $table->size[2] = '200px';
+ $table->size[3] = '200px';
+ $table->align[2] = 'left';
+ $table->align[3] = 'left';
+ $op_column = false;
+ if ($report_w || $report_m) {
+ $op_column = true;
+ $table->align[4] = 'left';
+ $table->head[4] = __('Op.');
+ $table->size[4] = '90px';
+ }
+
+ $table->data = [];
+
+ $result_graphs = array_slice($graphs, $offset, $config['block_size']);
+
+ foreach ($result_graphs as $graph) {
+ $data = [];
+
+ if ($report_m) {
+ $data[5] .= html_print_checkbox_extended('delete_multiple[]', $graph['id_graph'], false, false, '', 'class="check_delete" style="margin-left:2px;"', true);
+ }
+
+ $data[0] = ''.ui_print_truncate_text($graph['name'], 70).'';
+
+ $data[1] = ui_print_truncate_text($graph['description'], 70);
+
+ $data[2] = $graph['graphs_count'];
+ $data[3] = ui_print_group_icon($graph['id_group'], true);
+
+ $data[4] = '';
+ $table->cellclass[][4] = 'action_buttons';
+ if (($report_w || $report_m)) {
+ $data[4] = '
'.html_print_image('images/config.png', true).'';
+ }
+
+ if ($report_m) {
+ $data[4] .= '
'.html_print_image('images/cross.png', true, ['alt' => __('Delete'), 'title' => __('Delete')]).'';
+ }
+
+ array_push($table->data, $data);
+ }
+
+
+ if (!empty($result_graphs)) {
+ echo "
';
+ }
+
+
+ echo "
";
+ if ($report_w || $report_m) {
+ echo '';
+ }
+
+ echo '
';
+ } else {
+ include_once $config['homedir'].'/general/firts_task/custom_graphs.php';
}
- array_push($table->data, $data);
- }
-
-
- if (!empty($result_graphs)) {
- echo "
';
- }
-
-
- echo "
";
- if ($report_w || $report_m) {
- echo '';
- }
-
- echo '
';
-} else {
- include_once $config['homedir'].'/general/firts_task/custom_graphs.php';
-}
-
-?>
+ ?>
$id_unsort) {
if ($pos == $position_to_sort) {
@@ -340,8 +355,6 @@ switch ($action) {
$items = $sorted_items;
-
-
foreach ($items as $order => $id) {
switch ($config['dbtype']) {
case 'mysql':
@@ -372,6 +385,10 @@ switch ($action) {
$resultOperationDB = false;
}
break;
+
+ default:
+ // Default.
+ break;
}
break;
@@ -380,7 +397,8 @@ switch ($action) {
$ids_serialize = (string) get_parameter('ids_items_to_delete', '');
if (!empty($ids_serialize)) {
- $sql = "DELETE FROM treport_content WHERE id_rc IN ($ids_serialize)";
+ $sql = 'DELETE FROM treport_content
+ WHERE id_rc IN ('.$ids_serialize.')';
$resultOperationDB = db_process_sql($sql);
} else {
$resultOperationDB = false;
@@ -400,7 +418,9 @@ switch ($action) {
if (($countItems < $position_to_delete) || ($position_to_delete < 1)) {
$resultOperationDB = false;
} else {
- $sql = "SELECT id_rc FROM treport_content WHERE id_report=$idReport ORDER BY '`order`'";
+ $sql = 'SELECT id_rc
+ FROM treport_content
+ WHERE id_report='.$idReport." ORDER BY '`order`'";
$items = db_get_all_rows_sql($sql);
switch ($pos_delete) {
case 'above':
@@ -410,7 +430,10 @@ switch ($action) {
$i = 1;
foreach ($items as $key => $item) {
if ($i < $position_to_delete) {
- $resultOperationDB = db_process_sql_delete('treport_content', ['id_rc' => $item['id_rc']]);
+ $resultOperationDB = db_process_sql_delete(
+ 'treport_content',
+ ['id_rc' => $item['id_rc']]
+ );
}
$i++;
@@ -457,6 +480,7 @@ switch ($action) {
}
$subsection = '';
+ $helpers = '';
switch ($activeTab) {
case 'main':
$buttons['list_reports']['active'] = true;
@@ -464,7 +488,14 @@ switch ($action) {
break;
default:
- $subsection = reporting_enterprise_add_subsection_main($activeTab, $buttons);
+ $data_tab = reporting_enterprise_add_subsection_main(
+ $activeTab,
+ $buttons
+ );
+
+ $subsection = $data_tab['subsection'];
+ $buttons = $data_tab['buttons'];
+ $helpers = $data_tab['helpers'];
break;
}
@@ -482,11 +513,19 @@ switch ($action) {
// Print header.
ui_meta_print_header(__('Reporting'), '', $buttons);
- }
-
- // Page header for normal console.
- else {
- ui_print_page_header(__('Custom reporting'), 'images/op_reporting.png', false, '', false, $buttons, false, '', 60);
+ } else {
+ // Page header for normal console.
+ ui_print_page_header(
+ __('Custom reporting'),
+ 'images/op_reporting.png',
+ false,
+ '',
+ false,
+ $buttons,
+ false,
+ '',
+ 60
+ );
}
@@ -494,7 +533,9 @@ switch ($action) {
$delete = false;
switch ($type_access_selected) {
case 'group_view':
- if ($config['id_user'] == $report['id_user'] || is_user_admin($config['id_user'])) {
+ if ($config['id_user'] == $report['id_user']
+ || is_user_admin($config['id_user'])
+ ) {
$delete = true;
// Owner can delete.
} else {
@@ -507,7 +548,9 @@ switch ($action) {
break;
case 'group_edit':
- if ($config['id_user'] == $report['id_user'] || is_user_admin($config['id_user'])) {
+ if ($config['id_user'] == $report['id_user']
+ || is_user_admin($config['id_user'])
+ ) {
$delete = true;
// Owner can delete.
} else {
@@ -543,9 +586,15 @@ switch ($action) {
$result = reports_delete_report($idReport);
if ($result !== false) {
- db_pandora_audit('Report management', "Delete report #$idReport");
+ db_pandora_audit(
+ 'Report management',
+ 'Delete report #'.$idReport
+ );
} else {
- db_pandora_audit('Report management', "Fail try to delete report #$idReport");
+ db_pandora_audit(
+ 'Report management',
+ 'Fail try to delete report #'.$idReport
+ );
}
ui_print_result_message(
@@ -560,7 +609,7 @@ switch ($action) {
$search_sql = '';
if ($search != '') {
- $search_name = "%$search%' OR description LIKE '%$search%";
+ $search_name = '%'.$search."%' OR description LIKE '%".$search.'%';
}
$table_aux = new stdClass();
@@ -572,25 +621,57 @@ switch ($action) {
$table_aux->colspan[0][0] = 4;
$table_aux->data[0][0] = '
'.__('Group').'';
- $table_aux->data[0][1] = html_print_select_groups(false, $access, true, 'id_group', $id_group, '', '', '', true, false, true, '', false, '', false, false, 'id_grupo', $strict_user).'
';
+ $table_aux->data[0][1] = html_print_select_groups(
+ false,
+ $access,
+ true,
+ 'id_group',
+ $id_group,
+ '',
+ '',
+ '',
+ true,
+ false,
+ true,
+ '',
+ false,
+ '',
+ false,
+ false,
+ 'id_grupo'
+ ).'
';
- $table_aux->data[0][2] = '
'.__('Free text for search: ').ui_print_help_tip(
+ $table_aux->data[0][2] = ''.__('Free text for search: ');
+ $table_aux->data[0][2] .= ui_print_help_tip(
__('Search by report name or description, list matches.'),
true
- ).'';
- $table_aux->data[0][3] = html_print_input_text('search', $search, '', 30, '', true);
+ );
+ $table_aux->data[0][2] .= '';
+ $table_aux->data[0][3] = html_print_input_text(
+ 'search',
+ $search,
+ '',
+ 30,
+ '',
+ true
+ );
- $table_aux->data[0][6] = html_print_submit_button(__('Search'), 'search_submit', false, 'class="sub upd"', true);
+ $table_aux->data[0][6] = html_print_submit_button(
+ __('Search'),
+ 'search_submit',
+ false,
+ 'class="sub upd"',
+ true
+ );
+ $url_rb = 'index.php?sec=reporting&sec2=godmode/reporting/reporting_builder';
if (is_metaconsole()) {
- $filter = "
';
ui_toggle($filter, __('Show Option'));
} else {
- echo "
';
}
@@ -602,7 +683,7 @@ switch ($action) {
// Show only selected groups.
if ($id_group > 0) {
- $group = ["$id_group" => $id_group];
+ $group = [$id_group => $id_group];
} else {
$group = false;
}
@@ -626,7 +707,7 @@ switch ($action) {
// Fix : group filter was not working
// Show only selected groups.
if ($id_group > 0) {
- $group = ["$id_group" => $id_group];
+ $group = [$id_group => $id_group];
$filter['id_group'] = $id_group;
} else {
$group = false;
@@ -652,8 +733,7 @@ switch ($action) {
],
$return_all_group,
$access,
- $group,
- $strict_user
+ $group
);
$total_reports = (int) count(
@@ -662,13 +742,12 @@ switch ($action) {
['name'],
$return_all_group,
$access,
- $group,
- $strict_user
+ $group
)
);
- if (sizeof($reports)) {
+ if (count($reports)) {
$url = 'index.php?sec=reporting&sec2=godmode/reporting/reporting_builder';
ui_pagination($total_reports, $url, $offset, $pagination);
@@ -744,18 +823,44 @@ switch ($action) {
foreach ($reports as $report) {
if (!is_user_admin($config['id_user'])) {
- if ($report['private'] && $report['id_user'] != $config['id_user']) {
- if (!check_acl($config['id_user'], $report['id_group'], 'RR')
- && !check_acl($config['id_user'], $report['id_group'], 'RW')
- && !check_acl($config['id_user'], $report['id_group'], 'RM')
+ if ($report['private']
+ && $report['id_user'] != $config['id_user']
+ ) {
+ if (!check_acl(
+ $config['id_user'],
+ $report['id_group'],
+ 'RR'
+ )
+ && !check_acl(
+ $config['id_user'],
+ $report['id_group'],
+ 'RW'
+ )
+ && !check_acl(
+ $config['id_user'],
+ $report['id_group'],
+ 'RM'
+ )
) {
continue;
}
}
- if (!check_acl($config['id_user'], $report['id_group'], 'RR')
- && !check_acl($config['id_user'], $report['id_group'], 'RW')
- && !check_acl($config['id_user'], $report['id_group'], 'RM')
+ if (!check_acl(
+ $config['id_user'],
+ $report['id_group'],
+ 'RR'
+ )
+ && !check_acl(
+ $config['id_user'],
+ $report['id_group'],
+ 'RW'
+ )
+ && !check_acl(
+ $config['id_user'],
+ $report['id_group'],
+ 'RM'
+ )
) {
continue;
}
@@ -763,7 +868,9 @@ switch ($action) {
$data = [];
- if (check_acl($config['id_user'], $report['id_group'], 'RW') || check_acl($config['id_user'], $report['id_group'], 'RM')) {
+ if (check_acl($config['id_user'], $report['id_group'], 'RW')
+ || check_acl($config['id_user'], $report['id_group'], 'RM')
+ ) {
$data[0] = '
'.ui_print_truncate_text($report['name'], 70).'';
} else {
$data[0] = ui_print_truncate_text($report['name'], 70);
@@ -773,15 +880,35 @@ switch ($action) {
$data[1] = ui_print_truncate_text($report['description'], 70);
// Remove html and xml button if items are larger than limit.
- $item_count = db_get_num_rows('SELECT * FROM treport_content WHERE id_report='.$report['id_report']);
+ $item_count = db_get_num_rows(
+ 'SELECT * FROM treport_content
+ WHERE id_report='.$report['id_report']
+ );
$report['overload'] = $item_count >= $config['report_limit'];
if ($report['overload']) {
- $data[2] = html_print_image('images/application_not_writable.png', true, ['title' => __('This report exceeds the item limit for realtime operations')]);
+ $data[2] = html_print_image(
+ 'images/application_not_writable.png',
+ true,
+ ['title' => __('This report exceeds the item limit for realtime operations')]
+ );
$data[3] = null;
} else if (!$report['non_interactive']) {
- $data[2] = '
'.html_print_image('images/html.png', true, ['title' => __('HTML view')]).'';
- $data[3] = '
'.html_print_image('images/xml.png', true, ['title' => __('Export to XML')]).'';
- // I chose ajax.php because it's supposed to give XML anyway.
+ $data[2] = '
';
+ $data[2] .= html_print_image(
+ 'images/html.png',
+ true,
+ ['title' => __('HTML view')]
+ );
+ $data[2] .= '';
+ $data[3] = '
';
+ $data[3] .= html_print_image(
+ 'images/xml.png',
+ true,
+ ['title' => __('Export to XML')]
+ );
+ $data[3] .= '';
+ // I chose ajax.php because it's supposed
+ // to give XML anyway.
} else {
$data[2] = html_print_image(
'images/html_disabled.png',
@@ -793,14 +920,12 @@ switch ($action) {
);
}
-
// Calculate dinamically the number of the column.
$next = 4;
if (enterprise_hook('load_custom_reporting_2') !== ENTERPRISE_NOT_HOOK) {
$next = 7;
}
-
// Admin options only for RM flag.
if (check_acl($config['id_user'], 0, 'RM')) {
if ($report['private'] == 1) {
@@ -828,14 +953,22 @@ switch ($action) {
switch ($type_access_selected) {
case 'group_view':
- $edit = check_acl($config['id_user'], $report['id_group'], 'RW');
+ $edit = check_acl(
+ $config['id_user'],
+ $report['id_group'],
+ 'RW'
+ );
$delete = $edit ||
is_user_admin($config['id_user']) ||
$config['id_user'] == $report['id_user'];
break;
case 'group_edit':
- $edit = check_acl($config['id_user'], $report['id_group_edit'], 'RW');
+ $edit = check_acl(
+ $config['id_user'],
+ $report['id_group_edit'],
+ 'RW'
+ );
$delete = $edit ||
is_user_admin($config['id_user']) ||
$config['id_user'] == $report['id_user'];
@@ -894,10 +1027,26 @@ switch ($action) {
true,
['title' => __('Delete')]
);
- $data[$next] .= html_print_input_hidden('id_report', $report['id_report'], true);
- $data[$next] .= html_print_input_hidden('action', 'delete_report', true);
+ $data[$next] .= html_print_input_hidden(
+ 'id_report',
+ $report['id_report'],
+ true
+ );
+ $data[$next] .= html_print_input_hidden(
+ 'action',
+ 'delete_report',
+ true
+ );
- $data[$next] .= html_print_checkbox_extended('massive_report_check', $report['id_report'], false, false, '', 'class="check_delete"', true);
+ $data[$next] .= html_print_checkbox_extended(
+ 'massive_report_check',
+ $report['id_report'],
+ false,
+ false,
+ '',
+ 'class="check_delete"',
+ true
+ );
$data[$next] .= '';
}
@@ -922,12 +1071,28 @@ switch ($action) {
}
html_print_table($table);
- ui_pagination($total_reports, $url, $offset, $pagination, false, 'offset', true, 'pagination-bottom');
+ ui_pagination(
+ $total_reports,
+ $url,
+ $offset,
+ $pagination,
+ false,
+ 'offset',
+ true,
+ 'pagination-bottom'
+ );
} else {
- ui_print_info_message([ 'no_close' => true, 'message' => __('No data found.') ]);
+ ui_print_info_message(
+ [
+ 'no_close' => true,
+ 'message' => __('No data found.'),
+ ]
+ );
}
- if (check_acl($config['id_user'], 0, 'RW') || check_acl($config['id_user'], 0, 'RM')) {
+ if (check_acl($config['id_user'], 0, 'RW')
+ || check_acl($config['id_user'], 0, 'RM')
+ ) {
echo '